How to Troubleshoot Data Gaps in Google Ads Offline Conversions

Google Ads can show a conversion while the CRM shows no qualified lead, or the CRM can show a closed deal that never reaches the advertising account. Treat that mismatch as a broken evidence path rather than as proof that one platform is wrong. The useful question is where identity, timing, stage definition, upload processing, or business outcome stops being comparable.

1. Define the conversion path before checking the numbers

Write the intended chain: ad click, landing interaction, lead record, accepted lead, opportunity, sale, and any value adjustment. For every step record the system, identifier, timestamp, owner, status, and expected delay. Decide which stage is meant to guide bidding and which stages are reporting-only.

Google’s offline conversion imports FAQ distinguishes qualified and converted leads and recommends separate conversion actions for different funnel stages. Use that separation as a design boundary, not as a reason to import every CRM status into the “Conversions” column.

2. Test the click identity at the first handoff

Choose a recent, consented test lead and trace the click identifier from the landing request into the form, CRM contact, opportunity, and upload file. Check whether redirects, cross-domain forms, call tracking, privacy filters, or manual data entry remove or overwrite it. Record missing, malformed, duplicated, and synthetic identifiers separately.

Do not infer identity from campaign name alone. Campaigns change, names are edited, and a person can have several sessions. A source-to-record map should show the exact key used to associate the event with the click and the account that owns the conversion action.

3. Separate “missing” from “rejected” conversions

Build three counts for the same date cohort: records eligible for upload, rows accepted by Google Ads, and conversions visible in the selected report. Keep the rejection or results file with the cohort. A zero in a report may mean the upload was rejected, is still processing, is filtered by date, or was sent to another account.

For each rejected row record the error, first observed time, corrected action, and whether the row was re-sent. Never overwrite the original file; otherwise the team loses the evidence needed to explain why a historical count changed.

4. Check time zones and conversion windows

Compare click time, lead time, qualification time, upload time, and conversion time in one declared time zone. A CRM export in local time can appear to precede the click when it is actually UTC, while a delayed sale can fall outside the allowed import window. Record the platform’s accepted window and the business’s typical sales cycle as separate facts.

If a conversion occurs after the available click identifier expires, decide whether to keep it as CRM truth, use an appropriate enhanced-conversion path, or exclude it from automated bidding. A later business outcome may still be valuable for finance without being eligible as an advertising optimization signal.

5. Check stage definitions and values

Create a mapping table with CRM status, Google conversion action, qualification rule, owner, value rule, and reversibility. “Contacted,” “qualified,” “opportunity,” “won,” and “revenue received” are not interchangeable. If a lead is re-opened or refunded, document whether the correction is an adjustment, a new event, or a business-only note.

Use stable definitions for a test period. If Sales changes the qualification rule halfway through the comparison, the apparent data gap may be a taxonomy break. Mark the transition date and report pre-change and post-change cohorts separately.

6. Test duplicates and account scope

For each upload row calculate a duplicate key from the click identifier, conversion name, and conversion time. Check retries, timezone rounding, CRM exports, and parallel agency uploads. A duplicate can be harmlessly deduplicated or can hide that two distinct business stages were collapsed into one timestamp.

Confirm that the conversion action, manager account, child account, and cross-account tracking level match the click. A valid row uploaded to the wrong scope can look like a missing conversion even though processing succeeded somewhere else.

7. Reconcile platform data with CRM and revenue

Create a weekly reconciliation with columns for click cohort, lead cohort, accepted lead, opportunity, closed outcome, uploaded conversion, visible conversion, and value. Add unknown and not-applicable buckets. Compare rates by campaign only after checking source completeness and sales-cycle maturity.

Use conversion measurement guidance to keep platform measurement terminology distinct from internal revenue definitions. For interaction events, GA4 event guidance is useful for documenting what was measured on the site, but an event or upload is not proof of an accepted lead.

8. Repair one bounded break

Select one campaign, one date cohort, and one funnel stage. Preserve the original export, upload file, rejection results, CRM snapshot, and report filters. Repair one variable—identifier persistence, stage mapping, upload schedule, account scope, or duplicate handling—then replay only a safe test cohort.

Stop the repair if privacy consent is unclear, identifiers are being copied into an unsafe location, the sales stage is not reproducible, or the business cannot decide which outcome should guide bidding. Keep a rollback path and document any rows that remain unknown.

9. Apply the offline-conversion gate

| Gate | Required evidence | Hold if | | — | — | — | | identity | click key survives to the source record | key is inferred from a campaign label | | stage | CRM status maps to a named conversion action | one action hides several stages | | processing | eligible, accepted, rejected, and visible counts | upload results are missing | | timing | click, conversion, upload, timezone, and window | dates cannot be reconciled | | quality | mature CRM outcome and value rule | form submit is called revenue | | safety | consent, access, rollback, and owner | test data is not controlled |

The diagnostic is complete when the team can explain the gap with a dated evidence ledger, identify the smallest repair, and state which numbers remain unknown. Do not change budgets or bidding until that explanation survives a fresh cohort.

Your reaction

How did this article land?

Choose one reaction. You can change it anytime.

Email verification required

Write for Scale Orbit

Turn practical experience into a public body of work

Share useful lessons about revenue, marketing, analytics, CRM, conversion, and growth. Build a visible author profile and learn what resonates with practitioners.

  • Public author profile and publication archive
  • Editorial support for your first article
  • Views, reactions, followers, and topic discovery
  • Free publishing with clear moderation rules

Email verification is required. Every first article is reviewed. Publication, rankings, traffic, leads, and revenue are not guaranteed.

Write

Discover more from Scale Orbit | Full-Service Marketing Management

Subscribe now to keep reading and get access to the full archive.

Continue reading