How to Set Up Conversion Tracking Correctly — the five steps that keep Smart Bidding's data honest
Five ordered steps to stand up conversion tracking that Smart Bidding can trust and an audit won't have to flag: choose the sources, place the tag correctly, dedupe against GA4, verify before believing the numbers, then layer in values and privacy signals. Do them out of order and you inherit the exact failure this wiki treats as priority-one in How to Audit an Existing Google Ads Account (Priority Order) — the sequence that stops you from trusting broken data — bidding on bad data.
Step 1: Choose conversion sources and set primary vs secondary
Google Ads' official conversion tracking methods are web (Google tag/gtag.js), app, phone calls, and offline conversions — support.google.com/google-ads/answer/1722054. GA4 imported goals are not one of these four methods; they're a separate way of bringing GA4 key events in as conversion actions, layered on top of whichever underlying method produced the GA4 event. You can set up multiple conversion actions at once (e.g. purchases and newsletter signups tracked separately) — same source.
Primary vs secondary matters for bidding, not just reporting. Primary conversion actions feed Smart Bidding optimization. Secondary actions are tracked but excluded from bid-strategy optimization — support.google.com/google-ads/answer/13735417. A conversion action built from a GA4 key event is automatically set to secondary the moment your account already has goals from a linked Analytics property, specifically to stop the same real-world event being counted twice for bidding purposes — same source.
Decision rule
if a website purchase is already tracked by a native Google tag conversion action, leave the GA4-imported version of that same event as secondary. Only promote one source per action to primary.
Step 2: Install the tag on the trigger event, not on every page load
The Google tag and the event snippet are two different pieces of code that work together — "the Google tag works in unison with another piece of code, an event snippet or a phone snippet, to track your conversions" — support.google.com/google-ads/answer/7548399.
- Google tag: goes in the <head> section of every page of the site.
- Event snippet (the actual conversion tracking code): goes only on the conversion page itself — the page that loads after the conversion happens (confirmation/thank-you page) — not on every page load. It can be placed anywhere after the main tag.
Do not install the Google tag a second time if it is already on the site from the same account — duplicate installs are explicitly warned against — support.google.com/google-ads/answer/7548399. After installing or changing the tag, allow up to 48 hours for the conversion status to update in Google Ads before assuming it's broken — same source.
Step 3: Dedupe against GA4 imports with exact-matching transaction IDs
If the same conversion is tracked by both a native Google tag action and a GA4 import, configure the GA4 import as secondary (per Step 1) to avoid double-counting — support.google.com/google-ads/answer/13735417.
For purchase-type conversions specifically, use a transaction ID to protect against duplicate fires (e.g. a page reload re-firing the tag for the same order): "if there are 2 conversions for the same conversion action with the same transaction ID, Google Ads will know the second conversion is a duplicate" — support.google.com/google-ads/answer/6386790.
Exact-match requirements — this is where dedup silently breaks
- The transaction ID from any secondary data source must exactly match the transaction_id captured by your primary conversion tag.
- Discrepancies such as different prefixes, suffixes, or extra spaces prevent the match and cause undercounting (Google Ads treats them as separate, unmatched conversions), not overcounting.
- Transaction IDs must be dynamically generated by the website's backend or e-commerce platform for each purchase — never hardcoded, never reused across orders.
- Reusing the same transaction ID for multiple orders causes "significant undercounting of conversions" — support.google.com/google-ads/answer/6386790.
Step 4: Verify with Tag Assistant and the enhanced conversions diagnostics report before trusting the numbers
Tag Assistant integrates directly with Google Ads and walks through verifying conversion actions on the live site. It checks: Google tag implementation across all pages, Google Tag Manager setup, tag coverage across pages, and whether conversion actions actually fire when triggered — support.google.com/google-ads/answer/10989978. After Tag Assistant verification completes, verified conversions take roughly 30 minutes to update in the account — same source.
If enhanced conversions are in use (Step 5), the enhanced conversions for web tag diagnostics report helps self-diagnose implementation problems. It grades setup into four levels — Excellent, Good, Needs Attention, No Recent Data — and shows a coverage rate (share of eligible events with sufficient user data) plus match rates — support.google.com/google-ads/answer/11956168.
Sequencing rule
run Step 4 before acting on any conversion-count-based decision (budget change, bid-strategy switch). A count that hasn't been verified is not yet a fact.
Values
set a fixed value per conversion, or configure conversion value rules that adjust value by geography, device, or audience, so bidding optimizes for business impact rather than raw conversion count — support.google.com/google-ads/answer/13064207 and support.google.com/google-ads/answer/7197048. Value changes apply only to conversions that happen after the change and typically take effect within a few hours — support.google.com/google-ads/answer/7197048.
Conversion windows
the defaults are a 30-day click-through window and a 1-day view-through window. Click-through windows can be set from 1 to 90 days depending on the conversion source; view-through from 1 to 30 days (or 1-4 weeks). Google recommends windows of at least 7 days because they "provide a richer set of conversion data" — support.google.com/google-ads/answer/3123169. A window set too short truncates real conversions that happen after the click.
Enhanced conversions (recommended layer): supplements the standard conversion by sending SHA256-hashed first-party customer data (email, name, address, phone) to Google in a privacy-safe manner — support.google.com/google-ads/answer/9888656. For web, at least one of the following is required: email (preferred), full address (first name, last name, postal code, country), or phone number paired with email or full address — support.google.com/google-ads/answer/13258081. Impact results become visible in the conversion action table roughly 30 days after successful implementation — same source.
Consent mode (required context for EU/EEA traffic): communicates the user's cookie/app-identifier consent status to Google and dynamically adjusts how tags behave based on the consent banner's outcome — support.google.com/google-ads/answer/10000067. In advanced consent mode, when consent is denied the tag still sends "cookieless pings," which Google uses to model conversions rather than measure them directly — same source. Where implemented, the ads cookie itself becomes subject to the ad_storage consent status and respects a user's denial — support.google.com/google-ads/answer/10548233.
What does NOT work
- Installing the Google tag twice from the same account on the theory that "more tag can't hurt" — explicitly warned against and a plausible source of overcounting.
- Hardcoded or reused transaction IDs (e.g. always sending "order" or reusing an order number after a refund/reorder) — this doesn't get caught as a duplicate the way a true reload does; it causes silent, significant undercounting because Google Ads folds distinct purchases into one.
- Mismatched transaction ID formatting between the tag and a secondary source (a stray prefix, suffix, or trailing space) — looks like nothing is wrong, but dedup logic never matches, so conversions quietly undercount rather than erroring visibly.
- Trusting raw conversion counts before Step 4. A tag that fires on every page load (skipped Step 2) or a GA4 import left primary alongside a native tag action (skipped Step 1/3) both inflate the number Smart Bidding optimizes against — see Conversion Tracking Fundamentals — the layer every audit and every bid strategy depends on for why this is "garbage in, garbage out" for the bid algorithm.
Why this matters for the objective
this procedure is what How to Audit an Existing Google Ads Account (Priority Order) — the sequence that stops you from trusting broken data assumes was followed when it makes conversion-tracking verification its mandatory first audit step — every other finding (wasted spend, competitive pressure, policy status) is only as trustworthy as the conversion counts it's compared against. It is also the data layer Bidding Strategies: Manual, Smart Bidding, and When Each Applies — matching the strategy to the conversion data you actually have depends on: Target CPA/ROAS optimizes toward whatever these five steps hand it, correct or not.
Related
- Conversion Tracking Fundamentals — the layer every audit and every bid strategy depends on — the underlying definitions (sources, primary/secondary, enhanced conversions, consent mode) this page turns into an ordered procedure; read it first if a step here is unclear. - How to Audit an Existing Google Ads Account (Priority Order) — the sequence that stops you from trusting broken data — treats Step 4 of this page (verification) as the non-negotiable first move of any account audit. - Bidding Strategies: Manual, Smart Bidding, and When Each Applies — matching the strategy to the conversion data you actually have — the reason Steps 1 and 3 (primary/secondary, dedup) matter beyond reporting: Smart Bidding only sees primary conversion actions at auction time.
Verified against
62 claims checked against these sources · 2 refuted and removed
- support.google.com/google-ads/answer/1722054
- support.google.com/google-ads/answer/13735417
- support.google.com/google-ads/answer/7548399
- support.google.com/google-ads/answer/6386790
- support.google.com/google-ads/answer/10989978
- support.google.com/google-ads/answer/11956168
- support.google.com/google-ads/answer/13064207
- support.google.com/google-ads/answer/7197048
- support.google.com/google-ads/answer/9888656
- support.google.com/google-ads/answer/13258081
- support.google.com/google-ads/answer/10000067
- support.google.com/google-ads/answer/10548233
- support.google.com/google-ads/answer/3123169
What links here
Source: Sinapsi — verified compositional memory, queryable by LLMs. Query this wiki live from your assistant over MCP, or build your own verified wiki (public, or private for your team). CC BY 4.0 — reuse with attribution to Sinapsi.