All guides

Guide · Planning, buying and running AI

Automate Google Ads Lead Follow-Up So the Ad Platform Learns What a Job Is

McGuire Flanigan · Updated October 27, 2026 · 8 min read

The platform reports a form fill or a call, and neither of those is a job. Follow up in seconds, then send the paid outcome back as an offline conversion, so the machine learns to buy work instead of clicks.

Why the Ad Platform Is Optimizing the Wrong Event

A form fill is a proxy for a job, and so is a call. The platform does not know which lead became work and which one wasted the spend, because the answer lives in the business's own system of record and never travels back. So the account optimizes the proxy it can see, and a business that imports nothing is training its spend on the leads that filled a form rather than the leads that paid an invoice.

Four documented facts shape the fix. Leads are stored for 60 days and downloadable for 30. The qualifying call length is chosen by the advertiser, so a call conversion is really a duration. Imported statistics take up to 3 hours to appear. And a call flagged too recent cannot be uploaded immediately, which forces a 12 hour wait. None of those are opinions. They are the reasons a naive loop fails, and they dictate the design.

The work is to close the loop. Follow up in seconds so the expensive lead is not wasted at the first step, then send the outcome back through the documented offline conversion surface so the platform learns what a job looks like.

The reframe

The ad platform is not expensive because clicks cost money. It is expensive because it never learns which clicks were worth it.

What the Loop Does to Your Cost Per Booked Job

Move the sliders to match your account. The model shows cost per booked job before and after outcomes are imported, the monthly value of the improved signal, and where the paid spend actually goes.

Cost per booked job now

$155

58 booked jobs per month

Once outcomes import

$143

lift modeled from a better signal

Monthly value of the improved signal

$776

39 closed jobs per month, 10% of outcomes reaching Google

Illustrative estimate from the inputs above. Your own numbers will differ; this is not a measured result.

Where the paid spend goes

The only bucket the ad was supposed to buy. Everything else is the cost of not measuring this one.

A real job that a competitor or a delay won. Price, speed, or trust. The ad did its job and the business did not.

The largest bucket in most accounts, and the one nobody reports. A lead nobody called is a click paid for and thrown away.

A targeting signal the business can act on, once it is visible. Left invisible, it is a permanent tax on spend.

Real spend against fake intent. It is only removable once the pattern is named, and only visible once outcomes are tracked.

The buckets sum to the lead volume by construction. The uncontacted share absorbs the difference so the five always reconcile and none exceeds the total. Note the second and third bars: the largest waste in most accounts is not the ad, it is the lead nobody called.

The Closed Loop, Stage by Stage

Six stages from click to relearned bid signal. Each names the system it touches, the payload it leaves behind, and where a naive loop breaks.

Target System

Google Ads landing experience and session state

Ad Clicked and Lead Captured

The click carries an identifier, and that identifier is the only thread back to the bid that bought it. Lead form data is stored for 60 days and downloadable for 30, so the capture has to persist the identifier immediately rather than trusting the platform to hold it.

The lead is captured without its click identifier, and the outcome can never be attributed back to the keyword that earned it.

Stage payload

Sending the Outcome Back: The Offline Conversion Surface

Click conversions go through UploadClickConversions, carrying the click identifier and the value the invoice supports. Call conversions go through uploadCallConversions and have their own required fields, plus the twelve hour wait the platform imposes on a call flagged too recent.

The identifier has to ride on the record from the moment the lead arrives. If the click identifier is not persisted on the customer in the system of record, the closed invoice cannot be joined back to the click, and no amount of clever tooling recovers it after the fact. The join key is the whole ballgame.

Where the outcome comes from matters as much as how it is sent. The value has to come from a financial record, which means the accounting system, not the jobs board and certainly not an estimate. An estimate used as revenue trains the algorithm on the business's optimism rather than its results.

The write in one line

What the System Does Alone, With You, and Never

The loop touches real money, so the boundary is a design decision, not a disclaimer. Changing a bid or a budget is supervised at most. Importing a conversion the invoice does not support is never.

Autonomous

  • Read ad platform metrics and the leads it captured
  • Read the system of record for the closed outcome
  • Detect a lead that has gone unanswered past the threshold
  • Detect an invoice that closed a job against a paid lead
  • Flag a lead with no click identifier attached
  • Assemble the candidate conversion payload for a person to approve

Supervised

  • Draft the first-touch message for a person to send
  • Stage the conversion upload with an invoice-derived value for a person to approve
  • Propose a budget reallocation based on cost per booked job
  • Propose a negative keyword from a spam-pattern cluster

Never

  • Import a conversion the invoice does not support
  • Set or alter pricing, quotes, or estimates
  • Promise a schedule, a warranty, or a completion date
  • Send a message that commits to a price or a promise
  • Send a conversion value no financial record backs
  • Overwrite the system of record's revenue field

