Skip to guide

Hey Sage · Measurement

How to Send Paid Phone Customers Back to Google Ads

A practical setup for matching Google forwarding-number calls to paid CRM customers, testing the upload, automating it and teaching Google Ads which calls create revenue.

12–16 min read Step-by-step 4 working files Updated August 2026
On this page
  1. 01 · What you are building
  2. 02 · Confirm that the calls can be matched
  3. 03 · Turn on call reporting and forwarding numbers
  4. 04 · Create the paid-customer conversion action
  5. 05 · Save the exact fields in the CRM
  6. 06 · Prove the match with one controlled upload
  7. 07 · Automate the smallest reliable workflow
  8. 08 · Move the outcome into bidding carefully
  9. 09 · Frequently asked questions

What you are building

Google Ads can count a phone call, but your CRM knows whether that caller became a paying customer. This setup closes the gap. It connects the original ad-driven call to the later sale, then returns the real outcome and value to Google Ads for reporting and, once the data is reliable, bidding.

The recommended route

For calls handled through Google forwarding numbers, use Google Ads’ native Import call conversions workflow. Match the caller’s phone number and exact call start time to the customer record in your CRM, then upload only the calls that reach the outcome you care about.

Quick answer: turn on call reporting, use Google forwarding numbers for calls from ads and your website, save the caller ID and call start time in the CRM, create a “paid customer” call-upload conversion, test one row, automate a daily upload, and keep the action secondary until the counts and values reconcile.

A white phone receiver connects to a stack of CRM records, a violet value signal and a control dial in one closed feedback loop.
The useful signal is not “a call happened”. It is “this ad-driven call became a paid customer worth this amount”.

Step 1

Confirm that the calls can be matched

Native call imports only work when Google can recognise the original call. The call must have used a Google forwarding number, and your CRM or phone system must preserve the same caller number and start time that Google recorded.

Choose the route that matches the information your systems actually retain
SituationBest starting routeWhy
Google forwarding number call; caller ID and start time are in the CRMNative call conversion importIt is the most direct match between Google’s call record and the CRM sale.
Website lead has GCLID or consented email/phoneEnhanced conversions for leads through Data ManagerIt matches a click-led CRM journey and can supplement GCLID with first-party data.
CRM cannot store the caller ID or exact call timeCall-tracking platform with dynamic number insertionA provider such as Delacon, WildJar, CallRail or another suitable platform can own the call-to-CRM join.
Direct, organic or repeat call did not use a Google forwarding numberKeep it in CRM reportingDo not force it into the native Google call-import path; Google cannot reliably attribute it to an ad call.

Run a readiness check

  1. Open Campaigns → Insights and reports → Report editor → Call details.
  2. Find a recent call longer than 15 seconds. Google makes caller phone numbers available for most qualifying forwarding-number calls.
  3. Find the same call in the CRM or phone system.
  4. Confirm the caller number and start time agree, including timezone and daylight-saving handling.
  5. Confirm the CRM can mark the record paid and store the actual sale or job value.

If this five-point check fails, repair the data path before creating an automation. A successful API connection cannot compensate for a missing caller ID or an unreliable timestamp.

Step 2

Turn on call reporting and forwarding numbers

Australia supports local and toll-free Google forwarding numbers. They sit between the customer and your business number, route the call normally, and give Google the call record required for matching.

  1. In Google Ads, open Admin → Account settings → Call reporting, turn it on and save.
  2. Make sure the relevant campaigns have an approved call asset or call ad. Calls from ads need a Google forwarding number.
  3. For website calls, create the website-call setup and add Google’s generated phone snippet wherever the tracked business number appears.
  4. If the Google tag for the same Ads account already exists, do not install a second base tag. Add or verify the Ads configuration and the generated phone snippet.
  5. Replace both the visible number and the clickable tel: destination on mobile. Test every header, footer, sticky button and contact module that exposes the number.
A blank phone-number plaque routes a violet call signal through a transparent tracking cylinder to a business telephone.
A Google forwarding number is a measurement route, not a new permanent business number. Do not publish or save it as your main contact number.

Follow Google’s current website call tracking instructions for the exact snippet generated by your conversion action. The number displayed in your site code must match the format configured in Google Ads.

Step 3

Create the paid-customer conversion action

Google’s labels can vary slightly between account interfaces. The documented route is normally Goals → Conversions → Summary → Create conversion action → Import → Manual import from API or upload → Track conversions from calls. Some accounts show the same option as Calls via uploads.

A sensible starting configuration
SettingStarting pointDecision rule
NamePaid Customer – Phone CallKeep the spelling and capitalisation fixed; the upload must match it exactly.
CategoryPurchase or Converted leadUse Purchase for a paid job or booking; use Converted lead for a sales-stage outcome.
ValueUse different valuesUpload the actual sale value in AUD where it is reliable; otherwise document a defensible fixed value.
CountOneUse Every only when separate transactions from the same ad interaction should each count.
WindowMatch the real sales cycleCall imports support up to 90 days; do not choose a longer window than the business needs.
Goal useSecondary during validationMove it to Primary only after upload coverage, values and duplicates are under control.

Step 4

Save the exact fields in the CRM

Create controlled fields before you automate. Preserve the original call details even if a contact later changes their phone number, and use a stable internal key so retries do not create a second commercial record.

