ioZen Docs

Google Ads

Import offline conversions from ioZen into Google Ads using the captured click and hashed user data.

Upload completed Intake Bot cases and Process Board outcomes to Google Ads. ioZen uses Google Data Manager for new connections and can keep using the legacy Google Ads API for eligible existing connections.

If both Google Ads and Google Analytics are enabled on the same bot, only Google Ads receives the conversion. The two must never fire for the same conversion action.

Prerequisites

  • A Google Ads conversion customer and its numeric conversion action ID
  • An OAuth refresh token consented for https://www.googleapis.com/auth/datamanager
  • An OAuth client with the Data Manager API enabled and its sensitive scope approved
  • For self-hosted deployments, GOOGLE_DATA_MANAGER_PROJECT_ID set to that OAuth client's Google Cloud project

Step 1: Conversion customer

In Google Ads, copy the conversion customer ID that owns the conversion action. If you authenticate through a manager (MCC) account, also copy that manager ID as the login customer ID.

Step 2: Conversion action

Create or reuse an enabled conversion action. Copy its numeric ID, not its name or full resource path.

Step 3: Credentials

  1. Open your Intake Bot → Settings → Marketing
  2. Toggle Google Ads on
  3. Paste the conversion customer ID, numeric conversion action ID, and OAuth refresh token
  4. Paste the OAuth client ID and secret, or leave them blank to use the ioZen OAuth client
  5. Add the login customer ID when you authenticate through a manager account

Settings auto-save.

Step 4: Test the connection

Click Test Connection. ioZen sends a Data Manager request with validateOnly: true. A successful result confirms the credentials, destination, and request shape. It does not ingest a conversion and does not prove that Google matched a person or click.

What we send

Each conversion includes:

  • One captured click ID, in gclid, gbraid, then wbraid priority
  • Normalized, SHA-256 hashed email and phone when available
  • Event IP address and user agent when available
  • transactionId set to the ioZen event ID for deduplication
  • An RFC 3339 UTC timestamp and eventSource: WEB
  • Conversion value and currency when configured
  • The conversion customer, optional manager account, and numeric conversion action ID

ioZen sets encoding: HEX only when hashed user identifiers are present. It does not send linkedAccount or consent fields in this release because those values are not captured at submit.

Data Manager accepts events asynchronously. ioZen records the request ID when Google returns one, but does not poll request status. Acceptance is not proof of a match.

Imported conversions report on the original click's impression date, not the upload date, and can take up to three hours to appear for last-click attribution.

Legacy Google Ads API

If no valid conversion action ID is configured, ioZen can use the legacy Google Ads API when a refresh token, customer ID, and developer token are present. Google closed this path to new adopters on June 15, 2026. A non-allowlisted developer token fails terminally with Data Manager migration guidance.

For legacy delivery, create an enabled Upload clicks action and set its name in ioZen when the account has more than one. Test Connection checks customer data terms, enhanced conversions for leads, and the action. Once ioZen selects Data Manager or legacy Ads for an event, it never retries that event through another Google transport.

Troubleshooting

ErrorCauseFix
Missing Data Manager scopeExisting refresh token predates Data Manager consentGenerate and save a new refresh token with the datamanager scope.
Invalid conversion action IDName or resource path pasted instead of an IDPaste the 1 to 20 digit conversion action ID.
Missing quota projectDeployment does not identify the API projectSet GOOGLE_DATA_MANAGER_PROJECT_ID to the project with Data Manager enabled.
Request accepted but no conversion appearsGoogle did not match the identifiers or reporting is delayedCheck click tagging and customer data quality, then verify in Google Ads after processing.
Developer token not allowlistedLegacy API access is not grandfatheredConfigure the numeric action ID and Data Manager-scoped refresh token.

Contact hello@iozen.ai if the issue persists.

On this page