DestinationsAdvertisingGoogle Enhanced Conversions

Google Enhanced Conversions

Upload enhanced conversion data to Google Ads for improved attribution and measurement. Enhanced conversions supplement your existing conversion tags with first-party customer data (email, phone, name) to improve conversion matching accuracy.

Prerequisites

  • A Google Ads account
  • A Google Ads API developer token (from your Manager account’s API Center)
  • A conversion action with Enhanced Conversions enabled
  • Your Google Ads Customer ID

Finding Your Customer ID

Your Customer ID is the 10-digit number displayed in the top-right corner of the Google Ads dashboard, formatted as XXX-XXX-XXXX.

  1. Sign in to Google Ads
  2. Look at the top-right corner — your Customer ID appears next to your account name (e.g., 406-685-0321)
  3. When entering it in SignalSmith, remove the dashes (e.g., 4066850321)

Getting a Developer Token

A developer token is required for all Google Ads API access.

  1. Sign in to your Google Ads Manager account (MCC) — developer tokens are issued at the MCC level, not individual ad accounts
  2. Navigate to Tools & Settings (wrench icon) > Setup > API Center
  3. If you don’t have a developer token yet, one will be generated with Test Account access level
  4. Copy the 22-character alphanumeric token

Developer Token Access Levels

LevelWhat It MeansHow to Get It
Test AccountOnly works with accounts you explicitly whitelist in the API CenterDefault when first issued
Basic AccessWorks with any Google Ads account the user authorizesApply in API Center — requires app review
Standard AccessHigher rate limits, same account access as BasicApply after Basic approval

For testing, add your Customer ID as a test account: in the API Center page, find the “Test accounts” section and add the Customer ID you want to sync to.

For production, apply for Basic Access in the API Center. Google reviews your OAuth consent screen, terms of service URL, and privacy policy.

Finding Your Conversion Action ID

The Conversion Action ID identifies which conversion event to upload enhancements for.

  1. In Google Ads, navigate to Goals > Conversions > Summary
  2. Click on the conversion action you want to enhance (e.g., “Lead Received”, “Purchase”)
  3. Look at the browser URL — it contains conversionId=XXXXXXXXX
  4. That numeric value is your Conversion Action ID

Enabling Enhanced Conversions on a Conversion Action

The conversion action must have Enhanced Conversions enabled via API:

  1. In Google Ads, go to Goals > Conversions > Summary
  2. Click on your conversion action
  3. Scroll to Enhanced conversions and expand the section
  4. Toggle Turn on enhanced conversions to on
  5. Select Google Ads API as the method
  6. Click Save

If you don’t have a conversion action yet, create one: Goals > Conversions > New conversion action > Website.

Authentication

Google Enhanced Conversions uses OAuth 2.0.

  1. Click Connect with OAuth in SignalSmith
  2. Sign in with the Google account that has access to your Google Ads account
  3. Authorize the requested permissions

The authorizing Google account must have at least Standard access to the target Google Ads account.

Configuration

FieldTypeRequiredDescription
Customer IDTextYesYour Google Ads customer ID (10-digit number, without dashes). Find it in the top-right corner of your Google Ads dashboard.
Developer TokenPasswordYesGoogle Ads API developer token from your Manager account’s API Center.
Conversion Action IDTextYesThe numeric ID of the conversion action to upload enhancements for. Find it in the URL when viewing the conversion action in Google Ads.
API VersionSelectYesGoogle Ads API version. Default: v23 (latest).

Supported Operations

Sync Modes: Insert

Audience Sync Modes: Add

Features

  • Field Mapping: Yes
  • Schema Introspection: No

Required Mapping Fields

FieldDescription
order_idThe order or transaction ID that matches the conversion tagged on your website. Required for web enhanced conversions.

At least one user identifier (email, phone, name, or mobile_id) is also required — either raw or pre-hashed.

Destination Fields Reference

