Google Ads · · Last updated: April 21, 2026

Your Google Ads conversion tracking is lying to you

Duplicate conversions, missing attribution windows, and phantom leads. Here's how to tell if your Google Ads data is actually accurate.

Your Google Ads conversion tracking is lying to you

I’ve seen Google Ads report 3x the actual conversions. Not a rounding error. Not a minor discrepancy. Three times the real number. The client was celebrating their “best quarter ever” based on Google Ads data while their CRM showed flat lead volume. Something was very wrong, and they didn’t realize it for four months.

Google Ads conversion tracking looks simple on the surface. Add a tag, define a conversion action, watch the numbers roll in. But under the hood there are attribution windows, counting methods, conversion linker requirements, enhanced conversion configs, and a dozen other settings that can silently inflate or deflate your numbers. Most accounts I audit have at least one significant tracking problem. Many have several.

Let me walk you through the five most common ways Google Ads conversion tracking breaks, how to spot each one, and how to fix them.

1. Duplicate conversions

This is the single most common problem I find. It accounts for roughly half of all conversion tracking issues I see.

Duplicate conversions happen when the same conversion event fires more than once for a single user action. There are a few ways this occurs:

The tag fires on every page load, not just the confirmation page. Someone sets up a conversion tag in GTM with an “All Pages” trigger instead of a specific thank-you page trigger. Every time the user navigates to a new page, Google Ads records a conversion. One lead fill becomes five or six conversions depending on how many pages they visit afterward.

The confirmation page is reachable by refresh or back button. A user submits a form, lands on the thank-you page, then refreshes. The conversion tag fires again. Or they hit the back button, re-submit, and it fires again. Google Ads counts each one.

Multiple conversion tags for the same action. This is more common than you’d think. One person sets up a conversion tag via the Google Ads interface (the global site tag method). Someone else adds a GA4 conversion and imports it into Google Ads. Now the same action is being counted twice through two different mechanisms. I’ve seen setups with three or four overlapping conversion sources for a single purchase event.

How to spot it: Compare Google Ads conversion counts to your actual results. If Google Ads says you got 200 leads last month but your CRM shows 80, you probably have duplicates. Also check: in Google Ads, go to Goals > Conversions > Summary and look at your conversion actions. If you see multiple entries that could represent the same user action (like “Purchase” from Google Ads tag AND “purchase” imported from GA4), you’re likely double-counting.

How to fix it: First, debug your tracking setup and audit all your conversion actions. List every one. Check the source for each (Google Ads tag, imported from GA4, imported from Floodlight, etc.). If multiple actions track the same thing, keep one and remove the rest. Second, for the one you keep, set the counting method correctly. For leads, use “One” (counts one conversion per click). For purchases, “Every” is usually appropriate (counts every transaction). Third, make sure your conversion tag only fires once per conversion event. In GTM, use a trigger that fires on the specific confirmation event or page, and add a trigger exception or tag firing option set to “Once per event.”

2. Wrong attribution window

Google Ads defaults to a 30-day click-through attribution window. That means if someone clicks your ad today and converts 29 days from now, Google Ads takes credit for that conversion. It also defaults to a 1-day view-through window for display and video campaigns.

These defaults are often wrong for specific businesses.

If you’re selling $5 socks, a 30-day window is too long. Most sock purchases happen within hours of the ad click. A 30-day window lets Google Ads claim credit for conversions that probably had nothing to do with the ad.

If you’re selling enterprise software with a 90-day sales cycle, a 30-day window is too short. You’re missing conversions that your ads actually influenced because they happened outside the window. Your cost-per-acquisition looks terrible, and you might cut budget to campaigns that are actually working.

How to spot it: Look at your time-to-conversion data. In Google Ads, go to Insights & Reports > Attribution > Paths, and look at the average time between first click and conversion. If most conversions happen within 3 days but your window is 30, you’re probably overcounting. If conversions regularly take 45 days but your window is 30, you’re undercounting.

