Matrix Support Doc

Automate Google Ads Enhanced Conversions with Make.com (2026)

Last Updated: July 2026

Quick Answer: Google Ads Enhanced Conversions recovers purchase attribution lost to cookie blocking, ad blockers, and cross-device journeys by transmitting hashed first-party customer data directly from your server to Google.

Automating this via Make.com’s native Google Ads API modules eliminates error-prone manual CSV uploads and pushes normalised, real-time conversion data into the Smart Bidding algorithm continuously — restoring the conversion signal Google needs to maintain Target CPA and Target ROAS performance.

Building this pipeline? You’ll need a Make.com account with the Google Ads modules enabled before Section 4.

Create Make.com Account →

1. Why the Standard Google Tag Is Failing

The standard Google Tag fires a JavaScript event from the user’s browser when they land on your purchase confirmation page. Like the Meta Pixel, this method depends entirely on the browser’s willingness to execute the script and store the attribution cookie that connects the conversion event back to the original ad click.

In 2026, that dependency represents a systematic data gap that degrades Smart Bidding performance over time.

Safari’s Intelligent Tracking Prevention caps most JavaScript-set first-party cookies at 7 days by default.

But when a landing URL carries tracking parameters from a domain ITP classifies as a cross-site tracker — which includes the gclid parameter Google Ads appends to every ad click — that cap drops sharply to 24 hours instead of the usual 7 days.

A customer who clicks a Google Ad on Monday and completes a purchase on Wednesday has their gclid-linked cookie deleted before the transaction occurs, since it falls under this stricter 24-hour rule rather than the general 7-day one.

The Google Tag fires on the confirmation page but cannot connect the purchase to the original ad interaction, and the conversion appears as an unattributed direct visit.

Ad blockers suppress the Google Tag script entirely before it executes. Cross-device journeys — where a user clicks a mobile ad but purchases on desktop — produce two disconnected sessions with no shared cookie that allows Google to join them.

The practical consequence is that Google’s Smart Bidding algorithm operates on an incomplete conversion dataset. When the algorithm does not see sufficient conversion signals, it interprets the campaign as underperforming and reduces bid aggressiveness. Target CPA creeps upward.

Target ROAS targets are missed. Budget is automatically redistributed away from campaigns whose conversions are invisible to the tag. The algorithm is not performing poorly — it is performing accurately on the data it can see, which is an incomplete subset of your actual customer transactions.

According to Google’s official Enhanced Conversions documentation, Enhanced Conversions can improve conversion measurement accuracy by providing additional first-party identity signals that help match server events to signed-in Google accounts across devices and sessions. This is the mechanism that closes the attribution gap the standard tag cannot close.

2. Google Ads Enhanced Conversions: What It Actually Does

Enhanced Conversions supplements your standard Google Tag with hashed first-party customer data. When a purchase completes, instead of only sending the standard conversion event from the browser, you simultaneously transmit a server-side payload containing the customer’s SHA-256 hashed email, phone, name, and address to Google’s API.

Google uses these hashed identifiers to match the server event to a signed-in Google account — even when the original gclid cookie has been deleted, the user switched devices, or the standard tag was blocked.

The matching works because Google maintains a database of hashed identifiers associated with signed-in Google accounts.

When your server sends a hashed email for a customer who is also signed into Google on any device, Google can connect that server event to the account and attribute it back to the ad click that drove the original visit.

That matching window extends well beyond what the 24-hour ITP cookie cap allows for.

This is why Enhanced Conversions consistently recovers conversions that the standard tag cannot capture — it uses identity matching rather than cookie continuity as the attribution mechanism.

Key distinction: Enhanced Conversions does not replace the standard Google Tag — it supplements it. The standard tag continues to fire for conversions it can capture normally.

Enhanced Conversions provides additional identity signals for the conversions the standard tag misses. Both should run simultaneously, just as the Meta Pixel and CAPI should run simultaneously for Meta campaigns.

3. Enhanced Conversions for Web vs Enhanced Conversions for Leads

Google offers two distinct Enhanced Conversions implementations designed for different business models. Understanding which applies to your setup is the first configuration decision.