What This Is Not

Not a fix for a bad ad, landing page, or offer

If the offer is wrong, a better signal only teaches the platform to buy the wrong thing more efficiently. Closing the loop improves who the account chases, not whether what it is chasing is worth buying.

Not a replacement for the person who answers the phone

A paid lead followed up in seconds still has to be handled by someone who can qualify, quote, and book. The loop buys the business a fair shot at the lead it paid for. It does not take the call.

Not a way to make an unattributed click attributable after the fact

If the identifier was never captured, it is gone. The loop has to be in place before the lead arrives, which is why the first stage is capture rather than cleanup.

How to Sequence the Build

The order matters, because a loop that imports outcomes before it can follow up is optimizing a lead nobody called.

Days 1 to 3

Stop the leak

Persist the click identifier on every lead and send the first touch inside the window. This alone recovers more than the import will.

Days 4 to 10

Make the outcome reachable

Join the closed invoice back to the original click through the identifier on the record, so a booked job can be found by the campaign that bought it.

Days 11 to 20

Close the loop

Stage the offline conversion upload with the invoice value, and put a person at the approval step before it goes.

Ongoing

The cadence tax

The API versions roughly every two months. Budget for maintenance, or the loop quietly stops a quarter after launch.

Questions About Automating Google Ads Lead Follow-Up

Where This Fits in Lead and Sales

This page is the paid-search specialist. It defers the general lifecycle to the lead follow-up guide and the spend-side read to ad monitoring.

Find Out Where Your Paid Search Loop Breaks

Give us one month of paid leads and their outcomes. In thirty minutes we will show you the leads nobody called, the clicks that never got attributed, and what closing the loop is worth in your account. You keep the analysis whether or not you hire us.

Questions operators ask

How fast does follow-up need to be for a Google Ads lead?

Inside the same hour, and ideally inside five minutes. A paid lead is the most expensive one a service business buys, and it is also the most perishable, because the searcher is comparing several paid results at once. The window is not a marketing preference, it is the reason the click was expensive in the first place.

Do I need a CRM change to import offline conversions?

No. The requirement is one field: the click identifier has to ride on the customer record so the closed invoice can be joined back to the click that bought it. Most systems of record allow a custom field or a note. The platform stays the system of truth, and the identifier simply lives on the record until the outcome arrives.

What value do I send for a booked job that has not been invoiced yet?

You wait, or you send nothing. A conversion value has to come from a financial record. Sending an estimate as if it were revenue trains the algorithm on your optimism, and the accuracy of the bid signal is the whole point of the loop. For call conversions there is also a documented wait: a call flagged too recent cannot be uploaded immediately, and the platform asks for roughly twelve hours.

Will importing offline conversions change my cost per lead?

It will change what the account optimizes for, and that is the point. Cost per lead can move in either direction once the signal is a booked job rather than a form fill, because the account stops chasing leads that never became work. The honest measure is cost per booked job, not cost per lead, and the two can move in opposite directions.

Can this work without call tracking?

Partly. Form-fill leads carry their identifier on the click and can be closed-loop without extra tooling. Call-only leads need call tracking to attach an identifier to the call, and without it the call can still be followed up but the outcome cannot be imported against a click. The page treats call tracking as the piece that makes phone-sourced outcomes attributable rather than as a precondition for the whole loop.

See where AI fits in your operation

Thirty minutes on how the work actually moves. No pack of agents. No obligation to build. If we can help, we will show you the first paths. If we cannot, we will say so.

Sources

  1. services.leadconnectorhq.com, services.leadconnectorhq.com
  2. developers.google.com/google-ads/api/docs/conversions/upload-offline, developers.google.com
  3. developers.google.com/google-ads/api/docs/conversions/upload-calls, developers.google.com
  4. support.google.com/google-ads/answer/2998031, support.google.com
  5. support.google.com/google-ads/answer/9423234, support.google.com
  6. support.google.com/google-ads/answer/6100664, support.google.com
  7. support.google.com/google-ads/answer/2454052, support.google.com
  8. developers.google.com/google-ads/api/docs/release-notes, developers.google.com
  9. twilio.com/docs/messaging/api/message-resource, twilio.com
  10. api.twilio.com/2010-04-01, api.twilio.com
  11. api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages.json, api.twilio.com
  12. api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages/{Sid}.json, api.twilio.com
  13. twilio.com/docs/voice/api/call-resource, twilio.com
  14. api.twilio.com/2010-04-01/Accounts/{AccountSid}/Calls.json, api.twilio.com
  15. api.twilio.com/2010-04-01/Accounts/{AccountSid}/Calls/{Sid}.json, api.twilio.com

More guides on planning, buying and running ai