← All articles

Blog

No Conversions in Google Ads? A Step-by-Step Diagnostic Guide

no conversions google adsgoogle ads not tracking conversionsgoogle ads conversions zeroconversions not showing google ads

"I'm staring at Google Ads and conversions have been stuck at zero." This is the most common — and most stomach-churning — problem in ad operations. You think you set it up, but no numbers appear. And without knowing why, your bidding and budget allocation become pure guesswork.

Does any of this sound familiar?

  • You installed the tag, but conversions are still at zero
  • It was working yesterday, and tracking suddenly stopped
  • GA4 shows conversions but Google Ads doesn't (or vice versa)
  • The conversion action status sits at "No recent conversions" or "Unverified"

This guide organizes what to check, and in what order, when conversions aren't showing — into five diagnostic steps. Before you randomly start changing settings, work through them top to bottom.

First principle: there are only three kinds of "no conversions"

The biggest reason diagnosis goes wrong is treating "no conversions" as a single problem. In reality, the cause always falls into one of three categories. Simply knowing which one you're investigating makes the whole process dramatically easier.

Category What's happening Typical example
① Tag problem The measurement signal isn't being sent at all Tag missing on the target page / not firing
② Settings problem The signal arrives but isn't counted on the ad side Counting method, conversion window, key event not registered
③ Timing problem Nothing's actually broken — you're waiting for it to appear Just set up / waiting for the first conversion to report

The key point: ① and ② live in completely different places. Staring at the settings screen won't fix a tag that isn't firing (①), and vice versa. Diagnostic steps 1–5 below are ordered to knock out these three categories efficiently, top to bottom.

Diagnosis 1: Is the tag even on the target page?

The first thing to check is whether the measurement tag is present on the page where the conversion actually happens (the thank-you page, purchase-complete page, inquiry-complete page, etc.).

  • Even if you think it's on every page, it's a classic miss for the completion page to be a different template where the tag is absent
  • Confirming it on the homepage is meaningless if you haven't opened "the page at the exact moment the result occurs"

How to check: open the completion page directly, and in your browser's DevTools "Network" tab, watch for the Google Ads measurement request (googleadservices.com/pagead/conversion). If it doesn't fire, the tag is probably missing from that page.

Common pitfall: if "visitors reach the thank-you page but it isn't tracked," this Diagnosis 1 is almost always the cause. Check the exact page at the exact moment you want to measure.

Diagnosis 2: Read the conversion action "status"

In Google Ads, open "Goals → Conversions," find your conversion action, and check its status. It displays an important clue.

Status Meaning
Recording conversions Recently receiving conversions (healthy)
No recent conversions The tag exists, but nothing has arrived recently
Unverified No signal from the tag has ever been received
No action needed / Inactive That action isn't being measured

Stuck at "Unverified" … no signal has ever arrived. Go back to Diagnosis 1 (tag installation/firing). "No recent conversions" … it arrived in the past but recently stopped, or no results are actually occurring. Move on to Diagnosis 3 onward.

Common pitfall: if you leave "Unverified" alone and keep tweaking settings, it won't fix anything. That's a sign the problem is on the tag side — the right move is to shift your attention back to Diagnosis 1.

Diagnosis 3: Is it firing? (check in DevTools)

"The tag is installed" and "the tag is firing" are two different things. Confirm that a request is actually sent the moment the button is clicked or the page loads.

  1. Open the completion page (or the action that triggers the conversion) and open the "Network" tab in DevTools
  2. Filter for conversion or googleads
  3. See whether a request to …/pagead/conversion/… fires on that action
  4. Check the request contents — is the conversion ID (tid, label) what you intended?

What it tells you: which conversion was sent, with what value (the most precise view of ② firing).

Common pitfall: with an ad blocker or browser tracking protection on, the request itself gets blocked and looks like "it isn't firing." Verify in a clean state with those turned off.

Verify with Google Tag Assistant (a complement to DevTools)

DevTools is precise but manual. Google also offers Tag Assistant — a free Chrome extension that shows which Google tags are active on a page and flags problems automatically.

  1. Open Tag Assistant and click Add domain, entering your site URL
  2. Navigate to the conversion completion page
  3. Tag Assistant shows every Google tag on the page — look for your Google Ads conversion tag and check for warnings or errors
  4. To test the full flow, trigger a conversion while Tag Assistant is running; it records the tag firing sequence