How to fix it: Set the attribution window to match your actual sales cycle. Go to Goals > Conversions > Settings for each conversion action and adjust the click-through and view-through windows. For lead gen businesses with short consideration periods, I often use 7-14 day click-through and turn off view-through entirely. For high-value B2B, 60-90 days might be appropriate. There’s no universal right answer. It depends on your business.

3. Conversion linker tag missing or misconfigured

This one is sneaky because everything looks like it’s working. You have your conversion tag in GTM. It fires correctly. You see conversions in Google Ads. But the numbers are lower than they should be, and you can’t figure out why.

The conversion linker tag is a GTM tag that stores Google click identifiers (the gclid parameter) in first-party cookies. Without it, Google Ads can’t connect a click to a later conversion if the user’s browser blocks third-party cookies. Given that most browsers now restrict third-party cookies in some way, this is a big deal.

Not sure if your Google Ads tracking is accurate?I'll audit your conversion setup, find the discrepancies, and fix them so your data reflects reality.

Book a Free Audit →

I’ve audited accounts where adding a properly configured conversion linker tag increased reported conversions by 15-25%. That’s not because more conversions were happening. It’s because conversions that were already happening could finally be attributed to the ad click that caused them.

How to spot it: In GTM, check if you have a Conversion Linker tag. If you don’t, that’s your problem. If you do, check that it fires on All Pages (it needs to be on every page, not just the conversion page). Also check that it’s not blocked by your consent management platform. I see this a lot: the conversion linker exists but only fires after consent, and by that time the gclid has already been lost.

How to fix it: Add a Conversion Linker tag in GTM. Set it to fire on All Pages. If you have consent requirements, the conversion linker should fire on the earliest possible consent tier because it’s storing a first-party cookie for conversion measurement, not doing behavioral tracking. Check your CMP configuration to make sure it’s not blocking it unnecessarily.

4. Enhanced conversions misconfigured

Enhanced conversions is Google’s answer to signal loss from cookie restrictions and iOS tracking changes. It works by sending hashed first-party data (email, phone, name, address) along with your conversion tag. Google matches this hashed data against logged-in Google users to recover conversions that would otherwise be lost.

When it works, it’s genuinely useful. I typically see a 5-15% increase in observable conversions after implementing enhanced conversions properly. The key word is “properly.”

The ways it goes wrong:

Hashing the data twice. Enhanced conversions expects unhashed data that it will hash before sending. If your system pre-hashes the email address and then Google hashes it again, the double-hashed value won’t match anything. You send data, Google receives it, nothing matches, zero benefit. I’ve seen this happen with implementations where the developer read “send hashed data” in some documentation, hashed it on their end, and didn’t realize Google’s tag does the hashing automatically.

Sending the wrong data. The email field needs to contain the customer’s actual email address. Sounds obvious. But I’ve seen implementations where the email variable pulled from the page was the support email address in the footer, or a placeholder from a form field before the user typed anything. Debug your implementation. Check what’s actually being sent.

Not verifying the match rate. After setting up enhanced conversions, Google provides a diagnostic report showing your match rate. If it’s below 60%, something is wrong. I’ve seen accounts where enhanced conversions was “set up” for months with a 3% match rate. Nobody checked. The implementation was pulling empty strings for most conversions.

How to spot it: In Google Ads, go to Goals > Conversions, click on a specific conversion action, and look at the “Enhanced conversions” diagnostics. You’ll see match rate, tag health, and any errors. If you don’t see diagnostics, enhanced conversions isn’t actually sending data, regardless of what your GTM setup looks like.

How to fix it: Verify the implementation end to end. Use GTM’s Preview mode to confirm that the enhanced conversions variables contain actual user data (email, phone) at the moment the conversion tag fires. Make sure you’re sending unhashed data (Google’s tag handles the hashing). Check the diagnostics in Google Ads after a few days to confirm a healthy match rate.

5. Importing GA4 conversions incorrectly

A lot of advertisers import conversions from GA4 into Google Ads instead of using Google Ads’ native conversion tag. There are legitimate reasons to do this. You might want consistent conversion definitions across your analytics and ad platforms. You might find it simpler to manage one set of events in GA4.

But the import introduces a gap that many people don’t account for.

