Google Ads Conversion Tracking: Complete Setup Guide
Founder at Adship

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 Type | Primary Conversion | Secondary Conversions |
|---|---|---|
| Ecommerce | Purchase | Add to Cart, Begin Checkout |
| B2B / SaaS | Demo Request / Trial Signup | Form Submit, Pricing Page View |
| Local Service | Phone Call / Form Submit | Directions Click, Chat Start |
| Lead Gen | Form Submission | Phone 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
- In Google Ads, go to Goals > Conversions > Summary
- Click + New conversion action
- Choose Website
- Enter your website URL and click Scan
- Select Add a conversion action manually
- 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
- Create a GTM account at tagmanager.google.com
- Install the GTM container code on every page of your site
- The container code consists of two snippets — one in
<head>, one after<body>
Step 2: Create a Google Ads Conversion Tracking Tag
- In GTM, click Tags > New
- Tag Type: Google Ads Conversion Tracking
- Enter your Conversion ID and Conversion Label (from the Google Ads conversion setup)
- Set Conversion Value (use a variable for dynamic values)
- 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-youor/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 ValuetransactionId→ maps to Transaction IDcurrency→ maps to Currency Code
Step 5: Preview and Publish
- Click Preview in GTM to test in debug mode
- Complete a test conversion on your site
- Verify the tag fires correctly in the GTM debugger
- 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
- In Google Ads, go to your conversion action settings
- Enable Enhanced conversions
- Choose setup method: Google Tag, GTM, or API
GTM Setup
- Edit your existing conversion tag in GTM
- Enable Include user-provided data from your website
- Map form fields to Google's data variables:
email→ user's email addressphone_number→ user's phone numberfirst_name,last_name→ user's namestreet,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
- Tag not firing: Use GTM Preview or Google Tag Assistant to verify
- Wrong trigger: Check that the trigger conditions match your actual conversion page/event
- Conversion action inactive: Verify in Google Ads that the action is set to "Record" and is "Active"
- Reporting delay: Google Ads can take up to 24 hours to reflect conversions. Wait before troubleshooting.
Duplicate Conversions
- Missing transaction ID: Without a unique transaction_id, Google counts every tag fire as a new conversion
- Tag firing on page reload: Thank-you page reloads fire the tag again. Use transaction IDs to deduplicate.
- Count setting wrong: Use "One" for lead gen (one conversion per click), "Every" for ecommerce (every purchase counts)
Conversion Numbers Don't Match Analytics
- Attribution models differ: Google Ads uses data-driven attribution; GA4 may use a different model
- Conversion windows differ: Google Ads default is 30 days; GA4 may be different
- Cross-device tracking: Google Ads tracks cross-device conversions; GA4 may not
- Click date vs conversion date: Google Ads attributes conversions to the click date, not the conversion date
Conversion Values Are Wrong
- Static value instead of dynamic: Ensure your tag passes actual transaction amounts, not a fixed value
- Currency mismatch: Set the correct currency code in your conversion tag
- 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
- Click Preview in GTM
- Navigate through a test conversion on your site
- Verify the conversion tag fires at the right moment
- Check that variables contain the correct values
Google Ads Diagnostics
In Google Ads:
- Go to Goals > Conversions > select your conversion action
- Check the Diagnostics tab for tag status
- 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.
| Model | How It Works |
|---|---|
| Data-driven | Google's ML distributes credit based on actual conversion paths |
| Last click | 100% credit to the last-clicked ad |
| First click | 100% credit to the first-clicked ad |
| Linear | Equal credit across all touchpoints |
| Time decay | More credit to recent touchpoints |
| Position-based | 40% 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
- Set up conversion tracking BEFORE spending on ads
- Use Google Tag Manager for the most flexibility
- Enable Enhanced Conversions to recover lost tracking
- Always include transaction IDs to prevent duplicates
- Track primary conversions (used for bidding) and secondary conversions (for analysis) separately
- Test your setup before going live — use Tag Assistant and GTM Preview
- 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 FreeRecommended Resources
Related Articles
View allBest AI Tools for Google Ads in 2026 (Tested & Ranked)
The best AI tools for Google Ads in 2026, for copy, bidding, campaign structure, and reporting. Includes free and paid options for every budget.
Google Ads Optimization Guide: 15 Tactics to Boost Performance (2026)
Systematic tactics to improve CTR, Quality Score, and ROAS across every campaign type, from keyword management to bidding, landing pages, and automation rules.
Google Ads Remarketing: How to Set It Up and Make It Work (2026)
Learn how Google Ads remarketing works in 2026, audiences, campaign types (Display, Search/RLSA, YouTube), bid adjustments, and remarketing lists that convert.