Enhanced conversions can't fix what your underlying tracking gets wrong
TL;DR
Most accounts adopting enhanced conversions hope it'll fix attribution. It improves measurement on clean foundations and does very little on broken ones. The pattern I see in audits: duplicate event tracking and GA4 web import standing in for custom events. Enhanced conversions can't reach those.
Enhanced conversions adoption keeps climbing across the Google Ads accounts I audit. Marketers add it expecting it to fix attribution issues: count more conversions, recover the data lost to cookie blocking, line up the numbers between Google Ads and GA4.
Google's own figures cite a 5% uplift on Search and 17% on YouTube, with cookie-deleted recovery in the 5–25% range. That's a real gain. The question this post asks isn't whether enhanced conversions works. It does. The question is what it can fix and what sits outside its reach.
What enhanced conversions actually does
Enhanced conversions takes first-party data the user has already given you (typically email, sometimes phone or address) and sends a hashed version back to Google when a conversion fires. Google matches that hashed identifier against its own logged-in users and recovers attribution for conversions that were happening but couldn't otherwise be tied back to a click: users who reject cookies, switch devices between ad click and conversion, or browse in private mode.
There are two implementation routes. The tag-based version uses Google Tag (or Google Tag Manager) to read the customer's email or phone from the conversion confirmation page and pass it through automatically. The API-based version (Enhanced Conversions for Leads) runs server-side and is the route most accounts adopt for offline conversion tracking, for instance when a lead becomes a closed customer in your CRM weeks after the original click.
Once it's running, Google's measurement model fills gaps that cookie-based attribution alone leaves behind. The figures Google publishes: 5% uplift on Search, 17% on YouTube, and 5–25% in cookie-deleted recovery. They're the upper bound, and they assume the rest of your tracking is doing its job.
From April 2026, Google Ads is accepting user-provided data from website tags, Data Manager, and API connections simultaneously, removing the need to choose a single implementation route. From June 2026, the web and leads variants are merging into a single on/off setting. The mechanics keep simplifying. What they sit on top of doesn't.
What it can't fix
Pattern 1: duplicate event tracking
Same conversion firing twice. Usually because the same purchase is hitting Google Ads through more than one route: once via the Google Tag on the confirmation page, once via a GTM trigger on the same page; or once via direct conversion action setup, once via GA4 import. Enhanced conversions adds first-party data to whatever events arrive at Google's end. If the events are doubled, the data is doubled too.
Google's documented fix is a transaction ID, a unique identifier passed with the conversion that lets Google's end deduplicate when the same ID arrives twice. Most accounts I audit haven't implemented it.
The tell: your Google Ads conversion count is consistently higher than your actual order count or qualified lead count. The mismatch grows linearly with volume because the duplication is structural.
Pattern 2: GA4 web import standing in for custom event tracking
The account is using GA4 conversion events imported into Google Ads as the primary conversion source, rather than purpose-built Google Ads conversion actions. This sounds practical (one source, less to maintain), but the GA4 events were built for analytics, not for ad bidding. They often fire on different signals than a true conversion: page views, scroll depth, time on page. Importing them as Google Ads conversions inherits whatever GA4 was tracking, accurate or not.
There's also a structural lag. Native Google Ads conversions update within around three hours under last-click attribution. GA4 imports take up to three days. View-through conversions aren't available for imported actions at all. Google now sets imported actions as "secondary" by default to prevent double-counting against native ones, which is itself a tell that the duplication shows up often.
Enhanced conversions improves the data quality of an import that may not have been the right source to begin with. The match rate goes up. The number it's matching is still measuring the wrong moment.
The tell: your conversion volume looks healthy, but downstream business metrics (revenue, qualified leads, closed deals) don't track with it. The numbers in Google Ads aren't lying. They're just measuring something other than what you think.
Pattern 3: conversion actions firing on the wrong moment
The trigger fires too early. Form submission counted before validation, so failed forms count as conversions. Add-to-cart counted as purchase. Page-load triggers on the confirmation URL when the URL is also reachable through other paths.
A specific pattern worth checking: modern WordPress forms that show a confirmation message in place without redirecting to a thank-you page. If you're still tracking the thank-you page view, you'll record zero conversions while forms are submitting successfully. The reverse also happens: thank-you page view tracking that fires on every reload of the URL, counting one purchase as several.
Enhanced conversions can't fix a trigger that fires at the wrong moment. It hashes whatever first-party data is available at the moment the trigger fires. If the trigger fires too early, the hashed data is for a not-yet-converted user.
The tell: the conversion count looks right, but the customer journey afterwards doesn't match. High counts, low downstream value, customer-success teams not seeing the volume in their pipeline.
Pattern 4: attribution model mismatch between sources
Google Ads conversion action set to data-driven; GA4 source set to last-click; the two are telling different stories about which campaign caused each conversion. Enhanced conversions improves the accuracy of clicks that get attributed. It doesn't reconcile two attribution models talking past each other.
The tell: same conversion event, different campaign credit in Google Ads versus GA4. Reports don't match across surfaces and rebalancing budget based on either one feels arbitrary.
None of these are exotic. All four show up regularly in £10k+/month accounts I audit. Enhanced conversions sits as a measurement layer above all of them and improves the accuracy of whatever it's given. If what it's given is broken upstream, the layer above can't reach down to fix it.
How to spot the order is wrong
Five things worth checking before adding enhanced conversions, or before assuming it isn't working:
- Conversion count gap between Google Ads and GA4. Gaps of 10–20% are normal (different attribution windows, different counting rules, modelling differences). Sustained gaps beyond that suggest something structural, not just methodology.
- Conversion-to-revenue ratio. Pull conversions and revenue side by side over a 30-day window. If the ratio drifts a lot from your historical average, the conversion definition has changed underneath you, usually a duplicate trigger or a wrong firing moment.
- Match rate diagnostic status. Google reports this in the conversion settings as Excellent, Good, Needs Attention, or No recent data. Sustained "Needs Attention" suggests the first-party data being passed isn't reaching matchable users, often a sign the event is firing before the user has actually entered their details.
- Multiple conversion actions for the same goal. Open the conversions settings and count distinct conversion actions. If you have three "purchase" actions or two "lead form submission" actions, you're double-counting unless one is excluded from "Conversions" in the column settings.
- Auto-tagging plus manual UTM tagging. Both running simultaneously usually means source attribution is being decided differently for different campaigns. Enhanced conversions can't reconcile attribution chaos at the source level.
The order that actually works
The order that delivers the uplift Google's case studies cite:
- Audit the conversion actions themselves. Are they firing on the right moment? Is each conversion event a unique trigger, fired once?
- Pick a source of truth. Native Google Ads conversions, GA4 imports, or a mix: pick one for primary measurement and document why. Mixing without documentation is where the duplication usually starts.
- Eliminate duplicates. Each conversion should fire once, in one place. Pass a transaction ID with the conversion so Google can deduplicate at its end. Set the column-level "Counted" toggle to No on duplicate actions if you can't fully retire them.
- Then layer enhanced conversions. Once the foundations are clean, the diagnostic status (Excellent / Good / Needs Attention) becomes a useful signal: it tells you something about your first-party data quality rather than masking structural issues underneath.
- Then optimise bidding strategies. Smart Bidding decides on the conversion data it sees. Inflated counts from duplicates teach it to overbid. Deflated counts from missing triggers teach it to underbid. Accurate data first, optimisation second.
Where this leaves us
The order matters more than the layer. Most accounts skip step 1 to chase step 5, because the cleanup is invisible work and bidding optimisation feels like progress. Enhanced conversions is the right tool. Applied in the right order, it earns the uplift Google cites. Applied out of order, it improves a number that was wrong to begin with.
The work isn't glamorous. It's mostly auditing, documenting, and removing things, the opposite of the tactical optimisation discourse most marketers spend their time in. The accounts I see making real measurement progress are the ones doing the unglamorous work first.