# Google Ads Conversions Destination

## Destination Info

* Accepts [Page](/docs/segment/connections/spec/page), [Alias](/docs/segment/connections/spec/alias), [Group](/docs/segment/connections/spec/group), [Identify](/docs/segment/connections/spec/identify), [Track](/docs/segment/connections/spec/track) calls.
* Refer to it as **Actions Google Enhanced Conversions**, **Google Enhanced Conversions**, **Google Ads Conversions** in the [Integrations object.](/docs/segment/guides/filtering-data/#filtering-with-the-integrations-object)

The Google Ads destination lets you upload [conversions](https://developers.google.com/google-ads/api/docs/conversions/upload-clicks), [conversion adjustments](https://developers.google.com/google-ads/api/docs/conversions/upload-adjustments), and [customer match lists](https://developers.google.com/google-ads/api/docs/remarketing/audience-segments/customer-match/get-started) in a privacy-safe manner. Marketers can use this integration to re-engage users across Search, Shopping, Gmail, YouTube, and Display by combining conversion data with customer match lists for more effective targeting.

> \[!NOTE]
>
> Google enforced consent on March 6, 2024 for European Economic Area (EEA) users. Learn more about [consent mode](/docs/segment/connections/destinations/catalog/actions-google-enhanced-conversions/#consent-mode) and how to set it up.

## Getting started

> \[!NOTE]
>
> You can connect the Google Ads Conversions Destination to an event source, Reverse ETL source, or Engage space.

### Prerequisites

* A Google Ads account and its account ID. This should be 10-digits and in XXX-XXX-XXXX format.
* For sending data to a Google [Customer Match list](https://developers.google.com/google-ads/api/docs/remarketing/audience-segments/customer-match/get-started), you will either need:
  * An [Engage Audience](/docs/segment/engage/audiences/) configured which you can connect to this destination.
  * A Reverse ETL source already set up. If you don't yet have a Reverse ETL source, follow the instructions in Segment's [Reverse ETL documentation](/docs/segment/connections/reverse-etl/setup/).

### Connect to Google Ads

1. From the Segment web app, navigate to **Catalog > Destinations**.
2. Search for "Google Ads Conversions" in the Destinations Catalog and select the destination.
3. Click **Add destination**.
4. Select the source that will send data to Google Ads Conversions.
   * If you select an Engage space, you'll be redirected to Engage to complete the following steps.
   * If you select a Reverse ETL source, you must enter a name for your destination and click **Create destination**.
5. On the **Settings** tab for your Google Ads Conversions destination:
   * Enter your account-level Conversion ID and/or Customer ID and click **Save**.
   * Click **Connect to Google Ads Conversions** to authenticate with Google. Follow the prompts to authenticate using OAuth, with a Google account that is a member of your Google Ads account.
6. Follow the steps in the Destinations Actions documentation to [customize your mappings](/docs/segment/connections/destinations/actions/#customize-mappings).

### Connect to Google Ads Customer Match lists

Segment users can send data to [Google Ads Customer Match](https://developers.google.com/google-ads/api/docs/remarketing/audience-types/customer-match) lists using [Engage Audiences](#connect-engage-audiences-to-google-ads-customer-match) or [Reverse ETL](#connect-reverse-etl-to-google-ads-customer-match).

If you're using Journeys v2, you must use the mapping setting **Adds users to the connected Google Customer Match User List** to sync records with Google Ads Customer Match Lists. Journeys v2 doesn't support the **Remove users to the connected Google Customer Match User List** and **Add and remove users in the connected Google Customer Match User List** settings.

#### Connect Engage Audiences to Google Ads Customer Match

1. Navigate to the Engage Audience you'd like to connect to Google Ads and click **Add destination**.
2. Select the instance of Google Ads you added to your Engage space.
3. Complete your Audience settings.
4. Disable **Send Identify** and enable **Send Track**.\
   *Optional*: Configure your event settings and opt in to [Trait Enrichment](/docs/segment/engage/trait-activation/trait-enrichment/).
5. Click **Save**.
6. Navigate to the destination's mappings tab and click **View all destination settings**.
7. Navigate to the Mappings tab.
8. Click **+ New Mapping**.
9. Configure your mappings and use the **Show test record** preview toggle to verify your mappings.
10. Click **Save** and enable your mapping.

#### Connect Reverse ETL to Google Ads Customer Match

After you've connected your Google Ads destination to Segment, set up [Reverse ETL mappings](/docs/segment/connections/reverse-etl/setup/#step-4-create-mappings) to sync to a Google Customer Match List.

##### Add users to your Google Customer Match User List

1. From your Segment workspace, navigate to your Reverse ETL source.
2. Select the Reverse ETL model you'd like to sync with Google Ads.
3. Click **Add Mapping**.
4. Select the Google Ads Conversions destination and click **Next**.
5. Select the **Customer Match User List** action and the **Adds users to the connected Google Customer Match User List** sync mode.
6. Select an existing List ID or provide a name for the list that Segment creates for you.
7. Select an External ID Type, configure your mappings, and click **Next**.
8. Enter a name for your mapping, set your sync schedule, and click **Save**.
9. On the mapping's overview page, set the Status toggle to **Enabled**.

##### Remove users from the connected Google Customer Match User List

1. From your Segment workspace, navigate to your Reverse ETL source.
2. Select the Reverse ETL model you'd like to sync with Google Ads.
3. Click **Add Mapping**.
4. Select the Google Ads Conversions destination and click **Next**.
5. Select the **Customer Match User List** action and the **Remove users from the connected Google Customer Match User List** sync mode.
6. Select the List ID that you configured when you set up the [Add users to your Google Customer Match User List](#add-users-to-your-google-customer-match-user-list) mapping.
7. Select an External ID Type, configure your mappings, and click **Next**.
8. Enter a name for your mapping, set your sync schedule, and click **Save**.
9. On the mapping's overview page, set the Status toggle to **Enabled**.

## Data normalization

To improve match rates, Segment built in normalization and hashing for common fields to align with Google's best practices outlined in Google's [Prepare data for upload](https://developers.google.com/google-ads/api/docs/conversions/enhanced-conversions/leads#prepare-data) and [Add customer data](https://developers.google.com/google-ads/api/docs/remarketing/audience-segments/customer-match/get-started#add-user) documentation.

### Normalization

Segment automatically strips whitespace and converts the following fields to lowercase:

* Email
* First name
* Last name

Segment normalizes the Phone field by removing any non-numeric symbols. Segment also converts each phone number to [E.164](https://en.wikipedia.org/wiki/E.164) format before hashing. E.164 format represents a phone number as a number up to fifteen digits in length starting with a + sign.

### Hashing

Google requires you to hash all PII before sending it to the Google API.

Segment automatically hashes any of the following fields that are not already hashed at egress:

* Email
* Phone number
* First name
* Last name

## Actions v2

Segment's v2 Actions, [Call Conversion v2](#call-conversion-v2), [Conversion Adjustment v2](#conversion-adjustment-v2), and [Click Conversion v2](#click-conversion-v2), support the following features:

* **Sync modes**: Control how Segment updates your downstream destination by selecting a sync mode, or a strategy for updating your downstream data.
* **Dynamic dropdowns**: When creating or updating a mapping in the Segment app, the dropdown auto-populates all of the available properties directly from Google Ads.
* **Create and modify data**: Use Sync modes to create objects in your downstream destination without having to leave the Segment app.

> \[!WARNING]
>
> You might need to reauthorize your Google Ads account to use all of the features associated with v2 Actions.

### Sync modes

Sync modes allow users to define how Segment should update the data in your destination.

Sync modes available for v2 Actions include:

* **Add**: Add records to a list, segment, or journey.

## Destination Settings

| Field             | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                   | Required | Type   |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------ |
| Conversion ID     | You will find this information in the event snippet for your conversion action, for example \`send\_to: AW-CONVERSION\_ID/AW-CONVERSION\_LABEL\`. In the sample snippet, AW-CONVERSION\_ID stands for the conversion ID unique to your account. Enter the conversion ID, without the AW- prefix. \*\*Required if you are using a mapping that sends data to the legacy Google Enhanced Conversions API (i.e. Upload Enhanced Conversion (Legacy) Action).\*\* | No       | string |
| 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.\*\*                                                                                                                                                                                                                                                                                        | No       | string |
| Login Customer ID | ID of your Google Ads Manager Account. This should be 10-digits and in XXX-XXX-XXXX format. \*\*Required if you want your Manager Account to handle data for its connected accounts.\*\*                                                                                                                                                                                                                                                                      | No       | string |

## Available Presets

Google Ads Conversions has the following presets

| Preset Name                       | Trigger                                                                                                            | Default Action                    |
| --------------------------------- | ------------------------------------------------------------------------------------------------------------------ | --------------------------------- |
| Session Attributes Encoded Plugin | Event type = "track", Event  type = "identify", Event  type = "group", Event  type = "page", Event  type = "alias" | Session Attributes Encoded Plugin |

## Available Actions

Build your own Mappings. Combine supported [triggers](/docs/segment/connections/destinations/actions/#components-of-a-destination-action) with the following Google Ads Conversions-supported actions:

> \[!NOTE]
>
> Individual destination instances have support a maximum of 50 mappings.

* [Upload Conversion Adjustment](#upload-conversion-adjustment)
* [Upload Click Conversion](#upload-click-conversion)
* [Upload Call Conversion](#upload-call-conversion)
* [Customer Match User List](#customer-match-user-list)
* [Call Conversion V2](#call-conversion-v2)
* [Conversion Adjustment V2](#conversion-adjustment-v2)
* [Click Conversion V2](#click-conversion-v2)
* [Session Attributes Encoded Plugin](#session-attributes-encoded-plugin)

### Upload Conversion Adjustment

Upload a conversion adjustment to the Google Ads API.

Upload Conversion Adjustment is a **Cloud** action.

| Field                                     | Description                                                                                                                                                                                                                                                                                                                      | Required | Type    |
| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- |
| Conversion Action ID                      | The ID of the conversion action associated with this conversion.                                                                                                                                                                                                                                                                 | Yes      | NUMBER  |
| Adjustment Type                           | The adjustment type. See \[Google’s documentation]\(https://developers.google.com/google-ads/api/reference/rpc/v11/ConversionAdjustmentTypeEnum.ConversionAdjustmentType) for details on each type.                                                                                                                              | Yes      | STRING  |
| Adjustment Timestamp                      | The date time at which the adjustment occurred. Must be after the conversion timestamp. The timezone must be specified. The format is "yyyy-mm-dd hh:mm:ss+\|-hh:mm", e.g. "2019-01-01 12:32:45-08:00". If no timestamp is provided, Segment will fall back on the current time.                                                 | No       | STRING  |
| Order ID                                  | The order ID of the conversion to be adjusted. If the conversion was reported with an order ID specified, that order ID must be used as the identifier here.                                                                                                                                                                     | No       | STRING  |
| GCLID                                     | Google click ID associated with the original conversion for this adjustment. This is used for the GCLID Date Time Pair.                                                                                                                                                                                                          | No       | STRING  |
| Conversion Timestamp                      | The date time at which the original conversion for this adjustment occurred. The timezone must be specified. The format is "yyyy-mm-dd hh:mm:ss+\|-hh:mm", e.g. "2019-01-01 12:32:45-08:00". This is used for the GCLID Date Time Pair.                                                                                          | No       | STRING  |
| Restatement Value                         | The restated conversion value. This is the value of the conversion after restatement. For example, to change the value of a conversion from 100 to 70, an adjusted value of 70 should be reported. Required for RESTATEMENT adjustments.                                                                                         | No       | NUMBER  |
| Restatement Currency Code                 | The currency of the restated value. If not provided, then the default currency from the conversion action is used, and if that is not set then the account currency is used. This is the ISO 4217 3-character currency code, e.g. USD or EUR.                                                                                    | No       | STRING  |
| Email Address                             | Email address of the individual who triggered the conversion event. If not hashed, Segment will hash this value.                                                                                                                                                                                                                 | No       | STRING  |
| Phone Number Country Code                 | The numeric country code to associate with the phone number. If not provided Segment will default to '+1'. If the country code does not start with '+' Segment will add it.                                                                                                                                                      | No       | STRING  |
| Phone Number                              | Phone number of the individual who triggered the conversion event, in E.164 standard format, e.g. +14150000000. If not hashed, Segment will hash this value.                                                                                                                                                                     | No       | STRING  |
| First Name                                | First name of the user who performed the conversion                                                                                                                                                                                                                                                                              | No       | STRING  |
| Last Name                                 | Last name of the user who performed the conversion. If not hashed, Segment will hash this value.                                                                                                                                                                                                                                 | No       | STRING  |
| City                                      | City of the user who performed the conversion.                                                                                                                                                                                                                                                                                   | No       | STRING  |
| State                                     | State of the user who performed the conversion.                                                                                                                                                                                                                                                                                  | No       | STRING  |
| Country                                   | 2-letter country code in ISO-3166-1 alpha-2 of the user who performed the conversion.                                                                                                                                                                                                                                            | No       | STRING  |
| Postal Code                               | Postal code of the user who performed the conversion.                                                                                                                                                                                                                                                                            | No       | STRING  |
| Street Address                            | Street address of the user who performed the conversion                                                                                                                                                                                                                                                                          | No       | STRING  |
| User Agent                                | The user agent to enhance the original conversion. User agent can only be specified in enhancements with user identifiers. This should match the user agent of the request that sent the original conversion so the conversion and its enhancement are either both attributed as same-device or both attributed as cross-device. | No       | STRING  |
| Batch Data to Google Enhanced Conversions | If true, Segment will batch events before sending to Google’s APIs. Google accepts batches of up to 2000 events.                                                                                                                                                                                                                 | No       | BOOLEAN |

### Upload Click Conversion

Upload an offline click conversion to the Google Ads API.

Upload Click Conversion is a **Cloud** action.

| Field                                     | Description                                                                                                                                                                                                                                                                                                                                                                                                               | Required | Type    |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- |
| Conversion Action ID                      | The ID of the conversion action associated with this conversion.                                                                                                                                                                                                                                                                                                                                                          | Yes      | NUMBER  |
| GCLID                                     | The Google click ID (gclid) associated with this conversion.                                                                                                                                                                                                                                                                                                                                                              | No       | STRING  |
| GBRAID                                    | The click identifier for clicks associated with app conversions and originating from iOS devices starting with iOS14.                                                                                                                                                                                                                                                                                                     | No       | STRING  |
| WBRAID                                    | The click identifier for clicks associated with web conversions and originating from iOS devices starting with iOS14.                                                                                                                                                                                                                                                                                                     | No       | STRING  |
| User IP Address                           | The IP address of the user who initiated the conversion.                                                                                                                                                                                                                                                                                                                                                                  | No       | STRING  |
| Session Attributes (Encoded)              | A base64url-encoded JSON string containing session attributes collected from the user's browser. Provides additional attribution context if gclid, gbraid, or user identifiers are missing.                                                                                                                                                                                                                               | No       | STRING  |
| Session Attributes (Key Value Pairs)      | An alternative to the 'Session Attributes (Encoded)' field which can be used for Offline Conversions. If both 'Session Attributes (Encoded)' and 'Session Attributes (Key Value Pairs)' are provided, the encoded field takes precedence.                                                                                                                                                                                 | No       | OBJECT  |
| Conversion Timestamp                      | The date time at which the conversion occurred. Must be after the click time. The timezone must be specified. The format is "yyyy-mm-dd hh:mm:ss+\|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".                                                                                                                                                                                                                             | Yes      | STRING  |
| Email Address                             | Email address of the individual who triggered the conversion event. If not hashed, Segment will hash this value.                                                                                                                                                                                                                                                                                                          | No       | STRING  |
| Phone Number Country Code                 | The numeric country code to associate with the phone number. If not provided Segment will default to '+1'. If the country code does not start with '+' Segment will add it.                                                                                                                                                                                                                                               | No       | STRING  |
| Phone Number                              | Phone number of the individual who triggered the conversion event, in E.164 standard format, e.g. +14150000000. If not hashed, Segment will hash this value.                                                                                                                                                                                                                                                              | No       | STRING  |
| Order ID                                  | The order ID associated with the conversion. An order ID can only be used for one conversion per conversion action.                                                                                                                                                                                                                                                                                                       | No       | STRING  |
| Value                                     | The value of the conversion for the advertiser.                                                                                                                                                                                                                                                                                                                                                                           | No       | NUMBER  |
| Currency                                  | Currency associated with the conversion value. This is the ISO 4217 3-character currency code.                                                                                                                                                                                                                                                                                                                            | No       | STRING  |
| Conversion Environment                    | The environment this conversion was recorded on, e.g. APP or WEB. Sending the environment field requires an allowlist in your Google Ads account. Leave this field blank if your account has not been allowlisted.                                                                                                                                                                                                        | No       | STRING  |
| Merchant Center ID                        | The ID of the Merchant Center account where the items are uploaded.                                                                                                                                                                                                                                                                                                                                                       | No       | STRING  |
| Merchant Center Feed Country Code         | The ISO 3166 two-character region code of the Merchant Center feed where the items are uploaded.                                                                                                                                                                                                                                                                                                                          | No       | STRING  |
| Merchant Center Feed Language Code        | The ISO 639-1 language code of the Merchant Center feed where the items are uploaded.                                                                                                                                                                                                                                                                                                                                     | No       | STRING  |
| Local Transaction Cost                    | Sum of all transaction-level discounts, such as free shipping and coupon discounts for the whole cart.                                                                                                                                                                                                                                                                                                                    | No       | NUMBER  |
| Items                                     | Data of the items purchased.                                                                                                                                                                                                                                                                                                                                                                                              | No       | OBJECT  |
| Custom Variables                          | The custom variables associated with this conversion. On the left-hand side, input the name of the custom variable as it appears in your Google Ads account. On the right-hand side, map the Segment field that contains the corresponding value See \[Google’s documentation on how to create custom conversion variables.]\(https://developers.google.com/google-ads/api/docs/conversions/conversion-custom-variables)  | No       | OBJECT  |
| Ad User Data Consent State                | This represents consent for ad user data.For more information on consent, refer to \[Google Ads API Consent]\(https://developers.google.com/google-ads/api/rest/reference/rest/v21/Consent).                                                                                                                                                                                                                              | No       | STRING  |
| Ad Personalization Consent State          | This represents consent for ad personalization. This can only be set for OfflineUserDataJobService and UserDataService.For more information on consent, refer to \[Google Ads API Consent]\(https://developers.google.com/google-ads/api/rest/reference/rest/v21/Consent).                                                                                                                                                | No       | STRING  |
| Batch Data to Google Enhanced Conversions | If true, Segment will batch events before sending to Google’s APIs. Google accepts batches of up to 2000 events.                                                                                                                                                                                                                                                                                                          | No       | BOOLEAN |

### Upload Call Conversion

Upload an offline call conversion to the Google Ads API.

Upload Call Conversion is a **Cloud** action.

| Field                                     | Description                                                                                                                                                                                                                                                                                                                                                                                                              | Required | Type    |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | ------- |
| Conversion Action ID                      | The ID of the conversion action associated with this conversion.                                                                                                                                                                                                                                                                                                                                                         | Yes      | NUMBER  |
| Caller ID                                 | The caller ID from which this call was placed. Caller ID is expected to be in E.164 format with preceding + sign, e.g. "+16502531234".                                                                                                                                                                                                                                                                                   | Yes      | STRING  |
| Call Timestamp                            | The date time at which the call occurred. The timezone must be specified. The format is "yyyy-mm-dd hh:mm:ss+\|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".                                                                                                                                                                                                                                                                | Yes      | STRING  |
| Conversion Timestamp                      | The date time at which the conversion occurred. Must be after the click time. The timezone must be specified. The format is "yyyy-mm-dd hh:mm:ss+\|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".                                                                                                                                                                                                                            | Yes      | STRING  |
| Value                                     | The value of the conversion for the advertiser.                                                                                                                                                                                                                                                                                                                                                                          | No       | NUMBER  |
| Currency                                  | Currency associated with the conversion value. This is the ISO 4217 3-character currency code.                                                                                                                                                                                                                                                                                                                           | No       | STRING  |
| Custom Variables                          | The custom variables associated with this conversion. On the left-hand side, input the name of the custom variable as it appears in your Google Ads account. On the right-hand side, map the Segment field that contains the corresponding value See \[Google’s documentation on how to create custom conversion variables]\(https://developers.google.com/google-ads/api/docs/conversions/conversion-custom-variables). | No       | OBJECT  |
| Ad User Data Consent State                | This represents consent for ad user data. For more information on consent, refer to \[Google Ads API Consent]\(https://developers.google.com/google-ads/api/rest/reference/rest/v21/Consent).                                                                                                                                                                                                                            | No       | STRING  |
| Ad Personalization Consent State          | This represents consent for ad personalization. This can only be set for OfflineUserDataJobService and UserDataService.For more information on consent, refer to \[Google Ads API Consent]\(https://developers.google.com/google-ads/api/rest/reference/rest/v21/Consent).                                                                                                                                               | No       | STRING  |
| Batch Data to Google Enhanced Conversions | If true, Segment will batch events before sending to Google’s APIs. Google accepts batches of up to 2000 events.                                                                                                                                                                                                                                                                                                         | No       | BOOLEAN |

### Customer Match User List

Sync users into a Google Customer Match User List.

Customer Match User List is a **Cloud** action. The default Trigger is `event = "Audience Entered" or event = "Audience Exited"`

| Field                                        | Description                                                                                                                                                                                                                                                                | Required | Type   |
| -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------ |
| First Name                                   | The user's first name. If not hashed, Segment will hash this value.                                                                                                                                                                                                        | No       | STRING |
| Last Name                                    | The user's last name. If not hashed, Segment will hash this value.                                                                                                                                                                                                         | No       | STRING |
| Email                                        | The user's email address. If not hashed, Segment will hash this value.                                                                                                                                                                                                     | No       | STRING |
| Phone                                        | The user's phone number. If not hashed, Segment will hash this value.                                                                                                                                                                                                      | No       | STRING |
| Phone Number Country Code                    | The numeric country code to associate with the phone number. If not provided Segment will default to '+1'. If the country code does not start with '+' Segment will add it.                                                                                                | No       | STRING |
| Address Country Code                         | 2-letter country code in ISO-3166-1 alpha-2 of the user's address                                                                                                                                                                                                          | No       | STRING |
| Postal Code                                  | Postal code of the user's address.                                                                                                                                                                                                                                         | No       | STRING |
| CRM ID                                       | Advertiser-assigned user ID for Customer Match upload. Required if external ID type is CRM ID.                                                                                                                                                                             | No       | STRING |
| Mobile Advertising ID                        | Mobile device ID (advertising ID/IDFA). Required if external ID type is mobile advertising ID.                                                                                                                                                                             | No       | STRING |
| Ad User Data Consent State                   | This represents consent for ad user data.For more information on consent, refer to \[Google Ads API Consent]\(https://developers.google.com/google-ads/api/rest/reference/rest/v21/Consent).                                                                               | Yes      | STRING |
| Ad Personalization Consent State             | This represents consent for ad personalization. This can only be set for OfflineUserDataJobService and UserDataService.For more information on consent, refer to \[Google Ads API Consent]\(https://developers.google.com/google-ads/api/rest/reference/rest/v21/Consent). | Yes      | STRING |
| Existing List ID                             | The ID of an existing Google list that you would like to sync users to. If you provide this, we will not create a new list.                                                                                                                                                | No       | STRING |
| List Name                                    | The name of the Google list that you would like to create.                                                                                                                                                                                                                 | No       | STRING |
| External ID Type                             | Customer match upload key types.                                                                                                                                                                                                                                           | No       | STRING |
| App ID                                       | A string that uniquely identifies a mobile application from which the data was collected. Required if external ID type is mobile advertising ID                                                                                                                            | No       | STRING |
| Connect to a Google Customer Match User List | When saving this mapping, we will create a list in Google using the fields you provide.                                                                                                                                                                                    | No       | OBJECT |

### Call Conversion V2

Send an offline call conversion to the Google Ads API.

Call Conversion V2 is a **Cloud** action.

| Field                                     | Description                                                                                                                                                                                                                                                                                                                                                                                                              | Required | Type    |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | ------- |
| Conversion Action ID                      | The ID of the conversion action associated with this conversion.                                                                                                                                                                                                                                                                                                                                                         | Yes      | NUMBER  |
| Caller ID                                 | The caller ID from which this call was placed. Caller ID is expected to be in E.164 format with preceding + sign, e.g. "+16502531234".                                                                                                                                                                                                                                                                                   | Yes      | STRING  |
| Call Timestamp                            | The date time at which the call occurred. The timezone must be specified. The format is "yyyy-mm-dd hh:mm:ss+\|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".                                                                                                                                                                                                                                                                | Yes      | STRING  |
| Conversion Timestamp                      | The date time at which the conversion occurred. Must be after the click time. The timezone must be specified. The format is "yyyy-mm-dd hh:mm:ss+\|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".                                                                                                                                                                                                                            | Yes      | STRING  |
| Value                                     | The value of the conversion for the advertiser.                                                                                                                                                                                                                                                                                                                                                                          | No       | NUMBER  |
| Currency                                  | Currency associated with the conversion value. This is the ISO 4217 3-character currency code.                                                                                                                                                                                                                                                                                                                           | No       | STRING  |
| Custom Variables                          | The custom variables associated with this conversion. On the left-hand side, input the name of the custom variable as it appears in your Google Ads account. On the right-hand side, map the Segment field that contains the corresponding value See \[Google’s documentation on how to create custom conversion variables]\(https://developers.google.com/google-ads/api/docs/conversions/conversion-custom-variables). | No       | OBJECT  |
| Ad User Data Consent State                | This represents consent for ad user data. For more information on consent, refer to \[Google Ads API Consent]\(https://developers.google.com/google-ads/api/rest/reference/rest/v21/Consent).                                                                                                                                                                                                                            | No       | STRING  |
| Ad Personalization Consent State          | This represents consent for ad personalization. This can only be set for OfflineUserDataJobService and UserDataService.For more information on consent, refer to \[Google Ads API Consent]\(https://developers.google.com/google-ads/api/rest/reference/rest/v21/Consent).                                                                                                                                               | No       | STRING  |
| Batch Data to Google Enhanced Conversions | If true, Segment will batch events before sending to Google’s APIs. Google accepts batches of up to 2000 events.                                                                                                                                                                                                                                                                                                         | No       | BOOLEAN |

### Conversion Adjustment V2

Send a conversion adjustment to the Google Ads API.

Conversion Adjustment V2 is a **Cloud** action.

| Field                                     | Description                                                                                                                                                                                                                                                                                                                      | Required | Type    |
| ----------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- |
| Conversion Action ID                      | The ID of the conversion action associated with this conversion.                                                                                                                                                                                                                                                                 | Yes      | NUMBER  |
| Adjustment Type                           | The adjustment type. See \[Google’s documentation]\(https://developers.google.com/google-ads/api/reference/rpc/v11/ConversionAdjustmentTypeEnum.ConversionAdjustmentType) for details on each type.                                                                                                                              | Yes      | STRING  |
| Adjustment Timestamp                      | The date time at which the adjustment occurred. Must be after the conversion timestamp. The timezone must be specified. The format is "yyyy-mm-dd hh:mm:ss+\|-hh:mm", e.g. "2019-01-01 12:32:45-08:00". If no timestamp is provided, Segment will fall back on the current time.                                                 | No       | STRING  |
| Order ID                                  | The order ID of the conversion to be adjusted. If the conversion was reported with an order ID specified, that order ID must be used as the identifier here.                                                                                                                                                                     | No       | STRING  |
| GCLID                                     | Google click ID associated with the original conversion for this adjustment. This is used for the GCLID Date Time Pair.                                                                                                                                                                                                          | No       | STRING  |
| Conversion Timestamp                      | The date time at which the original conversion for this adjustment occurred. The timezone must be specified. The format is "yyyy-mm-dd hh:mm:ss+\|-hh:mm", e.g. "2019-01-01 12:32:45-08:00". This is used for the GCLID Date Time Pair.                                                                                          | No       | STRING  |
| Restatement Value                         | The restated conversion value. This is the value of the conversion after restatement. For example, to change the value of a conversion from 100 to 70, an adjusted value of 70 should be reported. Required for RESTATEMENT adjustments.                                                                                         | No       | NUMBER  |
| Restatement Currency Code                 | The currency of the restated value. If not provided, then the default currency from the conversion action is used, and if that is not set then the account currency is used. This is the ISO 4217 3-character currency code, e.g. USD or EUR.                                                                                    | No       | STRING  |
| Phone Number Country Code                 | The numeric country code to associate with the phone number. If not provided Segment will default to '+1'. If the country code does not start with '+' Segment will add it.                                                                                                                                                      | No       | STRING  |
| Email Address                             | Email address of the individual who triggered the conversion event. If not hashed, Segment will hash this value.                                                                                                                                                                                                                 | No       | STRING  |
| Phone Number                              | Phone number of the individual who triggered the conversion event, in E.164 standard format, e.g. +14150000000. If not hashed, Segment will hash this value.                                                                                                                                                                     | No       | STRING  |
| First Name                                | First name of the user who performed the conversion.                                                                                                                                                                                                                                                                             | No       | STRING  |
| Last Name                                 | Last name of the user who performed the conversion. If not hashed, Segment will hash this value.                                                                                                                                                                                                                                 | No       | STRING  |
| City                                      | City of the user who performed the conversion.                                                                                                                                                                                                                                                                                   | No       | STRING  |
| State                                     | State of the user who performed the conversion.                                                                                                                                                                                                                                                                                  | No       | STRING  |
| Country                                   | 2-letter country code in ISO-3166-1 alpha-2 of the user who performed the conversion.                                                                                                                                                                                                                                            | No       | STRING  |
| Postal Code                               | Postal code of the user who performed the conversion.                                                                                                                                                                                                                                                                            | No       | STRING  |
| Street Address                            | Street address of the user who performed the conversion. If not hashed, Segment will hash this value.                                                                                                                                                                                                                            | No       | STRING  |
| User Agent                                | The user agent to enhance the original conversion. User agent can only be specified in enhancements with user identifiers. This should match the user agent of the request that sent the original conversion so the conversion and its enhancement are either both attributed as same-device or both attributed as cross-device. | No       | STRING  |
| Batch Data to Google Enhanced Conversions | If true, Segment will batch events before sending to Google’s APIs. Google accepts batches of up to 2000 events.                                                                                                                                                                                                                 | No       | BOOLEAN |

### Click Conversion V2

Send an offline click conversion to the Google Ads API.

Click Conversion V2 is a **Cloud** action.

| Field                                     | Description                                                                                                                                                                                                                                                                                                                                                                                                               | Required | Type    |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- |
| Conversion Action ID                      | The ID of the conversion action associated with this conversion.                                                                                                                                                                                                                                                                                                                                                          | Yes      | NUMBER  |
| GCLID                                     | The Google click ID (gclid) associated with this conversion.                                                                                                                                                                                                                                                                                                                                                              | No       | STRING  |
| GBRAID                                    | The click identifier for clicks associated with app conversions and originating from iOS devices starting with iOS14.                                                                                                                                                                                                                                                                                                     | No       | STRING  |
| WBRAID                                    | The click identifier for clicks associated with web conversions and originating from iOS devices starting with iOS14.                                                                                                                                                                                                                                                                                                     | No       | STRING  |
| User IP Address                           | The IP address of the user who initiated the conversion.                                                                                                                                                                                                                                                                                                                                                                  | No       | STRING  |
| Session Attributes (Encoded)              | A base64url-encoded JSON string containing session attributes collected from the user's browser. Provides additional attribution context if gclid, gbraid, or user identifiers are missing.                                                                                                                                                                                                                               | No       | STRING  |
| Session Attributes (Key Value Pairs)      | An alternative to the 'Session Attributes (Encoded)' field which can be used for Offline Conversions. If both 'Session Attributes (Encoded)' and 'Session Attributes (Key Value Pairs)' are provided, the encoded field takes precedence.                                                                                                                                                                                 | No       | OBJECT  |
| Conversion Timestamp                      | The date time at which the conversion occurred. Must be after the click time. The timezone must be specified. The format is "yyyy-mm-dd hh:mm:ss+\|-hh:mm", e.g. "2019-01-01 12:32:45-08:00".                                                                                                                                                                                                                             | Yes      | STRING  |
| Email Address                             | Email address of the individual who triggered the conversion event. If not hashed, Segment will hash this value.                                                                                                                                                                                                                                                                                                          | No       | STRING  |
| Phone Number Country Code                 | The numeric country code to associate with the phone number. If not provided Segment will default to '+1'. If the country code does not start with '+' Segment will add it.                                                                                                                                                                                                                                               | No       | STRING  |
| Phone Number                              | Phone number of the individual who triggered the conversion event, in E.164 standard format, e.g. +14150000000. If not hashed, Segment will hash this value.                                                                                                                                                                                                                                                              | No       | STRING  |
| Order ID                                  | The order ID associated with the conversion. An order ID can only be used for one conversion per conversion action.                                                                                                                                                                                                                                                                                                       | No       | STRING  |
| Value                                     | The value of the conversion for the advertiser.                                                                                                                                                                                                                                                                                                                                                                           | No       | NUMBER  |
| Currency                                  | Currency associated with the conversion value. This is the ISO 4217 3-character currency code.                                                                                                                                                                                                                                                                                                                            | No       | STRING  |
| Conversion Environment                    | The environment this conversion was recorded on, e.g. APP or WEB. Sending the environment field requires an allowlist in your Google Ads account. Leave this field blank if your account has not been allowlisted.                                                                                                                                                                                                        | No       | STRING  |
| Merchant Center ID                        | The ID of the Merchant Center account where the items are uploaded.                                                                                                                                                                                                                                                                                                                                                       | No       | STRING  |
| Merchant Center Feed Country Code         | The ISO 3166 two-character region code of the Merchant Center feed where the items are uploaded.                                                                                                                                                                                                                                                                                                                          | No       | STRING  |
| Merchant Center Feed Language Code        | The ISO 639-1 language code of the Merchant Center feed where the items are uploaded.                                                                                                                                                                                                                                                                                                                                     | No       | STRING  |
| Local Transaction Cost                    | Sum of all transaction-level discounts, such as free shipping and coupon discounts for the whole cart.                                                                                                                                                                                                                                                                                                                    | No       | NUMBER  |
| Items                                     | Data of the items purchased.                                                                                                                                                                                                                                                                                                                                                                                              | No       | OBJECT  |
| Custom Variables                          | The custom variables associated with this conversion. On the left-hand side, input the name of the custom variable as it appears in your Google Ads account. On the right-hand side, map the Segment field that contains the corresponding value See \[Google’s documentation on how to create custom conversion variables.]\(https://developers.google.com/google-ads/api/docs/conversions/conversion-custom-variables)  | No       | OBJECT  |
| Ad User Data Consent State                | This represents consent for ad user data.For more information on consent, refer to \[Google Ads API Consent]\(https://developers.google.com/google-ads/api/rest/reference/rest/v21/Consent).                                                                                                                                                                                                                              | No       | STRING  |
| Ad Personalization Consent State          | This represents consent for ad personalization. This can only be set for OfflineUserDataJobService and UserDataService.For more information on consent, refer to \[Google Ads API Consent]\(https://developers.google.com/google-ads/api/rest/reference/rest/v21/Consent).                                                                                                                                                | No       | STRING  |
| Batch Data to Google Enhanced Conversions | If true, Segment will batch events before sending to Google’s APIs. Google accepts batches of up to 2000 events.                                                                                                                                                                                                                                                                                                          | No       | BOOLEAN |

### Session Attributes Encoded Plugin

Enriches Segment payloads with Session Attributes Encoded values from the page URL.

Session Attributes Encoded Plugin is a **Web** action. The default Trigger is `type = "track" or type = "identify" or type = "page" or type = "group" or type = "alias"`

This action does not have any fields.

## Consent mode

[Consent mode](https://support.google.com/analytics/answer/9976101?hl=en) is a feature provided by Google in the context of its products, particularly the Gtag library and Google Analytics. As of March 6, 2024, Google announced that consent mode must function for European Economic Area (EEA) users, otherwise data from EEA users won't process.

Consent mode in the Gtag library and Google Analytics is designed to help website owners comply with privacy regulations, such as the General Data Protection Regulation (GDPR) in the European Union. It allows website owners to adjust how these tools use and collect data based on user consent.

With consent mode, you can configure your website to dynamically adjust the tracking behavior of the Gtag library and Google Analytics based on the user's consent status. If a user provides consent to data processing, both the Gtag library and Google Analytics can collect and use that data for analysis. If a user doesn't provide consent, both tools limit data collection to essential functions, helping businesses respect user privacy preferences.

Consent mode may involve updates to your sources outside of Segment, such as incorporating a consent management system for consent functionality.

### Set up consent mode

To enable consent mode for your Google Ads Conversions destination, you must update the **Ad User Data Consent State** and **Ad Personalization Consent State** for all of your Upload Call Conversion and Upload Click Conversion actions. You can do this in 1 of 2 ways:

* **Option 1:**
  1. Navigate to **Connections > Destinations** and select your Google Ads Conversion destination.
  2. Go to the **Mappings** tab of the destination.
  3. Select the mapping you want to edit.
  4. In the **Select mappings** section, select `GRANTED` from the dropdown menu for **Ad User Data Consent State** and **Ad Personalization Consent State**.
* **Option 2:**
  1. Navigate to **Connections > Destinations** and select your Google Ads Conversion destination.
  2. Go to the **Mappings** tab of the destination.
  3. Select the mapping you want to edit.
  4. In the **Select mappings** section, for **Ad User Data Consent State** and **Ad Personalization Consent State**, select the **Event Variables** tab and create an event variable to directly grab the value from the payload. Ensure it translates to `GRANTED`, `DENIED`, or `UNSPECIFIED`. You can use an insert or [replace function](/docs/segment/connections/destinations/actions/#replace-function) to translate other values to `GRANTED`, `DENIED`, or `UNSPECIFIED`.

If you send `DENIED` for any of the two consent states, it results in an error and the data won't send to Google. For more information, see [FAQ about the EU user consent policy for Customer Match upload partners](https://support.google.com/google-ads/answer/14310715?hl=en).

If you have any questions setting up consent mode, reach out to [friends@segment.com](mailto:friends@segment.com).

## Session Attributes support

Session Attributes provide additional attribution context to Google Ads when tracking conversions. This feature enhances conversion matching accuracy, especially when `gclid`, `gbraid`, or user identifiers may be missing or incomplete.

### Overview

The Google Ads Conversions destination supports sending Session Attribute data in two complementary formats:

1. **Session Attributes (Encoded)**: A base64url-encoded JSON string containing session data collected from the user's browser.
2. **Session Attributes (Key-Value Pairs)**: An alternative format allowing manual mapping of individual session attributes.

When both formats are provided, the encoded field takes precedence.

### Supported actions

Session Attributes are supported in the following actions:

* **Upload Click Conversion**: Supports both encoded and key-value pair formats.
* **Click Conversion V2**: Supports both encoded and key-value pair formats.

> \[!WARNING]
>
> Session Attributes are not available for *Call Conversion* or *Conversion Adjustment* actions, as these conversion types don't require session-level attribution data.

### Session Attribute fields

The following session attributes can be captured and sent to Google:

| Field                          | Description                                                    | Format                                                    |
| ------------------------------ | -------------------------------------------------------------- | --------------------------------------------------------- |
| **gad\_source**                | Aggregate parameter identifying the source of traffic from ads | String                                                    |
| **gad\_campaignid**            | ID of the specific ad campaign that drove the click            | String                                                    |
| **landing\_page\_url**         | Full URL of the landing page where the user arrived            | String (URL)                                              |
| **session\_start\_time\_usec** | Timestamp when the user's session began                        | ISO 8601 string (for example, "2025-11-18T08:52:17.023Z") |
| **landing\_page\_referrer**    | URL of the webpage that linked to your site                    | String (URL)                                              |
| **landing\_page\_user\_agent** | User's browser and operating system information                | String                                                    |

### Automatic collection with browser plugin

#### Setup

To automatically collect Session Attributes from your website, add the **Google Enhanced Conversions Browser Plugins** Action to the Google Ads Conversions Destination.

#### How it works

The browser plugin:

1. Monitors the page URL for Google advertising parameters (any parameter starting with `gad_`, plus `gclid` and `gbraid`).
2. When detected, automatically captures:

* All `gad_*` URL parameters
* Current timestamp as `session_start_time_usec`
* Full landing page URL
* Referrer URL
* User agent string

3. Encodes the data as a base64url-encoded JSON string.
4. Stores it in browser storage for the session.
5. Enriches all subsequent Segment events ([Track](/docs/segment/connections/spec/track), [Identify](/docs/segment/connections/spec/identify), [Page](/docs/segment/connections/spec/page), [Group](/docs/segment/connections/spec/group), [Alias](/docs/segment/connections/spec/alias) with the encoded value in `integrations.Google Ads Conversions.session_attributes_encoded`.

The enriched data flows automatically to your Click Conversion actions without additional configuration.

### Manual configuration with key-value pairs

For offline conversions or cases where the browser plugin isn't suitable, use the **Session Attributes (Key-Value Pairs)** field to manually map session data from your Segment events.

## FAQs and troubleshooting

### Conversion ID, Customer ID, and Conversion Action ID should always be different values

Conversion ID and Customer ID are global settings because it's an account-level ID that's the same for all conversion actions in your Google Ads account.

The Conversion Action ID is unique to each conversion action and is configured per mapping. The Conversion Action ID can only be found in the browser URL of your given conversion action under the `ctId` parameter. For example, if the URL is `https://ads.google.com/aw/conversions/detail?ocid=00000000&ctId=576882000`, your Conversion Action ID is `576882000`.

### Enhanced conversions

[Enhanced conversions](https://support.google.com/google-ads/answer/11062876) is a feature that can improve the accuracy of your conversion measurement and unlock more powerful bidding. 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. In order to send enhanced conversions, you must record first conversions using the standard Google Ads Conversion tag (Gtag). Segment offers a [Google Ads (Gtag) destination](/docs/segment/connections/destinations/catalog/google-ads-gtag/) so you can use your existing Segment implementation to activate Gtag. Enhancements can be sent to web conversion actions that have **Turn on enhanced conversions** by API enabled.

Conversions tracked by other means, such as importing goals from Google Analytics, are not eligible for enhancement.

> \[!NOTE]
>
> To send enhancements for conversions that are initially tracked with Gtag, an Order ID (Transaction ID) must be implemented in the Gtag **and** the same Order IDs must be sent with the corresponding enhancement data. This is required for Google to successfully process your enhancement data.

### Enhanced conversions for leads

[Enhanced conversions for leads](https://developers.google.com/google-ads/api/docs/conversions/upload-identifiers) allows you to use hashed, first-party user-provided data from your website lead forms for offline lead measurement. When you upload your leads, the provided hashed information is used to attribute back to the Google Ad campaign. In order to send enhanced conversions for leads, you can use the "Upload Click Conversion" action. According to Google, if you do not have GCLID at your source payload, you have to pass user identifiers, at least email or phone number in your mappings, for Google to make the match. A conversion must be addressed to an existing profile. If there's not a match, Google responds with a failure.

### Refreshing access tokens

When you use OAuth to authenticate into the Google Ads Conversions destination, Segment stores an access token and refresh token. Access tokens for Google Ads Conversions expire after one hour. Once expired, Segment receives an error and then uses the refresh token to fetch a new access token. This results in two API requests to Google Ads Conversions, one failure and one success.

Because of the duplicate API requests, you may see a warning in Google for unprocessed conversions due to incorrect or missing OAuth credentials. This warning is expected and does not indicate data loss. Google has confirmed that conversions are being processed, and OAuth retry behavior will not cause any issues for your web conversions. Whenever possible, Segment caches access tokens to reduce the total number of requests made to Google Ads Conversions.

### Resolving an invalid\_conversion\_action\_type error

This error indicates that the conversion action specified in the upload request has not been set up for conversion uploads, as outlined in [Google's Ads documentation](https://developers.google.com/google-ads/api/reference/rpc/v15/ConversionUploadErrorEnum.ConversionUploadError#invalid_conversion_action_type).

To resolve this, ensure that the ConversionActionType value in Google Ads is correctly configured.

### Conversion upload error

You may encounter this error if you use more than one identifier to update a conversion. You must only use one identifier (GCLID, GBRAID, or WBRAID) for each ClickConversion entry.

### `The required field was not present., at conversions[0].gclid` Error

Events going to Google for this integration require a `GCLID` field, an `email`, or a `phone_number`. If one of those identifiers isn't being sent properly, then you may see the `The required field was not present., at conversions[0].gclid` error. To fix this, double check that at least one of those fields is being passed to Google on each payload.

#### What type of import should I select when creating a conversion in Google Ads?

When setting up conversions in Google Ads to upload data through Segment, select **Manual Import using API or Uploads** as the import type. This option allows Segment to send server-side conversion data through the Google Ads API, ensuring offline conversions and adjustments are uploaded correctly.

If the **Manual Import using API or Uploads** option is not available, follow the steps detailed in [Google's documentation](https://support.google.com/google-ads/answer/7382633).

### What are the differences between the Upload Click Conversions and Click Conversion V2 Actions?

The only difference between the Upload Click Conversions and Click Conversion V2 Actions is that the Click Conversion V2 Action has [sync modes](/docs/segment/connections/destinations/#sync-modes).

### Why am I getting a `USER_PERMISSION_DENIED` 403 error when my credentials are correct?

If you're getting the following error:

```text
"errors": [
{
"errorCode": {
"authorizationError": "USER_PERMISSION_DENIED"
},
"message": "User doesn't have permission to access customer. Note: If you're accessing a client customer, the manager's customer id must be set in the 'login-customer-id' header. See https://developers.google.com/google-ads/api/docs/concepts/call-structure#cid"
}
]
```

That generally means there is a conflict or problem between the account used for authorization through Segment and the Customer ID. You can read more about this in Google's [API Call Structure](https://developers.google.com/google-ads/api/docs/concepts/call-structure#cid:~:text=in%20the%20request%3A-,Authorization,must%20be%20set%20to%20the%20customer%20ID%20of%20the%20manager%20account.,-Key%20Term%3A) documentation.
