Google Ads conversion tracking: setup and the 7 ways it silently breaks

Set up Google Ads conversion tracking so the numbers stay trustworthy: the counting, value, and attribution decisions that matter more than the tag, both install paths (gtag and GTM), where to find your conversion ID and label, and the seven ways tracking silently breaks, each with a detection step.

Kay Vink
Kay Vink

Your conversion tag fired green on install day. Three months later the numbers are strange and nothing threw an error, because every way Google Ads conversion tracking breaks is silent. Setup is the easy half: pair a conversion action with a tag or import that reports when the conversion happens. The half that keeps the numbers trustworthy is two things: counting settings that match the business event (one per lead, every purchase), and firing you've verified end-to-end.

Google's own conversion measurement doc walks the buttons. What no setup wizard tells you is which defaults quietly mis-spend money, and what a correctly-installed tag looks like after a site deploy, a consent banner, and a GA4 import have each taken a bite. So this guide is the setup plus the seven silent failure modes: the part you'll wish you'd read before the numbers went strange.

#Before you install anything: three decisions that outrank the tag

Counting: "one" for leads, "every" for purchases. Decide, don't default. A lead that submits the form twice is one lead; an order placed twice is two orders. The counting setting on the conversion action encodes that, and the wrong choice inflates or starves your numbers forever after. Set it when you create the action, and write down why.

Values: without them, everything is worth the same. A conversion action with no value tells Smart Bidding a $15 order equals a $1,500 one. Static values are acceptable for single-offer lead gen; everything else wants dynamic, transaction-specific values. The full argument, including when to hold off on value-based strategies, is Value-based bidding needs values you can trust.

Attribution: data-driven is the default, and click-date reporting is the gotcha. Data-driven attribution splits credit across interactions; that's fine. The part that surprises people is that Google Ads books every conversion against the click date, not the conversion date. Remember this when the reports look wrong later (failure mode 5).

And one non-negotiable: turn auto-tagging on (Account settings → Auto-tagging). It appends the GCLID to every click, the key that ties imports, enhanced conversions, and diagnostics back to the click. Manual UTMs label your traffic; they don't replace the GCLID (Click IDs: what gclid, fbclid, and wbraid do).

#Setup path 1: the Google tag (gtag.js)

Direct gtag is the right path when you don't run a tag manager and want the fewest moving parts.

  1. Goals → Conversions → New conversion action → Website. Define the action, counting, value, and windows.
  2. Install the Google tag sitewide (the AW-XXXXXXXXX snippet in the <head> of every page) if it isn't already there.
  3. Add the event snippet on the conversion, either on the confirmation page or on the button/form-submit event, carrying send_to: 'AW-XXXXXXXXX/label' plus value, currency, and transaction_id for purchases. The transaction_id is your dedup seatbelt: it stops a refreshed thank-you page counting twice.

#Setup path 2: Google Tag Manager (plus the tag people forget)

GTM is the right path when tags change more often than deploys ship. Two tags, not one:

  1. A Google Ads Conversion Tracking tag with your conversion ID and label, fired by a purchase/lead trigger, reading value and transaction ID from the data layer.
  2. A Conversion Linker tag, fired on all pages. It stores the GCLID in a first-party cookie so conversions still connect to clicks now that third-party storage is gone. Skipping it is failure mode 2 below, and it's the single most common omission in GTM setups we see.

Test both in GTM preview before publishing: one fire, right trigger, real values. The same GTM pattern covers the "google ads conversion tracking gtm" variants; you don't need a different method per ad format.

#Where to find your conversion ID and label

Goals → Conversions → select the action → Tag setup → Use Google Tag Manager (or "Install the tag yourself"). The conversion ID is the numeric AW- account-level ID; the label is the per-action string after the slash in send_to: 'AW-123456789/AbC-dEfGhIjK'. ID identifies the account, label identifies the action. GTM asks for them as two fields; gtag concatenates them. If an agency built the account, both live in the same place; you never need to ask anyone for them.

#Conversion values: static, dynamic, and why value beats count