FeatureEnhanced Conversions for WebEnhanced Conversions for Leads
Use CaseE-commerce and direct purchase funnelsLead generation and offline sales
Trigger PointWebsite thank-you page at moment of purchaseOffline — after lead qualifies or sale closes
gclid HandlingCaptured automatically by standard tagMust be captured from form submission and stored in CRM
Upload MethodReal-time API at purchase momentAPI upload after offline conversion event
Make.com ModuleMake an API Call — HTTP module to conversion endpointBulk Upload an Enhanced Conversion for Leads
Match MechanismHashed customer data from checkoutgclid from original lead form matched to offline sale

For operators running direct response e-commerce or digital product funnels where payment completes on your website, Enhanced Conversions for Web is the correct implementation.

For operators running lead generation campaigns where the sale occurs offline — high-ticket sales calls, B2B enterprise sales, booked appointments — Enhanced Conversions for Leads is required, and the gclid must be stored in your CRM at the point of lead form submission so it is available when the offline conversion is uploaded later.

4. The Make.com Pipeline Architecture

The complete Enhanced Conversions pipeline intercepts your payment webhook, extracts and normalises the customer data, and routes the hashed payload to Google’s API without any manual intervention. Here is the exact five-stage sequence.

1. Webhook Intercept
Make.com custom webhook catches the Stripe charge.succeeded event. The payload contains transaction value, customer email, and metadata including the gclid captured at landing page.
🔍
2. gclid Extraction
Parse the raw gclid string from the payment metadata. This click ID links the conversion back to the specific Google Ad interaction that drove the original visit.
🔒
3. Normalise and SHA-256 Hash
Lowercase email, strip whitespace. Country code prefix for phone, digits only. Apply SHA-256 hashing after normalisation using Make.com’s built-in crypto functions.
🎯
4. Google Ads API Module
Make.com’s Bulk Upload Enhanced Conversion for Leads module or HTTP Make an API Call routes the formatted payload to Google’s conversion upload endpoint.
5. Diagnostics Verification
Check the Diagnostics tab in Google Ads Conversions. Verify Processed status and match rate above 60%. Allow 48 to 72 hours for initial match rate statistics to populate.

Prerequisite: Capturing the gclid Before It Is Lost

The most common implementation failure is the gclid disappearing between the landing page and the checkout confirmation. Capture it at landing page load using JavaScript and store it in a session variable.

Append it to the Stripe payment intent metadata field when the checkout session is created. This ensures the gclid is available in the charge.succeeded webhook even if the user navigates across multiple pages or takes hours to complete the purchase.

Without the gclid, Enhanced Conversions for Leads cannot link the server event to the original ad click.

5. Data Normalisation and Hashing Requirements

Google applies strict normalisation rules before hashing customer data for identity matching.

If your Make.com scenario hashes data without first applying these normalisation steps, the resulting SHA-256 hashes will not match Google’s stored hashes for the same customer — the conversion event arrives at Google’s API but fails to match to any signed-in account, producing an upload with zero attribution value.

Google Enhanced Conversions Normalisation Rules

Email: Convert to lowercase. Remove all leading and trailing whitespace. Do not modify dots, plus signs, or other characters in the local or domain part. Apply SHA-256 after normalisation.

Phone: Include the country calling code prefix — US numbers must begin with 1. Remove all spaces, dashes, parentheses, and formatting characters. Digits only. Apply SHA-256 after formatting. Example: US number (415) 555-1234 normalises to 14155551234 before hashing.

First name, last name, city, country: Convert to lowercase. Remove leading and trailing whitespace. Apply SHA-256 after normalisation.

Critical rule: Apply normalisation before hashing, not after. Hashing a non-normalised string produces a valid SHA-256 hash that does not match Google’s stored hash for the same identifier. The upload succeeds technically but produces zero matches.

6. The API Payload Structure

Make.com’s native Google Ads modules handle the OAuth 2.0 authentication and API versioning automatically. You provide the payload data and the module handles transmission. For the HTTP Make an API Call approach, the conversion upload endpoint and the required JSON structure follow Google’s Enhanced Conversions API documentation.