Minimum CRM and upload schema
FieldFormatPurpose
Caller phone numberE.164, for example +61412345678Primary call-match input.
Call start timeExact timestamp with timezonePrimary call-match input. Use Australia/Melbourne or an explicit offset.
CRM call IDUnique, immutable textInternal reconciliation and idempotency.
Customer statusControlled value such as PaidDefines when the conversion becomes eligible.
Conversion timeTimestamp after call startWhen the paid outcome actually occurred.
Conversion valueNon-negative numberActual or documented value sent to Google Ads.
CurrencyAUDKeeps value reporting consistent.
Upload status and keyPending, accepted or failedPrevents duplicate work and supports retries.
A phone token, clock and violet customer-value record interlock in front of a neat CRM record stack.
The caller number, call start time and paid outcome must belong to the same durable CRM record.

Phone numbers are personal information. Restrict access, keep them out of URLs and analytics event parameters, and provide the disclosures and consent required for your business. Do not send raw phone numbers to GA4.

Step 5

Prove the match with one controlled upload

Wait at least four hours after creating the conversion action. Then download Google’s current phone-call template from Goals → Conversions → Uploads → View templates. Use the supplied template rather than inventing headers from memory.

  1. Choose one real, clearly labelled paid call that appears in both Call details and the CRM.
  2. Enter the caller number, call start time, exact conversion name, conversion time, value and AUD.
  3. Use a named timezone such as Australia/Melbourne so daylight-saving changes do not require manual offset logic.
  4. Open Uploads, select the file and choose Preview. Resolve every error before applying it.
  5. Apply the file once. Imported conversions cannot simply be removed, so do not test with a fabricated customer record.
  6. Check the upload result, then allow reporting time before reconciling the Ads conversion with the CRM record.

Expected columns

Caller's Phone Number,Call Start Time,Conversion Name,Conversion Time,Conversion Value,Conversion Currency,Ad User Data,Ad Personalization

Google recommends overlapping recurring uploads by an extra day because very recent calls may still be processing; duplicate rows are not counted twice. Keep your own upload key and status anyway, because internal idempotency makes failures much easier to diagnose.

Step 6

Automate the smallest reliable workflow

Start with the lowest-complexity method that can run on schedule, retain an audit trail and retry failures without changing the original call data.

Move up the stack only when the simpler option no longer fits
MethodBest whenControl to add
Manual CSVYou are proving the data model or upload only a small volume.Named owner, preview-before-apply and a reconciliation log.
Scheduled Google SheetThe CRM can populate a controlled sheet safely.Protected columns, restricted sharing and a daily refresh check.
Scheduled HTTPS or SFTP fileYour CRM can export a secure, stable file.Credential rotation, row-level status and freshness alerts.
Google Ads APIYou need direct, monitored CRM integration at scale.Consent field, partial_failure=true, batching, retries and error storage.

Google currently documents UploadCallConversions for caller-number and call-start matching. Its broader offline-lead guidance is moving click-led and enhanced-conversion uploads towards Data Manager, so confirm the current call-specific endpoint with Google before commissioning a new custom API build.

Automation rule

Trigger only when the CRM record first becomes eligible, for example Customer status changes to Paid. Build the upload row from the preserved call fields, submit it, store the response against the CRM call ID, and retry only failed rows. Do not trigger on every edit to a paid record.

Step 7

Move the outcome into bidding carefully

A clean conversion action is not automatically a useful bidding goal. First prove that it arrives consistently, reflects real customers, and has enough volume for the campaign to learn from.

  1. Upload daily, or on the shortest reliable schedule your CRM supports.
  2. Keep the action Secondary through at least one or two normal sales cycles.
  3. Reconcile CRM paid customers, accepted upload rows, conversion values and unexplained gaps.
  4. Review hidden caller IDs, calls under 15 seconds, timezone errors and forwarding-number coverage separately.
  5. When the signal is stable, make the paid-customer action Primary and move the raw call action to Secondary for the same campaigns.
  6. If paid outcomes are too infrequent or arrive too late, optimise to a more frequent, well-defined qualified-call stage while continuing to measure paid revenue.
Neutral call tokens pass through a validation gate, with only violet paid-customer tokens reaching a bidding control dial and returning through a feedback loop.
Filter first, optimise second. A smaller verified signal is more useful than a larger count of calls with unknown commercial value.

Use All conversions (by conversion time) when comparing with CRM sales by the date they closed. Standard conversion reporting attributes the outcome back to the original ad interaction date, so the two views answer different questions.

Frequently asked questions

Can we upload every customer who called the business?

No. Native call imports need a call that Google recorded through a forwarding number. Direct, organic and untracked repeat calls should remain in CRM reporting unless another authorised attribution method can identify their ad interaction.

Do we need to replace our permanent business number?

No. Google dynamically shows an eligible forwarding number and routes it to the real business number. Google owns that forwarding number and may change it, so do not publish it as the permanent contact number.

What if the caller ID is hidden?

The native match will usually be unavailable because the caller number is one of the required inputs. Track the sale in the CRM, record the coverage gap and avoid fabricating a match.

Should the raw phone call and paid customer both be Primary?

Usually not for the same call and campaign. Doing so can double-count one journey for reporting and bidding. Keep the raw call secondary when the paid-customer action becomes the trusted primary goal.

Can a Google Sheet automate the upload?

Yes. Google Ads supports scheduled imports from Google Sheets, HTTPS and SFTP. Protect access to raw phone data, refresh the file reliably and monitor the upload results.

Should we use GA4 for the phone number match?

No. Send the paid call outcome to Google Ads through the call-import workflow. Do not put raw phone numbers into GA4, page URLs, UTMs or analytics event parameters.

When should we use enhanced conversions for leads instead?

Use that path for click-led CRM journeys where you retained GCLID and/or consented first-party identifiers from the website. It can complement call imports, but it does not make an untracked phone-only call matchable.

Want us to run the system with you?

You can use every guide yourself. If the work starts eating the week again, we can step in with paid media management, creative production and practical growth support.

Talk to Hey Sage