GA4 and Google Ads use different attribution models. This is one of the many headaches that came with the GA4 migration. GA4 uses data-driven attribution by default and attributes conversions across multiple channels. Google Ads uses last-click within Google Ads by default and only cares about Google Ads touchpoints. When you import a GA4 conversion into Google Ads, the conversion count often doesn’t match what either platform shows natively.

Also, there’s a data freshness lag. GA4 data takes up to 24-48 hours to process. Imported conversions can take even longer to appear in Google Ads. If you’re checking Google Ads the same day to see if your new campaign is generating conversions, imported GA4 conversions might not show up yet.

The more subtle issue: GA4 may de-duplicate conversions differently than Google Ads. If a user converts twice, GA4 might count it once (depending on your settings), while Google Ads would count it twice with the native tag (depending on your counting method). Or vice versa. The mismatch creates confusion and erodes trust in the data.

How to spot it: Compare native Google Ads conversion counts with the imported GA4 conversion counts. Look at the same time period. If there’s a consistent discrepancy of more than 10-15%, something’s off. Also check the “Source” column in your conversion actions list. Actions sourced from “Google Analytics 4” are imported.

How to fix it: Decide on your primary conversion source and stick with it. If you import from GA4, don’t also have a native Google Ads tag tracking the same action. If you use native Google Ads tracking, don’t also import the same conversion from GA4. Pick one. My general recommendation: use native Google Ads conversion tags for your primary conversion actions (they’re more reliable for Smart Bidding), and use GA4 for analysis and secondary metrics.

The audit checklist

Here’s my process when I audit Google Ads conversion tracking. You can run through this yourself.

  1. List every conversion action. Go to Goals > Conversions > Summary. Export the list. Note the source (Google Ads tag, GA4 import, etc.), counting method, and attribution window for each.

  2. Check for overlaps. Are multiple conversion actions tracking the same user action? Mark them. Keep one, mark the rest for removal.

  3. Verify firing in GTM Preview. Put your site in GTM Preview mode. Complete a conversion. Check that the tag fires exactly once, at the right moment, with the correct data.

  4. Check the Conversion Linker. Is it in the container? Does it fire on All Pages? Is it blocked by consent?

  5. Review enhanced conversions diagnostics. Is it sending data? What’s the match rate? Are there errors?

  6. Compare platforms. Pull last month’s conversion count from Google Ads. Pull the same metric from GA4. Pull the actual number from your CRM or backend. If these three numbers aren’t within 15% of each other, investigate.

  7. Check attribution windows. Do they match your actual sales cycle? Pull time-to-conversion data to verify.

This whole audit takes about 2-3 hours for a typical account. I do it quarterly for clients with significant ad spend. For smaller accounts, twice a year is usually enough.

Why this matters for your wallet

Bad conversion tracking doesn’t just mean bad reports. It means bad optimization. Google Ads’ Smart Bidding algorithms (Target CPA, Target ROAS, Maximize Conversions) rely entirely on your conversion data to make bidding decisions. If you’re feeding the algorithm duplicate conversions, it thinks your campaigns are performing better than they are. It will bid more aggressively based on phantom results. You spend more money getting fewer real conversions.

The reverse is true too. If you’re undercounting conversions because of a missing conversion linker or broken enhanced conversions, Smart Bidding thinks your campaigns are underperforming. It bids too conservatively. You miss out on volume you could have captured.

I worked with an ecommerce client who increased conversions by fixing their tracking and saw their actual CPA jump from $28 (what Google Ads reported) to $84 (what it really was). That’s a painful realization. But it also meant they could now optimize toward a real number instead of a fantasy. Within two months of running Smart Bidding on accurate data, their actual CPA dropped to $52. Still higher than the fantasy $28, but real, and improving.

Fix your tracking before you optimize your campaigns. Everything else depends on it.

AR

Artem Reiter

Web Analytics Consultant

Related Articles

Need help with your analytics?

Free 30-minute discovery call. I'll look at your setup, tell you what's broken, and whether I can help. No commitment.

Or email directly: artem@reiterweb.com