The setup in one line
Capture who clicked, store it with the lead, and send the booked job back to Google.
| Step | What happens | Where |
|---|---|---|
| 1. Turn on auto-tagging | Each ad click gets a click ID (GCLID) in the URL | Google Ads account settings |
| 2. Capture at the form | Save the GCLID in a hidden field, plus the lead's email or phone | Your website form or booking tool |
| 3. Store it | Keep both with the lead record | Your CRM or booking system |
| 4. Mark the outcome | When the lead books or pays, record the date and value | Your CRM |
| 5. Upload | Send booked jobs back as conversions | Data Manager in Google Ads, or an integration |
| 6. Make it primary | Bid toward booked jobs, not form fills | Goals, conversions summary |
Google describes the click-ID route: save each GCLID "along with whatever lead information you collect", then, when the person converts, "you give that GCLID back to Google Ads" (Google Ads Help: About offline conversion imports). Auto-tagging must be on, and "The GCLID is case sensitive" (Google Ads Help: GCLID setup).
Enhanced conversions for leads vs offline conversion import
Use enhanced conversions for leads if you're starting now. Google says:
"If you have not already adopted offline conversion import, we recommend starting with enhanced conversions for leads instead." (Google Ads Help: About offline conversion imports)
| Offline conversion import | Enhanced conversions for leads | |
|---|---|---|
| Matches on | The click ID (GCLID) only | Hashed email or phone, plus GCLID if you have it |
| If the click ID is lost | The conversion can't be matched | It can still match on the hashed email or phone from your form, and signed-in Google users |
| Google's advice | Upgrade to enhanced conversions for leads | Start here |
| Set up with | Data Manager, the API, or integrations such as Salesforce, HubSpot and Zapier | The Google tag or Tag Manager on your form, then Data Manager, the API or Zapier |
Sources: About enhanced conversions for leads, About offline conversion imports.
Google still advises keeping the click ID: "To maximize accuracy, include GCLIDs with your uploaded events whenever possible" (Google Ads Help).
Two 2026 changes:
- April 2026: enhanced conversions for web and for leads became one setting; all accounts were moved over (Google Ads Help).
- June 15, 2026: offline conversion and enhanced-conversion uploads moved to the Data Manager API and are "blocked in the Google Ads API", except for developer tokens that qualified for legacy access (same page). If a developer built your upload before 2026, ask whether it still runs.
Why the "Conversions" column may not be real jobs
The Conversions column counts only primary conversion actions. Google says primary actions are "reported in the 'Conversions' column in your reports and used for bidding" (Google Ads Help: About primary and secondary conversion actions). Secondary actions are observed but not bid on (Google Ads Help).
If a page view, a 10-second call or a button click is primary, Google bids to get more of those. Set booked or paid jobs as primary. Set everything else to "Secondary (observe only)".
Conversion tracking setup incomplete: what each status means
Google shows a status on each conversion action. Hover over it for the next step.
| Status | Google's meaning |
|---|---|
| Needs attention | "there are action items to address but haven't stopped recording conversions entirely" |
| Misconfigured | "Conversions have stopped recording entirely due to a setup error or a broken tag" |
| Awaiting conversions | "No conversions have been recorded in the last 7 days" |
| No recent conversions | Might mean no ad clicks converted "in the last 7-14 days"; "not always a tracking error" |
Quotes from Google Ads Help: Troubleshooting conversion tracking status and Manage conversion goals.
Timing rules that drop conversions
- Conversion window. Google counts a conversion only within the click-through window. The default is 30 days; you can set up to 90 (Google Ads Help: About conversion windows). If jobs book 45 days after the first click, set a longer window before you upload.
- New actions. After creating a conversion action, "wait 4-6 hours before uploading conversions", or they may take 2 days to show (Google Ads Help: GCLID setup).
- Data Manager lookback. Each run pulls the last 90 days from files and Google Sheets, and the last 14 days from databases. HubSpot and Salesforce start with 14 days, then pull changes since the last run (same page).
Phone calls
Many service jobs start with a call. Google can count calls from your ads as conversions "by analyzing call recordings using Google's AI" or "by counting calls that last longer than a minimum duration you set" (Google Ads Help: Measure calls from ads). Call recording is "limited to calls where both parties are in the U.S. or Canada" (same page).
A long call still isn't a booked job. If your CRM knows which calls booked, import those as the conversion instead (same page).
Consent
Google tells advertisers to "get consent where required by law or any applicable Google policies" (Google Ads Help: About offline conversion imports). Rules differ between US states and Canada, and health businesses have extra limits: see tracking on a clinic website.
How one firm sends bookings back
An accounting firm we run marketing for built this for Google, OpenAI and Meta ads. Each morning a script matched every new booking to the ad click that brought it, checked four rules, and sent the platform only the click ID and the booking time, never a name, email or phone. The rules: a new client's first booking; the click is the booker's own and their last visit source before booking; permission came first; once per person.
On October 6, 2026, only 2 of 6 Google-ad bookers had accepted ad measurement, so only 2 were sent. The firm then added a plain line under every calendar saying a booking from an ad is reported to that ad platform. Results: Google got 4 bookings, Meta 5 (plus 343 anonymous "engaged visit" signals), OpenAI 0, because no ChatGPT ad visitor ever booked.
Before this, Google's "Conversions" column was not real bookings. One stretch showed 1, 2, 1, 0 while real bookings were 2, 3, 0, 0. The account had auto-made goals, such as "About Us" page views, set as primary.
Example
A plumber with a booking form
A plumber's form saves the GCLID and email. Of 40 leads a month, 12 book a job. Uploading those 12 shows Google which searches bring booked work, not just form fills.
A dentist taking calls
A dental office gets 60 ad calls a month. Calls over 60 seconds count as conversions, but only 20 book. Importing the 20 booked calls from its practice software gives bidding the real number.
A long sales cycle
A renovation firm signs contracts 60 days after the first click. With the default 30-day window, none of those contracts would count. Setting the window to 90 days before uploading lets them count.
Different for you?
- Spend is going to the wrong searches: Google Ads wasted spend.
- Ads run but calls don't come: Google Ads not getting calls.
- You run a clinic and worry about health data in tags: clinic website tracking and HIPAA.
- You want a monthly report that shows booked jobs: the marketing report to ask for.
- You want the uploads set up and checked daily: Paid Ads.