Back to Blog
Google AdsMar 18, 2026|10 min read

Google Ads Conversion Tracking: Complete Setup Guide

EA
Eduard Andrei

Founder at Adship

Google Ads Conversion Tracking: Complete Setup Guide

Conversion tracking is the foundation of everything in Google Ads. Without it, you can't measure which keywords convert, which ads work, or whether your campaign is profitable. Worse, Google's Smart Bidding algorithms can't optimize without conversion data — so you're paying more for less.

Yet conversion tracking is where most accounts break down. Tags fire incorrectly, conversions double-count, values don't pass through, and attribution windows are misconfigured. This guide walks through every setup method and the common problems that cause inaccurate data.


What Counts as a Conversion?

A conversion is any valuable action a user takes after clicking your ad. Common conversion types:

Business TypePrimary ConversionSecondary Conversions
EcommercePurchaseAdd to Cart, Begin Checkout
B2B / SaaSDemo Request / Trial SignupForm Submit, Pricing Page View
Local ServicePhone Call / Form SubmitDirections Click, Chat Start
Lead GenForm SubmissionPhone Call, Email Click

Important: Track your primary conversion as the "primary" action in Google Ads (used for bidding optimization). Track secondary conversions as "secondary" actions (visible in reports but not used for Smart Bidding).


Method 1: Google Ads Tag (Direct Install)

The simplest method. Best for small sites without Google Tag Manager.

Step 1: Create a Conversion Action

  1. In Google Ads, go to Goals > Conversions > Summary
  2. Click + New conversion action
  3. Choose Website
  4. Enter your website URL and click Scan
  5. Select Add a conversion action manually
  6. Configure:
    • Category: Purchase, Lead, Subscribe, etc.
    • Value: Fixed value, or "Use different values for each conversion" (for ecommerce)
    • Count: "Every" for purchases, "One" for leads
    • Click-through conversion window: 30 days (default, works for most)
    • View-through conversion window: 1 day
    • Attribution model: Data-driven (recommended)

Step 2: Install the Global Site Tag

Add this code to every page on your site, in the <head> section:

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-XXXXXXXXX"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'AW-XXXXXXXXX');
</script>

Replace AW-XXXXXXXXX with your Google Ads conversion ID.

Step 3: Add the Event Snippet

Add the event snippet to your conversion page (e.g., thank you page, order confirmation page):

<script>
  gtag('event', 'conversion', {
    'send_to': 'AW-XXXXXXXXX/AbCdEfGhIjKlMnOp',
    'value': 49.99,
    'currency': 'USD',
    'transaction_id': 'ORDER-12345'
  });
</script>

For ecommerce, dynamically populate the value and transaction_id with actual order data.


Method 2: Google Tag Manager (Recommended)

Google Tag Manager (GTM) is the recommended approach for most businesses. It lets you manage all your tracking tags without editing website code.

Step 1: Set Up GTM

  1. Create a GTM account at tagmanager.google.com
  2. Install the GTM container code on every page of your site
  3. The container code consists of two snippets — one in <head>, one after <body>

Step 2: Create a Google Ads Conversion Tracking Tag

  1. In GTM, click Tags > New
  2. Tag Type: Google Ads Conversion Tracking
  3. Enter your Conversion ID and Conversion Label (from the Google Ads conversion setup)
  4. Set Conversion Value (use a variable for dynamic values)
  5. Set Transaction ID (use a variable to prevent duplicate counting)

Step 3: Create a Trigger

Choose when the tag should fire:

For thank-you pages:

  • Trigger type: Page View
  • Fire on: Page URL contains /thank-you or /order-confirmation

For button clicks:

  • Trigger type: Click — All Elements or Click — Just Links
  • Fire on: Click element matches your submit button

For ecommerce purchases (using dataLayer): Push purchase data to the dataLayer:

dataLayer.push({
  'event': 'purchase',
  'transactionId': 'ORDER-12345',
  'transactionTotal': 49.99,
  'currency': 'USD'
});

Then create a trigger that fires on the purchase custom event.

Step 4: Create Variables for Dynamic Values

In GTM, create Data Layer Variables for:

  • transactionTotal → maps to Conversion Value
  • transactionId → maps to Transaction ID
  • currency → maps to Currency Code

Step 5: Preview and Publish

  1. Click Preview in GTM to test in debug mode
  2. Complete a test conversion on your site
  3. Verify the tag fires correctly in the GTM debugger
  4. Publish the container

Method 3: Enhanced Conversions

Enhanced conversions improve tracking accuracy by sending hashed first-party data (email, phone, address) from your conversion page to Google. This helps Google match conversions that browser-based tracking might miss due to cookie restrictions.

How to Enable

  1. In Google Ads, go to your conversion action settings
  2. Enable Enhanced conversions
  3. Choose setup method: Google Tag, GTM, or API

GTM Setup

  1. Edit your existing conversion tag in GTM
  2. Enable Include user-provided data from your website
  3. Map form fields to Google's data variables:
    • email → user's email address
    • phone_number → user's phone number
    • first_name, last_name → user's name
    • street, city, region, postal_code, country → address

Google hashes this data before sending — the raw data never reaches Google's servers.

Why It Matters

