pixellint

Blog · Enhanced conversions

Google merged enhanced conversions for web and leads. The April 2026 switch is one on/off.

Starting April 2026 Google Ads accepts user-provided data from website tags, Data Manager, and API together. You no longer pick web vs leads as separate implementation modes. Hash email, phone, names, street. Leave city, region, postal, country raw.

That is the Help Center change, not a new hashing tutorial. For years the account asked you to pick a method: Google tag, Google Tag Manager, or API. Sending the other pipe was how user-provided data never processed. The April 2026 line on the settings article is simultaneous accept from website tags, Data Manager, and API connections. The same article says that starting June 2026, enhanced conversions for web and leads combine into a single feature with a simple on/off switch, and you will no longer see different method selections in the account.

On 10 April 2026 the ingest change is the news. The UI merge is the follow-through Google already documented. Existing users who agreed to the customer data terms are auto-migrated. New users turn the setting on and accept the Data Processing Terms. You can still opt out per conversion action.

What the live Help pages actually say

Updates to your enhanced conversions settings (answer 16884284) still publishes the April and June timeline. Starting in April 2026: Google Ads will simultaneously accept user-provided data from website tags, Data Manager, and API connections. Starting in June 2026: web and leads combine into a single feature with a simple on/off switch. The top of that page also dates a 15 June 2026 migration: offline conversions import and enhanced conversions for leads uploads move to the Data Manager API and are blocked in the Google Ads API. Developer tokens that did not send a request between January 2026 and June 2026 will not be allowlisted for legacy access.

The Google tag setup article (answer 13258081) already speaks in present tense as well: enhanced conversions for web and leads are now combined into a single on/off setting, and starting from April 2026 Google Ads accepts user-provided data from website tags, Data Manager, and API connections. It still contains the older warning that if you send data in a way that differs from the method you selected, that data may not be processed. Treat April 2026 as the date Google said simultaneous ingest begins. Do not keep a single-method lock because a leftover sentence in a setup article still describes the old picker.

Account-level toggle: Goals, Settings, Customer data use, Turn on enhanced conversions, then agree to the data terms. Conversion-action-level setup exists too. Analytics imported goals are not supported. Measurement Protocol into GA4 is still not this product.

Hashing did not merge into one blob

Enhanced conversions still supplements conversion tags by sending hashed first-party data so Google can match signed-in Google Accounts. You can send raw values for Google to normalize and hash, or you can pre-hash. Normalization: trim whitespace, lowercase text, E.164 for phones, strip periods before @ in gmail.com and googlemail.com addresses. Hashing: hex SHA-256.

The Google tag and GTM field tables give hashed keys for email, phone, first name, and last name: sha256_email_address, sha256_phone_number, address.sha256_first_name, address.sha256_last_name. City, region, postal_code, and country stay raw in the hashed examples. Street is PII. Google's customer-data policy says only email, phone numbers, first name, last name, and street address should be hashed, and not to hash country, state, city, and zip. If you pre-hash, hash street. Do not SHA-256 the city because a helper hashed the rest of address.

Minimum match keys: email preferred; or address with first name, last name, postal code, and country required. Street, city, and region are optional extras. Phone goes with email or with full name and address. GTM's hashed snippet leaves city, region, postal_code, and country in the clear. Country is ISO 3166-1 alpha-2. Phone is E.164.

If a field is missing, omit it. Do not send an empty string. User-provided data collection does not begin until you accept the terms. Consent Mode: the ads cookie used for some collection methods is subject to ad_storage.

Three pipes, one conversion action

The April change is that a conversion action can be fed by the website tag, Data Manager, and an API connection at the same time. That is the opposite of the old picker. A CRM upload through Data Manager can sit next to gtag user_data on the thank-you page. The hashed email still has to be the same person, normalized the same way, or you are sending two weak keys, not a stronger one.

