Skip to content
Mather Media Solutions

Guide · Home services

How to track sold jobs back to Google Ads for home services

Updated 26 September 20266 min read

The short answer

Save the Google Ads click ID (gclid, gbraid or wbraid) on the customer record in your CRM or field service software, then upload a conversion when the job is sold, with the sold amount and the job number. Upload daily, within 90 days of the click, and bid on sold jobs once the counts are trusted.

What should a home services company count as the conversion?

Three moments matter after the call or form: the estimate or appointment booked, the job sold, and the job completed and paid. Google Ads, left alone, only sees the first contact, so it treats a tire-kicker and a full replacement as the same win.

  • Booked appointment: fast and frequent. A good early stage to import.
  • Sold job: the signed estimate or contract, with a real dollar amount. The conversion worth bidding on.
  • Completed or invoiced: closest to cash, but late. Useful for reporting and for correcting values, less so for bidding.

Pick the sold job as the target, import the booked appointment as well, and write down which status in the office software marks each one.

Step 1: How does the click get into the CRM or field service software?

With auto-tagging on, Google Ads puts a click identifier on the landing page URL: gclid, or gbraid or wbraid on some iOS traffic. That value has to travel with the lead into the system where the job is later sold.

  1. Store the identifiers on arrival

    Save them in first-party storage when the visitor lands, so a form or booking widget on another page can still read them.

  2. Pass them through every web form and booking widget

    Hidden fields on forms. For an embedded scheduler, check that it accepts the value; many run in a frame and do not see the page URL.

  3. Tie calls to clicks

    Home services leads mostly call. Call tracking with dynamic number insertion can attach a web visitor’s click ID to the call record. Make sure that record creates or updates the customer in the office software.

  4. Map the field onto the customer and the job

    ServiceTitan, Jobber, Housecall Pro, GoHighLevel and HubSpot can all hold custom fields. The click ID must still be there after the lead becomes a customer and the estimate becomes a job.

  5. Handle repeat customers

    A returning customer who clicks an ad creates a new click ID on an existing record. Decide whether the new job takes the new click, and write the rule down.

How do GoHighLevel and field service integrations fit?

Several CRMs and field service platforms offer their own Google Ads connection. That can be the simplest transport, as long as someone has checked three things: which status triggers the send, which value goes with it, and whether the click ID is actually on the record when it fires.

GoHighLevel, for example, can send a conversion to Google Ads from a workflow, such as on a pipeline stage change, and its documentation says the gclid, gbraid or wbraid must be on the contact record for the conversion to attribute.

GoHighLevel conversion tracking, step by step

Sending leads and booked appointments from GoHighLevel to Google Ads and Meta without double counting.

What about Meta?

The same sold job can go to Meta through the Conversions API as a server event, with the value and currency, the fbc value built from a stored fbclid, and hashed contact details. Meta rejects events more than seven days old, so the send has to run close to the moment the job is sold. For Meta lead form leads, store the Meta lead ID; its CRM integration matches on that.

How do you check it before the campaigns bid on it?

  • One job, end to end

    A test lead from a tagged URL, booked, sold in the office software, and visible in Google Ads with the right value.

  • A weekly count

    Sold jobs from paid traffic in the office software, jobs sent in the upload log, conversions Google accepted. The gap should be stable and explained.

  • The diagnostics page

    Google Ads reports import errors and unmatched rows. Unmatched usually means the click ID never reached the record.

Once the counts hold, make Job sold the primary conversion and let bidding work on value. That is when budget can be judged on cost per sold job and revenue per dollar, instead of cost per call.

Common mistakes

  1. 01

    Counting every call over a minute as a conversion

    Existing customers, wrong numbers and parts questions all last a minute. The platform learns to buy more of them.

  2. 02

    Losing the click ID when a lead becomes a job

    Many systems create a new job or customer record and leave custom lead fields behind. Check the field after conversion, not just on the lead.

  3. 03

    Two tools sending the same conversion

    A native integration and a separate connector both firing Job sold doubles the count and inflates the value bidding sees.

  4. 04

    Never correcting cancelled jobs

    Without an order ID and an adjustment, a cancelled job keeps its full value in the account.

  5. 05

    Uploading at month end

    The 90 day click limit and the daily learning cycle both punish batch uploads. Automate it.

Straight answers

What we will not promise

  • A number of sold jobs, a close rate or a cost per job before the campaigns have run.
  • That Google Ads, Meta and the office software will report the same total. Each attributes by its own rules; what the business sends is defined, correct and tested.

Questions

  • Does this work with ServiceTitan, Jobber or Housecall Pro?

    The method works with any system that can hold the click ID on the customer or job and report the sold date and amount, by export, connector or API. What each product sends natively changes over time, so it is checked in the account before anything relies on it.

  • Should I send the real job value or a fixed value?

    For home services, the real sold amount is usually best. It is ordinary business data, and it lets bidding tell a repair from a replacement. Correct it with an adjustment if the job cancels or the price changes.

  • What about Local Services Ads?

    Local Services Ads run on their own lead system and report differently from Search campaigns. Check what the current Local Services reporting accepts before assuming an offline import covers those leads.

  • How long before bidding improves?

    There is no honest fixed answer. Campaigns relearn after a primary conversion changes, and the speed depends on volume. Import first, run it as secondary until the counts are trusted, then switch.

Start with the diagnostic

Rather have someone check yours?

Map what is breaking, the systems involved, the outcome you need, and whether a pilot is ready. You will see a practical route and first artifact before deciding whether to send the context.

No charge to take the diagnostic · A specific reply within two business days