With increasing cookie restrictions (Safari ITP, Chrome's Privacy Sandbox), browser-based conversion tracking loses accuracy. Enhanced conversions recover 5-15% of previously untracked conversions by matching users through hashed first-party data.


Method 4: Server-Side Tracking

Server-side tracking sends conversion data from your server to Google, bypassing browser limitations entirely.

Google Ads API

For maximum accuracy, send conversions via the Google Ads API:

# Simplified example
conversion = {
  'conversion_action': 'customers/123/conversionActions/456',
  'gclid': 'CjwKCAjw...',
  'conversion_date_time': '2026-03-18 14:30:00+00:00',
  'conversion_value': 49.99,
  'currency_code': 'USD'
}

Server-Side GTM

Google Tag Manager supports server-side containers that run on your own server (or Google Cloud). This approach:

  • Gives you control over what data is sent to Google
  • Avoids ad blockers and browser restrictions
  • Improves page load speed (fewer client-side tags)
  • Enables first-party cookie tracking

Setting up server-side GTM requires a Google Cloud project and technical expertise, but it's becoming the standard for serious advertisers.


Conversion Tracking for Different Business Types

Ecommerce

Must track:

  • Purchase (primary conversion, with dynamic value)
  • Add to Cart (secondary)
  • Begin Checkout (secondary)

Setup tip: Use your ecommerce platform's built-in Google integration (Shopify, WooCommerce, etc.) for the purchase event. It handles transaction IDs and values automatically.

Lead Generation

Must track:

  • Form submission (primary)
  • Phone call (primary if applicable)
  • Chat conversation started (secondary)

Setup tip: Track the form submission event, not just the thank-you page view. Users who reload the thank-you page will create duplicate conversions with page-view triggers.

SaaS / Subscription

Must track:

  • Free trial signup (primary)
  • Paid subscription (primary, with value)
  • Feature activation (secondary)

Setup tip: Import offline conversions for subscription revenue. When a trial converts to paid, upload the conversion back to Google Ads via the API. This gives Smart Bidding much better data than tracking only the trial signup.


Troubleshooting Common Issues

Conversions Not Showing

  1. Tag not firing: Use GTM Preview or Google Tag Assistant to verify
  2. Wrong trigger: Check that the trigger conditions match your actual conversion page/event
  3. Conversion action inactive: Verify in Google Ads that the action is set to "Record" and is "Active"
  4. Reporting delay: Google Ads can take up to 24 hours to reflect conversions. Wait before troubleshooting.

Duplicate Conversions

  1. Missing transaction ID: Without a unique transaction_id, Google counts every tag fire as a new conversion
  2. Tag firing on page reload: Thank-you page reloads fire the tag again. Use transaction IDs to deduplicate.
  3. Count setting wrong: Use "One" for lead gen (one conversion per click), "Every" for ecommerce (every purchase counts)

Conversion Numbers Don't Match Analytics

  1. Attribution models differ: Google Ads uses data-driven attribution; GA4 may use a different model
  2. Conversion windows differ: Google Ads default is 30 days; GA4 may be different
  3. Cross-device tracking: Google Ads tracks cross-device conversions; GA4 may not
  4. Click date vs conversion date: Google Ads attributes conversions to the click date, not the conversion date

Conversion Values Are Wrong

  1. Static value instead of dynamic: Ensure your tag passes actual transaction amounts, not a fixed value
  2. Currency mismatch: Set the correct currency code in your conversion tag
  3. Tax/shipping included: Be consistent — either always include or always exclude tax and shipping

Testing Your Setup

Google Tag Assistant

Install the Google Tag Assistant Chrome extension. Visit your site and verify:

  • The Google Ads tag loads on every page
  • The conversion event fires on your conversion page
  • Values and transaction IDs pass correctly

GTM Preview Mode

  1. Click Preview in GTM
  2. Navigate through a test conversion on your site
  3. Verify the conversion tag fires at the right moment
  4. Check that variables contain the correct values

Google Ads Diagnostics

In Google Ads:

  1. Go to Goals > Conversions > select your conversion action
  2. Check the Diagnostics tab for tag status
  3. Look for "Tag active" confirmation and recent conversion data

Attribution Models

Google Ads offers several attribution models. Data-driven attribution (DDA) is the default and recommended model in 2026.

ModelHow It Works
Data-drivenGoogle's ML distributes credit based on actual conversion paths
Last click100% credit to the last-clicked ad
First click100% credit to the first-clicked ad
LinearEqual credit across all touchpoints
Time decayMore credit to recent touchpoints
Position-based40% first, 40% last, 20% split across middle

Recommendation: Use Data-driven attribution unless you have fewer than 300 conversions and 3,000 interactions in the last 30 days (the minimum for DDA). In that case, use Last Click as a starting point.


Conversion Tracking Across Platforms

Accurate conversion tracking on Google Ads gives you benchmarks you can use across all your ad platforms. When you know your Google Ads CPA, you can set informed cost caps on Meta and TikTok. When you know which audiences convert on Google, you can build similar audiences on other platforms.

Managing conversion tracking across Google, Meta, and TikTok gets complex. Adship simplifies Meta and TikTok campaign management so you can invest your technical energy into perfecting your Google Ads tracking setup.


Key Takeaways

  1. Set up conversion tracking BEFORE spending on ads
  2. Use Google Tag Manager for the most flexibility
  3. Enable Enhanced Conversions to recover lost tracking
  4. Always include transaction IDs to prevent duplicates
  5. Track primary conversions (used for bidding) and secondary conversions (for analysis) separately
  6. Test your setup before going live — use Tag Assistant and GTM Preview
  7. Consider server-side tracking for maximum accuracy in 2026's cookie-restricted environment

Meet the AI Ad Operating System

Scan, spy, create, and launch Meta and TikTok ads with guarded actions taken with your approval.

Start Free
Share this article

Research. Create. Launch. Learn.

Adship connects Agent, Ad Spy, Canvas, and Learning Loop across Meta and TikTok, with bulk launch and guarded actions built in.

Get Started: It's Free