How to Set Up Enhanced Conversions in Google Ads?

Alexandre Airvault
January 19, 2026

Enhanced Conversions in Google Ads: what it is (and what it isn’t)

Enhanced Conversions is a conversion-measurement upgrade that supplements your existing Google Ads conversion tag by sending hashed first‑party customer data (typically email, phone, and/or address details) alongside the conversion. The hashing is one-way (SHA256), and the goal is to improve matching to signed-in users so Google Ads can attribute more conversions back to the ad interactions that actually drove them. In practical terms, this usually means more complete conversion reporting and stronger Smart Bidding optimization because the system is learning from a cleaner, less “leaky” measurement signal.

It’s important to set expectations: Enhanced Conversions doesn’t replace your conversion tag—it enhances it. You still need a properly firing conversion action. Enhanced Conversions also isn’t a shortcut around consent, policies, or data quality. If your base tracking is broken, Enhanced Conversions won’t fix that; it will simply enhance whatever you’re already measuring.

Enhanced Conversions “for web” vs “for leads” (choose the right path)

Enhanced Conversions for web is for on-site conversions you measure with a website tag (purchase confirmations, sign-ups, key page views, button clicks). The hashed data is collected on your site at conversion time (or earlier in the same session, depending on setup) and sent with the web conversion.

Enhanced Conversions for leads is for advertisers who import offline outcomes (qualified lead, opportunity, closed-won) back into Google Ads. The setup is two-part: you collect hashed user-provided data on your website lead form, then you import offline conversions that include the same hashed identifiers so the match-back is stronger—even when traditional identifiers are missing or incomplete.

Pre-flight checklist (the stuff that prevents 80% of setup failures)

Before you touch tags, get these fundamentals right. This is the difference between a clean launch and a frustrating week of “it says it’s on, but nothing’s working.”

  • You have a working Google Ads conversion action. Confirm it fires on the correct trigger (confirmation page, button click, form submit, etc.) and isn’t double-counting.
  • You know where the customer data exists. Enhanced Conversions needs at least one usable identifier. Email is the best starting point. If you’re using address, you need the required fields (more on that below).
  • You can comply with customer data requirements. You’ll be prompted to accept customer data terms. Data sent before acceptance won’t be processed.
  • Pick one implementation method and stick to it. Enhanced Conversions can be managed via the Google tag, Google Tag Manager, or the API. If you select one method in Google Ads but send data through a different method, that data may not be processed.
  • If you’re doing Enhanced Conversions for leads, enable auto-tagging. This is a foundational requirement for solid click-to-lead stitching.

One more “gotcha” I still see in audits: Enhanced Conversions does not support conversions measured by importing certain goal-based conversions. If you want Enhanced Conversions benefits, you typically need a Google Ads conversion action that’s implemented with the Google tag or Google Tag Manager (or via API), rather than relying on goal imports.

Step-by-step: set up Enhanced Conversions for web (most common)

1) Enable Enhanced Conversions (account-level + terms)

In today’s Google Ads UI, Enhanced Conversions is increasingly handled at the account level. When you turn it on, you’ll select how you plan to collect and manage user-provided data (Google tag, Google Tag Manager, or API). New conversion actions can inherit these account-level settings, and existing ones may be upgraded unless they were explicitly opted out.

Practically, this means you should decide your long-term “standard” (Google tag vs GTM) before rolling this across dozens of conversion actions. If you’re a GTM-led organization, keep it consistent and manage Enhanced Conversions there.

2) Choose your collection approach (automatic vs specified vs code)

For Enhanced Conversions for web, you generally have three collection approaches:

Automatic detection works well for many advertisers because it requires minimal development work. Your tag inspects the page for patterns that match the configured data types. You can also set exclusions if there are page elements you don’t want scanned.

Specify CSS selectors or JavaScript variables is the “middle ground” when you want control without building a full custom data layer implementation. You identify the page elements (or JS variables) that contain the values and configure the tag to pull from those locations.

Add a code snippet is the most controlled and, in my experience, the most reliable at scale. You explicitly pass user data to the tag when the conversion happens (or before), which reduces the risk of layout changes breaking your selectors.

3) Implement with the Google tag (direct site tag)

If your conversion tracking is implemented directly with the Google tag on your website (not inside an iframe or a third-party tool), the cleanest approach is usually either “automatic detection” as a quick win or a “code snippet” for the most durable setup.

