Back to Blog
Google AdsConversion TrackingGTM Setup

How to Set Up Conversion Tracking for Google Ads

12 min read

A concise, practical guide to Google Ads conversion tracking. Learn GTM setup, form tracking, offline conversions, Enhanced Conversions, and how to avoid common pitfalls.

Google Ads conversion tracking setup in Google Tag Manager

Why Conversion Tracking Breaks (and How to Fix It)

Most Google Ads accounts have broken or incomplete conversion tracking. The result? You optimize to the wrong signals, Smart Bidding learns from bad data, and you can't tell which campaigns actually drive revenue.

The problem usually isn't one big mistake. It's a combination of duplicate tags, missing click IDs, forms that don't fire tracking, and offline conversions (calls, appointments) that never get imported back to Google.

This guide walks you through the complete setup: GTM structure, form tracking, offline conversions, Enhanced Conversions, and testing. Follow the checklist and you'll have clean tracking that you can trust.

Key Takeaways

  • Use Google Tag Manager as your single source of truth. Remove duplicate gtag/GA/pixel code to avoid double-counting.
  • Always include the Conversion Linker tag in GTM to preserve click identifiers and improve attribution.
  • Capture click identifiers (gclid, gbraid, wbraid) and persist them so you can match offline events later.
  • Enhanced Conversions require hashed customer data sent in a supported flow (GTM client-side or server-side).
  • Offline conversions work by capturing GCLID at lead time and importing matched conversions via CSV, API, or call-tracking vendor.
  • Test with GTM Preview and Google Tag Assistant, then reconcile Google Ads, GA4, and CRM numbers regularly.

Step-by-Step Setup Checklist

1. Audit and Choose a Single Implementation Path

Inventory every tracking tag on your site. Look for hardcoded gtag snippets, multiple GTM containers, and analytics scripts. Remove duplicates and choose GTM as your primary tag manager.

Why: Duplicate tags cause double-counting and inflate your conversion numbers. Clean house first.

2. Create Conversion Actions in Google Ads

For each business outcome (lead, purchase, phone call), create one persistent conversion action in Google Ads.

  • Count: "One" for leads (one conversion per click), "Every" for sales (multiple purchases)
  • Value: Set conversion value if applicable
  • Attribution window: Default is fine to start

Important: Don't create multiple conversion actions for the same event. This fragments bidding signals.

3. Implement GTM Baseline (Day 0)

Install a single GTM container on every page. Add these core tags:

  • GA4 Configuration tag (if using GA4)
  • Google Ads Conversion tag(s) for each conversion action
  • Conversion Linker tag (fires on All Pages)

Use consistent event naming (e.g., form_submit, purchase, call_click) across GA4 and Google Ads.

4. Track Form Submissions Reliably

The best method is a dedicated thank-you page. When the form submits successfully, redirect to /thank-you and fire your conversion tag there.

For embedded forms (HubSpot, React): Use a form-submit listener or push a dataLayer event on successful submit. Don't rely on button clicks alone - they fire even if the form has errors.

HubSpot forms: Use the HubSpot form listener to detect the onFormSubmitted event and push to dataLayer. Then trigger your Google Ads conversion tag from that dataLayer event.

5. Capture Click IDs and UTMs at Lead Time

When someone clicks your ad, Google appends gclid (and gbraid/wbraid for Safari) to the URL. You need to capture and store these identifiers.

  • Read gclid from the URL parameter when the page loads
  • Store it in a cookie or localStorage
  • Copy it to a hidden form field so it submits with the lead
  • Store it in your CRM alongside the lead data

Why: Without gclid, you can't match offline conversions (calls, appointments) back to the original ad click.

6. Set Up Enhanced Conversions

Enhanced Conversions improve match rates by sending hashed customer data (email, phone) to Google when someone converts.

  • Collect email and/or phone on your conversion page
  • Hash the data (GTM can do this automatically)
  • Send it with your conversion tag per Google's specification

Implementation: Use GTM's built-in Enhanced Conversions variable or set up server-side tagging. Ensure you comply with privacy regulations and have proper user consent.

7. Track Offline Conversions (Calls, Appointments)

Many conversions happen off your website: phone calls, WhatsApp messages, booked appointments. You need to import these back to Google Ads.

The process:

  • Capture gclid when the lead comes in (from form, call tracking, or URL)
  • Store gclid in your CRM with the lead record
  • When the conversion happens (call answered, appointment booked), note the timestamp
  • Upload to Google Ads: gclid + conversion time + conversion value (manual CSV or API integration)

For calls: Use an Ads-integrated call tracking provider (CallRail, Invoca) that automatically imports conversions, or capture caller details and upload manually.

