Plugins, scripts and servers

ServiceTitan on WordPress Works Fine Until Someone Asks Where the Lead Came From

Search the WordPress plugin directory for ServiceTitan and you get four results, none published under ServiceTitan's name. That surprises owners more than it should. ServiceTitan's own WordPress method is a pasted script, and for booking it works. The trouble starts with forms, tracking and failed sends.

October 26, 2026 · 9 min read

The short answer

ServiceTitan has no official WordPress plugin. Its documented method is to paste the Scheduling Pro script with a header and footer plugin and add the se-booking-show class to a button. That handles booking. Forms, source tracking and failed sends need more, which is where a server-side integration, on WordPress or a custom Next.js site, earns its cost.

On this page
  1. Four search results, none of them from ServiceTitan
  2. The install ServiceTitan documents for WordPress
  3. When the pasted script is all you need
  4. Plugin stack or server-side connection, row by row
  5. Forms are where the plugin route runs out of road
  6. Keep WordPress, move the integration, or move everything
  7. Prices, and a straight answer about your site

Four search results, none of them from ServiceTitan

A search of WordPress.org for "servicetitan" on October 26, 2026 returned four plugins. None is published under the ServiceTitan name. One, Advanced Form Integration, is a general form connector that lists ServiceTitan among its destinations. Another, ST Widgets, says it adds ServiceTitan Web Scheduler and Chat to Text source code. It was published by an account called "stuser," last updated on July 11, 2022, and has about 20 active installs. In plugin years, 2022 is roughly the Bronze Age.

ServiceTitan's documentation does not mention ST Widgets, so treat it as unverified, not official. What ServiceTitan does document is a script install that works on almost anything: its Scheduling Pro instructions cover custom sites, WordPress, Wix, Squarespace, GoDaddy and Duda. WordPress is one row in that list, not a special case.

For contrast, and only as a fact, Jobber publishes an official "Jobber WordPress Plugin for Online Booking and Requests" that adds a Jobber block, on select plans. Different companies, different choices. Our platform comparison lays the three side by side without picking a winner.

The install ServiceTitan documents for WordPress

The official route for Scheduling Pro, from ServiceTitan's install article, takes an afternoon. Here it is, with the step most sites skip added at the end.

  1. 1

    Add a header and footer plugin

    ServiceTitan suggests an "Insert Headers and Footers"-type plugin without naming one. If your theme or host lets you add custom scripts another way, the plugin is optional.

  2. 2

    Paste the main script

    The script carries id="se-widget-embed", data-api-key, data-schedulerid and defer, and loads https://embed.scheduler.servicetitan.com/scheduler-v1.js. ServiceTitan recommends the body section.

  3. 3

    Give a button the class

    Add se-booking-show to any button that should open the scheduler, for example in Elementor's CSS Classes field. Adding data-auto-open="true" to the script opens it on page load instead.

  4. 4

    Whitelist every domain

    The scheduler will not load unless the site is listed under Scheduler Details. ServiceTitan recommends listing both example.com and www.example.com, plus any staging sites.

  5. 5

    Test from a real ad click

    Click your own ad, book a test job, and check the campaign on the record. Avoid the link-style install with the ?se_action= parameter, which reloads the page "and can disrupt lead source tracking."

A taped stack of plug adapters on one side of a lightning split and a single clean plug in a wall socket on the other, collage on blue
Every adapter in the stack solved a real problem once. The question is how many you want between a customer and the dispatcher.

Sites on the older Web Scheduler 2.0 have a quirk. Its button uses an onclick attribute that, ServiceTitan says, "may not work with the preset button elements" in editors like WordPress, so it recommends a Custom HTML block. ServiceTitan Technical Support "cannot help with installing the web scheduler code," which means the person who owns the website owns the fix.

When the pasted script is all you need

A server-side integration is not a moral obligation. Plenty of contractors are well served by the script and a tidy WordPress site. You are probably one of them if most of these describe you.

Booking is the main job

You pay for Scheduling Pro, the office trusts its capacity settings, and most web leads are straightforward service calls the scheduler handles well.

The site is already lean

A light theme, few plugins and good scores. If it is not, our WordPress performance work may be the cheaper fix.

The phones do the heavy lifting

Most work arrives by phone, and tracked numbers already feed ServiceTitan. Forms are a side door, and a side door can be simple.

The rebuild is a next-year problem

You plan a new site later and want booking now. Install the script properly today; the same script and Scheduler ID can go on the new site, with its domain added to the whitelist.

If that is you, install the script with custom code as ServiceTitan recommends, whitelist both domain versions, and spend your budget on Google Ads conversion tracking instead. Come back when the forms start to hurt.

Plugin stack or server-side connection, row by row

A fair note before the table: WordPress runs on a server too, and a developer can write a custom plugin that calls ServiceTitan from PHP with the same care as any other server code. The left column describes the stack most contractor sites actually run, not the ceiling of what WordPress can do.

The usual WordPress setup with ServiceTitan vs a server-side integration on a custom site
WordPress with the script and form pluginsServer-side integration on a custom site
BookingScheduling Pro overlay from the pasted scriptThe same overlay, a custom booking flow through the API, or both
Forms into ServiceTitanEmail to an inbox, or a relay plugin or Zapier; ServiceTitan's Zapier integration is "currently in open beta"The site's server sends bookings or lead forms straight to the API
Where credentials liveIn the relay's settings, wherever that plugin or service stores themIn server environment variables the browser never sees
Source trackingThe scheduler assigns a campaign; forms carry whatever the relay was set to passClick IDs and UTM tags captured on landing and attached to every booking
When a send failsUp to the plugin; often an error nobody seesQueued, retried and logged where the office can read it
SpeedDepends on the theme, the builder and every plugin's scriptsServer-rendered HTML with only the scripts the page needs
Design controlThe scheduler looks like ServiceTitan's; forms look like the plugin'sEvery step in the site's own design
SEOFine when the theme is clean and the pages are real HTMLPages, metadata and structured data written in code
UpkeepPlugin updates, theme updates and PHP versionsFramework updates, tested before deploy