When using a code-based approach, the typical pattern is setting a user_data object (unhashed or pre-hashed) so the tag can normalize/hash and send it. You can optionally provide multiple values (for example, multiple emails) to improve match likelihood. Conceptually, it looks like this:

<script>
gtag('set', 'user_data', {
 email: yourEmailVariable,
 phone_number: yourPhoneVariable,
 address: {
   first_name: yourFirstNameVariable,
   last_name: yourLastNameVariable,
   street: yourStreetVariable,
   city: yourCityVariable,
   region: yourRegionVariable,
   postal_code: yourPostalCodeVariable,
   country: yourCountryVariable
 }
});
</script>

If you send phone numbers, formatting matters. Phone numbers should be in E.164 format (country code included, no spaces or punctuation). If you’re sending address data, make sure you’re including the required address components (don’t assume “some address data” is good enough).

4) Implement with Google Tag Manager (recommended for most teams)

If your site is managed via GTM, you can enable Enhanced Conversions in Google Ads and then complete the setup in GTM. You’ll typically manage user-provided data collection through your tag settings, and you can choose automatic detection, specify selectors/variables, or use a code-oriented configuration.

Two GTM realities to be aware of:

First, if your customer data is not present on the final conversion page (common on modern checkouts and single-page apps), you may need to collect the data earlier in the session and connect it to the later conversion. That’s where the “user-provided data event” approach becomes useful.

Second, don’t ignore click data persistence. Conversion measurement depends on reliably storing click information. GTM’s Conversion Linker is designed for this. If your container loads a Google tag on every page, you may not need an additional Conversion Linker tag. Also note that containers with Google Ads and Floodlight tags automatically load a Google tag first before sending events (a behavior that rolled out starting April 10, 2025), which changes how some legacy containers should be structured.

Step-by-step: Enhanced Conversions for leads (offline outcomes imported back)

1) Collect the right identifier on your lead form

Start by selecting the identifier you’ll use end-to-end—meaning it’s captured on the website lead form and also stored in your CRM so it can be included in your offline conversion import. Email is typically the best default because it’s unique and less likely to be reformatted by systems downstream. Phone can work too, but it needs to be consistently formatted and include country code.

2) Enable Enhanced Conversions for leads and configure collection in GTM or the Google tag

The on-site piece is about capturing hashed user-provided data at the right moment—usually at form submission. In GTM, this often uses a dedicated “user-provided data event” tag with a trigger tied to the form submission (the timing matters; fire when the data is actually available in the DOM/data layer).

Be deliberate about your collection mode:

  • Automatic collection can be fast to deploy but may have limitations (for example, phone collection may not be supported in some automatic approaches).
  • Manual configuration is ideal when you want to explicitly map fields (email, phone) from your data layer or DOM variables.
  • Code configuration is best when you have developers available and want maximum control and consistency.

3) Import offline conversions with the same hashed identifiers

This is the step many advertisers underestimate. Enhanced Conversions for leads only pays off when your offline import includes the same hashed customer data you captured on-site (in addition to whatever identifiers you already import). Most mature advertisers automate this via an integration layer or API-based import so the process is consistent, timely, and less error-prone.

Validate, troubleshoot, and optimize (what I check in real accounts)

Validate immediately after launch (don’t wait for “results”)

After publishing changes, perform a test conversion and validate that the enhanced conversion parameter is being sent. This is best done the same day you deploy—while your dev or tag team still has context and can fix issues quickly.

In a basic network-level validation, you’re looking for conversion requests and evidence that hashed identifiers are included. If you’re not seeing enhanced data on the request payload, your configuration is incomplete (or firing at the wrong time).

Use diagnostics and give it time to learn

Enhanced Conversions typically requires a learning/training period (often up to 30 days) before you can see impact reflected clearly in reporting. During this time, your standard conversion tracking should continue to work normally. Once integrated, you may see status messaging that indicates enhanced conversions are being recorded, and you may temporarily see an “impact” view that shows uplift for a limited time window.

The most common issues (and the fastest fixes)

  • Customer data terms not accepted: If terms aren’t accepted, enhanced conversion data won’t be processed. Fix this first before debugging tags.
  • Wrong method selected in settings: If you selected “Google tag” in settings but you’re sending via GTM or API (or vice versa), data may not be processed. Align the method selection with reality.
  • Missing required address fields: If you send address, ensure you include the required components (commonly country, first name, last name, and postal code). Incomplete address data can trigger setup alerts and reduce match quality.
  • Data not available when the tag fires: This is the #1 GTM timing problem. The conversion fires on a confirmation page, but the email was only present on a prior step. Solve this by collecting earlier in-session data appropriately.
  • Phone formatting issues: Enforce E.164 format. Inconsistent phone data is a silent match-rate killer.
  • Automatic collection underperforms: If you’re using automatic detection and diagnostics suggest limited benefit, graduate to a manual/code-based approach for consistency.