The core payload for an Enhanced Conversion upload requires the following fields:

{
  "conversions": [
    {
      "gclid": "YOUR_GCLID_VALUE",
      "conversion_action": "customers/CUSTOMER_ID/conversionActions/CONVERSION_ACTION_ID",
      "conversion_date_time": "2026-05-08 14:30:00+00:00",
      "conversion_value": 997.00,
      "currency_code": "USD",
      "user_identifiers": [
        {
          "hashed_email": "SHA256_HASHED_EMAIL"
        },
        {
          "hashed_phone_number": "SHA256_HASHED_PHONE"
        }
      ]
    }
  ],
  "partial_failure": true
}

The partial_failure field set to true is important — it allows the API to process successfully formatted conversions even if some records in a batch contain errors, rather than rejecting the entire batch due to a single malformed record. Always include it in production pipelines.

Common API Errors and Fixes

  • INVALID_CONVERSION_ACTION: The conversion action ID in your payload does not match an Enhanced Conversions-enabled action in your Google Ads account. Verify the conversion action ID in the Goals section and confirm Enhanced Conversions is toggled on for that specific action.
  • TOO_RECENT_CONVERSION_DATE: Google recommends waiting 4 to 6 hours after creating a new conversion action before uploading against it. Events transmitted too soon after account setup may be rejected or delayed. For real-time webhook pipelines built against an established conversion action, this typically isn’t a factor after the initial setup window has passed.
  • GCLID_DATE_RANGE_TOO_OLD: Google’s own documentation specifies that offline conversions for Enhanced Conversions for Leads uploaded more than 63 days after the associated last click will not be imported — a shorter window than the 90-day limit that applies to standard offline conversion imports without Enhanced Conversions. Ensure your offline conversion upload pipeline runs within 63 days for all Enhanced Conversions for Leads transactions.
  • Zero match rate after upload: PII normalisation is failing before hashing. Check that your Make.com scenario is applying lowercase conversion and whitespace stripping before the SHA-256 function, not after. Log the pre-hash value of the email field in a test run to confirm the normalised format is correct.

7. Verification and Match Rate Diagnostics

After deploying your Make.com Enhanced Conversions pipeline, navigate to Google Ads and open Goals then Conversions then Summary. Select your Enhanced Conversion action and click the Diagnostics tab.

This view shows upload status, the number of conversions processed versus rejected, and the match rate percentage — the proportion of uploaded conversions that Google successfully matched to a signed-in account.

Allow 48 to 72 hours after your first upload batch before evaluating match rate statistics. Google requires a minimum volume of processed conversions to calculate reliable match rate figures, and the initial display may show incomplete data during the first few days.

A match rate above 60% indicates your normalisation and hashing is working correctly. A match rate above 80% is strong and indicates your customer data is consistently matching to active Google accounts.

A match rate below 40% almost always indicates a normalisation error in the hashing step — the most common cause is hashing email addresses that still contain uppercase characters or trailing whitespace.

Infrastructure Stack

Make.com — The Routing Engine

Native Google Ads API modules handle OAuth authentication, payload formatting, and real-time conversion upload without custom code. Core plan pricing is commonly cited around $9–$12/month depending on billing cycle for standard volume. Make.com is a partner affiliate link.

Deploy Make.com →

Related Attribution Guides

Automate Your Entire Attribution Stack

Enhanced Conversions for Google is one layer of a complete server-side attribution architecture. Deploy Meta CAPI, TikTok Events API, and Google Enhanced Conversions simultaneously from a single Make.com webhook pipeline.

Get the Complete Make.com Attribution Blueprint →

8. Frequently Asked Questions

What are Google Ads Enhanced Conversions?

Google Ads Enhanced Conversions is a server-side conversion tracking feature that transmits hashed first-party customer data — email, phone, name, and address — directly from your server to Google to recover purchase attributions lost to cookie blocking, ad blockers, Safari ITP, and cross-device journeys. It supplements the standard Google Tag by providing identity signals that allow Google to match server events to signed-in accounts well beyond what cookie-based attribution can cover.

How do you upload offline conversions to Google Ads?

