Google Ads Enhanced Conversions: Setup Guide and the Limits Google Won't Mention

MJ
Marcus Johnson
| 9 min read Integrations January 4, 2026

The short answer: Enhanced conversions send hashed first-party data (email, phone, address) alongside your Google Ads conversion events, letting Google match conversions to signed-in users that cookies alone miss. Setup takes minutes in the Google tag or GTM. Expect a 5 to 15 percent lift in reported conversions, but only for events your tag already captures.

Google’s own documentation ranks first for this keyword and tells you exactly how to flip the switch. What it does not tell you is what enhanced conversions can and cannot recover, which is why the r/PPC thread asking “why do we even need this” ranks two spots below it. This guide covers both: the setup, and the honest boundaries.

What enhanced conversions actually do

When someone converts on your site, your Google tag normally reports the conversion with whatever identifier the browser still holds, primarily the gclid cookie. If that cookie is gone (Safari’s 7-day cap, cookie clearing, cross-device journeys), Google cannot connect the conversion to the click, and your campaign under-reports.

Enhanced conversions add a second matching key. At conversion time, the tag captures first-party data your customer already gave you (email address, phone number, name and address), hashes it in the browser with SHA256, and sends the hash along with the conversion event. Google matches that hash against its signed-in user base and recovers attributions the cookie lost. The raw data never leaves in plaintext; Google receives only hashes it can compare against its own hashed records.

That is the whole mechanism: an extra join key made of hashed PII. Understanding it this way makes the limits obvious later.

There are two flavors. Enhanced conversions for web covers on-site conversions, and is what this guide sets up. Enhanced conversions for leads covers offline funnels where a form fill becomes a sale later in your CRM; it pairs with the offline upload flows covered in our google ads conversion tracking guide.

Before you start

You need three things in place:

  1. Conversion tracking already working (enhanced conversions enhance events, they do not create them).
  2. First-party data available on the conversion page: an email on the order confirmation, a phone number in the form state, anything the customer submitted.
  3. The customer data terms accepted in Google Ads (Tools and Settings, then Conversions, select the action, accept the terms under Enhanced conversions).

The three setup methods

Method 1: Google tag, automatic collection (fastest)

In your conversion action settings, turn on enhanced conversions and choose the Google tag with automatic detection. The tag scans the conversion page for fields that look like emails and phone numbers and hashes whatever it finds.

This works well on straightforward checkout pages and badly everywhere else. If your confirmation page does not render the customer’s email in the DOM, there is nothing to detect, and automatic mode silently sends nothing. Which brings us to the diagnostic habit this feature demands: never trust the toggle, verify the data.

The reliable route. Expose the customer data in your data layer at conversion time, then reference it explicitly.

// On the conversion page, before the conversion event fires
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
  event: 'purchase_complete',
  customer_email: 'jane@example.com',   // populate server-side into the template
  customer_phone: '+15551234567',       // E.164 format
  customer_first_name: 'Jane',
  customer_last_name: 'Doe',
  customer_postal_code: '94105'
});

In GTM, create a User-Provided Data variable of type Manual Configuration, map each field to a Data Layer Variable, and attach the user-provided data variable to your Google Ads conversion tag. GTM handles the SHA256 hashing before anything is transmitted.

Formatting matters more than the documentation suggests: emails lowercase and trimmed, phone numbers in E.164 with country code, no placeholder junk like “test@test.com” from your QA flows. Malformed data hashes to values Google can never match, and you will not get an error, just a quietly useless match rate.

Method 3: Enhanced conversions via API

If conversions complete off the page (server-rendered flows, headless checkouts, delayed confirmations), you can send hashed user data directly through the Google Ads API alongside conversion adjustments. This is the most robust method and the most engineering-heavy, and at that point you are halfway to proper server side tracking anyway, which solves a wider set of problems for the same effort.

Enhanced conversions for leads: the offline sibling

If your conversions finish in a CRM rather than on a thank-you page (demos booked, quotes signed, deals closed weeks after the click), enhanced conversions for leads is the variant built for you. The flow inverts: the tag captures and hashes the email or phone number at form submission, and later, when the lead becomes revenue, you upload the same hashed identifier with the conversion details. Google joins the two ends without you ever storing a gclid in your CRM, which was the fragile step that broke most offline setups.