The speed row is where opinions run hottest, so we keep the evidence on separate pages: why WordPress gets slow and the broader WordPress vs Next.js comparison. A clean WordPress site serves real HTML and can rank perfectly well. A site with nine plugins fighting over the header is a different animal.

Forms are where the plugin route runs out of road

Here is the most common ServiceTitan "integration" in the trades: a contact form that emails a shared inbox, which a CSR reads between calls and retypes into ServiceTitan. It works on a slow Tuesday. On the first hot Monday in June it becomes a pile, and the pile has no source, no click ID and no record of which ad paid for it.

A relay improves on the inbox. Advanced Form Integration lists ServiceTitan among its destinations, and ServiceTitan's Zapier integration can push data in to create a task, a job note or an attachment, or to book a job, using a client ID and secret. ServiceTitan says the Zapier integration is provided "'as is'." The question to ask of any relay is what happens at 9 p.m. when a send fails, and where the evidence ends up.

What a typical relay does

  • Passes the fields it was mapped to pass
  • Runs when the form plugin fires, if it fires
  • Logs errors in its own dashboard, if anyone checks
  • Carries ad data only if someone added hidden fields

What a server-side build adds

  • Validation and spam filtering before anything is sent
  • A queue, so a failed send is retried, never lost
  • A web session with gclid, fbclid and UTM tags on every booking
  • Logs the office can read without calling a developer

The field-by-field version, from estimate requests to emergency callbacks, is on our ServiceTitan web forms page. The API mechanics, including approvals and the lack of webhooks, are on the API integration page.

Keep WordPress, move the integration, or move everything

Owners assume the choice is WordPress or a rebuild. There are three options, and the middle one surprises people.

  • Stay on WordPress and harden the plumbing. Keep the theme, install the scheduler properly, and replace the inbox form with a server-side connection. Least disruption, and still a WordPress site to maintain.
  • Keep WordPress for editing, put Next.js in front. Editors keep the dashboard they know while a Next.js front end serves the pages and talks to ServiceTitan from its server. The mechanics are in keeping WordPress as your CMS.
  • Move everything. Rebuild on Next.js with Athena CMS, which comes with every custom site we build. The full case for that move is our WordPress to Next.js section, and the ServiceTitan Next.js page covers the integration side.
A plugin is a promise from someone you have never met, renewed every time you click Update.

Rankings are the usual worry with the second and third options. They are protected the boring way: same URLs where possible, a permanent redirect for every one that changes, and titles and structured data carried over by hand, as migrating without losing SEO explains. And if you are not sure you should leave at all, should I leave WordPress argues the other side honestly.

Prices, and a straight answer about your site

Hardening an existing WordPress site's ServiceTitan connection is quoted after a free review; there is no menu price because no two plugin stacks match. A connection between two systems is typically one to three weeks, per our API integrations page.

Rebuilds are a fixed price from $1,750. Sites with a store, portal or web app start at $3,500, and a site with online booking or an estimate flow is about $9,000 on the web design pricing page. Financing for websites runs at 0% with 25% down for up to 12 months.

We build for trades like roofing and plumbing from San Antonio, Texas, for businesses across the US. Before any launch, run the ServiceTitan website checklist. The rest of the section is on the ServiceTitan integration hub, or call (210) 346-0848.

Questions contractors ask about ServiceTitan integration

Not that we could find. A WordPress.org search for servicetitan in October 2026 returned four plugins, none published under the ServiceTitan name. ServiceTitan's own instructions for WordPress use a header and footer plugin to paste the Scheduling Pro script, then add the se-booking-show class to a button. That is the documented, supported route.

Install a header and footer plugin, or use your theme's custom script setting. Paste the Scheduling Pro script, which ServiceTitan recommends placing in the body. Add the se-booking-show class to the buttons that should open it. Then list both versions of your domain, with and without www, plus any staging site, under Scheduler Details so it loads.

The most common cause is the domain whitelist: the scheduler will not load unless the site is listed under Scheduler Details, and ServiceTitan recommends both example.com and www.example.com. On the older Web Scheduler 2.0, the button's onclick attribute may not work with preset button elements, so ServiceTitan recommends a Custom HTML block instead.

Yes, through a relay such as Advanced Form Integration or ServiceTitan's Zapier integration, which is in open beta and provided as is, or through a custom server-side connection. The difference is what happens around the send: validation, retries, readable logs and the ad data attached. Our web forms page covers the mapping.

No. A developer can build a server-side connection as a custom WordPress plugin, or put a Next.js front end in front of WordPress so editors keep their dashboard. A full rebuild on Next.js and Athena CMS is the third option. Which fits depends on how the site performs today and how much the forms and tracking matter.

We cannot confirm that. ST Widgets on WordPress.org says it adds ServiceTitan Web Scheduler and Chat to Text code, but it was published by an account named stuser, was last updated in July 2022, shows about 20 active installs, and is not mentioned in ServiceTitan's documentation. Treat it as unofficial and prefer the documented script install.

Keep reading

Free · No obligation

Find out what your WordPress site is losing

Tell us how your site connects to ServiceTitan today. We will check the scheduler, the forms and the tracking, and recommend the smallest fix that works.

Which of these sounds like you? (pick any)

Rather talk now? Call (210) 346-0848.

CallGet a quote