# Google Ad Conversions Destination

## About this integration

The Google Ads Conversions destination enables you to upload offline conversions and conversion adjustments to Google Ads in a privacy safe way. With this server-side destination, you can upload conversions to the Google Ads API and tie them to a user’s online click or phone call. In addition, you can improve the accuracy of your conversion measurement by sending conversion enhancements, restatements, and retractions.

[Mode How we forward source data to the destination: through Customer.io's servers or directly from our JavaScript client.](/cdp/destinations/getting-started/#connection-mode)

[Web sources Indicates whether or not this integration supports our the JavaScript client.](/cdp/sources/getting-started/#types-of-sources)

[API sources Indicates whether or not this integration supports our server libraries (Go, NodeJS, Python), API, Mobile SDK, and other data sources.](/cdp/sources/getting-started/#types-of-sources)

[Supported calls The API methods this integration supports.](/cdp/sources/source-spec/source-events/)

[Integration name The name of this integration if you want to enable or disable it in the `integrations` object.](/cdp/sources/source-spec/common-fields/#the-integrations-object)

Standard

N/A

Google Ads Conversions

## Getting started[](#getting-started)

1.  Go to **[Data & Integrations > Integrations](https://fly.customer.io/workspaces/last/journeys/integrations/all/directory)** and select the **Google Ad Conversions** entry in the *Directory* tab.
    
2.  (Optional) Select the data sources that you want to connect to your outbound integration. You can always connect data sources later. We’ll only show you data sources that work with your integration.
    
3.  Configure your integration.
    
    1.  **Customer Id**: ID of your Google Ads Account. This should be 10-digits and in XXX-XXX-XXXX format. **Required if you are using a mapping that sends data to the Google Ads API.**
        
    2.  **Manager Customer Id**: When using a manager account and are accessing a related customer account, this is the ID of the manager account.
        
4.  Click **Enable Destination**.
    

## Actions[](#actions)

When you’re done setting up your destination, you can go to the *Actions* tab to see how we map source events to your destination.

You may need to add actions for this destination

While we often have default triggers for actions, we don't always add those actions as defaults. You may need to add actions to make sure that you're sending all the data that you want to send to your destination. See our [actions](/integrations/data-out/actions/) page for help setting up actions.

Action

Default Trigger

Description

Upload Enhanced Conversion (Legacy)

no default

Upload a conversion enhancement to the legacy Google Enhanced Conversions API.

Upload Click Conversion

no default

Upload an offline click conversion to the Google Ads API.

Upload Call Conversion

no default

Upload an offline call conversion to the Google Ads API.

Upload Conversion Adjustment

no default

Upload a conversion adjustment to the Google Ads API.

## Enhanced Conversions[](#enhanced-conversions)

Google’s [Enhanced Conversions](https://support.google.com/google-ads/answer/15713840) feature can improve the accuracy of conversion measurements. It supplements your existing conversion tags by sending hashed, first-party conversion data from your website to Google in a privacy-safe way.

You can use the *Upload Conversion Adjustment* action to send enhancements to the Google Ads API. But, to send enhanced conversions, you must record first conversions using the standard Google Ads Conversion tag (Gtag). You can use our [Google Ads (Gtag) destination](/integrations/data-out/connections/google-ads) so you can use your existing sources to activate Gtag. Then you can send enhancements to web conversion actions that have **Turn on enhanced conversions** enabled.

You can’t use the enhanced conversions feature with conversions that you track in other ways. For example, you can’t use enhancement features with goals that you import from Google Analytics.

 To send enhancements for conversions that you initially track with Gtag, you need to implement an *Order ID* (Transaction ID) in Gtag **and** send the same *Order ID* with the corresponding enhancement data.

### Enhanced Conversions for Leads[](#enhanced-conversions-for-leads)

Google’s [Enhanced Conversions for Leads](https://developers.google.com/google-ads/api/docs/conversions/upload-identifiers) feature lets you use hashed, user-provided data from your website’s lead forms for offline lead measurement. When you upload your leads, Google uses the hashed information to attribute activity back to the Google Ad campaign.

To send enhanced conversions for leads, you can use the *Upload Click Conversion* action. Instead of sending *GCLID*, send an email address or phone number. Customer.io will hash that data before sending calls to Google Ads.

### Refreshing Access Tokens[](#refreshing-access-tokens)

When you use OAuth to authenticate this destination, we store an access token and a refresh token. Access tokens for Google Ad Conversions expire after one hour. When they expire, we receive an error and then we use the refresh token to fetch a new access token. This results in two API requests to Google Ad Conversions, one failure and one success.

Because of the reauthorization flow, you may see a warning in Google for unprocessed conversions due to incorrect or missing OAuth credentials. This warning does not indicate data loss. Google has confirmed that they continue processing conversions, and that this OAuth retry behavior will not cause any issues for your web conversions. Whenever possible, we cache access tokens to reduce the total number of requests made to Google Ad Conversions.

## Consent Management[](#consent-management)

Beginning March 6, 2024, Google Ads requires your users’ consent to collect their data and personalize ads in conformance with the [Digital Markets Act](https://blog.google/outreach-initiatives/public-policy/building-for-compliance-with-the-digital-markets-act/).

When you set up the **Upload Click Conversion** or **Upload Call Conversion** actions, Google includes [two different fields for consent](https://developers.google.com/google-ads/api/rest/reference/rest/v18/Consent). Users must consent to both for Google Ads to accept the conversion:

*   User Data
*   Ad Personalization

[![Google requires consent for people in the EEA](https://docs.customer.io/images/cdp-google-conversions-consent.png)](#6587395e3d65428b884738d5c2d6a95e-lightbox)

**If you don’t have customers in the European Economic Area (EEA), or you do not need to follow EEA regulations, you can simply set these fields to *Granted*.**

If you have customers in the EEA, and you gather consent by way of a terms of service (TOS) or store consent outside of conversion events, you can set these fields to hardcode a *GRANTED* value.

Otherwise, you’ll need to gather consent from your customers and map it to a value in your source events. For example, if your source events have a `consent` property, you can map that property to consent fields in your destination. You must gather consent as `GRANTED`, `UNKNOWN` or `DENIED`.

*   `GRANTED`: results in a successful upload of the conversion
*   `DENIED` or `UNKNOWN`: prevents successful upload, respecting your audience’s right to privacy

## Troubleshooting `EC_MODE_MISMATCH` errors[](#troubleshooting-ec_mode_mismatch-errors)

If you see an `EC_MODE_MISMATCH` error, it means your conversion action has the incorrect conversion type in Google Ads. Change the conversion type to **API** in Google Ads Platform under *Tools* > *Conversions* > *Conversion Event*.

This segment contains only people who either: (a) are outside the European Economic Area, or (b) have consented to share their data with Google.