Skip to content

Troubleshooting

Google Ads Offline Conversion Import Not Uploading?

Can't upload offline conversion data? Trace a missing GCLID from the landing page to HubSpot, GoHighLevel, Zapier and the Google Ads upload result.

Published
Reviewed

Diagnosis

  1. Causes, ranked 6
  2. How to diagnose it 6

First answer free, within one working day. Describe your case

Sounds familiar?

The symptom

Symptom report

The lead became a customer. Your CRM knows it. Google Ads still shows nothing, or an upload says it cannot find the click. I start with that individual record rather than rebuilding every workflow at once.

Tick what you see

The short version

Direct answer

Keep four pieces of evidence together: the landing URL after redirects, the submitted form fields, the saved CRM record and Google’s upload result. The first place they stop agreeing tells me where to work. A copied test identifier can prove field transport; it cannot prove attribution to a real ad click.

Where to look

Causes, ranked

Causes, ranked6 causes

  1. The click identifier never reached the form

    Google auto-tagging supplies the GCLID. A redirect can strip it before capture. I inspect the final landing URL, including mobile and alternate-domain paths. See Google’s auto-tagging definition and redirect troubleshooting.
  2. The form and CRM disagree about the field

    Google’s GCLID setup uses a hidden form field and stores the identifier with the prospect. I compare the actual submission with the destination field, including embedded forms and later visits. The GCLID is case sensitive. See Google’s capture and storage guide.
  3. The record has a different supported identifier

    I check for gbraid and wbraid separately. I keep the original field names and use the fields supported by the actual destination. Google’s Data Manager identifier requirements cover these identifiers. I do not paste a braid value into a GCLID field.
  4. The conversion is outside the allowed dates

    I compare click time, actual qualification or sale time, upload time and the action’s conversion window. Google’s import guidelines specify a 90-day last-click upload limit for offline conversions and 63 days for enhanced conversions for leads. Check the action’s conversion window separately. I do not change the sale date to make an old click pass.
  5. Consent or customer-data handling is incomplete

    I inspect the permission recorded with the lead and what the destination receives. Data Manager has explicit consent fields; a CRM checkbox alone does not demonstrate the uploaded values. See Google’s field mappings.
  6. The integration uses the wrong API route

    Google’s 2026 update says the 15 June change blocks offline imports and enhanced-conversions-for-leads uploads through the Google Ads API for developer tokens without qualifying prior use. Legacy allowlisted access is distinct from new adoption. I check the actual token eligibility and error before planning a Data Manager API migration.

6 steps

How to diagnose it

Work through them in this order.

  1. Separate capture from import. Start a fresh eligible journey and record where the identifier first appears. Check auto-tagging, every redirect and the final page. Keep any real identifiers inside your account.
  2. Inspect the submission. Check whether the hidden field contains the original value when the form is submitted. Test a form reached directly and a form reached after navigating elsewhere on the site. Then compare the CRM field the upload actually reads.
  3. Trace the business event. Record what the workflow calls a conversion: form submission, qualified lead, booked call or completed sale. Compare the real event time and timezone with the outgoing row. Keep those milestones distinct when reviewing your mapping.
  4. Read Google’s error. Check account ownership, conversion action and timestamp before retrying. Google’s offline import error guide distinguishes identifier age, processing delays and uploads that are accepted but not counted. Do not treat every unreported row as a missing GCLID.
  5. Check matching data. Enhanced conversions for leads supplements offline imports with user-provided data. It does not create a historical ad click. Google’s upgrade guide explains the relationship. I keep available click IDs and check the permitted customer data alongside them.
  6. Prove the destination. For a custom Data Manager integration, validate the payload, submit an eligible conversion and inspect asynchronous diagnostics. Google documents this sequence in its offline-conversion workflow. I keep the upload receipt and later reporting check together.

Signal and fix

Decision table

EvidenceNext check
GCLID missing on the final landing pageAuto-tagging and redirects
Identifier in URL, missing in submitted formCapture timing and hidden field
Identifier in form, missing in CRMForm-to-CRM mapping
Identifier in CRM, missing in uploadWorkflow field and destination mapping
Row rejectedExact error, dates, action and API eligibility
Upload accepted, report still emptyProcessing result and conversion reporting settings

One clear problem, fixed.

I fix the broken capture or import path on your site and CRM.

I prove it with a real test lead or order reaching Google Ads, including the upload result and reporting check.

$350 · 3 working days after access

Urgent, within 24 hours: +25%.

When several systems disagree, or a cheaper fix already failed.

For a Shopify store, I match every Shopify order against what GA4, Meta and Google Ads recorded. For lead generation, I first agree which CRM milestones to reconcile, then match every lead against what Google Ads received.

I prove the cause in your own data, rebuild the broken tracking, and add a daily check so it does not silently break again.

From $1,500

See a redacted sample report

Free first step: Describe what's wrong

Questions

Questions this symptom raises

Can't upload offline conversion. What should I check first?

I start with one rejected row and its exact Google error. Then I compare the original click identifier, conversion action and actual conversion timestamp with the CRM record. An automation success message is only one checkpoint.

What does Contact is missing GCLID mean in GoHighLevel?

I treat that message as a capture or mapping question first. I inspect whether this contact came from an eligible Google ad click, whether the landing URL carried an identifier, and whether the form saved it into the field the workflow reads. I do not generate a replacement GCLID.

Google Ads offline conversions HubSpot: where do I look?

I compare one eligible contact's original form submission with its stored identifier, lifecycle change and upload result. I also check the connector's selected data range. Google's GCLID setup guide documents a 14-day initial Data Manager import for HubSpot, followed by changes since the last successful run.

Can Zapier Google Ads offline conversion runs succeed without a reported conversion?

I check the destination's row-level result and processing diagnostics as well as the Zap run. Google documents cases where successful uploads are not counted, including conversion count settings and filtering.

Daniil Maximkin

Hi, I’m Daniil.

I work with you from defining the problem to implementation and handover. You talk to the person who does the work. I work in English and Russian; written correspondence in Spanish with translation support.

Tried it and still stuck?

Describe what's wrong

The first answer is free, within one working day. Or write directly: next@taskfordaniel.com

Discuss your task

Describe what needs to be built, fixed or connected.

Write your task next@taskfordaniel.com