Leads are in the same on/off as web after the documented June UI merge. The upload path for offline and enhanced conversions for leads still moves to the Data Manager API on 15 June 2026 if you were on the Google Ads API. Do not wait for the toggle screenshot to change before you inventory tokens. A token that sat idle from January through June is the one Google said will not be allowlisted for the legacy Ads API path.

Diagnostics still matter. About 72 hours after a tag implementation, the conversion action Diagnostics report is the Help Center's check. In Chrome, the conversion hit to googleadservices.com/pagead/conversion/ should carry em with a hashed payload starting tv.1~em. tv.1~em with nothing after it means the parameter fired empty. Help also says impact can show in the conversion action table about 30 days after a working setup. That is Google's timing, not a lift number.

The hashed address people will ship

Email, phone, and names hashed. City, postal, and country hashed too. Google's hashed examples leave those geo fields raw.

gtag('set', 'user_data', {
  sha256_email_address: 'a8af8341993604f29cd4e0e5a5a4b5d48c575436c38b28abbfd7d481f345d5db',
  sha256_phone_number: 'e9d3eef677f9a3b19820f92696be53d646ac4cea500e5f8fd08b00bc6ac773b1',
  address: {
    sha256_first_name: '96d9632f363564cc3032521409cf22a852f2032eec099ed5967c0d000cec607a',
    sha256_last_name: '799ef92a11af918e3fb741df42934f3b568ed2d93ac1df74f1b8d41a27932a6f',
    sha256_city: '4b227777d4dd1fc61c6f884f48641d02b4d121d3fd328cb08b5531fcacdabf8a',
    sha256_postal_code: '9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08',
    sha256_country: '5feceb66ffc86f38d952786c6d696c79c2dbc239dd4e91b46729d73a27fb57e9'
  }
});

That object looks careful. It is the wrong half of address. Google matches hashed names and street into a key, then compares unhashed geo. Hash the city and the key no longer matches a Google Account. Hash the country and you have destroyed the ISO code the field table asked for. Send raw city, region, postal_code, and country. Hash email, phone, first name, last name, and street when you are in the pre-hash path.

The raw gtag path is the other way around: pass email, phone_number, and address fields unhashed so Google normalizes and hashes. Mixing a hashed email with a raw email key, or hashing in the browser and again in GTM, is a different miss from the April settings change. The merge does not fix a double hash.

Names that do not translate

The switch is not a substitute for the tag

Turning the unified setting on without user-provided data on the page still sends an empty em. The Help Center's empty tv.1~em case does not go away because web and leads share a checkbox. You still need the conversion page to hold email or address when the tag fires, or you need Data Manager or the API to supply the same keys for that conversion.

Automatic detection, CSS selectors, and the code snippet remain the three tag-side ways to collect. Snippet data is prioritized if you combine methods. Consent Mode still gates the ads cookie. None of those methods is Measurement Protocol.

If you already had enhanced conversions on, Google says no action is required to remain active. Still open the account and confirm the unified status matches intent, especially if offline uploads were the only pipe. One switch is simpler. It is also one place to be wrong for both funnels.

Starting in April 2026: Google Ads will simultaneously accept user-provided data from website tags, Data Manager, and API connections. This can improve the accuracy of your conversion tracking and optimize your campaign bidding.

Google Ads Help: updates to your enhanced conversions settings

What to do

Confirm enhanced conversions is on and the customer data terms are accepted. Send user-provided data from the tag, Data Manager, and API as you actually have them. Do not keep a single-method lock from the old picker. Move idle Google Ads API offline and leads uploads to the Data Manager API before 15 June 2026.

Normalize, then hash email, phone, names, and street. Leave city, region, postal, and country in the clear. Confirm em on the conversion hit. This setting is not Measurement Protocol, and imported Analytics goals still do not get enhanced conversions.

The enhanced conversions docs page is the contract surface. Pixellint is not affiliated with Google. Passing a linter means the artifact matches a published envelope. It does not mean Google Ads attributed the conversion, and it does not detect fraud.

Checklist

Sources

Contract pages

The dated argument is above. These pages are the field lists.

Read enhanced conversions Docs