My expert tip: optimize for “coverage” before you obsess over “match rate”

In most accounts, the quickest win is improving coverage—the percentage of eligible conversion events that actually include usable user-provided data. You can’t match what you never send. Once coverage is solid, you improve match rate by sending higher-quality identifiers (email first, then phone and address where appropriate), tightening formatting/normalization, and ensuring collection occurs at the right time.

Let AI handle
the Google Ads grunt work

Try our AI Agents now
Section What it covers Key implementation points Related Google Ads documentation
What Enhanced Conversions are (and aren’t) Explains Enhanced Conversions as a measurement upgrade that sends hashed first‑party customer data (email, phone, address) with your existing conversion tag to improve attribution and Smart Bidding performance.
  • Uses one-way SHA256 hashing of user-provided data.
  • Improves match to signed-in users and fills in “missing” conversions.
  • Does not replace your base conversion tag; requires a properly firing conversion action.
  • Does not bypass consent, policy, or poor tracking quality.
Enhanced Conversions for web vs. for leads Clarifies when to choose Enhanced Conversions for web (on-site actions) versus Enhanced Conversions for leads (offline outcomes imported back into Google Ads).
  • For web: Use for site-based conversions tracked with a website tag (purchases, sign-ups, key events). Hashed data is captured on-site at or before conversion.
  • For leads: Use when you import offline lifecycle stages (qualified lead, opportunity, closed-won) from CRM or backend.
  • For leads, you must capture hashed identifiers on the form and reuse the same identifiers in offline imports.
Pre-flight checklist Highlights prerequisites that prevent most setup failures before touching tags or code.
  • Confirm your Google Ads conversion action is firing correctly and not double-counting.
  • Know which identifiers you can reliably collect (email preferred; address requires specific fields).
  • Accept customer data terms before sending data; anything sent earlier won’t be processed.
  • Choose one implementation method (Google tag, Google Tag Manager, or API) and stay consistent.
  • For leads, ensure auto-tagging is enabled to stitch clicks to leads.
  • Avoid relying on unsupported goal-import–only setups if you want Enhanced Conversions benefits.
Step-by-step: Enhanced Conversions for web – enable at account level Describes turning on Enhanced Conversions in the Google Ads UI and selecting a global implementation method.
  • Enable Enhanced Conversions at the account level in Google Ads.
  • Select your collection method (Google tag, GTM, or API) and use it consistently.
  • New conversion actions inherit these account-level settings; existing ones may be upgraded unless opted out.
  • Decide on a long-term standard (typically GTM for tag-managed teams) before rolling out widely.
Step-by-step: Enhanced Conversions for web – data collection modes Covers the three main ways to collect user-provided data for web conversions.
  • Automatic detection: Tag scans the page for fields that match configured data types; supports exclusions.
  • Specify CSS selectors / JS variables: Map specific elements or variables without building a full data layer.
  • Code snippet: Most controlled and durable; you explicitly pass user data to the tag at or before conversion.
  • Code-based approaches are generally more resilient to layout or DOM changes.
Step-by-step: Implement with the Google tag (direct site tag) Shows how to configure Enhanced Conversions when conversions fire via a directly implemented Google tag.
  • Use automatic detection as a quick option or a dedicated code snippet for robust setups.
  • Set a user_data object that includes email, phone, and/or address fields; tag will normalize/hash as needed.
  • You can pass multiple values per field (for example, multiple emails) to improve match rates.
  • Format phone numbers in E.164 (country code, no spaces or punctuation).
  • Ensure required address components are present if sending address data (country, first name, last name, postal code, etc.).
Step-by-step: Implement with Google Tag Manager Describes how to set up Enhanced Conversions through GTM and handle real-world tag management constraints.
  • Enable Enhanced Conversions in Google Ads, then complete configuration within GTM.
  • Choose between automatic, manual (selectors/variables), or code-based user data configuration.
  • If customer data isn’t available on the confirmation page (for example, SPAs), capture it earlier and send a dedicated “user-provided data” event.
  • Ensure click data persistence via Conversion Linker or by loading a Google tag on every page; newer containers with Google Ads or Floodlight tags automatically load a Google tag first.
