Client-Side GTM + Google Ads Setup Guide
I see this setup broken in about 30% of accounts I audit, usually because people skip the enhanced conversions configuration or mess up the Google Ads tag settings. The most common issue? Double-firing events because both gtag and GTM are installed, or missing conversion linker configuration that breaks attribution.
This guide walks through the complete client-side GTM setup for Google Ads — from container configuration to enhanced conversions to debugging conversion discrepancies.
What You’ll Have Working By The End
- Google Ads conversion tracking firing on all key actions (purchases, leads, signups)
- Enhanced conversions sending first-party data for better attribution
- Conversion linker properly configured for cross-domain tracking
- Google Analytics 4 and Google Ads data matching within 5-15% variance
- Proper conversion values and currency formatting for e-commerce
Prerequisites
- Google Ads account with conversion tracking access
- Google Tag Manager container installed on your site
- Google Analytics 4 property set up and linked to Google Ads
- Admin access to your website for testing and verification
- Conversion actions already created in Google Ads (or ready to create them)
Step 1: Configure Your Google Ads Tag
First, set up your main Google Ads tag in GTM. This replaces the old global site tag approach and handles both conversion tracking and enhanced conversions.
In GTM, create a new Google Ads tag:
Tag Type: Google Ads Tag ID: Your Google Ads customer ID (format: AW-XXXXXXXXX) Trigger: All Pages
In the tag configuration, enable these settings:
- Conversion Linker: ON (critical for attribution)
- Enhanced Conversions: ON (improves conversion tracking by ~15-25%)
For enhanced conversions, configure the user data variables:
// User Data Variables in GTM
{{Email}} // Variable that captures email from forms/dataLayer
{{Phone}} // Phone number variable
{{First Name}} // First name variable
{{Last Name}} // Last name variable
{{Street Address}} // Address variable (optional)
The enhanced conversions setup requires at least email or phone number. I typically see the best results when you can capture both email and phone, which improves match rates from ~60% to ~80%.
Common mistake: Don’t enable enhanced conversions without having the user data variables properly configured. Google will throw errors and your conversion tracking won’t initialize properly.
Step 2: Set Up Conversion Tracking Events
Create separate tags for each conversion action. Here’s the configuration for a typical lead form conversion:
Tag Type: Google Ads Conversion Tracking Conversion ID: Your specific conversion ID (format: AW-XXXXXXXXX/YYYYYY) Conversion Label: The label from your Google Ads conversion action
Conversion Value Configuration:
- Use different values: ON (if you have variable conversion values)
- Conversion Value:
{{Transaction Value}}or fixed value - Currency Code: USD (or your currency)
Trigger: Choose based on your conversion type:
- Form submissions: Custom event trigger on
form_submitorcontact_form_complete - Purchases: Enhanced E-commerce Purchase event
- Page views: Specific thank you pages
For e-commerce setups, your conversion value variable should pull from the dataLayer:
// E-commerce dataLayer push
dataLayer.push({
'event': 'purchase',
'transaction_id': 'T12345',
'value': 49.99,
'currency': 'USD',
'items': [{
'item_id': 'SKU123',
'item_name': 'Product Name',
'category': 'Category',
'quantity': 1,
'price': 49.99
}]
});
Which conversion tracking approach should you use? If you’re tracking multiple conversion types (leads, purchases, downloads), create separate conversion actions in Google Ads and separate GTM tags. Don’t try to funnel everything through one generic “conversion” tag — you’ll lose valuable segmentation data.
Step 3: Configure Conversion Linker
The conversion linker is crucial for attribution but often gets skipped. It needs to fire before any conversion events.
Tag Type: Conversion Linker Cookie Domain: Auto (unless you have specific cross-domain requirements) Trigger: All Pages Firing Priority: 100 (higher than your conversion tags)
For multi-domain setups, configure cross-domain tracking:
// Cross-domain configuration
gtag('config', 'AW-XXXXXXXXX', {
'linker': {
'domains': ['yourdomain.com', 'checkout.yourdomain.com', 'shop.yourdomain.com']
}
});
I see conversion attribution break in about 20% of e-commerce setups because the conversion linker isn’t configured properly for their checkout flow across subdomains.
Step 4: Enhanced Conversions Data Collection
Enhanced conversions require first-party user data. Here’s how to capture it properly without breaking privacy compliance:
Method 1: Automatic Collection (easiest) Enable automatic enhanced conversions in your Google Ads tag. This scans your page for email addresses in forms and checkout fields.
Method 2: Manual Collection (more reliable) Push user data to the dataLayer when available:
// On form submission or checkout completion
dataLayer.push({
'event': 'enhanced_conversion_data',
'user_data': {
'email': 'user@example.com',
'phone_number': '+1234567890',
'first_name': 'John',
'last_name': 'Doe',
'street': '123 Main St',
'city': 'Anytown',
'region': 'CA',
'postal_code': '12345',
'country': 'US'
}
});
Data formatting requirements:
- Email: lowercase, no spaces
- Phone: include country code, remove spaces and special characters
- Names: no special characters
- All fields optional except email OR phone (need at least one)
Step 5: Google Analytics 4 Integration
Link your GA4 and Google Ads for better conversion attribution and audience sharing:
In GTM, configure your GA4 tag with Google Ads linking:
// GA4 Configuration with Google Ads Enhanced Conversions
gtag('config', 'G-XXXXXXXXXX', {
'allow_google_signals': true,
'allow_ad_personalization_signals': true,
'enhanced_conversions': true
});
Conversion Import Settings:
- Import GA4 conversions to Google Ads: ON
- Attribution model: Data-driven (if you have enough conversion volume)
- Lookback window: 30 days for view-through, 90 days for click-through
The goal is to have your GA4 and Google Ads conversion counts match within 5-15%. Larger discrepancies usually indicate attribution model differences or tracking implementation issues.
Step 6: Set Up Offline Conversion Imports (Optional)
For businesses with offline conversions (phone calls, in-store purchases), set up offline conversion imports:
Required fields:
- Google Click ID (GCLID)
- Conversion name (must match your Google Ads conversion action)
- Conversion time
- Conversion value (optional)
- Currency (if using conversion value)
CSV format for uploads:
Google Click ID,Conversion Name,Conversion Time,Conversion Value,Conversion Currency
Cj0KCQjw...,Lead Form,2026-03-24 14:30:00,100,USD
I typically see offline conversion tracking add 15-30% to total conversion volume for service businesses that get phone calls from their ads.
Testing & Verification
GTM Preview Mode:
- Enable Preview mode in GTM
- Navigate to a conversion page
- Check that your Google Ads conversion tag fires
- Verify the enhanced conversions data is captured
- Confirm conversion linker fires before conversion events
Google Ads Conversion Tracking:
- Go to Tools → Conversions in Google Ads
- Check the “Recent conversions” column for test conversions
- Test conversions typically appear within 3-6 hours
- Look for the “Enhanced” badge next to conversions with enhanced data
Real-time Verification: Use Google Tag Assistant Legacy to verify tags fire correctly:
- Google Ads Conversion Tracking tag shows “Successful”
- Enhanced conversions data is present and formatted correctly
- No duplicate firing (common issue with gtag + GTM setups)
Attribution Comparison: Compare conversion counts between:
- Google Ads (Conversions → All conversions)
- GA4 (Reports → Conversions)
- Your source of truth (CRM, e-commerce platform)
Acceptable variance: 5-15% between platforms. Higher variance indicates tracking issues or attribution model differences.
Red flags:
- Conversion count of 0 after 24 hours (tracking not working)
- 50%+ variance between GA4 and Google Ads (attribution issues)
- Enhanced conversions showing 0% enhancement rate (data collection issue)
Troubleshooting
Problem: Google Ads shows 0 conversions but GA4 shows conversion events Check your Google Ads conversion action settings. The conversion action needs to use the exact same event name and parameters as your GTM tag. Also verify the conversion ID and label in your GTM tag match what’s in Google Ads.
Problem: Enhanced conversions showing “No recent enhanced conversions” Your user data isn’t being captured properly. Check that your dataLayer push includes email or phone number in the correct format. Use GTM Preview mode to verify the enhanced_conversion_data event contains user information.
Problem: Duplicate conversions (2x the expected count)
You likely have both gtag (hardcoded) and GTM tracking the same conversions. Remove any hardcoded gtag conversion tracking from your site if you’re using GTM. Check your site’s source code for any gtag('event', 'conversion') calls.
Problem: Cross-domain conversion attribution broken Your conversion linker isn’t configured for cross-domain tracking. Add all your domains to the linker configuration and ensure the Google Ads tag fires on all domains in your conversion flow.
Problem: Mobile conversions tracking but desktop conversions are missing Usually an ad blocker issue affecting desktop users more than mobile. About 25-30% of desktop users block tracking tags. Consider implementing server-side tracking for more complete data collection.
Problem: Conversion values showing as $0 or wrong currency Your conversion value variable isn’t pulling the correct data from your dataLayer or e-commerce platform. Check the variable configuration in GTM and ensure your site pushes transaction values in the expected format (numeric, not string).
What To Do Next
- Complete Form Conversion Tracking Setup — detailed implementation for lead generation forms
- Google Ads Enhanced Conversions Deep Dive — advanced configuration for better attribution
- Cross-Platform Attribution Setup — sync conversion data across all your marketing channels
- Get a free tracking audit — I’ll review your setup and identify what’s causing conversion tracking discrepancies
This guide is part of the Form Conversion Tracking Hub — complete guides for tracking leads, signups, and conversions across all major ad platforms.