---
title: Conversion Tracking and Enhanced Conversions — Paid Search Mastery Module 6 — RGM Training
url: https://realgrowthmatters.com/training/paid-search-mastery/conversion-tracking-and-enhanced-conversions/
updated: 2026-06-10
source_html: https://realgrowthmatters.com/training/paid-search-mastery/conversion-tracking-and-enhanced-conversions/
---

#### Modules · jump freely

1. [1Account architecture](../google-ads-account-architecture/)
2. [2Keyword strategy](../keyword-strategy-in-the-broad-match-era/)
3. [3Smart Bidding](../smart-bidding-strategies/)
4. [4Performance Max](../performance-max/)
5. [5Ad copy](../search-ad-copy-that-converts/)
6. [6Conversion tracking](../conversion-tracking-and-enhanced-conversions/)
7. [7Operating cadence](../search-operating-cadence/)

[✓This module’s test](#test)[★Final exam](../exam/)[↩Series overview](../)

# Conversion Tracking and Enhanced Conversions

Smart Bidding is only as good as the conversion signal it receives. Bad conversion tracking means: missed iOS conversions, junk events training the model, double-counting that inflates reported performance, attribution windows that don't match your sales cycle, and values that don't reflect business reality. Get conversion tracking right and every other lever works better. This module covers conversion action setup, Enhanced Conversions for Web (the iOS recovery layer), Enhanced Conversions for Leads (offline upload), GA4 vs Google Ads tag, server-side tracking via the API, attribution windows, value rules, and the validation workflow that catches problems before they cost six figures.

What you will learn16 sections▾

[01Why conversion tracking is the foundation](#s1)[02Conversion action setup](#s2)[03The Google Ads tag vs GTM vs GA4 import](#s3)[04Enhanced Conversions for Web](#s4)[05Enhanced Conversions for Leads](#s5)[06Server-side tracking via Google Ads API](#s6)[07Conversion goals: primary vs secondary, account vs campaign](#s7)[08Attribution models](#s8)[09Attribution windows: click-window vs view-window](#s9)[10Value rules](#s10)[11iOS 14.5+ recovery via Enhanced Conversions](#s11)[12Cross-device and cross-domain tracking](#s12)[13Offline conversion upload for B2B](#s13)[14Validation — how to know it's working](#s14)[15The 12 most common conversion tracking mistakes](#s15)[16Anti-patterns: what NOT to do](#s16)

## 1. Why conversion tracking is the foundation

Smart Bidding optimizes for whatever conversions it sees. Every other paid-search decision depends on conversion data being accurate, timely, and value-honest:

- **Bid strategy effectiveness** — tCPA and tROAS are mathematically derived from conversion data. Junk in, junk out.
- **Performance Max** — PMax is even more conversion-data-dependent than Search because the model has fewer manual levers.
- **Attribution decisions** — budget reallocation based on attribution requires the attribution data itself to be correct.
- **Reporting credibility** — if Google Ads reports 1000 conversions and your CRM shows 600, every stakeholder loses trust in the numbers.
- **Cross-platform comparison** — you can't compare Google Ads ROAS to Meta ROAS if the underlying conversion measurement is inconsistent.

Conversion tracking is invisible when it works and catastrophic when it doesn't. Audit it quarterly even when it looks fine.

The payoff for getting this right is measurable. These are public, sourced figures — treat them as ranges, not promises.

+5%

avg conversion uplift on Search from Enhanced Conversions

Source: Google

+17%

conversion uplift on YouTube from Enhanced Conversions

Source: Google

+8.6%

lift in search-ad sales for ASOS after Enhanced Conversions

Source: Google / ASOS

$0

extra media cost — this is recovered data, not new spend

RGM analysis

## 2. Conversion action setup

A conversion action defines what counts as a conversion in Google Ads. Each conversion action has settings that shape how Google measures and uses it.

### Conversion action fields

| Field | What it does |
| --- | --- |
| Category | Purchase, Lead, Sign-up, Page view, etc. Used for reporting and Smart Bidding signal weighting. |
| Conversion value | Same value every time / Different value (dynamic) / No value. Required for Target ROAS. |
| Count | Every conversion (e.g., every purchase counts) vs One conversion (e.g., one signup per user counts). |
| Click-through window | How long after a click can a conversion be attributed. 1-90 days. Default 30 days. |
| View-through window | How long after an ad view (Display/Video) can a conversion be attributed. Default 1 day. |
| Engaged-view window | For YouTube Skippable ads only. Default 3 days. |
| Include in "Conversions" | Yes/No. Determines whether Smart Bidding optimizes for this conversion. |
| Attribution model | Last click, data-driven, position-based, time decay, linear. Data-driven is default since 2021. |

### Counting: Every vs One

The most-overlooked setting. Choose based on business reality:

- **Every conversion (cumulative)**: Use for purchases, donations, transactions where each occurrence has business value. If a user makes 3 purchases from one ad click, all 3 count.
- **One conversion (deduplicated)**: Use for lead-gen, signups, account creation. The first conversion per user counts; additional ones don't.

**The Smart Bidding implication:** "One conversion" under-counts repeat purchases, which under-rewards customers with high LTV. For e-commerce, almost always use "Every conversion" with dynamic values.

## 3. The Google Ads tag vs GTM vs GA4 import

### Google Ads tag (gtag.js)

Direct conversion tag implementation. Add the snippet to your site (typically on conversion confirmation pages). Pros: simple, direct, lowest latency. Cons: hardcoded; updates require code changes.

### Google Tag Manager (GTM)

Tag-management platform that fires conversion tags based on rules you configure in a UI. Pros: changeable without code deploys; central place for all marketing tags. Cons: requires GTM setup; performance overhead if poorly managed.

### GA4 import to Google Ads

Import GA4 conversion events into Google Ads. Pros: single source of truth; consistent definitions across analytics and ads. Cons: GA4 has different attribution and event mechanics; data delay of several hours.

### Which to use

- For Smart Bidding, use Google Ads tag (direct) or GTM-fired Google Ads conversion tag. The data flows directly with minimum delay.
- For reporting and audience-building, use GA4 import alongside Google Ads tag.
- Avoid GA4-import-only for Smart Bidding — the delay and modeling differences hurt bidding.

**The hybrid pattern:** Most accounts use Google Ads tag (via GTM) for the conversions Smart Bidding optimizes toward, and GA4-imported conversions for additional measurement signals (engagement, micro-conversions). Best of both worlds.

## 4. Enhanced Conversions for Web

Enhanced Conversions for Web (EC for Web) is Google's answer to iOS 14.5 and ITP. The Google Ads tag captures first-party user data on the conversion page (email, phone, name, address), hashes it, and sends it alongside the conversion. Google matches that hashed data to logged-in Google users to attribute the conversion to the ad click.

### How it works mechanically

1. User clicks your ad. Google Ads attaches a gclid (Google Click ID) to the destination URL.
2. User browses your site; eventually converts (purchases, signs up).
3. Your conversion page contains the Google Ads conversion tag.
4. The tag reads first-party data from the page (form fields, dataLayer values).
5. The tag SHA-256 hashes the email/phone/name/address client-side.
6. The tag sends the conversion to Google with both the gclid and the hashed user data.
7. Google matches the hashed data to logged-in Google accounts. If the user is logged into Google, the conversion is attributed regardless of cookie state.

### Implementation methods

- **Google Ads UI (Manual setup)** — Tools > Conversions > Conversion Action > Enhanced Conversions. Provide CSS selectors or JS variables for the form fields.
- **GTM-based** — Use GTM's Enhanced Conversions tag with appropriate variables.
- **Hashed data via API** — Send pre-hashed data via API (most secure; recommended for enterprise).

### Recovery rate

Google reports Enhanced Conversions for Web recovers 3-8% additional conversions for most accounts; for accounts with significant iOS / Safari traffic, recovery can be 15-25%.

RGM Expert Trick

We wire Enhanced Conversions before we touch a single bid

Browsers and blockers quietly eat a chunk of your conversions. Enhanced Conversions hash first-party data and hand much of that lost signal back to the model.

We set it up first, because every bid decision after it is only as good as the conversions the model can actually see.

**WHY IT’S RARE ·** It’s plumbing nobody demos — and the cheapest performance lift in the account.

## 5. Enhanced Conversions for Leads

Enhanced Conversions for Leads (EC for Leads) is the offline upload version. Instead of tracking a conversion on a confirmation page, you:

1. Capture user email/phone at lead form submission.
2. Pass that to your CRM along with the gclid (stored in your database from the URL parameter).
3. When the lead converts to a customer in your CRM (e.g., closes a deal weeks later), you upload that conversion back to Google Ads via CSV or API.
4. Google matches the upload using the email/phone hash.

EC for Leads is essential for B2B and long-cycle sales businesses. Without it, Smart Bidding optimizes toward form submissions (cheap but often low-quality), not closed deals.

## 6. Server-side tracking via Google Ads API

For maximum control and accuracy, use the Google Ads API to upload conversions server-to-server. This is the most reliable conversion path for:

- B2B sales cycles (multi-week or multi-month).
- Subscription businesses (subscription start, renewal, expansion).
- Hybrid online-offline funnels (lead online, close in person).
- Brands with strict data governance / privacy controls.

### API endpoints

- `UploadClickConversions` — for conversions tied to a gclid (or wbraid/gbraid for app).
- `UploadCallConversions` — for phone call conversions.
- `UploadConversionAdjustments` — for adjusting conversion values after the fact (refunds, contract upgrades).

## 7. Conversion goals: primary vs secondary, account vs campaign

In 2023 Google introduced "Conversion Goals" — a new layer above individual conversion actions:

- **Account default goals** — conversion actions every campaign optimizes toward unless overridden.
- **Campaign-specific goals** — override account default for a specific campaign.
- **Primary actions** — the conversions Smart Bidding optimizes toward.
- **Secondary actions** — measured but don't influence bidding.

### Architecture patterns

- **E-commerce, single-conversion type**: Account default = Purchase as primary; all campaigns inherit.
- **E-commerce + lead gen mixed account**: Different campaigns use different conversion goals (Shopping campaigns optimize Purchase; lead-gen campaigns optimize Lead).
- **Multi-step funnel**: Purchase as primary, Add-to-Cart as secondary. Smart Bidding optimizes for Purchase; you measure ATC for funnel diagnostic purposes.

> All data in aggregate is crap.
>
> — [Avinash Kaushik](/glossary/avinash-kaushik/), *Occam’s Razor* — why you must segment, not average, your conversions

RGM Expert Trick

We let exactly one action be primary, or the model chases junk

Mark newsletter signups, PDF downloads, and sales all as primary and Smart Bidding optimizes to whichever is cheapest — usually the one that earns nothing.

We make the revenue action primary and demote every micro-conversion to secondary/observe, so the model bids toward the outcome that pays, not the one that’s easy.

**WHY IT’S RARE ·** Half the ‘bad bidding’ we’re called in to fix is just a goals misconfiguration.

## 8. Attribution models

Google Ads uses Data-Driven Attribution (DDA) as the default since 2021 when sufficient data exists. Other models available:

- **Last click** — 100% credit to the final click. Simple but underweights upper-funnel.
- **First click** — 100% credit to the first click. Conservative for upper-funnel; deprecated as default.
- **Linear** — equal credit to all clicks. Smooth but uninformative.
- **Time decay** — more credit to recent clicks (exponential decay).
- **Position-based** — 40% first click, 40% last click, 20% middle clicks.
- **Data-driven (DDA)** — machine-learned credit assignment based on observed conversion patterns. Default since 2021.

### What matters in 2026

Most accounts should use Data-Driven Attribution. It uses Google's ML to apportion credit based on actual contribution patterns. The legacy models are increasingly deprecated.

## 9. Attribution windows: click-window vs view-window

Attribution windows define how long after an interaction a conversion can be credited.

| Type | Default | Adjustable range | What it credits |
| --- | --- | --- | --- |
| Click-through | 30 days | 1-90 days | Conversions following an ad click |
| View-through | 1 day | 1-30 days | Conversions following an ad impression (no click) |
| Engaged-view | 3 days | 1-30 days | YouTube skippable ads watched 10+ seconds |

### Setting the right window

- **E-commerce: 7-30 day click window.** Most purchases happen within 30 days of consideration.
- **B2B / SaaS: 60-90 day click window.** Sales cycles are longer; under-attributing harms upper-funnel campaigns.
- **App install: typically 30 days.**
- **View-through: keep short (1 day).** Longer view-through credits ads that the user might not have noticed.

## 10. Value rules

Value rules let Google adjust the conversion value used for bidding without changing actual conversion data. Use to shape Smart Bidding toward high-value customers.

### Common value rules

- **Audience-based**: First-party customer list = +20% value (existing customers are more valuable to re-acquire than expected).
- **Location-based**: Premium markets +30%, low-AOV markets -50%.
- **Device-based**: Mobile +20% if mobile customers have higher repeat-purchase rate.

Value rules apply at auction time. Reported conversion values don't change — just the values used for bidding decisions.

## 11. iOS 14.5+ recovery via Enhanced Conversions

The conversion-tracking iOS challenge: when Safari blocks the gclid cookie, Google can't directly attribute the conversion to the ad click. Enhanced Conversions for Web bypasses this by hashing first-party user data and matching to logged-in Google accounts.

The math: with EC for Web implemented well, accounts recover 80-95% of iOS conversion attribution that pure-pixel implementation loses. Without EC, 30-50% iOS attribution is permanently lost.

## 12. Cross-device and cross-domain tracking

### Cross-device

Google Ads attributes conversions across devices when the user is logged into a Google account. The user clicks an ad on mobile, converts on desktop — if both sessions are logged-in Google, the conversion is attributed cross-device.

### Cross-domain

If your conversion happens on a different domain than where the ad clicked (e.g., click on example.com, convert on checkout.example.com or affiliate.example.com), configure cross-domain tracking in GTM or gtag.

[**1st**mover on  
offline importCapital One: feeding card-issuance data back into Google Ads, years before it was standardThe closed-loop principle from this module, pioneered at scale: Capital One bid to *approved customers*, not clicks, by importing real outcomes back to the auction. Why offline conversion data is the unfair advantage.→](/learn/case-studies/capital-one-paid-search-pioneer)

## 13. Offline conversion upload for B2B

B2B sales cycles span weeks to months. The conversion isn't the lead form — it's the closed deal. Offline conversion upload bridges this:

1. **Capture gclid at lead form.** Pass the gclid from the URL (Google appends it on click) into your CRM lead record.
2. **Track the lead through sales.** When it converts (or doesn't), record the outcome and value in CRM.
3. **Upload conversions.** Daily / weekly upload from CRM to Google Ads via CSV, API, or Google Ads Salesforce/HubSpot connector.
4. **Smart Bidding learns.** Google Ads attributes the upload to the original gclid; Smart Bidding optimizes toward queries and audiences that produced closed deals, not just form submissions.

Build your own measurement plan with the wizard below — pick your model, CRM and automation path and it lays out every step, including the offline-conversion bridge tailored to your stack.

## 13b. A pragmatic setup order — and the stack to do it with

Measurement breaks when people install pieces in the wrong order — values before the tag, offline import before a stored GCLID. Build it bottom-up.

Deploy the Google tag site-wide

Use a **GTM** web container so every tag lives in one governed place. Confirm it fires on every page with **Tag Assistant**.

Define conversion actions & assign values

Primary vs secondary; a real value on each. A lead is worth `close-rate × deal value`.

Turn on Enhanced Conversions

Send hashed first-party data from the form/checkout. Verify in the diagnostics report.

Wire Consent Mode v2

So Google can model the conversions it is no longer allowed to observe directly.

Capture & store the GCLID

Hidden field on the form → CRM record. No stored GCLID, no offline import.

Automate offline conversion import

On *Closed-Won*, send GCLID + value + time back via your CRM’s native integration or Zapier. Use the [setup wizard](/tools/conversion-tracking-setup-wizard/) for your exact stack.

Move to server-side once it pays for itself

A server-side GTM container or the Google Ads API recovers the data browsers now block — the cleanest signal for value-based bidding.

### Recommended tools & tech

Tag management

Google Tag Manager

Web + server containers; one governed home for every tag.

Analytics

GA4

Event model + conversion import into Google Ads.

Validation

Tag Assistant

Confirm tags fire and Enhanced Conversions matches.

Offline automation

Zapier / native CRM

HubSpot, Salesforce, Zoho push closed-deal conversions back.

Server-side hosting

sGTM (Cloud Run / Stape)

Run a server container to recover blocked conversions.

Consent

A CMP with Consent Mode v2

Cookiebot, OneTrust, etc. — required for modelling.

RGM Expert Trick

We import offline closed-won, so bidding chases revenue not leads

Optimize to form-fills and Smart Bidding will buy you a flood of cheap, unqualified leads. It has no idea which ones the sales team actually closed.

We feed CRM outcomes back as offline conversions with real values, and the model starts bidding up the sources that produce customers, not just contacts.

**WHY IT’S RARE ·** The gap between ‘leads’ and ‘revenue’ is where most lead-gen budgets leak.

## 14. Validation — how to know it's working

### Validation steps for new conversion actions

1. Use Google Tag Assistant (browser extension) to verify the tag fires on the conversion page.
2. Use the Conversion Action status indicator in Google Ads UI (No conversions, Receiving, Inactive, etc.).
3. Test end-to-end: complete a real conversion and verify it appears in Google Ads within 24 hours.
4. Compare Google Ads conversion count to CRM / database count weekly during the first month.

### Enhanced Conversions diagnostic

Google Ads UI shows EC implementation status: Recording, Inactive, Setup needed, or Issues detected. Click through to see specific errors (wrong CSS selector, missing data, hashing failure).

### Ongoing health monitoring

- Monthly: reconcile Google Ads conversions vs CRM. Variance over 10% needs investigation.
- Quarterly: full conversion-action audit. Pause unused actions; verify all active actions are firing correctly.
- Whenever site changes: re-test conversion tracking on any page where the conversion lives.

## 15. The 12 most common conversion tracking mistakes

1. **No Enhanced Conversions implemented.** Losing 3-25% of conversion attribution. Fix: implement EC for Web as priority 1.
2. **Double-counting from duplicate tags.** Old gtag and GTM both firing. Symptom: Google Ads conversions higher than actual orders. Fix: audit GTM and remove duplicate tags.
3. **Wrong "Count" setting.** E-commerce using "One conversion" (under-counts repeats). Fix: use "Every conversion" for purchases.
4. **Attribution window too short for sales cycle.** 7-day click window on 60-day SaaS sales. Fix: extend to match actual sales cycle.
5. **All conversions in "Conversions."** Add-to-cart and signup both counted as primary. Smart Bidding optimizes for whichever is cheapest. Fix: only the primary action (Purchase, closed Lead) in main "Conversions." Use Secondary for diagnostics.
6. **No value tracking for e-commerce.** Flat conversion value (or no value). Target ROAS can't work. Fix: pass dynamic transaction value.
7. **GA4 import as only conversion source for Smart Bidding.** Slower data, different attribution. Fix: Google Ads tag as primary; GA4 import as supplemental.
8. **No gclid capture for B2B.** Form submissions tracked but not tied to original click. Fix: capture gclid in hidden form field; pass to CRM.
9. **Offline conversion upload not implemented.** Smart Bidding optimizes for form fills not deals. Fix: build offline conversion upload from CRM.
10. **Test conversions in production.** Internal test purchases counted as real. Fix: filter internal IPs; use test mode for QA.
11. **No conversion-quality monitoring.** Spam form submissions counted as leads. Smart Bidding optimizes for spam. Fix: dedicate "Qualified Lead" conversion that filters spam; use this for primary.
12. **Stale conversion actions.** Old promotional event actions never removed. Symptom: dilution of conversion signal. Fix: quarterly audit; archive unused.

## 16. Anti-patterns: what NOT to do

- **Do not delete a conversion action mid-campaign.** Pause it instead; deletion loses historical data and disrupts Smart Bidding.
- **Do not stack 10+ conversion actions in "Conversions."** Smart Bidding can't optimize for everything. Pick the 1-3 that map to business outcomes.
- **Do not implement EC for Web without testing the diagnostic.** Wrong CSS selector means EC is silent failure.
- **Do not change attribution model frequently.** Each change reshuffles credit; reporting becomes confusing.
- **Do not rely on view-through for Smart Bidding training.** View-through conversions are easily gameable / inflated; click-through is signal.
- **Do not skip the offline conversion upload because it's "complex."** For B2B, this is the difference between Smart Bidding working and failing.

## Quick reference: the “good conversion tracking” checklist

- ✓ Google Ads conversion tag fires on all conversion pages
- ✓ Enhanced Conversions for Web implemented; diagnostic shows "Recording"
- ✓ Conversion values dynamic (pass actual transaction value)
- ✓ Count setting matches business reality (Every for purchases, One for signups)
- ✓ Click-through window matches sales cycle
- ✓ View-through window short (1 day)
- ✓ Primary conversion action(s) clearly mapped to business outcomes
- ✓ Secondary actions used for diagnostic/funnel measurement
- ✓ Data-Driven Attribution (DDA) as model (default since 2021)
- ✓ Conversion goals configured at account and campaign level
- ✓ Offline conversion upload for B2B (deal closed → upload to Google Ads)
- ✓ gclid captured in CRM lead records
- ✓ Internal IP filter applied; test conversions excluded
- ✓ Value rules used where audience/geo/device value differs
- ✓ Monthly Google Ads vs CRM reconciliation in calendar
- ✓ Quarterly conversion-action audit

**Sources and further reading:**  
  
**Google official documentation:**  
[Google Ads Help — About conversion tracking](https://support.google.com/google-ads/answer/1722022)  
[Google Ads Help — Enhanced Conversions for Web](https://support.google.com/google-ads/answer/9888656)  
[Google Ads Help — Enhanced Conversions for Leads](https://support.google.com/google-ads/answer/13262500)  
[Google Ads Help — Attribution models](https://support.google.com/google-ads/answer/7686896)  
[Google Ads Help — Attribution windows](https://support.google.com/google-ads/answer/2375431)  
[Google Ads Help — Conversion value rules](https://support.google.com/google-ads/answer/9888606)  
[Google Ads Help — Conversion Goals](https://support.google.com/google-ads/answer/9888510)  
[Google Ads API — UploadClickConversions](https://developers.google.com/google-ads/api/docs/conversions/upload-clicks)  
  
**Third-party expert sources:**  
[Simo Ahava](https://www.simoahava.com/) — GTM and conversion tracking authority  
[Measurement Marketing](https://www.measurementmarketing.io/)  
[Search Engine Land — Conversion Tracking](https://searchengineland.com/library/channel/conversion-tracking)  
[PPC Hero — Conversion Tracking](https://www.ppchero.com/category/conversion-tracking/)  
[Optmyzr — Enhanced Conversions](https://www.optmyzr.com/blog/category/enhanced-conversions/)  
[SEJ — Google Ads Conversion Tracking](https://www.searchenginejournal.com/google-ads/conversion-tracking/)  
  
**RGM glossary entries used:**  
[Conversion Tracking](/glossary/conversion-tracking/) · [Enhanced Conversions](/glossary/enhanced-conversions/) · [gclid](/glossary/gclid/) · [Data-Driven Attribution](/glossary/data-driven-attribution/) · [Attribution Window](/glossary/attribution-window/) · [Offline Conversion](/glossary/offline-conversion/) · [Value Rules](/glossary/value-rules/)  
  
**Series:** [All modules in Paid Search Mastery](/training/paid-search-mastery/).  
**Previous module:** [Module 5 — Search Ad Copy That Converts](/training/paid-search-mastery/search-ad-copy-that-converts/)  
**Next module:** [Module 7 — Search Operating Cadence](/training/paid-search-mastery/search-operating-cadence/)

CASE-method test

## Prove it. Earn your passcode.

Pass at 90% to unlock the completion passcode for this module. You can retake it as many times as you like.