Step-by-step: Enhanced Conversions for leads – choose identifiers Focuses on selecting the identifier you will use end-to-end for lead capture and offline import.
  • Pick an identifier that is captured on the lead form and stored in your CRM (email is usually best).
  • Ensure the identifier is stable and consistently formatted across systems.
  • Phone can work if you standardize format and always include country code.
Step-by-step: Enhanced Conversions for leads – on-site capture Explains how to capture hashed user-provided data at form submission using GTM or the Google tag.
  • Use a “user-provided data event” pattern in GTM with a trigger on form submission.
  • Fire the tag when data is actually available in the DOM or data layer.
  • Choose between automatic collection, manual field mapping, or code configuration based on your dev resources.
  • Ensure timing is correct so that all required fields are captured reliably.
Step-by-step: Enhanced Conversions for leads – offline imports Covers importing offline outcomes that include the same hashed identifiers captured on the site.
  • Offline conversion imports must include the same hashed customer data used at lead capture.
  • Recommended to automate import via integration layer or API for consistency and timeliness.
  • Ensure that your conversion actions are configured as “Import from clicks” and that each offline stage has its own action if needed.
Validation and immediate post-launch checks Describes how to validate that Enhanced Conversions are firing correctly right after deployment.
  • Perform a test conversion the same day you publish changes.
  • Use network or tag debugging tools to inspect conversion requests and confirm hashed identifiers are present.
  • If enhanced data isn’t visible in the payload, configuration is incomplete or firing at the wrong time.
Diagnostics, learning period, and impact Explains the learning period and diagnostic messaging you can expect once Enhanced Conversions are live.
  • Allow up to ~30 days for Enhanced Conversions to fully train and show clear reporting impact.
  • Standard conversion tracking continues to function during this learning period.
  • Watch for status messages that confirm Enhanced Conversions are recording and, where available, uplift/impact views.
Common issues and quick fixes Lists the most frequent configuration problems and how to resolve them efficiently.
  • Customer data terms not accepted: Enhanced data won’t be processed until terms are accepted.
  • Method mismatch: Ensure account-level method (Google tag, GTM, API) matches actual implementation.
  • Missing required address fields: Provide all required components to avoid alerts and weak matching.
  • Data timing issues: Collect data earlier if it’s not available when the conversion fires (common in GTM setups).
  • Phone formatting: Normalize to E.164 to avoid silent match failures.
  • Automatic collection underperformance: Move to manual or code-based configuration for better consistency.
Optimization mindset: coverage before match rate Recommends focusing on increasing the share of conversions with usable user data before optimizing match rates.
  • First, maximize coverage: ensure as many eligible conversions as possible include usable identifiers.
  • Then improve match rate by:
    • Prioritizing higher-quality identifiers (email, then phone and address).
    • Standardizing formatting and normalization (especially for phone and address).
    • Ensuring collection occurs at the right time in the flow.

Let AI handle
the Google Ads grunt work

Try our AI Agents now

If you’re setting up Enhanced Conversions in Google Ads, it helps to treat it like any tracking upgrade: get the basics firing cleanly first, choose a single implementation path (Google tag, GTM, or API), and then validate quickly so you’re not troubleshooting blind during the learning period. Once measurement is reliable, Blobr can be a useful companion on the performance side: it connects to your Google Ads account and runs specialized AI agents that continuously analyze what’s changing and suggest concrete optimizations (like ad copy improvements or extension updates), so your bidding and reporting can benefit from stronger data without you having to babysit the account every day.

Enhanced Conversions in Google Ads: what it is (and what it isn’t)

Enhanced Conversions is a conversion-measurement upgrade that supplements your existing Google Ads conversion tag by sending hashed first‑party customer data (typically email, phone, and/or address details) alongside the conversion. The hashing is one-way (SHA256), and the goal is to improve matching to signed-in users so Google Ads can attribute more conversions back to the ad interactions that actually drove them. In practical terms, this usually means more complete conversion reporting and stronger Smart Bidding optimization because the system is learning from a cleaner, less “leaky” measurement signal.

It’s important to set expectations: Enhanced Conversions doesn’t replace your conversion tag—it enhances it. You still need a properly firing conversion action. Enhanced Conversions also isn’t a shortcut around consent, policies, or data quality. If your base tracking is broken, Enhanced Conversions won’t fix that; it will simply enhance whatever you’re already measuring.

