How We Structure Google Ads Conversion Actions (The Right Way) After Importing From ServiceTitan

Bri SkiffingtonChief Executive Officer

8min read

Google Ads Conversion Action Settings With ServiceTitan Marketing Pro Ads
Contents
  1. What It Enables
  2. What JVP Is & Why It Matters (a Lot)
  3. Our Cheat Sheet: The Free Agency Conversion Settings Framework
  4. Final Thoughts

If your Google Ads account is optimizing for phone calls from the same customer five times in one day… you’re not optimizing for revenue, you’re optimizing for Karen.

That’s the problem with most Google Ads setups: too many conversions, too much noise, and not enough clarity on what actually drives ROAS.

Most PPC managers miss the crucial post-import step even if they are using ServiceTitan Marketing Pro Ads: properly editing each conversion action for count method, attribution window, and optimization priority. The result? Duplicate conversions, inflated performance reporting, and Smart Bidding stuck chasing the wrong signals.

We fix that, every time.

Here’s how we structure conversion actions from ServiceTitan Marketing Pro Ads to give Smart Bidding the cleanest, highest-fidelity signals possible, and avoid the common traps that break your ROAS
before it ever has a shot.

What It Enables

ServiceTitan Marketing Pro Ads doesn’t just pass form fills and phone calls into Google Ads, it gives you something most trades advertisers have never had: the ability to optimize for actual job value.

Whether you’re passing through:

  • Actual revenue from closed jobs, or

  • Job Value Prediction (JVP)
    from ServiceTitan’s AI model (when jobs aren’t complete yet),

…you’re no longer guessing what a conversion is worth. You’re telling Google:

This lead is projected to bring in $12,748, go find more like it.

That changes the game entirely.

It means Smart Bidding is trained on real downstream value, not just lead signals like call duration or form fills. It means you can shift from Cost Per Lead to Return on Ad Spend (ROAS)… and you can do it with confidence.

But only if you configure those imported conversions correctly.

What JVP Is & Why It Matters (a Lot)

Job Value Prediction (JVP) is ServiceTitan’s AI-powered estimation of how much revenue a booked job will generate. It uses historical performance, job type, technician, geography, and more to give Google Ads a real-time revenue signal, even if the job hasn’t closed yet.

That’s a big deal. Because in trades, there’s often a huge lag between booking a job and collecting actual revenue.

Why That Lag Breaks Hurts ROAS Optimization

  • For HVAC, the job might run same day, but the invoice could close days later.

  • For high-ticket installs or custom work, jobs might not be complete for weeks.

  • In cases like garage doors or remodels, it could take 12+ weeks to close the loop.

If you’re relying solely on completed-job revenue for bidding signals, you’re always optimizing on stale data, sometimes 2–12 weeks behind the current funnel.

Now imagine trying to scale during summer with performance decisions based on May bookings. That’s a losing play.

Why JVP Solves It

JVP gives you the predicted value at the time of booking, and updates it retroactively once the job completes and revenue is finalized. That means:

  • You get immediate performance data for Smart Bidding

  • You still get corrected revenue later for reporting accuracy

  • You’re no longer flying blind or waiting weeks to make strategic shifts

It’s the best of both worlds: fast signals for optimization, and accurate data for ROAS tracking.

Real-World Example: Garage Doors

Take a garage door company selling custom doors:

  • The lead books a tech consult

  • The door is sold and ordered, but install won’t happen for 8 to 12 weeks

With normal revenue tracking, that lead looks worthless until Q4.

With JVP? You immediately see a projected $8,400 in job value tied to the ad click that generated it, and you can double down on what worked while it’s still working.

Why We Use JVP (And Stopped Trying To Build A Cheaper One)

We abandoned any effort to build our own value model years ago. There’s just no competing with the volume of data ServiceTitan has:

  • Tens of millions of historical jobs

  • Hundreds of variables per transaction

  • Constant model refinement and revenue correction baked in

We focus on performance strategy, not reverse-engineering machine learning models that have already won.

Our Cheat Sheet: The Free Agency Conversion Settings Framework

Once those conversion actions land in Google Ads from ServiceTitan Marketing Pro Ads, we don’t leave anything to chance. Here’s how we structure everything to ensure bidding trains on real value and attribution stays clean.

Primary Conversions (Train Smart Bidding)

Only these should be set to Primary, included in account goals, and factored into ROAS optimization.

Conversion ActionCountWindowOptimizationNotes
ServiceTitan JVP (Originated from Website)Every90 DaysPrimaryProjected revenue from web leads
ServiceTitan JVP (Originated from Call Extension)Every90 DaysPrimaryProjected revenue from ad extension calls
ServiceTitan Integrated BookingsOne30 DaysPrimaryWeb forms or SchedulePro to bookings
ServiceTitan Calls Conversion ActionOne30 DaysPrimaryDNI Lead call tracking from site visitors
Calls from AdsOne30 DaysPrimaryAd extension calls (set threshold to >90s for quality)