8. Server-Side Tracking (Optional, Advanced)

Server-side GTM (sGTM) sends events from your server instead of the browser. This improves match rates and reduces ad-blocker interference.

  • When to use it: High-volume sites with engineering resources
  • Complexity: Requires server setup, monitoring, and careful deduplication
  • Recommendation: Fix client-side tracking first, then add server-side if you need the extra match rate

9. Test, Verify, and Reconcile

  • Use GTM Preview mode to see which tags fire and what data they send
  • Use Google Tag Assistant (browser extension) to verify tag implementation
  • Submit a test conversion and verify it appears in Google Ads Diagnostics within 24-48 hours
  • Reconcile Google Ads conversions vs GA4 vs CRM weekly (expect some variance, investigate large gaps)

10. Maintain and Scale

  • Keep one "primary conversion" for bidding (Smart Bidding needs a stable, consistent signal)
  • Use secondary conversions for reporting only (don't feed them to automated bidding)
  • Capture gclid + gbraid/wbraid in parallel to handle Safari and future privacy changes
  • Review and update tracking quarterly as your site and tools evolve

Common Pitfalls (and How to Avoid Them)

  • Duplicate tags and double-counting: Remove extra gtag/GTM snippets and duplicate Conversion Linker tags. Use GTM Preview to audit what's firing.
  • Relying on button-click triggers: Button clicks fire even if forms have errors. Use form-submit listeners or thank-you pages instead.
  • Not capturing gclid at lead time: Without gclid, offline imports and accurate attribution are impossible. Capture and store it from day one.
  • Creating multiple conversion actions for the same event: This fragments bidding signals. Use one persistent conversion action per outcome.
  • Inconsistent offline conversion uploads: Stick to one conversion name and consistent gclid format so Google can deduplicate and learn.
  • Jumping to server-side too early: Server-side helps but requires engineering and monitoring. Start with solid client-side tracking first.
  • Using third-party analytics for Enhanced Conversions: Enhanced Conversions need Google-compatible hashed payloads. Matomo and similar tools can't do this without custom server-side integration.
  • Not testing in single-page apps: Route changes can cancel fetch requests. Use keepalive and proper lifecycle handling.

Quick Reference: What to Track

Lead generation:

  • Form submissions (contact form, quote request)
  • Phone calls (via call extensions or tracking numbers)
  • Chat conversations (via chat platform integration)
  • WhatsApp/messenger clicks (capture gclid, import conversions later)

E-commerce:

  • Purchases (with transaction value)
  • Add to cart (secondary conversion)
  • Begin checkout (secondary conversion)

Local services:

  • Booked appointments
  • Qualified calls (duration over 60-90 seconds)
  • Direction requests (Google Business Profile)

FAQ

Do I need Google Tag Manager or can I use gtag.js?

GTM is strongly recommended. It gives you a single place to manage all tags, makes testing easier, and doesn't require code changes every time you add or modify tracking. If you're starting from scratch, use GTM.

What's the difference between GA4 conversions and Google Ads conversions?

GA4 tracks all conversions for analytics and reporting. Google Ads conversions are specifically for optimizing your ad campaigns. You can import GA4 conversions into Google Ads, but most people set up separate Google Ads conversion tags for better control over what drives bidding.

How long does it take for conversions to show up?

Most conversions appear in Google Ads within a few hours, but allow up to 24-48 hours for full reporting. Offline conversion imports can take longer depending on your upload method.

Why don't my Google Ads and GA4 conversion numbers match?

Some variance is normal due to different attribution models, timing differences, and how each platform handles cookies. Investigate if numbers differ by more than 10-15%. Common causes: duplicate tags, different attribution windows, or ad blockers affecting GA4 more than Google Ads.

Do I need Enhanced Conversions?

Enhanced Conversions improve match rates and attribution accuracy, especially as third-party cookies phase out. Set it up if you collect email or phone numbers at conversion time. It's not required to start, but it's worth implementing once basic tracking is working.

How do I track phone calls from ads?

Use Google's call extensions (with Google forwarding numbers) or a third-party call tracking service like CallRail. Both options let you track which ads drove calls. Set minimum call duration (60-90 seconds) to filter out wrong numbers and short calls.

Can I track conversions that happen offline?

Yes. Capture the gclid when the lead comes in (form, call, etc.), store it in your CRM, then upload conversions back to Google Ads when they happen (appointment completed, sale closed). You can upload via CSV, API, or CRM integration.

Need Help Setting Up Conversion Tracking?

We can audit your current tracking setup, build a clean GTM container, and set up offline conversion imports. Get accurate data so you can optimize with confidence.

No obligations • Free audit • Get expert insights in 24 hours