Enhanced Conversions “for web” vs “for leads” (choose the right path)

Enhanced Conversions for web is for on-site conversions you measure with a website tag (purchase confirmations, sign-ups, key page views, button clicks). The hashed data is collected on your site at conversion time (or earlier in the same session, depending on setup) and sent with the web conversion.

Enhanced Conversions for leads is for advertisers who import offline outcomes (qualified lead, opportunity, closed-won) back into Google Ads. The setup is two-part: you collect hashed user-provided data on your website lead form, then you import offline conversions that include the same hashed identifiers so the match-back is stronger—even when traditional identifiers are missing or incomplete.

Pre-flight checklist (the stuff that prevents 80% of setup failures)

Before you touch tags, get these fundamentals right. This is the difference between a clean launch and a frustrating week of “it says it’s on, but nothing’s working.”

  • You have a working Google Ads conversion action. Confirm it fires on the correct trigger (confirmation page, button click, form submit, etc.) and isn’t double-counting.
  • You know where the customer data exists. Enhanced Conversions needs at least one usable identifier. Email is the best starting point. If you’re using address, you need the required fields (more on that below).
  • You can comply with customer data requirements. You’ll be prompted to accept customer data terms. Data sent before acceptance won’t be processed.
  • Pick one implementation method and stick to it. Enhanced Conversions can be managed via the Google tag, Google Tag Manager, or the API. If you select one method in Google Ads but send data through a different method, that data may not be processed.
  • If you’re doing Enhanced Conversions for leads, enable auto-tagging. This is a foundational requirement for solid click-to-lead stitching.

One more “gotcha” I still see in audits: Enhanced Conversions does not support conversions measured by importing certain goal-based conversions. If you want Enhanced Conversions benefits, you typically need a Google Ads conversion action that’s implemented with the Google tag or Google Tag Manager (or via API), rather than relying on goal imports.

Step-by-step: set up Enhanced Conversions for web (most common)

1) Enable Enhanced Conversions (account-level + terms)

In today’s Google Ads UI, Enhanced Conversions is increasingly handled at the account level. When you turn it on, you’ll select how you plan to collect and manage user-provided data (Google tag, Google Tag Manager, or API). New conversion actions can inherit these account-level settings, and existing ones may be upgraded unless they were explicitly opted out.

Practically, this means you should decide your long-term “standard” (Google tag vs GTM) before rolling this across dozens of conversion actions. If you’re a GTM-led organization, keep it consistent and manage Enhanced Conversions there.

2) Choose your collection approach (automatic vs specified vs code)

For Enhanced Conversions for web, you generally have three collection approaches:

Automatic detection works well for many advertisers because it requires minimal development work. Your tag inspects the page for patterns that match the configured data types. You can also set exclusions if there are page elements you don’t want scanned.

Specify CSS selectors or JavaScript variables is the “middle ground” when you want control without building a full custom data layer implementation. You identify the page elements (or JS variables) that contain the values and configure the tag to pull from those locations.

Add a code snippet is the most controlled and, in my experience, the most reliable at scale. You explicitly pass user data to the tag when the conversion happens (or before), which reduces the risk of layout changes breaking your selectors.

3) Implement with the Google tag (direct site tag)

If your conversion tracking is implemented directly with the Google tag on your website (not inside an iframe or a third-party tool), the cleanest approach is usually either “automatic detection” as a quick win or a “code snippet” for the most durable setup.

When using a code-based approach, the typical pattern is setting a user_data object (unhashed or pre-hashed) so the tag can normalize/hash and send it. You can optionally provide multiple values (for example, multiple emails) to improve match likelihood. Conceptually, it looks like this:

<script>
gtag('set', 'user_data', {
 email: yourEmailVariable,
 phone_number: yourPhoneVariable,
 address: {
   first_name: yourFirstNameVariable,
   last_name: yourLastNameVariable,
   street: yourStreetVariable,
   city: yourCityVariable,
   region: yourRegionVariable,
   postal_code: yourPostalCodeVariable,
   country: yourCountryVariable
 }
});
</script>

If you send phone numbers, formatting matters. Phone numbers should be in E.164 format (country code included, no spaces or punctuation). If you’re sending address data, make sure you’re including the required address components (don’t assume “some address data” is good enough).

