Conversion Tracking Done Right: The Complete Setup for Google Ads + GA4
Broken tracking is the #1 reason PPC campaigns underperform. Here is the definitive setup guide for Google Ads conversion tracking with GA4.
We audit 5-10 new accounts every month. In at least 70% of them, conversion tracking is broken, misconfigured, or incomplete. And broken tracking is not just an analytics problem — it actively degrades campaign performance.
Why? Because Google’s smart bidding algorithms optimize toward the conversions you report. Garbage in, garbage out. If your tracking misses 40% of conversions (common with basic setups), the algorithm is optimizing on partial data, making suboptimal bidding decisions for every single auction.
Here is the complete setup guide for conversion tracking that actually works.
The Architecture
A proper tracking setup has three layers:
- Google Ads Conversion Tag (primary) — tracks conversions directly in Google Ads
- GA4 Events (secondary) — tracks conversions in Analytics for cross-channel attribution
- Enhanced Conversions (amplifier) — sends first-party data to improve attribution accuracy
All three should be active. They serve different purposes and complement each other.
Layer 1: Google Ads Conversion Tag
For Lead Generation
What to track: Form submissions, phone calls, chat initiations
Setup via Google Tag Manager:
- Create a Google Ads Conversion action in your Google Ads account
- Copy the Conversion ID and Conversion Label
- In GTM, create a new “Google Ads Conversion Tracking” tag
- Enter the Conversion ID and Label
- Set the trigger to fire on the “thank you” page or form submission success event
- Set counting to “One” (one conversion per click)
Important settings:
- Click-through conversion window: 30 days minimum, 90 days for B2B
- View-through conversion window: 1 day (default is fine)
- Attribution model: Data-driven (or time decay if insufficient conversions for data-driven)
For Ecommerce
What to track: Purchases (primary), Add to Cart (secondary)
Setup via GTM with Data Layer:
- Ensure your ecommerce platform pushes a
purchaseevent to the data layer with transaction data (value, currency, transaction ID) - Create a Google Ads Conversion action with “Every” counting and dynamic values
- In GTM, create the conversion tag triggered on the
purchasedata layer event - Map the data layer variables:
value,currency,transaction_id - Transaction ID is critical — it prevents duplicate conversion counting
Data layer example:
dataLayer.push({
event: "purchase",
ecommerce: {
transaction_id: "T12345",
value: 149.99,
currency: "EUR",
items: [{ item_id: "SKU001", item_name: "Product Name", price: 149.99 }],
},
});
Layer 2: GA4 Event Tracking
GA4 should track the same conversion events as Google Ads, but through its own measurement protocol.
Setup
- Install GA4 via GTM: Create a GA4 Configuration tag with your Measurement ID. Fire on All Pages.
- Send ecommerce events: Use GA4 Event tags triggered by the same data layer events. GA4 expects specific event names:
purchase,add_to_cart,begin_checkout,generate_lead. - Mark events as conversions in GA4: Go to Admin > Events > toggle the conversion flag on relevant events.
- Import GA4 conversions to Google Ads: In Google Ads, go to Tools > Conversions > New Conversion Action > Import > Google Analytics 4 properties.
GA4 vs Google Ads Conversion Numbers
These will never match perfectly. GA4 uses session-based attribution by default while Google Ads uses click-based. Discrepancies of 10-20% are normal. If the gap exceeds 30%, investigate:
- Duplicate tags firing
- Different conversion windows
- Cross-domain tracking gaps
- Consent mode blocking tags inconsistently
Layer 3: Enhanced Conversions
Enhanced Conversions send hashed first-party data (email, phone, address) alongside conversion events. This allows Google to match conversions that would otherwise be lost due to cookie restrictions, cross-device journeys, and iOS privacy changes.
Setup via GTM
- In Google Ads Conversion settings, enable Enhanced Conversions
- Choose “Google Tag Manager” as the setup method
- In your existing Google Ads Conversion tag in GTM, enable Enhanced Conversions
- Map the user data variables:
- Email (from form field or data layer)
- Phone number (if available)
- First name, last name (if available)
- Street address, city, country (if available)
Minimum required: Email address. The more data you provide, the higher the match rate.
Expected impact: Enhanced Conversions typically recover 5-15% of conversions that were previously unattributed. This directly improves smart bidding performance.
Consent Mode v2 (EU Required)
If you operate in the EU, Consent Mode v2 is mandatory for compliant tracking.
How It Works
- When a user consents to cookies, tags fire normally
- When a user denies consent, tags still fire but in “cookieless” mode — no cookies are set, but Google uses modeled conversions to estimate the conversions lost due to consent denial
- You send two consent signals:
ad_storageandanalytics_storage
Setup
- Implement a Consent Management Platform (CMP) that supports Google Consent Mode v2
- In GTM, configure consent initialization (Default = denied for EU users)
- When user consents, update consent state to “granted”
- Google Ads and GA4 tags should be set to require consent for
ad_storageandanalytics_storage
Impact: Without Consent Mode, EU accounts lose 30-50% of conversion visibility. With Consent Mode v2, Google models these conversions back, recovering most of the signal.
The Verification Checklist
After setup, verify everything works:
- Tag Assistant: Use Google Tag Assistant to verify tags fire correctly
- Real-time in GA4: Check that events appear in the real-time report
- Test conversion: Complete a real conversion (form submit, test purchase) and verify it appears in Google Ads within 24 hours
- Value accuracy: Confirm the conversion value matches the actual transaction amount
- No duplicates: Check for duplicate conversion counting by comparing transaction IDs
- Cross-device: Test on mobile and desktop to ensure both track correctly
- Consent flow: Test with consent denied and granted — verify consent mode triggers correctly
Common Tracking Mistakes We Fix
- Tracking page views as conversions: The “thank you” page fires even on page refreshes. Use event-based tracking instead.
- Missing transaction ID: Without it, page refreshes create duplicate purchases.
- Wrong conversion counting: “Every” for leads inflates numbers. “One” for purchases misses repeat buys.
- No value tracking: Smart bidding cannot optimize for ROAS without conversion values.
- Ignoring Enhanced Conversions: Free performance improvement that most accounts leave on the table.
- Consent Mode not configured: Losing 30-50% of conversion data in EU markets.
Fix your tracking first. Everything else — bidding, targeting, creative — depends on having accurate conversion data. Without it, you are optimizing blind.
Need Help Implementing This?
We do not just write about PPC — we manage it. Book a free strategy call to see how we can apply these strategies to your business.
Book a Free Strategy Call