Insights
Tracking & Attribution

Google Ads Says Zero Conversions. Your CRM Says 200. Here’s Exactly Why — and the Fix.

Jamie Frazer 25 May 2026 13 min read
attribution issues lady confused by them

Something is wrong with your Google Ads conversion data. You know it because your CRM or Shopify backend is recording sales that Google Ads is not. Or conversions have dropped off a cliff with no corresponding drop in actual business. Or you’re seeing erratic, fluctuating numbers that don’t move in line with anything you’ve done.

Before you change bids, pause campaigns, or question whether Google Ads is working at all — run this diagnostic. The cause is almost always one of five things. This guide works through all five in order of most-to-least common, with the exact check and exact fix for each.

The most dangerous mistake at this point is changing campaign strategy to compensate for a tracking error.

If you’re here because your Google Ads and Meta numbers just don’t match each other — rather than an outright tracking failure — that’s a different (and expected) problem. Start with the conversion tracking discrepancies guide first.


Is this a tracking problem or a performance problem?

Tracking problem: Google Ads reports significantly fewer conversions than your CRM or backend for the same period. Performance problem: the numbers broadly align but ROAS is poor. Diagnosing these differently matters — changing campaign settings to fix a tracking problem makes performance worse, not better.

Pull your last 30 days of actual sales or leads from your CRM, Shopify, or booking system.

Adjusting campaign bids and budgets to compensate for inaccurate data is one of the most common — and most avoidable — ways to waste ad spend.


Step 1 — Check your conversion action status

Navigate to Goals > Conversions > Summary in Google Ads. The Status column shows five states: Active, Needs Attention, Inactive, No Recent Conversions, and Other. Any status other than Active requires investigation before making any campaign decisions.

Google’s official conversion tracking troubleshooter walks through each status in detail. Here’s what each means in practice:

Also check the Diagnostics tab: Goals > Conversions > Summary > Diagnostics. This runs an automated health check and flags common issues — missing global site tag, disabled auto-tagging, Consent Mode misconfiguration. Fix any red or yellow warnings here before any manual troubleshooting below.

Do not proceed to campaign changes until this section comes back clean.


Step 2 — Find and remove duplicate conversion actions

Duplicate conversion actions occur when multiple tags track the same event — for example, one from a manually placed Google tag, one from GTM, and one from a WordPress plugin, all firing on the same thank-you page. Each duplicate multiplies your reported conversions and teaches Smart Bidding to optimise against inflated signals it cannot verify.

The key diagnostic pattern: your Google Ads conversion count is significantly higher than your CRM AND higher than GA4. That combination almost always indicates duplication.

How to identify duplicates: in Goals > Conversions > Summary, look for multiple actions with the same URL match, same event name, or conversion counts that exceed your actual sales volume.

The fix: mark one conversion action as Primary. All others should be set to Secondary (observation only, no bidding impact) or removed entirely. Secondary actions do not influence Smart Bidding — only Primary actions do.

This is the second most common issue we see in new client accounts — particularly in WooCommerce and Shopify setups where a tracking plugin has been installed alongside an existing GTM container without removing the original hardcoded tag.


Step 3 — Verify your GTM triggers fire on the correct pages

A conversion trigger set to “All Pages” fires your conversion tag on every page load — product pages, homepages, blog posts — not just your thank-you page. The result is phantom conversions that vastly overstate performance. Use GTM’s Preview mode to watch exactly which tags fire on each page.

Google Tag Manager Preview mode documentation covers how to run this check. In brief:

  1. Open GTM → Preview
  2. Enter your live site URL
  3. Navigate to your thank-you or order confirmation page
  4. Confirm the conversion tag fires there and only there

Common GTM trigger failures:
– Trigger set to “Page URL contains /thank” when the actual URL is /order-confirmation or /booking-confirmed
– Thank-you page is on a subdomain (e.g. booking.yourdomain.com) not covered by the GTM container
– Thank-you page URL changes depending on payment method — card goes to /success, PayPal goes to /paypal-return

Five minutes in GTM Preview will confirm more than two hours of reading conversion reports.


Step 4 — Check for GCLID loss at checkout or booking handoff

GCLID loss occurs when a user clicks a Google ad, but the Google Click ID parameter — which attributes the eventual conversion to that click — is dropped before they convert. This happens when checkout or booking is hosted on a separate domain or third-party platform, breaking the cookie that carries the GCLID.

This is the most common cause of tracking failure for service businesses using third-party booking software — clinic systems, appointment platforms, booking engines — where the confirmation page is on a different domain or subdomain.

How to check: click a Google ad yourself (from an incognito browser), proceed through the entire booking or purchase flow, and check whether your conversion fires at the end. If it does not, GCLID loss is the likely cause.

