Attribution
ServiceTitan and Google Ads: How to Close the Loop on Lead Attribution
Here’s a question most contractor marketing agencies can’t answer: which Google Ads keyword generated $47,000 in booked revenue last month?
Not leads. Not clicks. Not impressions. Actual revenue that hit your bank account.
If your agency is reporting on leads and calling it a day, you’re making budget decisions with half the picture. Leads are nice. Revenue is what pays for trucks and technicians and everything else that keeps your business running.
This is what proper ServiceTitan and Google Ads integration gives you. When these two systems talk to each other properly, you can trace the entire path from someone clicking your ad to calling your office to booking a job to the final invoice amount. That’s not a marketing fantasy. It’s a Tuesday for us.
Why Attribution Matters More Than Lead Volume
Let’s say you have two campaigns running. Campaign A generates 50 leads at $40 each. Campaign B generates 20 leads at $80 each. Most reports would tell you Campaign A is the winner. Twice the leads at half the cost, easy call.
But here’s what happens when you close the loop with ServiceTitan: Campaign A’s leads convert to booked jobs at 30% with an average ticket of $350. Campaign B’s leads convert at 60% with an average ticket of $3,200.
Campaign A generated $5,250 in revenue on $2,000 in ad spend. Campaign B generated $38,400 in revenue on $1,600 in ad spend. Campaign B isn’t just better. It’s operating in a completely different universe of ROI.
You would never know this looking at lead volume alone. And yet, that’s exactly how most agencies optimize: more leads, lower cost per lead, pretty dashboard. Meanwhile, the campaigns actually driving your business might be getting their budgets cut because they “only” generated 20 leads.
How the Integration Works
Connecting ServiceTitan to your Google Ads campaigns isn’t a single button press. It’s a stack of tools working together. Here’s the chain:
The Attribution Stack
- Google Ads tracks the click. A person clicks your ad, and Google records the campaign, ad group, keyword, and search term.
- Call tracking (CallRail) assigns a unique phone number to each session. When the person calls, CallRail captures the caller info and ties it to the exact keyword and ad that drove the visit.
- CallRail passes the lead data to ServiceTitan. The call recording, caller info, and marketing source all flow into ServiceTitan as a new lead.
- ServiceTitan tracks the job lifecycle. From booked call to dispatched technician to completed job to final invoice, everything is logged.
- Revenue data flows back to your reporting. You can now see which Google Ads campaigns and keywords are generating actual revenue, not just phone calls.
The result is a closed loop. Ad click → phone call → booked job → revenue. Every step is tracked, every dollar is attributed.
Setting Up the Integration: The Practical Steps
Google Ads Conversion Tracking
Start with proper conversion tracking in Google Ads. You need to track both form submissions and phone calls as conversions. Use Google’s call reporting for click-to-call conversions, and make sure your conversion window is long enough to capture the typical booking timeline (we usually set 30–60 days for home services).
CallRail Configuration
CallRail is the bridge between Google Ads and ServiceTitan. Set up:
- Keyword-level call tracking with dynamic number insertion on your website
- Google Ads integration in CallRail so call conversions flow back into your Ads account
- Call recording enabled (with proper disclosure) so you can assess lead quality, not just quantity
- The CallRail-ServiceTitan integration so leads automatically create customer records in ServiceTitan
ServiceTitan Marketing Configuration
Inside ServiceTitan, configure your marketing sources to align with your Google Ads campaign structure. This is critical, if your marketing source tags in ServiceTitan don’t map cleanly to your campaign structure, your attribution data becomes a mess.
Best practice: create marketing sources in ServiceTitan that mirror your campaign names. If you have a campaign called “AC Repair – [Your City],” create a matching marketing source. When CallRail passes the lead to ServiceTitan, it tags it with the correct source.
Reporting and Optimization
Once the integration is running, your reporting changes completely. Instead of looking at cost per lead, you’re looking at cost per booked job and return on ad spend by campaign, by service line, even by keyword.
This data tells you exactly where to put your next dollar. Double down on the campaigns generating high-revenue jobs. Fix or cut the ones generating cheap leads that never convert. It’s a fundamentally different way to manage your ad spend.
Common Pitfalls (and How to Avoid Them)
Mismatched Marketing Sources
If your ServiceTitan marketing sources don’t align with your campaign structure, attribution gets muddled. Take the time to map these correctly from the start. It’s tedious setup work that pays dividends for as long as you’re running ads.
Not Using Dynamic Number Insertion
Static tracking numbers on your website can’t tell you which keyword drove the call. Dynamic number insertion (through CallRail) swaps the phone number displayed based on the visitor’s session, giving you keyword-level attribution. Without it, you know a call came from Google Ads but not which campaign or keyword, and that’s not enough.
Ignoring the Conversion Lag
In home services, someone might click your ad on Monday, call on Wednesday, and get the job done the following week. If you’re evaluating campaign performance on a one-day or even one-week window, you’re missing conversions that haven’t happened yet. Give your data 2–4 weeks to mature before making big budget decisions.
Not Listening to Calls
Call tracking gives you recordings. Listen to them. Not every lead is a good lead, and not every “conversion” is actually a booked job. Listening to calls helps you spot issues with your CSRs, identify common customer questions, and understand the real quality of leads each campaign produces.
What This Looks Like in Practice
When this integration is working, your monthly reporting looks fundamentally different. Instead of a slide that says “You got 87 leads this month at $54 average cost per lead,” you get something like:
- Google Ads generated $142,000 in booked revenue this month.
- The AC Repair campaign produced 34 booked jobs with an average ticket of $1,800 and a 6.2x return on ad spend.
- The HVAC Installation campaign produced 8 booked jobs with an average ticket of $8,400 and a 9.1x return on ad spend.
- The keyword “ac repair near me” generated $47,000 in attributable revenue.
That’s not a prettier report. That’s a different conversation entirely. It’s a conversation about revenue, not vanity metrics. And it’s the conversation your CFO and your operations manager actually want to have.
Stop Guessing. Start Attributing.
We live in ServiceTitan and Google Ads every day. Connecting these systems so you can see real revenue attribution (not just lead counts) is one of the most impactful things we do for our clients. It’s not glamorous work, but it’s the work that changes how you make decisions.
If you’re sitting on a ServiceTitan account and Google Ads campaigns that aren’t talking to each other, let’s fix that.
Free planning tool
Estimate your results
Plug in your market and budget to see a planning range for clicks, leads, customers, and revenue, based on current industry benchmarks.
Our signature edge
Closed-loop attribution that most agencies can’t offer
Most agencies optimize to clicks and leads they can see. We close the loop, sending click data and real revenue data back into Google Ads so Smart Bidding chases the customers that actually pay you. It is the advantage behind every campaign we run.
Track the click
Every ad click, call, and form is captured and tied to the exact keyword, campaign, and device that drove it.
Match to real revenue
We connect that lead to what actually happened in your CRM or booking system, booked job or signed case, and the dollars it brought in.
Feed revenue back to Google
Real revenue values flow back into Google Ads, so Smart Bidding optimizes toward profit, not clicks, not raw lead count.
Compound the gains
The algorithm learns which clicks turn into money and buys more of them. Cost per acquired customer drops month over month.
Frequently asked questions
Do I need CallRail if I’m using ServiceTitan?
ServiceTitan has its own call tracking, but we recommend CallRail for keyword-level attribution in Google Ads. CallRail’s dynamic number insertion and Google Ads integration give you granular data that ServiceTitan’s native tracking doesn’t always capture. They work best together, not as replacements for each other.
How long does the integration take to set up?
If you have all accounts created and active, the technical setup can be done in a few days. Getting the attribution data flowing cleanly and the marketing sources properly mapped typically takes 1–2 weeks of configuration and validation. It’s not a set-it-and-forget-it. You’ll want to validate the data for the first month.
What if I’m not on ServiceTitan?
The same principles apply with other field service platforms like Housecall Pro or Jobber, though the integration depth varies. ServiceTitan’s reporting and API capabilities make it the strongest platform for closed-loop attribution, which is one reason we work with it so extensively.
Is this worth the complexity?
Unequivocally yes. The difference between optimizing on leads versus optimizing on revenue is the difference between guessing and knowing. The setup investment pays for itself the first time you reallocate budget from a low-revenue campaign to a high-revenue one.