Counting conversions treats your best customer and your worst refund as equals; values are how the account learns the difference. Static value: set it on the action, fine for one-price offers. Dynamic value: pass value and currency per transaction from your cart or data layer. For lead gen, the end-game is importing real deal values from the CRM, which Offline conversion tracking: send CRM deals back to Google Ads walks through, and letting Smart Bidding is a signals problem: what the algorithm actually runs on optimize toward revenue instead of form fills.

#The 7 ways it silently breaks

None of these throw an error. Each block: what happens, then the detection step.

  1. Duplicate tags. A gtag snippet from 2023 plus this year's GTM container both fire the same conversion. Detection: run the conversion with Tag Assistant open and count fires. The answer must be one. A transaction_id limits the damage; removing the old tag removes the cause.
  2. Missing Conversion Linker. GTM conversions record but stop matching clicks; totals sag and campaigns lose credit. Detection: Linker tag present, firing on all pages, and _gcl_aw cookie set after an ad click.
  3. Consent gaps. A consent banner update blocks the tag for a region, and that region's conversions quietly become modeled or vanish. Detection: conversions split by geography. A one-country cliff after a banner deploy is consent, not performance. Fix path: Consent Mode v2 without losing your signal.
  4. GA4-import double counting. The GA4 key event is imported and the native Ads tag tracks the same purchase, both as primary. Detection: Goals → Conversions → Summary, grouped by source. The same business event listed twice means one must become secondary. The seam is covered in GA4 conversion tracking: setting up key events, the triage in Why your GA4 and Google Ads conversions don't match.
  5. Date attribution confusion. Nothing is broken, since Ads books conversions to the click date, but every date-bounded comparison against GA4 or your backend "proves" a discrepancy, and yesterday always looks bad. Detection: widen the range and compare undated totals before touching anything.
  6. Cart-value mismatch. The value variable hardcodes to a constant, drops discounts, or reads the wrong currency. tROAS then optimizes toward fiction. Detection: pull ten conversions and reconcile values against the order system. A suspicious wall of identical values is the tell.
  7. Tag on the wrong page. The trigger matches order-status revisits, preview URLs, or a lookalike route, counting non-conversions. Detection: conversion count vs backend count per day; investigate any day the tag out-reports reality.

These seven are the patterns Buron's health checks watch for across connected Google Ads accounts, every one of them detectable with the checks above before it costs you a quarter of misread reports.

#Verify it's actually working

Setup isn't done until it survives verification: tag fires once, values match, the action shows "Recording conversions", and the GCLID survives to wherever your CRM needs it. The full pre-launch pass, and the discipline of re-running it on every site change, is The conversion tracking QA checklist: test it like you'd test code.

Then keep it verified, because none of these failure modes announce themselves and each one comes back with the next deploy. Every failure mode above is really a check that could run on a schedule, and that's the shift worth making: conversion tracking isn't a setup task you finish, it's a system you monitor. Buron runs those checks continuously against your account, so a blocked tag or a doubled conversion action lands as a finding in your inbox the week it happens, not in a quarterly audit after Smart Bidding spent a month learning from bad data.

Frequently asked questions

How do I track conversions in Google Ads?

Create a conversion action in Google Ads (Goals → Conversions), choose the counting and value settings, then install the Google tag with an event snippet on your conversion page, either directly (gtag.js) or through Google Tag Manager with a Conversion Linker tag. Enable auto-tagging, then verify the action shows 'Recording conversions'.

Can I run Google Ads without conversion tracking?

You can, but every automated system in the account goes blind: Smart Bidding has nothing to optimize toward, so it optimizes clicks, and you can't tell profitable campaigns from expensive ones. If you spend real money, conversion tracking isn't optional instrumentation; it's the signal the whole account runs on.

How many types of conversion tracking are there in Google Ads?

Four sources: website conversions (tag-based, gtag or GTM), imports (offline conversions from a CRM, or GA4 key events), phone-call conversions (forwarding numbers or call snippets), and app conversions (Firebase). Most accounts run website tags plus one import source, which is exactly where double counting sneaks in.

Related