Skip to main content
Conversion tracking

How to route closed-job revenue back to Google Ads from ServiceTitan

Mike F., Founder 6 min read

When a job closes in ServiceTitan at $8,400, that number can land back in Google Ads, attached to the exact ad click that produced the customer. Once it does, the platform stops optimizing for form fills and starts optimizing for revenue. That connection is a revenue data import, and for an HVAC or plumbing shop running on ServiceTitan it is the single highest-leverage piece of tracking you can build.

This guide covers what the connection does, what has to be in place before you build it, the three ways to build it, and the pitfalls that quietly break it. It assumes you already know why form-fill tracking misleads your bidding. If that case still needs making, start with the five gaps in home services ad tracking or the complete conversion tracking guide.

What does routing revenue to Google Ads actually do?

Every click on your ads carries a unique click identifier. Capture it when the lead arrives, keep it on the customer record in ServiceTitan, and when the job closes, send the job’s value back to Google Ads with that identifier attached. Google matches the value to the original click, and the bidding learns what that click was actually worth.

The compounding is the point. A $400 service call that turns into a $7,000 system install three weeks later is a $7,400 customer. An account fed real revenue learns that, and starts bidding for more clicks like the one that produced it. An account counting form fills never finds out, and keeps optimizing toward whatever produces the cheapest maybes.

What has to be in place before you connect anything

Four prerequisites, in order. Skipping one is why most attempts at this stall.

  1. Click identity captured on every lead. Your website forms need to capture the click identifier and submit it with the lead. This is a form-and-tag configuration job, not a ServiceTitan job, and it has to be right first.
  2. The identifier survives into ServiceTitan. Web bookings can carry it automatically. Phone jobs booked by a CSR need the call tracking integration to write it to the customer record. This handoff is where most builds fail: if the identifier dies at the booking step, nothing downstream can reconnect the job to the click.
  3. Calls tracked with outcomes. For most trades the phone is half the pipeline or more, so call tracking through CallRail or WhatConverts, tied into ServiceTitan, is not optional. A call needs a campaign on one end and an outcome on the other.
  4. A clean conversion structure in Google Ads. One primary conversion action for booked-job value, with form fills and calls demoted to secondary once revenue is flowing. Two primary actions counting the same lead is how accounts double count their way back to noise.

The three ways to build the connection

ServiceTitan’s own marketing and ads tooling. The fastest route, and for straightforward accounts it can be enough. The trade-off is control: you get ServiceTitan’s definitions of what counts as attributable revenue and when it sends, which may not match how your business actually books and adjusts jobs.

Connector middleware. Integration tools that watch ServiceTitan for closed jobs and push values to Google Ads. More control than native tooling, a monthly subscription, and someone still has to configure the matching rules and keep them honest.

A custom build on the ServiceTitan API. Full control over what counts as revenue, when it sends, and how memberships and follow-on jobs are handled. This is what we build when the revenue rules are not simple, which in practice is most shops past a certain size. The cost is that someone has to own it.

Which route fits depends on job volume, how messy your revenue definitions are, and who owns the setup when something drifts. There is no universally right answer, only a right answer for your account.

Not sure which route fits? The free audit maps what your tracking reports today and the shortest path to revenue-fed bidding for your specific setup. Request a Free Audit. Five business days. No cost. No commitment.

The pitfalls that quietly break it

Every one of these has burned a real account. Decide your rule for each before go-live, not after.

  • Job values change after close. Change orders, warranty rework, refunds. Pick a policy: send at close and adjust on material changes, or send once and accept small drift. Silent disagreement between ServiceTitan and Google Ads erodes trust in the whole system.
  • The second-job question. That $400 service call that became a $7,000 install: does the install’s revenue land on the original click? Decide up front and stay consistent, because flip-flopping teaches the bidding two different lessons about the same customer.
  • Late-closing jobs. Google Ads accepts conversions that arrive well after the click, but the windows are generous, not infinite. Jobs that routinely close months out need a deliberate sending policy rather than a shrug.
  • Double counting. The same job arriving once through your form conversion and again through the revenue import. This is a conversion-settings problem with a known fix (see prerequisite four), and it is worth checking monthly.
  • Placeholder values. Uploading the same flat number on every job recreates the every-lead-counts-the-same problem with extra steps. If the values are not real, the bidding is not learning.

How do you know it is working?

Three checks after go-live:

  1. Valued conversions appear in Google Ads within days of jobs closing, with a realistic spread: service tickets in the hundreds, replacements in the thousands, not one repeating number.
  2. Campaign revenue in Google Ads roughly reconciles with ServiceTitan. It will never match to the dollar; measurement losses and attribution windows see to that. It should tell the same story about which campaigns produce booked revenue.
  3. After roughly 15 valued conversions in a rolling 30 days, the bid strategy can move from maximizing conversions to maximizing conversion value. That switch is the payoff: the algorithm starts hunting installs instead of cheap form fills.

Should you build this yourself?

If you have someone comfortable with ServiceTitan’s integrations and your ad account, genuinely yes. Most in-house builds get the website and call layers done and stall at the CRM-to-platform connection: it is fiddly, and the pitfalls above are exactly where it earns its keep. That is not a knock. It is the part we do every week.

The productized version is the Tracking Foundation: all four layers, $2,500 one time, documented, and you own it permanently. HVAC contractors on ServiceTitan are the accounts we build it for most often.

Frequently asked questions

Does this work if most of our leads call instead of filling out forms?

Yes, and for most HVAC and plumbing shops the phone is the majority of the pipeline. The call tracking layer does the heavy lifting: it ties each call to the campaign that produced it and writes the outcome into ServiceTitan. Without it, the revenue connection only ever sees your form leads, which for a phone-heavy shop means missing most of the picture.

We run Housecall Pro or Jobber. Does the same setup apply?

The architecture is identical: capture click identity, keep it on the customer record, send closed-job value back to the platform. The connectors differ per CRM, and so do the quirks. Housecall Pro and Jobber are both native integrations for us, alongside JobNimbus and AccuLynx for roofing.

Will our bidding improve immediately once revenue is flowing?

No. Expect a learning period of a few weeks once the volume threshold is met, longer if job volume is low or jobs close far from the click. The direction is what changes immediately: from the first day, the account is learning toward revenue instead of away from it.

What does this cost?

Depends on the route. ServiceTitan’s native tooling may already be in your plan. Middleware runs a monthly subscription. A custom build is an engineering project. Our version is bundled into the Tracking Foundation at $2,500 one time, covering all four layers, not just the ServiceTitan connection.


Your ServiceTitan account already knows exactly what every job was worth. Your ad account is guessing. Connecting the two is a bounded engineering project with a known shape, and it changes what every future ad dollar optimizes toward. If you want to know what the build looks like on your account, request the free audit: a 20-minute discovery call, then five business days to a quantified answer.

See what your ad accounts are actually doing.

Book a 20-minute discovery call. If we are a fit, the free audit comes next.

Request a Free Audit

Five business days. No cost. No commitment.

Month-to-month, no long contracts
You own the Foundation forever
100% US-based, founder-led