Pre-launch checklist

Launch Day Is a Bad Time to Learn the Book Now Button Goes Nowhere

Every website launch has a moment when someone taps Book Now on a phone and nothing happens. Good launches have that moment a week early, on a staging address, with nobody watching but the person holding the clipboard. This checklist is how you schedule it.

October 26, 2026 · 11 min read

The short answer

Before a contractor website that feeds ServiceTitan goes live, test every path with a real submission: booking, each form, tracked calls, ad click capture, attribution, review requests, membership sales and the portal link. Do it in ServiceTitan's integration environment where possible, whitelist staging and live domains for Scheduling Pro, then check speed, redirects and search basics.

On this page
  1. Rehearse in the copy, not in the live account
  2. Bookings and forms: walk every path a customer can take
  3. Calls, click IDs and conversions: the tracking that fails without a sound
  4. After the job: review requests, membership sales and the portal link
  5. Launch week, one step at a time
  6. The one-page version to print and tape by the dispatch desk
  7. Speed and search: the launch checks that have nothing to do with ServiceTitan
  8. Who signs off, and who keeps watching afterward

Rehearse in the copy, not in the live account

Testing a ServiceTitan integration in the live account is like rehearsing a wedding toast at the wedding. It can be done. Nobody enjoys it. ServiceTitan gives its customers both a production environment and an integration environment, which its developer FAQ calls "the equivalent of the sandbox environment," and a customer's integration environment holds a copy of its production data. Your ServiceTitan admin requests access by emailing integrations@servicetitan.com, as the getting access guide explains.

Two details trip people up. The client ID, client secret and access token each belong to one environment, so a staging site holding production credentials is not testing anything safely. The app key, by contrast, is not environment specific, so going live means swapping in the production client ID and secret and calling the production URLs with the same key. Store both sets in the site's environment settings, clearly labeled, before anyone needs them at 4:45 on a Friday. The rest of the connection is explained on the ServiceTitan integration hub.

Some checks can only happen in production, such as a real call through a tracked number. For those, warn the CSRs first, put TEST in every customer name, and agree who dismisses the test bookings afterward. An unexplained test booking is how a dispatcher spends a morning trying to reach a customer named Test Test.

Bookings and forms: walk every path a customer can take

Each form and each booking path gets one real submission, on a phone, from start to finish, and someone checks the result in ServiceTitan instead of trusting the thank-you page. The thank-you page is the website's opinion. ServiceTitan is the record. The background for each check is on the online booking and web forms pages.

  • Scheduling Pro loads on every domain. The live domain with and without www, plus staging, must be listed under Scheduler Details, or the scheduler will not load there.
  • Every booking button opens it. Each button carries the se-booking-show class, the overlay opens on a small phone, and the link-style install appears nowhere, since ServiceTitan warns it "can disrupt lead source tracking."
  • API bookings reach the Calls screen. The Booking Provider Tag is selected for the app, and the account configuration that shows API bookings is turned on.
  • Each form lands with its source. Estimate, contact, callback and emergency forms each create the record the field map promised: name, contact details, address, summary and the web session.
  • Failure is rehearsed. On staging, break the credentials on purpose, submit a form, and confirm it queues, retries and alerts. Then restore them and watch the queue empty.
  • Duplicates are tested. Submit the same form twice and confirm the office sees exactly what the field map says it should.
Two clipboards with empty checkboxes and a pencil beside a white hard hat, with a paper rocket lifting off, collage on orange
The rocket launches either way. The clipboards decide whether it takes the leads along.

Calls, click IDs and conversions: the tracking that fails without a sound

Tracking never breaks loudly. The phone rings, the job gets booked, and the only symptom is a report three months later that credits everything to direct traffic and nobody to the ads. So test it the way you test a smoke detector: on purpose, before you need it, with someone listening.

ServiceTitan's Google Ads integration, part of Marketing Pro Ads, says it "isn't complete until Google Analytics and Dynamic Call Tracking using DNI are also configured." Dynamic Call Tracking can be set up only once Google Ads is configured, and it needs a configuration for each website, so a new domain needs its own. Accounts in Canada must use Manual DNI. Load a landing page with UTM tags, confirm the number on the page swaps, and confirm the site stores the click parameters and sends them with a form.