Why this matters on top of DevTools: Tag Assistant checks tag configuration — not just whether a request is sent. It catches problems like a mismatched conversion ID, a missing Conversion Linker tag, or a tag that fires but sends the wrong label. If you use GTM, combine this with GTM Preview mode, which shows exactly when each tag fires and what data it sends.

For a broader checklist that combines Tag Assistant, DevTools, and real-time GA4 checks, see Conversion Tracking Verification Checklist. If the tag fires but the conversion still isn't recorded, see Why Your Conversion Tag Fires but Isn't Recorded.

Diagnosis 4: The counting-rule gotcha (it's recording, but looks "low/zero")

If it's firing and recording but the number doesn't match expectations, the conversion counting rules may be the cause. This is easy to overlook.

Counting method ("One" vs "Every")

If one user converts multiple times but the setting is "One," only one is counted. Inquiries are usually "One," purchases "Every" — but if intent and setting are misaligned, the numbers won't add up.

Conversion window

Results that occur after the click-to-conversion window has passed aren't counted. For long-consideration products, too short a window means results you should be capturing go uncounted.

Not registered as a key event / conversion

If you're importing from GA4, even when the event arrives, it won't appear in the ad-side conversion column unless it's registered as a "key event (conversion)."

Common pitfall: if "the GA4 event shows up but the ad conversion doesn't," this registration gap is the prime suspect.

Diagnosis 5: Is it being dropped by a blind spot (consent mode, internal-traffic exclusion)?

If you've found no problems so far yet numbers are missing or low, suspect a blind spot where measurement is being dropped.

  • Consent mode (cookie consent banner): when users haven't consented, measurement can be restricted or modeled. For details, see Why Consent Mode Makes Your Conversions Drop.
  • Internal-traffic exclusion: if your or your office's IP is excluded, your own tests won't be tracked (this is normal behavior). Check whether you're being excluded when testing.

Common pitfall: if "even when I go through the completion page myself, nothing is tracked," internal-traffic exclusion may be active. Don't conclude "zero = broken" from your own excluded test.

GTM-specific pitfalls: trigger rules, Conversion Linker, and cross-domain handoff

If you deploy tags through Google Tag Manager, a separate class of problems can cause zero conversions — even when the tag itself is correct.

Wrong trigger condition

A classic GTM mistake: the trigger is set to fire on a URL containing thank-you, but the actual completion page URL is /confirmation or /success. Open GTM Preview mode, walk through the conversion path, and confirm the tag fires on the right page.

Missing or misconfigured Conversion Linker

The Conversion Linker tag captures the GCLID (the click identifier Google Ads appends to your URL) and stores it in a first-party cookie. Without it, the conversion fires but Google Ads can't attribute it to a click, so the conversion column stays at zero. Make sure a Conversion Linker tag fires on all pages. For more, see Why GTM Isn't Tracking.

Cross-domain or redirect GCLID loss

If your conversion path crosses domains (e.g., your site hands off to a payment provider and then redirects to a thank-you page), the GCLID can get stripped during the redirect. The same happens with URL shorteners, vanity-URL redirects, or HTTP-to-HTTPS redirects that don't preserve query parameters. Configure cross-domain linking in the Conversion Linker tag or the Google tag settings. For a deeper dive, see Cross-Domain Tracking Broken and Understanding GCLID.

Enhanced Conversions: recovering data lost to browser restrictions

If Diagnoses 1 through 5 all check out but conversion volume is still lower than expected, the gap may come from browser-side data loss — ITP in Safari, tracking prevention in Firefox, or users clearing cookies before converting.

Enhanced conversions address this by sending hashed first-party customer data (email, phone, address) alongside the conversion tag. Google matches this data back to the signed-in user who clicked the ad, recovering conversions that cookie-based tracking would miss.

What to check:

  • In Google Ads, go to Goals > Conversions > Settings and confirm Enhanced Conversions is turned on
  • Verify that hashed customer data is actually being sent (use Tag Assistant or the Enhanced Conversions diagnostics report in Google Ads, available roughly 48 hours after setup)
  • If you use GTM, make sure the user-provided data variable is configured and maps to the right form fields on the conversion page

For setup verification steps, see Enhanced Conversions Verification.

It may look like "nothing," but you're just waiting for it to report

A surprisingly common case: panicking when nothing is actually broken. Google Ads conversions have a reporting delay from when they occur to when they appear in the dashboard (usually a few hours; the first one can take longer).

If you decide "it's zero, it's broken" right after setup or swapping a tag and start changing settings, you may break healthy wiring instead. First wait a few hours to the next day, and confirm whether it's still zero. To verify in real time, Diagnosis 3 (firing check in DevTools) is the tool.

Diagnostic quick-reference

A table that points you to the first place to suspect, based on the symptom.

Symptom Suspect first
Status stuck at "Unverified" Diagnosis 1 & 3 (installation / firing)
At the thank-you page but zero Diagnosis 1 (tag missing on completion page)
Shows in GA4 but not in ads Diagnosis 4 (key event not registered / counting rules)
Was working yesterday, suddenly stopped Diagnosis 1 & 5 (tag change / consent or exclusion change)
Nothing tracked when I test myself Diagnosis 5 (internal-traffic exclusion) / Diagnosis 3 (ad blocker)
Zero right after setup Check the reporting delay (timing) first
Using GTM and tag never fires Check GTM trigger conditions and Conversion Linker (GTM pitfalls)
Conversion path crosses domains or has redirects Check GCLID preservation and cross-domain linking (GTM pitfalls)
Numbers track but are lower than expected Enhanced Conversions / consent mode (Diagnosis 5 & Enhanced Conversions)

What diagnosing on your own machine can't tell you

Diagnostics 1–5 are all useful, but checking once on your own machine has two structural limits.

  1. Your environment isn't your visitors' environment. Login state, extensions, office-IP exclusion and the like mean it can look fine on your machine yet be missing under real visitor conditions.
  2. Conversions involving an ad click are hard to verify. To properly see "does it really track via an ad," you'd need to click a live ad to recreate the path — which carries the risk of an ad-policy violation as a self-click.

Judging "it fires on my action, so it's fine" tends to miss the problem of data going missing on the real path your visitors take.

Frequently asked questions

Q. I set up the tag but conversions stay at zero. A. In rough order of likelihood: ① the tag isn't on the completion page (Diagnosis 1), ② it isn't registered as a key event/conversion (Diagnosis 4), ③ reporting delay (timing), ④ measurement is stopped by consent mode or internal-traffic exclusion (Diagnosis 5). Work through this article from Diagnosis 1.

Q. GA4 shows conversions but Google Ads doesn't. A. The most common case is that the event imported from GA4 isn't registered as a "key event (conversion)" on the Google Ads side (Diagnosis 4). Differences in counting method or conversion window can also make the numbers disagree.

Q. What's the difference between "No recent conversions" and "Unverified"? A. "Unverified" means no signal has ever been received from the tag (a tag-side problem = Diagnosis 1 & 3). "No recent conversions" means it arrived in the past but not lately (no results, or recently stopped = Diagnosis 3 & 5). Where to look changes accordingly.

Q. Even when I go through the completion page myself, nothing is tracked. A. Either you're excluded by internal-traffic exclusion (normal behavior), or an ad blocker is blocking the request. Verify firing in DevTools in a clean environment with exclusions and blockers turned off.

Q. After setup, how long until numbers appear? A. There's a reporting delay — usually a few hours, and the first one can take longer. Don't conclude it's broken from a "zero" right after setup; wait until the next day before judging. For real-time confirmation, the firing check in DevTools is the tool.

Conclusion: isolate top-down, then verify on the real path

"No conversions" only has three kinds of cause: ① tag, ② settings, ③ timing. Isolating in order — Diagnosis 1 (installation) → 2 (status) → 3 (firing) → 4 (counting rules) → 5 (blind spots) — gets you to the cause without randomly changing settings.

But firing checks on your own machine have limits. Going further — confirming the data is actually recorded, on the real path your visitors take, in production — is what "it's tracking" truly means.

ConversionOK runs your live page in an independent, isolated browser and intercepts the conversion signals actually sent, isolating where the chain breaks between firing and recording. No need to click your own ad, and no interference from your office environment. Start with a free static check to confirm the entry point of your measurement.