ServiceTitan shows which jobs paid. Google Ads is still bidding on 60-second calls.
Marketing Pro Ads already posts your ServiceTitan calls and jobs to Google Ads and Meta. The trouble sits in the defaults: the action Google bids on is a lead call over 60 seconds, booked jobs go in as secondary, and completed-job revenue only flows once Ads Optimizer is switched on. We decide which ServiceTitan event each ad platform learns from, close the gaps the DNI script and form scraper leave, and prove the result against your invoiced jobs.
Free30 minutesNo obligation
ServiceTitan Marketing Pro · what breaks
Where Marketing Pro tracking costs you money
- 01
Google is learning from any call that lasts a minute
ServiceTitan Calls Conversion Action is the default primary goal, so a price shopper who stays on for 61 seconds teaches Smart Bidding the same lesson as a replacement estimate, and your budget drifts toward long calls instead of booked jobs. Booked jobs arrive as secondary actions, which Google reports but doesn't bid on.
- 02
Our CSRs keep changing the campaign
Manual Marketing Attribution is on by default. When a CSR picks a different campaign at booking, ServiceTitan's reports follow the CSR while Google keeps the original call's attribution, and the two ROI numbers stop agreeing.
- 03
Meta says events arrive, but campaigns show nothing
ServiceTitan's own troubleshooting for events that show in Events Manager but not in campaign results points to the Marketing Pro Ads dataset not being selected on the ad set, a setting it says can't be changed after publishing. Meanwhile Instant Form leads aren't tracked by the integration at all, so Meta optimizes blind on those campaigns.
- 04
Web forms never reach ServiceTitan with a click ID
ServiceTitan's automatic form scraper is only guaranteed on its listed form builders, and it needs the form's default submit event and no iframe. A quote form that breaks those rules never gets attributed in ServiceTitan, so Google never hears about the job it produced and keeps funding the ads that didn't.
ServiceTitan Marketing Pro · the fix
What changes — ServiceTitan Marketing Pro
Bidding follows ServiceTitan revenue
Completed-job revenue, or Job Value Predictor estimates if you use them, becomes the primary goal, and the 60-second call action drops to observation.
One campaign answer in ServiceTitan, Google and Meta
Override policy, attribution window and leftover duplicate actions settled, so the platforms differ only where their dates do.
Every web lead carries its click ID
Forms and bookings the scraper can't read get posted through ServiceTitan's lead form or web booking attribution endpoints, or its Zapier actions, with the GCLID attached.
ServiceTitan Marketing Pro · architecture
What Marketing Pro actually lets you hook into
All of this comes from ServiceTitan's own help center. Most of it needs a Marketing Pro package with Ads, and ServiceTitan says the GA4 attribution piece isn't available without Marketing Pro.
- 1
Google Ads integration
OAuth link plus campaign auto-mapping. ServiceTitan stores the GCLID from a DNI call and creates its own conversion actions, leaving your existing ones untouched.
- 2
Dynamic Call Tracking (DNI)
A JavaScript snippet in each website's global header, with Auto-DNI or a manual number pool. It reads UTMs, GCLID and BRAID parameters. CallRail and other external DNI providers can feed it instead.
- 3
GA4 integration
Lead calls are sent to GA4 as events using the visitor's Client ID, without revenue unless Ads Optimizer is on.
- 4
Meta Ads integration
Pulls campaign cost, enforces its own UTMs over yours, captures the FBCLID, and posts the same job events through an offline dataset named Marketing Pro Ads, plus a daily customer list.
- 5
Ads Optimizer Revenue Import
Sends completed-job Total Revenue to Google Ads as conversion value against the original click, with optional Job Value Predictor estimates at booking.
- 6
Lead form and web booking attribution
An automatic form scraper for supported builders, or API endpoints and Zapier actions that accept a GCLID.
ServiceTitan Marketing Pro · diagnose
Where Marketing Pro tracking breaks, in the order we check
We start with the Google Ads goal list, because a wrong primary action wastes budget even when every event is delivered.
- 01
Which actions are primary in Google Ads
ServiceTitan's call action, your older GA4 or call-tracking conversions, or both. Two primaries for one caller is double counting.
- 02
DNI swap on every page
Tested from an ad-tagged URL on each template, landing pages included.
- 03
Forms reaching ServiceTitan
Each form submitted once and found under Follow Up or Job Booking with the right campaign.
- 04
CSR override rate
A report with call campaign and job campaign side by side shows how often bookings get relabeled.
- 05
Meta dataset on the ad set
Deliveries in Events Manager with no campaign results points here first.
- 06
Call extension revenue Google rejects
Extension numbers saved in phones or reused in emails get credited in ServiceTitan, then refused by Google.
ServiceTitan Marketing Pro · prove
The QA evidence — ServiceTitan Marketing Pro
Run on your live site and real ServiceTitan records.
Source of truth
ServiceTitan completed jobs with job number, call campaign, marketing campaign and total revenue, over a closed date range
- A click from a Google ad, a call to the swapped DNI number, and the GCLID confirmed on the call record.
- The booked job showing in Google Ads under ServiceTitan's booked-job action.
- One test per form builder, each landing in ServiceTitan with the correct campaign.
- Google Ads conversion value summed by click date and matched to ServiceTitan revenue by completion date.
- Meta events present in the Marketing Pro Ads dataset, and the dataset selected on every live ad set.
- No duplicate primary actions left in the Google Ads goal list.
- The full reconciliation repeated 30 days later.
ServiceTitan Marketing Pro · free audit
What we check in the free audit
- Which actions are primary in Google Ads
- DNI swap on every page
- Forms reaching ServiceTitan
- CSR override rate
- Meta dataset on the ad set
- Call extension revenue Google rejects
Checked against
ServiceTitan completed jobs with job number, call campaign, marketing campaign and total revenue, over a closed date range
Free30 minutesNo obligation
ServiceTitan Marketing Pro · when not to buy
When you don't need us on Marketing Pro
Some Marketing Pro accounts are already close, and we'll say so.
- If Ads Optimizer is on, completed-job revenue is the primary goal, CSRs can't override campaigns, and Google's conversion value matches ServiceTitan job by job, leave it alone.
- If you only run email, SMS and postcard campaigns with no paid ads, Marketing Pro's own campaign reports already answer the ROI question.
- If nearly every lead comes from Local Services Ads, Angi or Thumbtack, there's little click data to repair and lead source reporting matters more.
- If the only fault is a Meta ad set published without the dataset, the fix is a new ad set with it selected, and you can do that yourself.
ServiceTitan Marketing Pro · what we deliver
The event map on ServiceTitan Marketing Pro
Inbound DNI or call extension call
Kept secondary: proof the number swap works, not a goal.
Lead call
Booked calls and unexcused calls over 60 seconds. Demoted to secondary once job events flow reliably.
Web form and online booking
From the scraper, Scheduling Pro, or the attribution API and Zapier for anything the scraper misses, each with its GCLID.
Booked job
ServiceTitan's booked-job actions for website and call extension origins; the bid goal for low-volume accounts until revenue data is steady.
Completed job with revenue
Total Revenue sent by Ads Optimizer's Revenue Import against the original click, and posted to GA4 as a transaction.
Excluded
Excused calls that never book, manual jobs already tied to an earlier lead, and non-ServiceTitan call conversions that would count the same caller twice.
Written guarantee
95%+ tracking accuracy
Measured against ServiceTitan completed jobs with job number, call campaign, marketing campaign and total revenue, over a closed date range. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
ServiceTitan Marketing Pro questions, answered
Yes, once Marketing Pro Ads has Google Ads, GA4 and DNI configured. It posts calls, bookings and attributed forms by GCLID, and completed-job revenue when Ads Optimizer is on.
Mostly dates: Google files the value under the ad date, ServiceTitan under the job completion date. CSR campaign changes and call extension calls Google can't match explain most of the rest.
ServiceTitan leaves them untouched, so it's your call. Whatever you keep, only one action per real outcome should be primary, or Smart Bidding counts the same customer twice.
No. ServiceTitan says it doesn't currently track Facebook Lead Forms or Instant Forms, so those leads need their own route into ServiceTitan and back to Meta.
Not on an integrated account. The integration replaces ad URL parameters with utm_source=facebook, utm_medium=cpc and the campaign name, and reverts later manual edits.
For ServiceTitan to post conversions itself, yes. Without it, the ServiceTitan job data still exists, and we build the return path to the ad platforms through our own server-side setup instead.
More on ServiceTitan Marketing Pro
- ServiceTitanConversion tracking for ServiceTitan Scheduling Pro
- ServiceTitan → Marketing CloudConnecting ServiceTitan to Salesforce Marketing Cloud
- Housecall Pro → Marketing CloudConnecting Housecall Pro to Salesforce Marketing Cloud
RELATED GUIDES
Booking tools beside ServiceTitan Marketing Pro, and what their bookings feed
- DemandforceDemandforce fills your schedule. Your ads take credit for the recalls.
- Constant ContactYour ads fill your Constant Contact list. Your ad accounts can't tell which ones paid off.
- FlodeskYour Flodesk list grows every week. Your ads can't tell you which clicks did it.
- Lighthouse 360Lighthouse 360 keeps the schedule full. Your ads still can't tell which patients were new.
- SimpleTextingYour ads fill the SimpleTexting list. Google Ads can't tell which ones did it.
- RevenueWellPatients request appointments in RevenueWell. Google Ads never hears about it.
- Square MarketingSquare says your emails made the sale. Your ad account says nothing happened.
- KlaviyoYour Klaviyo popup signs people up every day. Google Ads still says zero conversions.
Free · 30 min
See what Google really learns from Marketing Pro
Free30 minutesNo obligation
