Google Ads Enhanced Conversions lets you improve your conversion measurement accuracy by securely sending first-party conversion data from your website to Google.

RudderStack supports Google Ads Enhanced Conversions as a destination to which you can send your audience list.

To use this destination, you must set up Enhanced Conversions with the Google Ads API. For detailed instructions, refer to the Google Ads support page.

Getting started

Before configuring Google Ads Enhanced Conversions as a destination in RudderStack, verify if the source platform is supported by referring to the table below:

Connection ModeWebMobileServer
Device mode---
Cloud modeSupportedSupportedSupported
To learn more about the difference between cloud mode and device mode in RudderStack, refer to the RudderStack Connection Modes guide.

Once you have confirmed that the source platform supports sending events to Google Ads Enhanced Conversions, follow these steps:

  1. From your RudderStack dashboard, add the source. Then, from the list of destinations, select Google Ads Enhanced Conversions.
  2. Assign a name to your destination and click Next.

Actions undertaken via your RudderStack integration rely on the authorizing Google Ads user's underlying permissions and must be at least Standard or Admin.

If an integration is authorized by a user without at least Standard or Admin permissions, API calls will fail, and a "RudderStack Admin" user will disable the integration in your audit logs. If you encounter an entry in your audit logs from a Rudder Admin/ user, this means that the integration was disabled by RudderStack on account of insufficient permissions by your Google Ads user.

To avoid this, ensure that the authorizing user has the Standard permissions, at minimum.

Connection settings

To successfully configure Google Ads Enhanced Conversions as a destination, first authenticate your account by following the below steps:

  1. Click Create Account in the Account Settings section.
  2. From the modal, click the Sign in with Google button.
  3. Choose the required account and grant RudderStack the required permissions.
  4. Click Save to use the specified account, as shown:
Google Account authentication
In case you have authenticated multiple accounts, you can click Edit Credentials to select or delete any other authenticated account, as shown:

Google Account authentication

RudderStack gives an error if you try to delete an account used by any other connection set up for the same destination.

Next, configure the following settings:

Google Ads Enhanced Conversions connection settings
  • Customer ID: Enter the ID associated with your Google Ads account. You can find it by clicking on the Help option in your dashboard.

For more information on obtaining the customer ID, refer to the Google Ads Help Center page.

  • Subaccount: Enable this setting if you are using a Google Ads subaccount.

For more information on subaccounts, refer to the Google Ads Help Center page.

  • Login Customer ID: Enter the customer ID of the manager account (associated with the subaccount).

This field is required only when you want to send data to a customer list of a subaccount.

Event settings

  • List of Conversion: Enter the list of events on which you want to perform enhanced conversions. RudderStack will discard any events that are not specified in this list.

  • Hashing Required: Enabled by default, this setting hash encrypts the user identifiers, such as email, phone number, first name, last name and street address.


The track call lets you record and send the conversion events along with any properties associated with them.

A sample track call is shown below:

rudderanalytics.track("Order Completed", {
checkout_id: "12345",
orderId: "123",
affiliation: "Apple Store",
gclid: "abcd1234",
conversionDateTime: "2019-01-01 12:32:45-08:00",
adjustedValue: 100,
currencyCode: "INR",
adjustmentDateTime: "2019-01-01 12:32:45-08:00",
total: 20,
revenue: 15.0,
shipping: 22,
tax: 1,
discount: 1.5,
coupon: "SAVE45",
currency: "USD",
products: [
product_id: "FS247",
sku: "G-32",
name: "Monopoly",
price: 14,
quantity: 1,
category: "Games",
url: "",
RudderStack uses the ConversionAdjustment method to send these events to Google Ads.
RudderStack will discard any track call where orderId is not present. This is because orderId is a required field for enhancement.

Supported mapping

The following table details the mapping of the fields specified in the RudderStack dashboard and Google Ads Enhanced Conversions, along with the relevant guidelines:

RudderStack fieldGoogle Ads Enhanced Conversions fieldGuidelines
gclidgclidThis is the Google click ID associated with the original conversion.
conversionDateTimeconversionDateTimeThe datetime at which the conversion for the adjustment occurred. You must specify the timezone in the format `yyyy-mm-dd hh:mm:ss+
adjustedValueadjustedValueThe value of the conversion after restatement. To change the value of a conversion from 100 to 75, for example, you should report an adjusted value of 75.
currencyCodecurrencyCodeUse the ISO 4217 3-character currency code, e.g. USD/EUR.
orderIdorderIdIf a conversion was reported with a specific order ID, then that order ID must be used as the identifier.
adjustmentDateTimeadjustmentDateTimeThe datetime at which the adjustment occurred. You must specify the timezone in the format `yyyy-mm-dd hh:mm:ss+
userAgentuserAgentUser agent should only be specified in enhancements with the user identifiers and it should match the user agent of the request that sent the original conversion. This is so that the conversion and the enhancement both are either attributed as same or cross-device.
emailhashedEmailInclude a domain name for all the email addresses. Remove any spaces in between the addresses.
phonehashedPhoneFormat the phone number using the E.164 format. Include the country code as well.
firstNamehashedFirstNameDo not include any prefixes (e.g., Mrs.).
lastNamehashedLastNameDo not include any suffixes (e.g., Sr.).
citycityThis field accepts any string.
statestateThis field accepts any string.
country / countryCodecountryCodeUse the ISO two-letter/three-letter country codes. Include the country code even if all your users belong to the same country.
postalCodepostalCodeBoth the US and international zip and postal codes are allowed. For the US, 5 digit codes followed by 4 digit extensions are also allowed. For the rest of the countries, do not include the postal code extensions.


According to my audit logs, a "Rudder Admin" user updated my destination. Why is this?

This is a Google Ads permissions issue. See Google Ads Permissions for details.

Can I set up the Enhanced Conversions and Remarketing Lists destinations using the same Google Ads account?

Yes, you can. Both the integrations are the sub-features of Google Ads. Hence, you can use the same Google Ads account to configure both the destinations in RudderStack.

Where can I find my Google Ads customer ID?

To get the customer ID associated with your Google Ads account, click the Help option in your Google Ads dashboard. You will find the customer ID in the resulting pop-up, as shown:

Google Ads Enhanced Conversions connection settings

What are the account permissions required for this integration?

For the integration to be successful, make sure the customer account used for OAuth verification adheres to Google's Customer Match policy and has Standard or higher (Administrative) access level permissions. For more information on the access level permissions, refer to this Google Ads support page.

To set the access level, follow these steps:

  1. Sign into to your Google Ads account and go to TOOLS AND SETTINGS > Access and security, as shown:
Access and Security option in Google Ads dashboard
  1. Enter the email address of the account and from the list of permissions, select Standard or Administrative. Then, click SEND INVITATION, as shown:
Specifying access levels

The account will have the access level permissions once they accept the invitation.

I am getting a 400 Bad Request error message. What should I do?

If you get a 400 Bad Request error while configuring the destination, make sure your customer account is allow-listed and configured to have Standard or Administrative access levels in Google Ads. Refer to the above FAQ for steps on setting the access level permissions for the account.

Contact us

For more information on the topics covered on this page, email us or start a conversation in our Slack community.