ServiceTitan · Google Ads

ServiceTitan Google Ads Offline Conversion Tracking

Home services contractors spend $5,000 to $50,000 a month on Google Ads. Google sees a click, a form fill, maybe a call. Then nothing. The HVAC job that closed for $4,800 three days later is completely invisible to your campaign. ServiceTitan knows exactly when the job was dispatched, completed, and invoiced. ConversionLoop reads that signal and fires it back to Google as an offline conversion. Smart Bidding stops optimizing for tire-kickers and starts finding people who hire.

ServiceTitan
Your CRM
webhook
ConversionLoop
API upload
Google Ads
Ad platform
10-min setupNo code required14-day free trialReal-time upload
10 min
Setup time
<60s
Upload delay
0
Developer needed
100%
Server-side delivery

Why ServiceTitan contractors lose attribution in Google Ads

When someone clicks your Google ad, Google assigns a GCLID to the URL. ServiceTitan knows nothing about that click. The homeowner calls your dispatch line or fills out a form. A job is booked in ServiceTitan. A technician is dispatched. The job is completed. The invoice is paid. ServiceTitan fires a webhook when each of those events happens. But the webhook contains no GCLID. Google sees the original click, never sees the conversion, and reduces budget on campaigns that are actually driving revenue. Meanwhile, your cost-per-click climbs because Smart Bidding has nothing to learn from.

Ad click
GCLID assigned
Landing page visit
GCLID captured by cl.js
Booking made
Patient books through Pabau
Invoice paid
Without CL — Google sees nothing
Invoice paid
With ConversionLoop — conversion uploaded

ConversionLoop vs. manual CSV upload

Why the manual process breaks — and what changes when you automate it

Feature
Manual / No tool
ConversionLoop
ServiceTitan job as Google conversion
Not possible with standard tag
Automatic via ServiceTitan webhook
Smart Bidding revenue signal
Form fills only
Closed jobs and paid invoices
GCLID capture and matching
Manual CRM field setup required
Automatic, server-side via cl.js
Invoice value passthrough
Not tracked
Exact job value sent to Google
Upload timing
Manual batch or weekly exports
Real-time, under 60 seconds
Developer required
Yes for custom integrations
No

How ServiceTitan job events reach Google Ads

ConversionLoop sits between your ad click and your ServiceTitan job record. It captures the click ID when the homeowner first lands on your site, then uploads the conversion the moment ServiceTitan fires a job complete or invoice paid webhook.

1

Homeowner clicks your Google ad. cl.js captures and stores their GCLID against their email or phone number.

2

Homeowner calls your office or submits a form. A job is created in ServiceTitan.

3

Technician completes the job. ServiceTitan fires a Job Completed webhook to your ConversionLoop endpoint.

4

ConversionLoop looks up the GCLID for that contact and uploads the conversion to Google Ads with the job revenue.

5

Google Ads registers the conversion and updates Smart Bidding in real time. The algorithm starts finding homeowners who hire, not just homeowners who click.

Ready to connect ServiceTitan?

14-day free trial. No credit card. Setup takes 10 minutes.

Start free trial

Step-by-step: Connect ServiceTitan to Google Ads

Follow these steps once. Everything after is automatic.

1
Create a ServiceTitan integration in ConversionLoop
Select ServiceTitan as your source and Google Ads as your destination. You receive a unique webhook URL and ingest secret.
2
Register the webhook in ServiceTitan
In ServiceTitan, go to Settings, then Integrations or Webhooks. Paste your ConversionLoop URL and select Job Completed and Invoice Paid as trigger events.
3
Add cl.js to your website and landing pages
Paste one script tag into your site head or deploy via Google Tag Manager. The snippet captures and stores the GCLID on every Google ad click.
4
Enter your Google Ads credentials
Add your Customer ID and the conversion action name. The action must be set to Import from Clicks in your Google Ads account settings.
5
Run a test event
Trigger a test job completion in ServiceTitan. ConversionLoop confirms the match and shows the upload status before you go live.

ServiceTitan events worth tracking

Invoice Paid

Primary revenue event. Passes the exact invoice amount for value-based Smart Bidding. This is the event that tells Google what a paying customer looks like.

Job Completed

Technician closes the job in ServiceTitan. Fires before invoice payment in most workflows. High-volume signal for contractors with net-terms billing.

Booking Confirmed

Job is scheduled and confirmed. Earlier-funnel signal that increases data volume when close cycles are long.

Key takeaways

  • 1ServiceTitan has no native Google Ads integration. Job completions and paid invoices are invisible to your campaigns by default.
  • 2Tracking form fills as conversions teaches Google to find form-fillers, not homeowners who hire and pay.
  • 3ConversionLoop captures the GCLID on every ad click and matches it to ServiceTitan job events server-side.
  • 4Invoice Paid is the highest-value signal. It reflects actual revenue, not just expressed interest.
  • 5Setup takes 10 minutes with no developer and no CSV exports.
  • 6After setup, Smart Bidding optimizes toward closed jobs. Cost per booked job typically drops within 30 days.

Frequently asked questions

Does ServiceTitan support webhook integrations?

Yes. ServiceTitan supports outbound webhooks for job and invoice events. Access is available through the ServiceTitan integrations settings or via their API. Enterprise and multi-location accounts have full webhook support. Contact ServiceTitan support to confirm webhook access on your plan.

What if the homeowner calls in instead of submitting a form?

Phone leads require a GCLID match. If the caller visited your website from a Google ad before calling, cl.js will have captured their GCLID against their email or phone. For callers who never visited your site, you can import call conversions separately through Google Ads call extension tracking.

How long after the ad click can I still upload an offline conversion?

Google Ads accepts offline conversions for clicks up to 90 days old. Most home services jobs close within days or weeks of the initial search, so this limit is almost never a problem.

Will this work with multiple service locations or franchises?

Yes. ConversionLoop can route events from multiple ServiceTitan business units to the corresponding Google Ads accounts. Each location gets its own webhook endpoint and credentials.

ServiceTitan
Your CRM
webhook
ConversionLoop
API upload
Google Ads
Ad platform

Connect ServiceTitan to Google Ads today

Stop optimizing on guesswork. Every invoice, treatment, and booking — tracked and attributed automatically.

Start free — 14 days on us

No credit card required · 10-minute setup · Cancel anytime