Google Enhanced Conversions supports two approaches for PII fields: raw values (SignalSmith normalizes and hashes automatically) or pre-hashed values (you provide the SHA-256 hash from your warehouse). You can mix both approaches in the same sync.

Raw PII Fields (auto-hashed)

Map raw PII from your warehouse. SignalSmith normalizes (lowercase, trim, E.164 for phone) and SHA-256 hashes before sending to Google.

FieldTypeDescription
emailstringRaw email address — normalized and SHA-256 hashed automatically
phonestringRaw phone number — normalized to E.164 and SHA-256 hashed automatically
first_namestringRaw first name — lowercased and SHA-256 hashed automatically
last_namestringRaw last name — lowercased and SHA-256 hashed automatically
street_addressstringRaw street address — SHA-256 hashed automatically

Pre-Hashed PII Fields (pass-through)

Map pre-hashed columns from your warehouse directly. These are sent to Google as-is with no further processing. Use these when your warehouse already stores hashed PII.

FieldTypeExpected Format
hashed_emailstringSHA-256 hex of lowercase, trimmed email
hashed_phonestringSHA-256 hex of E.164 formatted phone number
hashed_first_namestringSHA-256 hex of lowercase first name
hashed_last_namestringSHA-256 hex of lowercase last name
hashed_street_addressstringSHA-256 hex of street address

Important: Pre-hashed fields take priority. If both email and hashed_email are mapped, hashed_email is used.

Address Fields (plain text)

These are sent in plain text as required by Google’s API. Not hashed.

FieldTypeRequiredDescription
country_codestringConditionalISO 3166-1 alpha-2 country code (e.g., US, IN). Required if any address fields are included.
postal_codestringConditionalPostal/ZIP code (e.g., 94045). Required if any address fields are included.
citystringNoCity name
statestringNoState or region name

Other Identifiers

FieldTypeDescription
mobile_idstringMobile advertising ID (IDFA or GAID). Not hashed.

Conversion Context

FieldTypeRequiredDescription
order_idstringYesOrder or transaction ID matching the original website conversion
gclidstringNoGoogle Click ID from the original ad click — strongest attribution signal
conversion_date_timestringNoWhen the conversion occurred. Format: yyyy-mm-dd HH:mm:ss+|-HH:mm. Defaults to current time.
conversion_valuenumberNoMonetary value (for value adjustments)
currency_codestringNoISO 4217 currency code (e.g., USD, EUR, INR). Required if conversion_value is set.
user_agentstringNoBrowser user agent from original conversion — helps same-device vs cross-device attribution

How It Works

  1. SignalSmith reads conversion data from your warehouse model
  2. Raw PII fields (email, phone, name, street_address) are automatically normalized and SHA-256 hashed
  3. Pre-hashed fields (hashed_email, hashed_phone, etc.) are sent as-is — no further hashing
  4. Address fields (country_code, postal_code, city, state) are sent in plain text
  5. Data is sent to the Google Ads API in batches of up to 2,000 conversion adjustments
  6. Google matches the identifiers to ad clicks and enhances your conversion reporting

Troubleshooting

Permission denied (403)

Developer token in test mode: Your developer token only works with whitelisted accounts. Go to Tools & Settings > API Center and add the target Customer ID under “Test accounts”. For production, apply for Basic Access.

User doesn’t have account access: The Google account that authorized OAuth must have at least Standard access to the target Google Ads account. Check under Tools & Settings > Access and security.

Invalid conversion action

Verify the Conversion Action ID is correct — it should be a numeric ID found in the URL when viewing the conversion action in Google Ads (conversionId=XXXXXXXXX). Also ensure Enhanced Conversions is enabled on the action with “Google Ads API” selected as the method.

Low enhancement rate

  • Ensure email is the primary identifier — it has the highest match rate
  • Include phone and name when available for additional matching signals
  • Verify gclid is included when you have it — this provides the strongest match
  • Set conversion_date_time accurately — it must be within the conversion action’s lookback window
  • Include order_id to help Google deduplicate conversions