Why “One” vs. “Every”?

  • Contact actions (calls, bookings) use Count: One to avoid duplicates from frequent or indecisive contacts.

  • Revenue-based actions
    (JVP) use Count: Every to capture all job value, even from repeat customers.

Pro Tip To improve match rates for contact-based conversions, enable Enhanced Conversions for Web under Goals → Conversions → Settings in Google Ads (not inside individual conversion actions). Choose the Google tag setup method and allow automatic detection or provide a code snippet to capture hashed user data (like name, email, phone).

Secondary Conversions: Still Useful, Just Not Optimization Drivers

These should still be imported, but set to Secondary so they don’t influence bidding or ROAS reporting. They help you see funnel behavior, but shouldn’t train Google’s Smart Bidding model.

Conversion ActionWhy It’s Secondary
ServiceTitan Booked Job (Web or Call)Already captured in JVP event (booking + projected revenue)
ServiceTitan Completed JobToo delayed for Smart Bidding; better for reporting
ServiceTitan Inbound Call (Web or Call)Valid, but those with the Lead qualifier are better

Translation: track everything, but only optimize for the clearest, value-tied signals. That’s how you give Smart Bidding the right inputs and avoid chasing inflated or redundant outcomes.

The Exception (Specifically For The First ~30 Days)

Here’s where we contradict ourselves, temporarily.

The two call-based primary actions above, ServiceTitan Calls Conversion Action and Calls from Ads, are filtered. One requires a 60-second minimum call duration plus a “Lead” status in ServiceTitan. The other uses a >90s threshold to weed out junk. Long-term, those filters are exactly what you want feeding Smart Bidding.

But on day one? They’ll starve it.

Here’s why. Your CSRs are human. Early on, they won’t be used to the inevitable competitor calls that come in through as your PPC team is pruning search terms. A homeowner calls asking for another company, your CSR politely says “wrong number”, and excuses the call so it doesn’t count against their booking rate. That caller is calling for a service you provide, in your service area, but never gets the “Lead” tag. Google never sees a conversion. And you may think “good, I don’t want to be optimizing toward my competitors calls, they’re harder to book”, but you’d miss the point.

Multiply that across dozens of calls in your first two weeks. Google’s spending your money, seeing almost no conversions come back, and concluding your campaigns aren’t working. Smart Bidding starts pulling back. Clicks drop, impression share tanks, and you’re in a death spiral before the account ever had a chance. So, volume first, refine second.

The fix Flip the priority for the first 14–30 days.

Temporary primary actions (launch phase)

Conversion ActionCountWindowOptimizationNotes
ServiceTitan Inbound Call – WebsiteOne30 DaysPrimaryAll unique DNI calls from site visitors, no duration or lead-status filter
ServiceTitan Inbound Call – ExtensionOne30 DaysPrimaryAll unique calls from ad extensions, no duration or lead-status filter

During this phase, move ServiceTitan Calls Conversion Action and Calls from Ads to Secondary. They’ll still track, you just won’t optimize on them yet.

This gives Google a realistic volume of call conversions to learn from while your CSRs build the habit of tagging dispositions correctly. You’re trading signal precision for signal volume, which is the right trade when the algorithm has nothing to work with.

When to switch back Once you’ve hit roughly 30 conversions in 30 days on your primary call actions, the threshold where Smart Bidding has enough data to optimize reliably, swap them. Move the filtered actions (Calls Conversion Action and Calls from Ads) back to Primary. Move the unfiltered inbound call actions back to Secondary.

Think of it like breaking in a new dispatcher. You don’t hand them the most complex routing rules on day one. You let them take every call, learn the patterns, then tighten the criteria once they know what good looks like. Same logic applies to Google’s algorithm.

Bottom line The framework above is where you want to end up. But if you set it on day one, you’ll choke the algorithm before it learns anything. Give it volume first. Give it precision second.

Final Thoughts

ServiceTitan Marketing Pro Ads gives trades businesses something most platforms can’t: direct access to both actual revenue and predicted revenue through Job Value Prediction (JVP), seamlessly pushed into Google Ads. That means you’re not just optimizing for contact, you’re optimizing for what actually drives the business.

But when those conversions land in Google Ads, they don’t come perfectly pre-configured. And that’s where most setups fall short, not out of bad intent, but because no one teaches you how to clean it up.

Here’s what we’ve learned after rebuilding 100+ accounts:

  • JVP is your MVP, revenue signals > contact signals

  • Count contact actions once, not every time Karen calls

  • Use secondary conversions for context, not bidding

  • Give Smart Bidding clean signals so your budget chases profit, not noise

These aren’t hacks, they’re fundamentals. But fundamentals most people overlook. If you want Smart Bidding to act like a pro, you have to feed it like one.

Need a Second Set of Eyes?

We’ve helped trades businesses go from default setups to dialed-in ROAS
machines, often with nothing more than better signal prioritization.

Written byBri SkiffingtonChief Executive Officer