← All articles

Blog

The Complete Guide to Google Ads Conversion Tracking

google ads conversion trackingconversion trackingconversion tagsgoogle ads conversions

"I know how much I'm spending on Google Ads. But whether it's actually producing results — for that, I have to trust the conversion numbers." Nearly every decision in ad operations rests on those numbers: bidding, budget allocation, which campaigns to scale. All of it assumes conversions are measured correctly. The flip side: if even one place is broken, every decision built on top quietly drifts off course.

This guide is a "table of contents" for Google Ads conversion tracking, organized big picture → setup → verification → troubleshooting. It summarizes each topic and points you to a detailed article where a deeper dive is needed. Whether you're setting up for the first time or already running but unsure about your numbers, use this as the map to the place you need.

1. The big picture of conversion tracking

For both setup and troubleshooting, the first thing to grasp is how measurement actually works as a chain. Conversion tracking only functions when these five stages connect into a single, unbroken line. If any one stage breaks, no numbers appear.

Stage What happens Common trap
① Installed The tag loads on the page Missing on the completion page (separate template)
② Fires The conversion signal is sent Installed, but doesn't fire on a specific action
③ Recorded Google Ads accepts and counts it Consent/exclusion/unregistered drops it
④ Contents Value, currency, no duplicates are correct Value not passed, double-sending
⑤ Real path Holds up under real visitor conditions Fires on your machine but missing in production

This guide roughly follows that order. Just being aware of which stage you're talking about makes both setup and troubleshooting far easier.

2. Setup basics

Creating a conversion action

Under "Goals → Conversions" in Google Ads, define what counts as a result (purchase, inquiry, sign-up, etc.). The count setting ("One" vs. "Every") and the conversion window you choose here directly shape how your numbers look later. Inquiries are usually "One," purchases usually "Every."

Primary vs. secondary conversions

Google Ads lets you mark each conversion action as primary or secondary. Primary conversions feed the "Conversions" column and directly drive Smart Bidding; secondary conversions appear only in "All conversions" and do not influence bidding. Best practice is to keep 1 to 3 primary conversions per account, each tied to a high-value outcome (purchase, qualified lead, booked call). Marking too many actions as primary sends conflicting signals to the algorithm and dilutes optimization. Use secondary conversions to track supporting actions (page views, add-to-cart) for analysis without polluting your bidding data.

Installing the tag: global tag + event snippet, or GTM

Measurement needs two pieces: a base tag (the Google tag) loaded on every page, and an event snippet that fires the moment a result occurs. You can hardcode them or deploy via Google Tag Manager (GTM). The rule is to standardize on one method — putting them in both causes the duplicate tracking discussed below.

Server-side tagging (sGTM)

Server-side Google Tag Manager moves tag execution from the visitor's browser to a server you control. The browser sends data to your sGTM endpoint, which then forwards it to Google. Benefits include resilience to ad blockers and ITP, reduced page-load impact, and greater control over what data leaves the browser. For accounts with significant spend or strict privacy requirements (especially EEA/UK under Consent Mode v2), server-side tagging is the recommended approach in 2026. For verification specifics, see Server-side GTM verification.

Importing from GA4

A common approach is to import conversions you measure in GA4 into Google Ads. You register them as key events in GA4 and import them as conversions in Google Ads. For the GA4 side itself, see the sister hub, the Complete Guide to GA4 Conversion Tracking.

Offline conversion tracking

Not every conversion happens on the website. Phone calls, in-store visits, and CRM-qualified leads can be imported back into Google Ads so Smart Bidding optimizes for real business outcomes, not just form submissions. The recommended path in 2026 is Enhanced Conversions for Leads: capture the gclid or hashed user data at the lead stage, then upload the downstream outcome (e.g., "closed-won") via Google Ads Data Manager or the API. This feeds the algorithm higher-quality signals without building a legacy GCLID-only pipeline. For the setup walkthrough, see Offline conversion import.

Enhanced conversions

Enhanced conversions improve measurement accuracy by sending captured data (e.g., email) securely (hashed). It's easy to assume it's set up when the hashed values aren't actually being sent, so see how to confirm it in Verifying enhanced conversions.

3. Confirming it actually works