If you use CallRail, its connection runs through Settings > Integrations > API Application Access and needs the Generate API Application Key and Manage API Application Access permissions; the call tracking page has the detail. If anyone uploads offline conversions to Google Ads with a custom script, check it: on June 15, 2026, Google moved offline conversion import and enhanced conversions for leads uploads to the Data Manager API and blocked them in the Google Ads API. The full chain is on the Google Ads conversion tracking page, and Facebook spend on the Meta ads page.

After the job: review requests, membership sales and the portal link

The checks people skip are the ones that happen after the truck leaves, because nobody can test them by clicking around the website. They need a finished job, and the integration environment is a fine place to finish one.

Review requests. With Marketing Pro Reputation and the default Job Complete trigger, ServiceTitan sends one default review request per job, as soon as the next job in a chosen business unit is completed, and SMS surveys go out only between 8 AM and 9 PM. Picking the Manual Request trigger instead stops the automatic request for that job. NiceJob's ServiceTitan page says its invites go out after you close a job. Either way, confirm the request arrives and its link opens the right profile. The reviews page and our guide to getting more Google reviews cover the rest.

Membership sales. A plan sold on the website should arrive as a membership sale; ServiceTitan's memberships API has an endpoint that "Creates membership sale invoice." Check that plan names and prices on the site match the membership types in ServiceTitan, because a club called Gold on the website and Premier in the office produces a renewal call nobody can answer. See memberships and the roof care club demo.

The portal link. ServiceTitan's Customer Portal requires Online Payments, plus ServiceTitan Payments for credit cards, and ServiceTitan suggests you "Embed a link to your customer portal on your website." Put the link where customers look for it, such as the header, the footer and any page about invoices, and tap it from a phone. The choices are on the customer portal page.

Launch week, one step at a time

Here is the order we follow. It front-loads the slow parts, such as getting environment access and admin approval, because those wait on people, and people take vacations at exactly the wrong time.

  1. 1

    Freeze the field map

    Confirm the signed field map matches what the site sends. Any change after this point is a new test, not a quick tweak.

  2. 2

    Request the integration environment early

    Have your ServiceTitan admin email integrations@servicetitan.com in the first week, so testing never waits on an inbox.

  3. 3

    Whitelist the domains

    Add the live domain, its www version and the staging address to Scheduler Details if you use Scheduling Pro.

  4. 4

    Submit every form on staging

    One submission per form type, on a phone, each checked in the integration environment against the field map.

  5. 5

    Break the connection on purpose

    Bad credentials, a timeout, a missing setting. Confirm the queue holds the lead, the retries run and the alert reaches a person.

  6. 6

    Check the tracking chain

    UTM tags and click IDs captured on landing, tracked numbers swapping, the web session attached to every lead.

  7. 7

    Get the production app approved

    Your admin reviews the requested scopes under API Application Access and chooses Allow. Until then, the developer's side shows "Not Connected Yet."

  8. 8

    Swap the credentials

    Production client ID and secret in, the same app key, production URLs. No integration credentials left on the live site.

  9. 9

    Map the redirects, then move DNS

    Every old URL points to its new page before the domain switches, so ads, listings and bookmarks keep working.

  10. 10

    Run the production tests

    One call, one booking and one form, each labeled TEST, with the CSRs warned and one person assigned to dismiss them.

  11. 11

    Read the first week's leads

    Compare each real booking in ServiceTitan with the site's own log. Every submission should have a matching record.

  12. 12

    Watch the usage report

    We check the API Usage Report ServiceTitan shows for each app. A sudden spike or a sudden silence means something changed.

The one-page version to print and tape by the dispatch desk