Manual offline conversion uploads via CSV files in the Google Ads interface introduce multi-hour to multi-day delays, formatting errors, and do not support the Enhanced Conversions protocol that transmits hashed identity data. The correct method for production environments is to automate uploads using Make.com’s native Google Ads API modules — specifically the Bulk Upload an Enhanced Conversion for Leads module or an HTTP API call module — which handle OAuth authentication, payload formatting, and real-time transmission continuously without manual intervention.

Can Make.com connect directly to the Google Ads API?

Yes. Make.com has native modules built for the Google Ads API including Bulk Upload an Enhanced Conversion for Leads, Make an API Call, and standard Google Ads action modules. These handle the OAuth 2.0 authentication flow, API versioning, and request structure required by Google’s API, allowing operators to build real-time Enhanced Conversions pipelines without writing custom code or managing API credentials manually beyond the initial OAuth connection.

What is the difference between Enhanced Conversions for Web and Enhanced Conversions for Leads?

Enhanced Conversions for Web is designed for e-commerce and direct purchase funnels where the conversion completes on your website. It transmits hashed customer data from the purchase confirmation page at the moment of transaction. Enhanced Conversions for Leads is designed for lead generation businesses where the actual sale occurs offline after an initial form submission. It requires storing the gclid from the lead form in your CRM and uploading it alongside the offline conversion event within Google’s 63-day window for Enhanced Conversions for Leads uploads.

What happens if you send unhashed data to the Enhanced Conversions endpoint?

Google’s Enhanced Conversions API rejects payloads containing plaintext PII with an HTTP 400 Bad Request error. All customer identifiers must be SHA-256 hashed before inclusion in the payload. Additionally, the data must be normalised before hashing — email must be lowercased and stripped of whitespace, phone must include the country code prefix with digits only. Hashing before normalisation produces valid hash values that do not match Google’s stored hashes for the same identifiers, resulting in uploads that process successfully but produce zero matches.

How do you capture the gclid and prevent it from being lost between landing page and checkout?

Capture the gclid at landing page load using JavaScript and store it in a session variable. When the checkout session is initiated, append the gclid to the Stripe payment intent metadata field. This ensures the value is available in the charge.succeeded webhook payload even if the user navigates across multiple pages or completes the purchase hours later on a different device. Without this step, the gclid disappears before the conversion webhook fires and the Enhanced Conversion cannot link back to the original ad click.

How long does it take for Enhanced Conversions to appear in Google Ads?

Enhanced Conversion uploads processed via the Google Ads API typically appear in reporting within 3 to 5 hours. Google recommends waiting 4 to 6 hours after creating a new conversion action before uploading conversions against it. Allow 48 to 72 hours after your first upload batch before evaluating match rate statistics — Google needs sufficient upload volume to calculate reliable coverage figures, and initial match rate displays may show incomplete data during the first few days of a new pipeline.

What match rate should you aim for with Enhanced Conversions?

Google recommends achieving a match rate above 60% for Enhanced Conversions to provide meaningful optimisation value to Smart Bidding. Match rates above 80% are strong and indicate your hashed customer data consistently matches to signed-in Google accounts. Match rates below 40% almost always indicate a PII normalisation error in the hashing step — typically email addresses containing uppercase characters or trailing whitespace before the SHA-256 function is applied. Check your Make.com scenario execution logs and inspect the pre-hash value of the email field to diagnose normalisation failures.

Transparency Protocol: CreatorOpsMatrix operates as an independent technical research hub evaluating workflow automation and attribution software. Make.com linked across this page is a partner affiliate link. If you build your infrastructure using this route, we earn a commission at zero additional cost to you. We only document tools we have actively tested in production environments.
Operator Responsibility: The API payload structures, normalisation sequences, and pipeline configurations documented across CreatorOpsMatrix are strictly for educational and informational purposes. Google Ads API specifications, Enhanced Conversions requirements, and endpoint URLs are subject to change. Verify current requirements directly with Google’s developer documentation before deploying in production. You are solely responsible for testing, validating, and maintaining your conversion tracking infrastructure.

Scroll to Top