Two practical notes. First, the identifier you upload must be normalized identically to what the tag captured (lowercase, trimmed, E.164 for phones) or the join silently fails. Second, this pairs with, rather than replaces, standard offline conversion imports; use leads when click IDs are impractical to pipe through your CRM.

In consent-required regions the two features interlock. When a user declines, consent mode stops the tag from sending identifiable data, enhanced conversions included, and Google falls back to modeled conversions to fill the statistical gap. The practical implication: your enhanced conversions match rate is capped by your consent rate, so a poor consent banner quietly costs you measurement twice, once in cookies and again in hashes. If your consent opt-in rate is low, fixing the banner UX is often worth more reported conversions than any tag configuration change.

Verifying it works

Give Google 48 to 72 hours, then check Tools and Settings, Conversions, select your action, and open the Diagnostics tab. You want to see “Recording enhanced conversions” with a healthy match rate.

The common failure states and their usual causes:

Diagnostics messageUsual cause
No enhanced conversions recordedData not present on page, or terms not accepted
Low match rateMalformed emails/phones, placeholder data, hashing the wrong field
Tag not detectedConversion firing before user data pushes to the data layer

The limit that matters: a patch, not a fix

Here is the part the setup guides skip, and it is the only strategic thing you need to understand about this feature.

Enhanced conversions only enhance conversions your tag already saw. The mechanism runs inside the Google tag, in the browser. When an ad blocker stops that tag from loading, or a content blocker kills the outbound request, there is no event to enhance. No hash gets sent. Nothing is recovered. The 25 to 35 percent of your audience running blockers remains exactly as invisible as before you flipped the toggle.

So the honest accounting looks like this: browser tracking loses conversions through two doors. Door one, the tag fires but attribution fails (cookie expired, cross-device). Enhanced conversions close much of door one, which is where the typical 5 to 15 percent reported lift comes from. Door two, the tag never fires at all. Enhanced conversions do nothing about door two, and door two is the bigger one for most advertisers.

Closing door two requires moving conversion capture off the browser entirely, onto a first-party server path that blockers do not touch. That is what Convultra’s server side conversion tracking does: one line of JavaScript, conversions captured server-side with click IDs preserved, delivered to Google (and Meta, Microsoft, TikTok) by API with hashed first-party data included, the same enhanced-conversions matching, plus the events your tag never saw. Run enhanced conversions and server-side together and both doors close; that combination is how accounts get from the mid-60s to 95 to 98 percent measured accuracy.

Enhanced conversions are free, low-effort, and worth enabling this week. Just do not mistake the patch for the fix.

FAQ

What are enhanced conversions in Google Ads?

Enhanced conversions are a Google Ads feature that sends hashed first-party customer data, such as email and phone number, along with conversion events. Google matches the hashes against signed-in accounts to attribute conversions that cookie-based tracking loses, improving reported accuracy without exposing raw customer data.

How much do enhanced conversions improve tracking?

Google and most practitioners report a 5 to 15 percent lift in measured conversions, varying with how much first-party data you capture and how cookie-hostile your audience’s browsers are. The lift applies only to events your conversion tag successfully fired.

Are enhanced conversions the same as server-side tracking?

No. Enhanced conversions improve matching for browser-captured events but still depend on the Google tag loading and firing. Server-side tracking captures and delivers events outside the browser, recovering conversions blocked tags never report. They are complementary, and serious setups use both.

Do enhanced conversions require a developer?

The automatic Google tag method requires none, but it only works when customer data is visible on the conversion page. The recommended GTM method needs someone comfortable with the data layer, typically under an hour of work. API setups need engineering time.

Are enhanced conversions privacy compliant?

The data is SHA256-hashed in the browser before transmission, and Google compares hashes rather than raw values. You still need user consent for conversion measurement in consent-required regions, and enhanced conversions respect Google’s consent mode signals.

Close both gaps this week

Enhanced conversions patch the attribution gap, and Convultra closes the capture gap: one line of JavaScript that recovers the conversions blocked tags never report to Google at all. Start your free trial and see both fixes working together within a day.

MJ

Written by Marcus Johnson

Technical Writer

Contributing author at Convultra. Sharing insights on conversion tracking, marketing attribution, and growth strategies.

Enjoyed this article?

Get more conversion optimization tips delivered to your inbox weekly.