The fixes:

  1. Auto-tagging must be on — verify under Google Ads Settings > Account Settings. Auto-tagging appends the GCLID to your URLs on click.
  2. Conversion Linker tag must be active in GTM — firing on all pages of your site, including any landing pages before the third-party handoff. Without this, the GCLID is not stored in a first-party cookie.
  3. Third-party platform passthrough — many booking and payment platforms (Cliniko, Acuity, SimplyBook, Stripe-hosted checkout) have a setting to pass URL parameters through to the confirmation page. Check the platform’s tracking documentation.
  4. If no access to the confirmation page at all — implement offline conversion import. Collect GCLIDs via a hidden form field or URL parameter on your landing page, match them to bookings in your CRM, and upload the matched file to Google Ads. Google’s conversion windows documentation covers compatible import formats.

If your bookings are handled by a third-party platform and you have never checked the GCLID handoff, this is almost certainly where your conversions are going missing.


Step 5 — Verify Consent Mode v2 is configured correctly

Consent Mode v2 is required for UK and EU advertisers. Without it, users who decline your cookie banner are a complete blind spot — no conversions recorded, no modelling, no Smart Bidding input from that segment.

Google’s Consent Mode v2 documentation covers full setup requirements. The key things to check:

The most common misconfiguration: a cookie banner exists and Consent Mode is partially implemented, but no default “denied” state has been set. Tags fire as if consent was granted regardless of user choice. This creates a legal compliance risk and corrupts your conversion data simultaneously.

With Consent Mode v2 correctly configured, Google models conversions from declined-consent users based on aggregate patterns from consenting users. That modelled data feeds into Smart Bidding, recovering a significant portion of the signal that would otherwise be lost.


When you’ve checked all five and the gap persists

If all five steps pass and there is still a material gap between Google Ads conversions and your CRM sales, the tracking loss is happening at the browser level. Ad blockers and Safari’s Intelligent Tracking Prevention are preventing the conversion tag from firing regardless of how correctly it is configured.

This is the signal to implement server-side tracking. See our guide on server-side tracking and what broken tracking costs you for a full explanation of what sGTM and Enhanced Conversions involve and what they recover.


Frequently asked questions

Google Ads shows zero conversions but my CRM has sales — what happened?

Work through Steps 1–4 in order. Most common causes: conversion action showing Inactive status, GCLID lost at a third-party checkout or booking platform, auto-tagging disabled, or conversion action marked as Secondary rather than Primary. The Diagnostics tab (Goals > Conversions > Summary > Diagnostics) will flag the most common ones automatically.

Why does Google Ads show more conversions than GA4?

Different attribution rules: Google Ads uses a 30-day click window and can include modelled conversions from Consent Mode v2 estimates. GA4 uses data-driven attribution and distributes credit across all touchpoints — meaning Google Ads does not receive full credit for conversions where other channels were also involved. Some divergence is structural and expected. For the full explanation, see why your platforms show different numbers.

What is the difference between a Primary and Secondary conversion action?

Primary actions are used by Smart Bidding for optimisation — they are the signals the algorithm trains on. Secondary actions are tracked for observation only, with no bidding impact. A common misconfiguration is marking the wrong action as Primary (a page view or session start instead of a purchase), which causes Smart Bidding to optimise toward the wrong goal entirely.

My conversion tag status shows Active but numbers look low — is this a problem?

Active means Google has seen the tag fire recently — it does not confirm 100% firing rate or zero GCLID loss. Active with low numbers relative to your CRM means the tag is firing some of the time but not all. Work through Step 3 (GTM trigger check) and Step 4 (GCLID loss at checkout handoff).

I use a third-party booking system — how do I track Google Ads conversions?

Two options. First: check whether the booking platform has a native Google Ads conversion tracking integration or a URL parameter passthrough setting — most major platforms (Acuity, Cliniko, SimplyBook) have one. Second: offline conversion import — collect GCLIDs from ad clicks via a hidden field on your landing page, match them to bookings in your system, and upload to Google Ads. More technical but works for any platform regardless of native support.

If you’ve worked through all five steps and the gap is still there, we’ll audit your tracking setup and find exactly what’s missing.

Get a free tracking audit →


Running Meta Ads alongside Google Ads? For a parallel diagnosis of your Meta Pixel and CAPI setup, see the Meta Ads conversion tracking guide.

Bons & Frazer provides Google Ads management for Norfolk businesses with server-side tracking built in from day one.

Bons & Frazer is a performance marketing agency based in Norwich specialising in Google Ads, Meta Ads, and tracking infrastructure for service businesses and clinics. If you’ve worked through this guide and the gap is still there, we’ll audit your tracking setup and find what’s missing.