Once setup is done, always confirm with your own eyes that the signal is actually firing. A green settings screen doesn't mean it fires in the field.

  • Watch the tag fire: On the completion page, open the "Network" tab in DevTools and confirm a request to googleadservices.com/pagead/conversion/…. The steps are in Verify your Google Ads conversion tag.
  • Check the thank-you page directly: Open the very page where the result occurs, directly. A missing tag on the completion page is a classic oversight, covered in Thank-you page tracking gaps.

4. Common problems

From here, the problems that come up most often in the field, organized by topic. Each item is a summary — go to the linked article for the deep dive.

No conversions

Either the tag isn't installed/firing (install, fire), or count rules / unregistered events are the issue (settings), or it's still in reporting lag (timing) — the causes fall into three broad types. Which one you suspect completely changes where you look. For the isolation steps, see No conversions? Causes and a diagnostic procedure.

It fires but isn't recorded

The request flies in DevTools, yet no number appears in the dashboard — firing (sent) and recording (accepted and counted) are different stages. Consent state, exclusions, or an unregistered key event can be the cause. See It fires but isn't recorded.

Google Ads and GA4 counts don't match

Even for the same conversion, Google Ads and GA4 count differently (attribution, conversion window, deduplication), so the numbers basically won't match. How to tell whether a gap is "normal" or "a problem" is in Google Ads vs. GA4 count mismatch.

Duplicate tracking

One result gets counted twice or more. Typical causes: hardcoded gtag plus GTM together, duplicate tag installation, or multiple fires in an SPA. How to find and fix it is in Causes and fixes for duplicate tracking.

Click ID (gclid) and attribution

The gclid (click ID) is what links an ad click to a result. If it isn't carried through, you may record the conversion but lose "which ad it came from." The mechanism and how it breaks are in Click ID (gclid) and attribution.

Consent mode reduces conversions

Users who "deny" on a cookie consent banner may have measurement restricted or modeled. If counts dropped after introducing a banner, suspect this first. See Why consent mode reduces conversions.

The risk of clicking your own ad to test

Clicking your own ad to confirm "does it really track via the ad" carries ad policy violation risk and incurs charges. Why to avoid it, and how to confirm instead, is in The self-click policy risk.

5. Pre-launch checklist (essentials)

Before launch or go-live, at minimum knock out these. The comprehensive version is the Conversion Tracking Verification Checklist.

  • Tag is on every target page, including the completion page
  • …/pagead/conversion/… fires on the target action (confirmed with blockers off)
  • Fires exactly once per action (no duplicates)
  • Conversion action status shows "Recording conversions"
  • Count setting and conversion window match your intent
  • GA4 imports are registered as key events
  • Checked all three consent states (Allow / Deny / undecided)
  • Confirmed internal-traffic exclusion isn't hiding you

Frequently asked questions

Q. I set it up, but conversions stay at 0. A. In order of likelihood: ① a missing tag on the completion page, ② not registered as a key event / conversion, ③ reporting lag, ④ consent mode or internal-traffic exclusion. Work through the diagnostic guide from step 1.

Q. It shows in GA4 but not in Google Ads. A. Most often, the event imported from GA4 isn't registered as a conversion on the Google Ads side. Also review how to read a count mismatch.

Q. How long until numbers appear after setup? A. There's reporting lag — usually a few hours, and longer for the first one. Don't judge a fresh "0" as broken; to check in real time, use the DevTools firing check.

Q. It doesn't track when I test it myself. Is it broken? A. Most likely you're excluded by internal-traffic exclusion (normal behavior), or an ad blocker is blocking the request. Confirm in a clean environment with exclusions and blockers off.

Conclusion: beyond setup, confirm it's recorded in production too

Google Ads conversion tracking works as a single chain: install → fire → record → contents → real path. Set it up correctly, confirm firing, and isolate problems by topic, and you'll cover nearly everything you can confirm on your own machine.

But what remains at the end is the real path your visitors take. Your environment is shaped by login state, extensions, and internal-IP exclusion; it can look fine on your machine yet be missing under real visitor conditions. And clicking your own ad to check carries policy risk.

ConversionOK runs your live page in an independent, isolated browser and intercepts the conversion signals actually sent, then verifies them — with 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.