4) Implement with Google Tag Manager (recommended for most teams)

If your site is managed via GTM, you can enable Enhanced Conversions in Google Ads and then complete the setup in GTM. You’ll typically manage user-provided data collection through your tag settings, and you can choose automatic detection, specify selectors/variables, or use a code-oriented configuration.

Two GTM realities to be aware of:

First, if your customer data is not present on the final conversion page (common on modern checkouts and single-page apps), you may need to collect the data earlier in the session and connect it to the later conversion. That’s where the “user-provided data event” approach becomes useful.

Second, don’t ignore click data persistence. Conversion measurement depends on reliably storing click information. GTM’s Conversion Linker is designed for this. If your container loads a Google tag on every page, you may not need an additional Conversion Linker tag. Also note that containers with Google Ads and Floodlight tags automatically load a Google tag first before sending events (a behavior that rolled out starting April 10, 2025), which changes how some legacy containers should be structured.

Step-by-step: Enhanced Conversions for leads (offline outcomes imported back)

1) Collect the right identifier on your lead form

Start by selecting the identifier you’ll use end-to-end—meaning it’s captured on the website lead form and also stored in your CRM so it can be included in your offline conversion import. Email is typically the best default because it’s unique and less likely to be reformatted by systems downstream. Phone can work too, but it needs to be consistently formatted and include country code.

2) Enable Enhanced Conversions for leads and configure collection in GTM or the Google tag

The on-site piece is about capturing hashed user-provided data at the right moment—usually at form submission. In GTM, this often uses a dedicated “user-provided data event” tag with a trigger tied to the form submission (the timing matters; fire when the data is actually available in the DOM/data layer).

Be deliberate about your collection mode:

  • Automatic collection can be fast to deploy but may have limitations (for example, phone collection may not be supported in some automatic approaches).
  • Manual configuration is ideal when you want to explicitly map fields (email, phone) from your data layer or DOM variables.
  • Code configuration is best when you have developers available and want maximum control and consistency.

3) Import offline conversions with the same hashed identifiers

This is the step many advertisers underestimate. Enhanced Conversions for leads only pays off when your offline import includes the same hashed customer data you captured on-site (in addition to whatever identifiers you already import). Most mature advertisers automate this via an integration layer or API-based import so the process is consistent, timely, and less error-prone.

Validate, troubleshoot, and optimize (what I check in real accounts)

Validate immediately after launch (don’t wait for “results”)

After publishing changes, perform a test conversion and validate that the enhanced conversion parameter is being sent. This is best done the same day you deploy—while your dev or tag team still has context and can fix issues quickly.

In a basic network-level validation, you’re looking for conversion requests and evidence that hashed identifiers are included. If you’re not seeing enhanced data on the request payload, your configuration is incomplete (or firing at the wrong time).

Use diagnostics and give it time to learn

Enhanced Conversions typically requires a learning/training period (often up to 30 days) before you can see impact reflected clearly in reporting. During this time, your standard conversion tracking should continue to work normally. Once integrated, you may see status messaging that indicates enhanced conversions are being recorded, and you may temporarily see an “impact” view that shows uplift for a limited time window.

The most common issues (and the fastest fixes)

  • Customer data terms not accepted: If terms aren’t accepted, enhanced conversion data won’t be processed. Fix this first before debugging tags.
  • Wrong method selected in settings: If you selected “Google tag” in settings but you’re sending via GTM or API (or vice versa), data may not be processed. Align the method selection with reality.
  • Missing required address fields: If you send address, ensure you include the required components (commonly country, first name, last name, and postal code). Incomplete address data can trigger setup alerts and reduce match quality.
  • Data not available when the tag fires: This is the #1 GTM timing problem. The conversion fires on a confirmation page, but the email was only present on a prior step. Solve this by collecting earlier in-session data appropriately.
  • Phone formatting issues: Enforce E.164 format. Inconsistent phone data is a silent match-rate killer.
  • Automatic collection underperforms: If you’re using automatic detection and diagnostics suggest limited benefit, graduate to a manual/code-based approach for consistency.

My expert tip: optimize for “coverage” before you obsess over “match rate”

In most accounts, the quickest win is improving coverage—the percentage of eligible conversion events that actually include usable user-provided data. You can’t match what you never send. Once coverage is solid, you improve match rate by sending higher-quality identifiers (email first, then phone and address where appropriate), tightening formatting/normalization, and ensuring collection occurs at the right time.