ServiceTitan website launch checklist (as of October 2026)
CheckHow to test itPassing looks like
Scheduling Pro domainsOpen the scheduler on the live, www and staging addressesIt opens on all three
Booking buttonsTap each one on a phoneThe overlay opens with no page reload
API bookingsSubmit one booking in the integration environmentIt appears on the Calls screen with name, summary and source
Estimate formSubmit a test requestA booking for the visit, with the details the salesperson needs
Callback formSubmit with a preferred timeA booking flagged for a quick return call
Emergency formSubmit and watch who respondsHigh priority, with the phone number shown first on the page
Spam filterSubmit too fast with the hidden field filledHeld or rejected; nothing reaches ServiceTitan
Failure handlingBreak the credentials on stagingQueued, retried, alert sent, no duplicate
Tracked numbersVisit with UTM tags, then callThe number swaps and the call carries the campaign
Click IDsLand with a test click parameter and submit a formThe click ID travels with the web session
LSA leadsOpen a recent Get Quote leadStaff know its phone number is a Google tracking number
Review requestsComplete a test jobOne request, sent within allowed hours, to the right profile
Membership saleBuy a plan on stagingA membership sale with the matching membership type
Portal linkTap it from a phoneServiceTitan's customer portal opens
SpeedRun key pages through our website health checkPages load fast and the scheduler script is deferred
Redirects and searchCrawl the old URLsEach redirects once to its new page, with titles in place
Business listingsCheck the Google Business ProfileSame name, address and phone; the booking link works

The LSA line matters more than it looks. ServiceTitan's Local Services Ads lead capture is in Early Access, and the phone number it receives "is a Google tracking number, not the customer's real number," so CSRs should not save it as the customer's phone. The Local Services Ads page explains the rest.

Speed and search: the launch checks that have nothing to do with ServiceTitan

A site can pass every ServiceTitan check and still lose the launch to a slow home page or a missing redirect. ServiceTitan's scheduler install tag carries a defer attribute, so it should not hold up the first paint; make sure your own scripts are as polite. Our Core Web Vitals service handles the stubborn cases, and a custom Next.js build avoids most of them.

Then the search basics. Every old URL redirects to its new page, as our redirect guide describes. Titles and descriptions exist on every page, structured data names the business consistently, and the Google Business Profile matches the site. The broader website SEO checklist and the map pack audit handle the rest. Hestia, an agent in Athena CMS, keeps hours, phone, address and services identical across the site, which is one less thing to check by hand.

Who signs off, and who keeps watching afterward

Three people should sign the checklist: the owner or general manager, who cares whether leads arrive; the office lead, who knows what a good booking looks like; and a dispatcher, who will be first to notice a bad one. We sign it too. After launch, Argus in Athena CMS watches for failing forms, broken links and slow pages, and our hosting and maintenance plans cover the updates.

Building a new site? Our web design pricing page lists custom builds from $1,750 at a fixed price, and about $9,000 for a site with online booking or an estimate flow, with 0% financing at 25% down. Tracking gaps go to conversion tracking setup. If the site already exists, a free site audit shows which of these checks it fails today, or call (210) 346-0848 and walk through it with us.

Questions contractors ask about ServiceTitan integration

Every path a lead can take: each booking button, each form, tracked calls, click ID capture and the web session sent with leads, review requests after a finished job, membership sales and the customer portal link. Then the usual launch checks: speed, redirects, titles and business listings. Confirm each result in ServiceTitan itself, not on the website's thank-you page.

Yes. ServiceTitan customers can get an integration environment, which ServiceTitan calls the equivalent of a sandbox, and it holds a copy of your production data. Your ServiceTitan admin requests access by emailing integrations@servicetitan.com. Credentials are specific to each environment, so the staging site needs its own client ID and secret.

Usually because the staging address is not whitelisted. The scheduler will not load on a domain missing from Scheduler Details, and ServiceTitan recommends listing the bare domain, the www version and any staging sites. Also check that the button carries the se-booking-show class and that the install script is actually on that page.

In production, yes. API bookings land on the Calls screen like any other request. Warn the office before production tests, put TEST in the customer name, and agree who dismisses them. Most testing should happen earlier, in the integration environment, where a test booking bothers nobody.

They can. On June 15, 2026, Google moved offline conversion import and enhanced conversions for leads uploads to its Data Manager API and blocked them in the Google Ads API. If your setup uploads conversions through a custom script, confirm it was moved. If you rely on ServiceTitan's Google Ads integration, confirm its conversion actions keep recording after launch.

Someone in the office, not only the web developer. A developer can prove the site sent a booking; only the office can say whether it was the booking they needed. We work through the list with the office lead and a dispatcher, then keep watching after launch through Athena's site watch and our maintenance plans.

Keep reading

Free · No obligation

Get a second set of eyes before launch

Send us the staging link and tell us how your ServiceTitan account is set up. We will run the checklist, show you what fails, and fix it or quote the fix.

Which of these sounds like you? (pick any)

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

CallGet a quote