Google Ads without conversion tracking is not advertising. It is donating money to Google and guessing what worked. Every bid Smart Bidding sets in every auction is based on the conversion signal you provide. Get that signal wrong and the algorithm spends weeks optimising toward the wrong goal with total confidence. The campaign looks like it is working. Conversions are recording. CPA looks clean. But your CRM shows a fraction of the leads Google Ads claims to have generated.
This guide covers how to set up Google Ads conversion tracking completely from scratch, including all three setup methods (GTM, Global Site Tag, and GA4 Import), step-by-step with exact navigation paths. It also covers Enhanced Conversions, dynamic ecommerce values, the full verification process, and the seven silent mistakes that inflate your conversion data without any warning in the dashboard.
Why Conversion Tracking Is the Brain of Your Google Ads Account
In 2026, Google Ads is almost entirely automated. Target CPA, Target ROAS, Maximise Conversions, and Maximise Conversion Value collectively control bid decisions in the vast majority of active campaigns. Each of these Smart Bidding strategies shares one critical dependency: they need conversion data to function. Without it, the algorithm is guessing. With inaccurate data, the algorithm optimises confidently toward the wrong outcome.
Google's Smart Bidding processes over 70 billion auction-time signals daily - device, location, time of day, query context, audience membership, browsing history, and hundreds of other real-time factors. But the direction it applies all that intelligence toward is determined entirely by what you have told it a conversion is. If you told it a page view counts, it will find page viewers. If you have a duplicate tag doubling every real lead, it believes acquisition is twice as easy as it is and bids aggressively based on economics that do not exist. The consequences compound week over week until a CRM reconciliation reveals the scale of the problem.
If you already have conversion tracking in place, check your CRM or backend order count against Google Ads reported conversions for the same 30-day period before making any changes. A ratio above 1.2:1 means something is already over-counting. A ratio below 0.8:1 means you are missing conversions. Either problem needs diagnosing before you layer additional tracking on top. The Google Ads account audit guide covers the full tracking verification process.
Before You Start: Four Decisions That Determine Everything Else
Before creating a single tag or touching Google Ads settings, you need to make four decisions upfront. These decisions shape every configuration choice that follows. Getting them right at the start prevents the most expensive tracking mistakes.
Decision 1: What Is Your Conversion Event?
Your conversion event is the specific action a user takes that represents a genuine business outcome. For lead generation businesses this is typically a form submission confirmed by a thank-you page load, a phone call of qualifying duration (minimum 30 to 60 seconds), or a booking confirmation. For ecommerce it is a completed purchase with a transaction ID and order value. For SaaS it is a free trial signup or demo request.
The conversion event must be an action that only a genuine prospect or customer completes. It cannot be a page view, a button click before submission is confirmed, a scroll depth event, or a session duration target. If your current primary conversion is any of those, the Smart Bidding algorithm is optimising for engagement rather than business outcomes.
✅ Valid Primary Conversion Events
- Thank-you page load after confirmed form submission
- Purchase confirmation page with transaction ID
- Phone call exceeding 30 to 60 seconds minimum duration
- Booking or appointment confirmation event
- Free trial or demo request confirmed by system
- Subscription confirmation or checkout complete
❌ Invalid as Primary Conversions
- Any page view (homepage, contact page, service page)
- Button clicks before form completion is confirmed
- Scroll depth (25%, 50%, 75%, 90%)
- Session duration or engaged session events
- Add to Cart (use Purchase instead for ecommerce)
- Video views, outbound link clicks, downloads
Decision 2: Primary or Secondary?
Every conversion action in Google Ads is either Primary or Secondary. Primary conversions are what Smart Bidding uses to set bids - they directly control what the algorithm optimises toward in every auction. Secondary conversions are tracked for reporting only and have zero influence on bidding. You can have multiple conversion actions, but only your genuine business-outcome events should be Primary. Everything else must be Secondary.
Decision 3: Conversion Count - One or Every?
For lead generation: always set conversion count to One. This records one conversion per click, regardless of how many times the thank-you page loads. Without this, a user who refreshes their confirmation page counts as multiple conversions. For ecommerce: set to Every. Each completed purchase is a genuine separate revenue event and should be counted individually.
Decision 4: What Conversion Window Matches Your Sales Cycle?
The conversion window determines how many days after an ad click a conversion can still be attributed to that click. The default is 30 days. For most ecommerce and fast-decision lead gen, 30 days is appropriate. For B2B services, high-ticket real estate, legal services, or enterprise SaaS where the decision cycle extends well beyond a month, set the window to 60 or 90 days. A window that is too short under-reports conversions from your ads and causes Smart Bidding to undervalue the queries that drive longer-cycle buyers.
For accounts with sufficient conversion volume, Data-Driven Attribution (DDA) is Google's recommended model and outperforms all rule-based alternatives. DDA assigns fractional credit to each touchpoint based on actual conversion path data from your account. Last-click attribution systematically over-credits bottom-funnel and retargeting campaigns while under-crediting prospecting campaigns that initiate the buyer journey. Switch to DDA in your conversion action settings as soon as your account has 300 or more conversions in the last 30 days.
Method 1: How to Set Up Google Ads Conversion Tracking via GTM (Recommended)
Google Tag Manager is the recommended method for setting up Google Ads conversion tracking for virtually every business. It keeps all your tracking tags in one managed interface without touching website code, makes testing through Preview mode dramatically easier, supports dynamic value passing for ecommerce, and enables Enhanced Conversions without additional developer involvement. This is the method used by the vast majority of professional Google Ads managers in 2026.
Part A: Create the Conversion Action in Google Ads
This is where you tell Google what event to track and how to weight it. Every subsequent tag configuration flows from the settings you make here.
-
Open Conversions in Google Ads
Log into your Google Ads account. In the left navigation, click Goals, then Conversions, then Summary.
Goals›Conversions›SummaryClick the blue plus button labelled New Conversion Action. On the next screen, select Website as the conversion source.
-
Enter Your Website Domain and Scan
Type your website URL in the field and click Scan. Google will scan your site and suggest common conversion actions it detects. You can use a suggestion or create a custom one. For most businesses, click Create a conversion action manually to ensure you configure each setting correctly rather than accepting Google's defaults.
-
Configure the Conversion Action Settings
Fill in each field carefully. These settings directly control how Smart Bidding treats this conversion.
Goal and action optimisation: Select the goal category that best matches your conversion. Choose from Purchase, Add to cart, Begin checkout, Subscribe, Contact, Submit lead form, Get directions, Outbound click, Page view, or Other. This is not just labelling - Google uses the category to model conversion value and weight in Smart Bidding.
Conversion name: Be specific. "Contact Form Submission" is better than "Lead". "Purchase - Shopify" is better than "Conversion". You may have multiple conversion actions over time and vague names create confusion.
Value: For lead generation with a known average lead value, enter a fixed value. For ecommerce with variable order amounts, select Use different values for each conversion - you will pass the actual value dynamically through the data layer (covered in Section 06). If you genuinely do not know the value, entering "0" is better than an arbitrary number that will misdirect Target ROAS bidding.
Count: Select One for lead generation. Select Every for ecommerce purchases.
Click-through conversion window: Set to 30 days for most businesses. 60 or 90 days for B2B and high-ticket with longer decision cycles.
Engaged-view conversion window: Leave at default (3 days) unless you have a specific reason to change it.
Attribution model: Select Data-Driven if available. If not available (account lacks sufficient history), use Last click temporarily and switch to Data-Driven once the account has 300+ monthly conversions.
Tip: If you are setting up multiple conversion actions (e.g. one for form submissions and one for phone calls), create them as separate conversion actions rather than combining them. This gives you cleaner reporting and more precise Smart Bidding signals per campaign. -
Copy the Conversion ID and Conversion Label
After saving the conversion action, Google displays a tag setup page. Click Use Google Tag Manager. You will see two values: the Conversion ID (format: AW-XXXXXXXXXX) and the Conversion Label (a unique string specific to this conversion action). Copy both values and keep them accessible - you will paste them into GTM in the next steps.
Important: The Conversion ID is shared across all conversion actions in your account. The Conversion Label is unique to each individual conversion action. Both are required in GTM.
Part B: Install GTM on Your Website
If GTM is already installed on your site, skip to Part C. If not, complete this section first.
-
Create a GTM Account and Container
Go to tagmanager.google.com. Click Create Account. Enter your account name (your company name) and your website URL. Select Web as the target platform. Click Create and accept the terms of service. GTM will generate a Container ID in the format GTM-XXXXXXX.
-
Install the GTM Snippets on Every Page
GTM provides two code snippets that must appear on every page of your site. The first is a script tag that goes inside the <head> section, as high as possible. The second is a noscript tag that goes immediately after the opening <body> tag. For WordPress sites, use the GTM4WP plugin (Insert Headers and Footers also works) to add these snippets without editing theme files. For Shopify, paste the snippets directly into theme.liquid. For custom sites, ask your developer to add them to the page template.
<!-- GTM head snippet - paste in <head> --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-XXXXXXX');</script> <!-- GTM body snippet - paste after <body> opening tag --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXXXXX" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>Replace GTM-XXXXXXX with your actual Container ID. Verify GTM is loading correctly by clicking Preview in your GTM workspace and opening your website in the debug session. The GTM debug panel should appear at the bottom of the browser window.
Part C: Set Up the Conversion Linker Tag
The Conversion Linker is a mandatory tag that must be installed before any Google Ads conversion tracking will work correctly. It reads the Google Click ID (GCLID) from ad click URLs, stores it in a first-party cookie on your domain, and uses it to connect the eventual conversion back to the correct ad click - even if the user navigates across multiple pages before converting.
-
Create the Conversion Linker Tag in GTM
In your GTM workspace, click Tags in the left navigation, then New. Click inside the Tag Configuration area and search for Conversion Linker in the tag type list. Select it. No additional configuration is required - the tag reads GCLID parameters automatically.
-
Set the Trigger to All Pages
Click inside the Triggering area. Select All Pages (Page View). This is the one Google Ads tag that correctly fires on every page - it needs to catch the GCLID from the landing URL on the user's very first page load. Name the tag "Conversion Linker" and save.
The Conversion Linker fires on All Pages. Your actual conversion tracking tags must never fire on All Pages. This is the most important trigger distinction in Google Ads tracking.
Part D: Create the Google Ads Conversion Tracking Tag
-
Create a New Tag in GTM
In GTM, click Tags then New. Click Tag Configuration and search for Google Ads Conversion Tracking. Select it. You will see fields for Conversion ID, Conversion Label, Conversion Value, Currency Code, Order ID, and Conversion Cookie Prefix.
-
Enter the Conversion ID and Label
Paste the Conversion ID from Step 4 of Part A into the Conversion ID field. Paste the Conversion Label into the Conversion Label field. Double-check both values against the Google Ads conversion action page - a single character mismatch means the tag fires but no conversion is recorded in Google Ads.
Google Ads›Goals›Conversions›Your Conversion Action›Tag Details -
Set the Conversion Value
For lead generation with a fixed value: enter the value directly in the Conversion Value field and enter your account currency in the Currency Code field. For ecommerce with variable order amounts: leave the Conversion Value field empty for now - you will connect it to a data layer variable in Section 06. For accounts with no known lead value: enter 0 rather than leaving it blank, as blank values can cause tag validation errors in some GTM versions.
-
Set the Trigger
Click inside the Triggering area. This is the most critical configuration step. You must create a trigger that fires only when a genuine conversion occurs - not on every page load.
For lead gen with a thank-you page URL: Create a new trigger. Select Page View as trigger type. Select Some Page Views. Set the condition to: Page URL contains /thank-you (replace with your actual confirmation page URL fragment). Make absolutely certain this URL is only reachable after a successful form submission and cannot be accessed directly.
For lead gen with AJAX form submission (no page URL change): Create a Custom Event trigger. Enter the event name that your form fires on successful submission (check with your developer or look at the dataLayer in GTM debug). Set the trigger to fire when this specific event is pushed to the data layer.
For ecommerce purchase: Create a Custom Event trigger. Enter purchase as the event name. This will fire when your ecommerce platform pushes the purchase event to the data layer on the order confirmation page.
To find what events your site fires: use GTM Preview mode, navigate through a test purchase or form submission, and observe which events appear in the debug panel. The event names shown in the debug panel are exactly what you enter in your Custom Event trigger. -
Name the Tag and Save
Give the tag a specific name: "Google Ads - Contact Form Conversion" or "Google Ads - Purchase Conversion". Avoid generic names like "Conversion Tag" - when you have multiple conversion actions later, ambiguous names create confusion during audits. Click Save.
-
Enable Auto-Tagging in Google Ads
Before testing, confirm auto-tagging is enabled in your Google Ads account. Without it, conversions record but cannot be attributed to specific campaigns, ad groups, or keywords.
Google Ads›Tools & Settings›Account Settings›Auto-tagging›Yes (auto-tag) -
Test with GTM Preview Mode Before Publishing
Click Preview in the top-right of your GTM workspace. Enter your website URL and start the debug session. Navigate through your site and complete a full test conversion - go through the actual form or purchase flow, not just direct URL navigation to the thank-you page. In the GTM debug panel, verify: the Conversion Linker appears in the tags list for every page, your Google Ads conversion tag appears only on the confirmation page, and the tag shows as Fired (green) not Paused or Not Fired. If the conversion tag appears on any page other than the confirmation page, your trigger conditions are incorrect and must be fixed before publishing.
-
Publish the GTM Container
Once testing confirms the tags fire correctly, click Submit in the top-right of your GTM workspace. Add a version name like "Google Ads Conversion Tracking - [Date]" so you can identify and revert this change if needed. Click Publish. Your tags are now live on the website.
Your conversion action in Google Ads will show "Unverified" status until Google confirms it has received a valid conversion event. This happens within 24 to 48 hours after a real conversion fires (not a preview test - a live conversion from an actual ad click or a direct tag test using Tag Assistant on the live site). Once Google confirms, the status changes to "Recording Conversions" and conversions will appear in your campaign reporting within the next few hours.
Method 2: How to Set Up Conversion Tracking via the Global Site Tag
The Global Site Tag method involves adding Google's tracking code directly into your website's HTML. It is simpler to explain but harder to manage, test, and update than GTM. Use this method only if GTM is not installed and installing it is not currently possible - for example, a very simple landing page or a site where GTM cannot be added. For anything more complex, use Method 1 instead.
-
Create the Conversion Action in Google Ads (Same as Method 1, Steps 1-3)
Follow Part A of Method 1 to create the conversion action with the correct category, value, count, window, and attribution model. This process is identical regardless of implementation method.
-
Get the Global Site Tag and Event Snippet
After saving the conversion action, on the tag setup screen, select Use Google Tag instead of Use Google Tag Manager. Google will provide two code snippets: the Global Site Tag (gtag.js) that goes on every page, and the Event Snippet that goes only on the conversion page.
Goals›Conversions›Your Conversion›Tag Setup›Use Google Tag -
Install the Global Site Tag on Every Page
The Global Site Tag must be placed inside the <head> section of every page on your website. If you already have a Google tag on your site for GA4 or Google Ads, you may be able to add the conversion ID to the existing tag rather than adding a second tag - Google's documentation provides instructions for this in the tag setup screen.
<!-- Global Site Tag - paste in <head> of every page --> <script async src="https://www.googletagmanager.com/gtag/js?id=AW-XXXXXXXXXX"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'AW-XXXXXXXXXX'); </script>Replace AW-XXXXXXXXXX with your actual Conversion ID. This tag loads the Google tag library and configures it for your account. It must be present on every page - not just the conversion page. -
Install the Event Snippet Only on the Conversion Page
The Event Snippet is the code that fires the actual conversion event. It must be placed on your confirmation or thank-you page only - inside the <head> or immediately after the Global Site Tag. Do not place it on every page. Do not place it anywhere other than the page that loads after a successful form submission or purchase.
<!-- Event Snippet - paste ONLY on the thank-you/confirmation page --> <script> gtag('event', 'conversion', { 'send_to': 'AW-XXXXXXXXXX/YYYYYYYYYYYY', 'value': 1.0, 'currency': 'USD' }); </script>Replace AW-XXXXXXXXXX/YYYYYYYYYYYY with your Conversion ID and Conversion Label. Replace the value and currency with your actual conversion value and currency code. For ecommerce with dynamic values, you will need to populate the value field from your platform's order data - which requires developer work and is one reason GTM is generally easier for ecommerce.
-
Verify With Tag Assistant
Install the Google Tag Assistant Chrome extension from the Chrome Web Store. Navigate to your website, click the Tag Assistant icon, and click Enable. Then navigate through a test conversion. Tag Assistant shows which tags are present on each page, whether they fired correctly, and flags any issues it detects. Check that the Global Site Tag appears on every page and the Event Snippet appears only on the confirmation page.
If you have an existing hardcoded Global Site Tag event snippet and are now setting up GTM, remove the hardcoded snippet before activating the GTM tag. Having both active means every real conversion fires twice. Google Ads reports double the actual conversions, Smart Bidding believes CPA is half what it really is, and the algorithm bids aggressively based on economics that do not exist. This is one of the most common and most costly tracking mistakes found in account audits.
Method 3: How to Set Up Conversion Tracking via GA4 Import
If your Google Analytics 4 property is already correctly configured and tracking the right conversion events, importing those GA4 key events into Google Ads is a valid alternative to separate tag setup. This method creates a single source of truth across both platforms and reduces the number of tags you need to manage. It requires that your GA4 setup is already accurate - importing from a misconfigured GA4 property just transfers the inaccuracy into Google Ads.
-
Verify Your GA4 Events Are Tracking Correctly
Before importing anything, confirm the events you plan to import are firing correctly in GA4. In GA4, go to Reports, then Realtime, and complete a test conversion on your site. If the correct event (purchase, generate_lead, or your custom event) appears in the Realtime report within a few seconds of completing the conversion, the event is firing correctly. If it does not appear, fix the GA4 tracking first before attempting to import into Google Ads.
GA4›Reports›Realtime›Verify event fires on test conversion -
Mark the Correct Events as Key Events in GA4
In GA4, go to Admin, then Events. You will see a list of all events your site is sending. Find the event you want to import into Google Ads - typically purchase, generate_lead, or a custom form submission event. Toggle the Mark as key event switch to on. Only toggle events that represent genuine business outcomes. Do not mark page_view, scroll, session_start, or engagement events as key events.
GA4 Admin›Events›Find your event›Toggle: Mark as key event -
Link GA4 to Google Ads
In GA4, go to Admin, then Product Links, then Google Ads Links. Click Link. Select your Google Ads account from the list - it will appear if both accounts use the same Google login or if you have the correct permissions. Enable Personalised Advertising and enable Auto-Tagging to ensure attribution works correctly. Click Confirm and save the link.
GA4 Admin›Product Links›Google Ads Links›Link›Select account -
Import the Key Events into Google Ads
In Google Ads, go to Goals, then Conversions, then click the blue plus button. Select Import. On the next screen, select Google Analytics 4 properties. Select your GA4 property from the list. You will see all events you have marked as key events in GA4. Tick the boxes next to the events you want to import into Google Ads. Click Import and Continue.
Google Ads›Goals›Conversions›+ New›Import›GA4 Properties -
Set Primary and Secondary Status on Imported Conversions
After importing, go to your Conversions list and check the Primary/Secondary status of each imported action. Set your genuine business-outcome events as Primary. If GA4 imported any engagement events (scroll, click, etc.) alongside your conversion events, change those to Secondary immediately. Also check whether you now have both a direct GTM tag and an imported GA4 conversion for the same event - if so, you must set one to Secondary or remove it to prevent double counting.
If you set up a Google Ads conversion tag in GTM for your form submission AND also import the same form submission from GA4, both will record as conversions in Google Ads. Every real lead gets counted twice. Google Ads CPA appears at half the actual value. Smart Bidding bids aggressively based on fictional economics. Choose one method per conversion event - GTM tag or GA4 import - never both. After importing, audit your full conversion action list and remove or set to Secondary any duplicate actions.
Passing Dynamic Conversion Values for Ecommerce (Data Layer Setup)
For ecommerce, passing the actual transaction value to Google Ads is not optional if you plan to use Target ROAS bidding. A static value of $1 per purchase tells Google nothing about the difference between a $20 order and a $500 order. Target ROAS needs real revenue data to prioritise bids toward users who are likely to generate higher order values. The mechanism for passing this data is the data layer.
Step 1: Add the Purchase Data Layer Push to Your Confirmation Page
Your ecommerce platform or developer needs to push a purchase event to the data layer on the order confirmation page. This must fire before any GTM tags process the page - typically by placing the code at the top of the <head> section or within a platform-specific order complete hook.
// Purchase data layer push - add to order confirmation page BEFORE GTM loads
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'purchase',
'transaction_id': 'ORD-12345', // unique order ID - prevents duplicate conversions
'value': 149.99, // order total AFTER discounts, BEFORE shipping
'currency': 'USD', // ISO 4217 currency code
'items': [{ // optional but recommended for Shopping campaigns
'item_id': 'SKU-001',
'item_name': 'Product Name',
'price': 149.99,
'quantity': 1
}]
});Step 2: Create Data Layer Variables in GTM
In GTM, go to Variables, then New. Select Data Layer Variable as the variable type. Create one variable for each field you need:
- Variable: DLV - Transaction ValueData Layer Variable Name: value. Version: Version 2. This reads the value field from the data layer push above.
- Variable: DLV - CurrencyData Layer Variable Name: currency. This reads the currency field.
- Variable: DLV - Transaction IDData Layer Variable Name: transaction_id. Critical for deduplication - without this, order confirmation page refreshes create duplicate conversions.
Step 3: Connect Variables to Your Conversion Tag
Open your Google Ads Conversion Tracking tag in GTM. In the Conversion Value field, click the variable icon (the lego block) and select your DLV - Transaction Value variable. In the Order ID field, select your DLV - Transaction ID variable. In the Currency Code field, either enter your currency directly or use your DLV - Currency variable. Save the tag.
When Google Ads receives a conversion with a transaction_id it has already seen, it deduplicates the event and does not count it again. This means a customer who refreshes their order confirmation page, revisits their order history, or opens the confirmation email link does not generate additional conversions. Always pass a unique transaction ID per order. Without it, a typical ecommerce site sees a 15 to 30 percent inflation in reported conversion count from page refreshes and revisits alone.
How to Set Up Enhanced Conversions in Google Ads
Enhanced Conversions address the growing problem of conversion signal loss caused by browser privacy restrictions, cookie blocking, and cross-device journeys. Traditional Google Ads conversion tracking relies on a GCLID cookie stored when the user clicks the ad. If the user is on Safari (7-day cookie limit), Firefox (total cookie protection), or uses an ad blocker, that cookie may expire or never be set before the conversion occurs.
Enhanced Conversions solve this by sending hashed (SHA-256 encrypted) first-party customer data - email address and phone number - alongside the standard conversion event. Google uses this to match the conversion to a signed-in Google account across devices and browsers, recovering attributable conversions that cookie-based tracking misses. In 2026, Enhanced Conversions are not optional for serious accounts - they are a required layer of any accurate tracking setup.
-
Enable Enhanced Conversions in Google Ads
In Google Ads, go to Goals, then Conversions, then Settings. Scroll to Enhanced Conversions. Click Turn on Enhanced Conversions. Select the GTM implementation method if you are using GTM (recommended). Accept the terms. This enables the feature at account level - you will configure the data source in the next steps.
Goals›Conversions›Settings›Enhanced Conversions›Turn on -
Add Customer Data to Your Data Layer Push
Enhanced Conversions need the customer's email address and optionally their phone number to be available at the time the conversion fires. The cleanest approach is adding these fields to your existing data layer push on the confirmation page. GTM hashes the data automatically before sending to Google - raw personal data is never transmitted.
window.dataLayer.push({ 'event': 'purchase', 'transaction_id': 'ORD-12345', 'value': 149.99, 'currency': 'USD', 'email': 'customer@email.com', // GTM hashes to SHA-256 automatically 'phone_number': '+971501234567' // include country code in E.164 format });Phone number format matters for match rate. Always include the country code in E.164 format: +971 for UAE, +44 for UK, +1 for USA/Canada. Without the country code, the hash will not match Google's records and that phone number will contribute nothing to your match rate. -
Create Data Layer Variables for Customer Data in GTM
Create two new Data Layer Variables in GTM: one for email (Data Layer Variable Name: email) and one for phone_number (Data Layer Variable Name: phone_number). These follow the exact same process as the transaction value variables created in Section 06.
-
Configure Enhanced Conversions in Your Google Ads Conversion Tag
Open your Google Ads Conversion Tracking tag in GTM. You will see an Enhanced Conversions section. Enable it. Select User-Provided Data. Select Create variable. Choose Data Layer as the source. Map the email field to your DLV - Email variable and the phone field to your DLV - Phone Number variable. Save the tag and republish the GTM container.
-
Check Your Enhanced Conversions Match Rate
After 7 to 14 days of live traffic, check your match rate in Google Ads. Go to Goals, then Conversions, select your conversion action, then Diagnostics. The match rate shows what percentage of conversions Google was able to match to a signed-in Google account using the hashed customer data you provided.
Goals›Conversions›Select conversion action›Diagnostics tabA match rate above 40% is the minimum for the signal to be used reliably. Above 60% is good. If below 40%, check: email field is being pushed in correct format, phone numbers include country codes, data layer push fires before the GTM tags process the page, and the correct data layer variable names are mapped in your Enhanced Conversions configuration.
How to Verify Your Google Ads Conversion Tracking Is Working Correctly
Setup without verification is incomplete. Conversion tracking can appear to be working while producing inaccurate data that corrupts Smart Bidding over weeks of undetected errors. A thorough verification process takes 30 minutes and catches problems that would otherwise compound into months of misdirected optimisation.
- GTM Preview: Confirm correct trigger scope Open GTM Preview, complete a full test conversion on your site, and verify in the debug panel: the Conversion Linker appears in the Tags Fired list for every page, the Google Ads Conversion Tracking tag appears only on the confirmation page (not on any other page), and the tag shows as Fired (not Not Fired or Paused). If the conversion tag appears on any page other than the confirmation page, fix the trigger before publishing
- Tag Assistant: Verify on the live site end-to-end Install Google Tag Assistant from the Chrome Web Store. Visit your live site (not preview mode). Navigate through the actual conversion path as a user would - fill in the form or complete a purchase and submit. Tag Assistant will show all tags that fired across the session. Confirm the Conversion ID and Label match your Google Ads conversion action, and that the event fired on the correct page only
- Google Ads status: "Recording Conversions" within 24-48 hours In Google Ads, go to Goals then Conversions. Your conversion action shows "Unverified" initially. After your live test conversion fires (from a real Tag Assistant test on the live site, not GTM Preview), Google typically confirms the tag is working and updates the status to "Recording Conversions" within 24 to 48 hours. If it remains "No recent conversions" after 48 hours, either the tag is not firing on the live site or the Conversion ID and Label do not match the values in Google Ads
- CRM reconciliation: verify the ratio monthly Export Google Ads reported conversions for any complete 30-day period. Compare against actual leads or orders in your CRM or ecommerce backend for the same period. The ratio should be close to 1:1. Above 1.2:1 means over-counting - investigate for duplicate tags, wrong triggers, or engagement events as Primary. Below 0.8:1 means under-counting - conversions are happening that your tracking is not recording, causing Smart Bidding to under-bid on converting queries
- Enhanced Conversions: check match rate after 14 days In Goals then Conversions, select your conversion action and open the Diagnostics tab. Confirm Enhanced Conversions is active and the match rate is above 40%. Below 40% means the hashed customer data is not matching enough Google accounts - check email format, phone number country code format, and that the data layer push fires before GTM processes the page
GTM Preview: conversion tag fires once on confirmation page only. Conversion Linker fires on All Pages. Auto-tagging enabled in Google Ads Account Settings. Tag Assistant: correct Conversion ID and Label on live site. Google Ads status changes to "Recording Conversions" within 48 hours. Primary conversion actions are all genuine business-outcome events only. No duplicate actions (GTM + GA4 import) tracking the same event. CRM vs Ads ratio within 1.2:1 for the same 30-day period. Enhanced Conversions enabled with match rate above 40 percent. Attribution model set to Data-Driven where volume allows. Conversion window set to match actual sales cycle length. Internal IP addresses excluded from triggering ads in Campaign Settings.
The 7 Conversion Tracking Mistakes That Silently Corrupt Your Data
These seven mistakes account for the vast majority of tracking problems found in Google Ads account audits. None of them trigger error messages. None of them are visible in the Google Ads dashboard without deliberate investigation. Each one silently corrupts the conversion signal that Smart Bidding uses to allocate your budget every single day.
- Mistake 1: All Pages trigger applied to a conversion tag The single most destructive GTM error in conversion tracking. Applying an All Pages trigger to a Google Ads Conversion Tracking tag fires a conversion event on every single page load. If a user visits 10 pages during their session, 10 conversions are recorded. For a site with moderate traffic, this can inflate conversion counts by 10 to 50 times the actual number. Smart Bidding calibrates CPA targets on this inflated count and the entire account becomes fundamentally mismanaged. The All Pages trigger is correct only for the Conversion Linker and GA4 Config tags
- Mistake 2: Duplicate tags - GTM and hardcoded snippet firing simultaneously A previous developer hardcoded a Google Ads event snippet directly into the website source code. You set up the same conversion in GTM. Both fire on every conversion. Google Ads reports CPA at half the real value. Smart Bidding bids aggressively based on economics that do not exist. Check your site's page source for any <script> tags containing gtag() conversion events. Open Chrome DevTools, press Ctrl+U (or Cmd+U on Mac) on your thank-you page, and search for "send_to" in the source code. If both a hardcoded snippet and a GTM tag are present, remove the hardcoded version
- Mistake 3: Engagement events set as Primary instead of Secondary Setting scroll depth, button clicks, video views, or session duration as Primary conversion actions instructs Smart Bidding to optimise for engagement rather than business outcomes. The algorithm finds abundant engagement events easily - they are far more common than genuine form submissions - and reports an impressive conversion count and artificially low CPA while actual lead volume barely moves. Go to Goals then Conversions and audit every Primary action. Anything that is not a form submission, purchase, or qualifying phone call must be changed to Secondary immediately
- Mistake 4: Thank-you page accessible without completing the conversion If users can navigate directly to your /thank-you URL without submitting a form - by typing the URL, from a bookmark, through a site search result, or from a link on another page - every visit counts as a conversion regardless of whether a lead was generated. Test this yourself: type your thank-you page URL directly into the browser. If the page loads without redirecting, your conversion count includes every direct URL visit. Fix: redirect direct URL access to the homepage, add noindex to the page, and remove it from your sitemap
- Mistake 5: Conversion count set to Every for lead generation For lead generation, conversion count must be One - one conversion per click regardless of how many times that user submits a form after clicking the ad. Set to Every, a lead who submits an enquiry, then calls in and fills a callback form, then visits again and submits again counts as three conversions from one initial click. For ecommerce, Every is correct because each purchase is a genuine separate revenue event. For lead gen without exception, One is always correct
- Mistake 6: Conversion window too short for the actual sales cycle The default 30-day window means Google Ads only attributes conversions happening within 30 days of the ad click. For B2B with 60 to 90 day sales cycles, high-ticket real estate or legal clients, or enterprise SaaS with lengthy procurement processes, many genuine conversions fall outside the window and are never attributed. Smart Bidding undervalues the queries that drive longer-cycle buyers. Extend to 60 or 90 days for these business types. In Google Ads, go to Goals then Conversions, select the conversion action, and edit the Click-through conversion window setting
- Mistake 7: Internal traffic triggering false conversions Your own team submitting test forms, developers checking the confirmation page, and QA testing all generate conversion events in Google Ads. For low-volume accounts where the team submits 15 test forms representing 20 percent of monthly conversions, this significantly distorts performance data. Fix this in two places: in GA4 under Admin then Data Streams then Configure Tag Settings then Define Internal Traffic, and in Google Ads under Campaign Settings then IP Exclusions to prevent your office IP ranges from triggering ads at all
