Notification

Please be advised that the Customer Support team does not provide troubleshooting services in your current display language. To contact Support team staff, please first switch to English or other supported languages (Spanish, Portuguese or Japanese). 

Set up enhanced conversions manually with Google Tag Manager

This article explains how to set up enhanced conversions manually using Google Tag Manager and addresses common issues with validation and implementation. Learn more about how enhanced conversions work.

Before you begin

Conversions measured by importing Google Analytics goals are not supported for enhanced conversions.

Make sure that you have Floodlight tracking set up using Google Tag Manager.

  • Know the conversion page URL where the conversion tag fires (for example, the confirmation page URL) and the conversion event trigger (such as a button click or a page view).
  • Ensure that first-party customer data (email, full name and home address, and/or phone number) is available on the page where your conversion tracking tag fires.
  • As this process requires knowledge of how conversion tracking is set up on your website and some code changes, make sure that you are able to speak with your development team as needed.
  • Ensure that you’ve reviewed Google’s customer data policies and agree to the enhanced conversion terms of service and policies in your Campaign Manager 360 account. Learn more about allowing enhanced conversions in Campaign Manager 360.

Before accepting the terms of service, make sure that you already have a conversion tracking tag set up in the Google Tag Manager container that you plan to use for enhanced conversions. Otherwise your container may not properly be enabled for enhanced conversions.

Set up enhanced conversions manually using Google Tag Manager

If you currently use Google Tag Manager for conversion tracking, you can implement enhanced conversions with slight changes to your configuration.

There are 3 primary ways in which you can implement enhanced conversions in Google Tag Manager:

  1. Using 'manual configuration' with CSS selectors or existing data layer variables. No code changes are required on your page. (Recommended if the 'automatic' option isn't available.)
    • This is the easiest way to implement enhanced conversions with Google Tag Manager as it usually requires no code changes on your page, as long as you have customer data (such as an email) available on your conversion page.
    • If you frequently change your website code, particularly the formatting or CSS selectors on your conversion page, you may want to consider using data layer variables or the 'Code' option (see below) instead as changing your website formatting could disrupt the CSS selector method.
  2. Using the 'Code' method to send all data in a single data object (this may require code changes on your page).
    • You can implement enhanced conversions as a single data object using JavaScript variables on your conversion page, as long as the customer data (emails, phone numbers, etc.) that you would like to pass in the enhanced conversions tag is defined in global JavaScript variables on your conversion page.
    • This method is useful if you prefer to pass the information using JavaScript variables or if the customer data isn't available on the conversion page (for example, it’s available on previous pages and needs to be passed to the conversions page). It is also preferable if you frequently change the formatting on your website as it’s more resilient to code changes.
  3. Using 'automatic collection' (if available).
    • Google recommends using one of the manual options above for the best results, but the automatic option is quick and simple if you’re unable to use one of the manual implementation paths.

Find enhanced conversions variables on your conversion page

  1. Using the Chrome browser, navigate to your conversion page.
    • The conversion page is where the conversion that you’re trying to measure with enhanced conversions (for example, purchases from Page A) is being tracked using your existing conversion tracking tag. If you are unsure which page this is, contact your developer and identify any customer data displayed on the page that you wish to send to Google (for example, your page may display a 'thank you' message and include a customer's email address after a purchase).
    • At least one of the following fields will need to be provided for enhanced conversions to work properly:
      • Email (preferred)
      • Address (first name, last name, postcode and country are required if you choose to use this data)
      • Optional. A phone number can also be provided, along with an email or full name and address (but not by itself)
  2. Once you have identified the customer data on the page, you’ll need to copy the CSS selectors and enter them into Google Tag Manager (or utilise existing data layer variables if they already exist). This ensures that your enhanced conversions tag knows which pieces of data to hash and send to Google. It’s important to keep the conversion page tab open.

Enable enhanced conversions in Google Tag Manager

In a separate tab, open Google Tag Manager.

  1. Sign in to your Google Tag Manager account.
  2. Click Workspace, then click Tags from the navigation menu.
  3. Select the Floodlight tracking tag that you’d like to implement enhanced conversions with and edit that tag.
  4. Click Include user-provided data from your website.
  5. In the 'Select user-provided data variable' drop-down menu, click New Variable.
  6. Select 'Manual configuration (recommended)'.
    • You may also select 'Code' if you would like to use custom JavaScript or other data objects to send your data through Google Tag Manager. This method requires data to be formatted in a particular way, so if you’d like to do this, see the 'Code' instructions below. You’ll see 'User-provided data' at the top of the page, followed by all the pieces of customer data that you can include as part of your enhanced conversions tag.
  7. For the relevant user data field that you want to provide via enhanced conversions, click the drop-down menu and select 'New Variable'.
    • If you already have unhashed variables in your data layer (whether using CSS selectors or other variable types), you can select them instead of creating new variables. If you aren’t sure, continue with the instructions.
  8. On the 'Variable Configuration' screen, select 'Choose Variable Type' to begin setup.
  9. On the 'Choose Variable Type' screen, select 'DOM Element' and in the drop-down menu on the 'Variable Configuration' screen, change 'Selection Method' to 'CSS Selector'.
  10. Give your variable a title.
  11. Enter the CSS selector that references your users’ data into the 'Element selector' input field (see below on how to find the CSS selector). You can leave the 'Attribute name' field blank (more on this below).

Next, you’ll learn how to copy the CSS selectors from your conversion page and paste them into the enhanced conversions variables, so it’s important that you keep this page tab open.

Identify enhanced conversions CSS selectors and input them into Google Tag Manager

Follow these instructions to identify the CSS selectors to input into the enhanced conversions tag fields (email, phone, etc.).
If you already have unhashed variables in your data layer, you can select them instead of creating new CSS variables. If you aren’t sure, follow the instructions below.
  1. Navigate back to your conversion page tab (but don’t close Google Tag Manager).
  2. Right-click the corresponding customer data that you want to send with enhanced conversions and select 'Inspect' to launch Chrome Developer tools in your Chrome browser.
    • For example, if you are trying to capture an email address, right-click the email address displayed on your conversion page.
  3. In the source code in the Chrome Developer tools page, a portion of the code will be highlighted. This code is the page element where you need to extract CSS selectors for the customer data that you right-clicked.
  4. Hover your cursor over the highlighted code and right-click.
  5. Scroll down to Copy, then choose 'Copy Selector'.
  6. Paste the text in the 'Element selector' field into Google Tag Manager.
    • The text will look something like this: tsf > div:nth-child(2) > div.A8SBwf > div.RNNXgb > div > div.a4bIc > custEmail
  7. Click Save.

Repeat Steps 2–8 for each piece of customer data (email, name and address, etc.).

Set up enhanced conversions using 'Code' in Google Tag Manager

Identify and define your enhanced conversions variables

First, ensure that the variables you need (such as email, address and phone number) are available on the conversion page where the Floodlight conversion tag fires. This will likely be the case on conversion pages for purchases, sign-ups and other similar conversion types that require customer data. If you are unsure, contact your developer.

Once it’s confirmed that the customer data is available, you’ll need to store it on your page as global JavaScript variables so they can be used by the enhanced conversions tag (see the next section for more).

At least one of the following fields must be provided:

  • Email (preferred).
  • Address (first name, last name, postcode and country are required). You have the option to provide the street address, city and region as additional match keys.
  • A phone number can also be provided, along with an email or full name and address.

The following table includes more information about the customer data variables you can define. You can name the variables whatever you’d like. The 'Key name' column indicates how the variables will be referenced in the enhanced conversions tag. Note that all data should be passed as string type variables and when defining name and address, define each component as an individual variable (first name, last name, etc.).

Data field Key name (in custom JavaScript variable below) Description
Email address email User email
Phone number phone_number User phone number. The tag will remove symbols and dashes, but the number must contain the country code
First name address.first_name User first name. Example: 'John'
Last name address.last_name User last name. Example: 'Doe'
Street address address.street User street address. Example: '123 Main St'
City address.city User city name. Example: 'Melbourne'
Region address.region User province, state or region. Example: 'Victoria' or 'VIC'
Postcode address.postal_code User postcode (5-digit version only). Example: '12345'
Country address.country User country code. Example: 'AU'. Use 2-letter country codes as per ISO 3166-1 alpha-2 standards

You’ll enable enhanced conversions in Google Tag Manager and reference the customer data variables that you have created in the following steps.

Keep the names of your customer data variables handy as you’ll need them in future steps.

Enable enhanced conversions in Google Tag Manager and create a custom JavaScript variable

  1. Sign in to your Google Tag Manager account.
  2. Click Workspace, then click Tags from the navigation menu.
  3. Select the Floodlight conversion tracking tag that you’d like to implement enhanced conversions with and edit that tag.
    • If you haven’t set up your Floodlight conversion tracking tag in your Google Tag Manager account, read Google’s Floodlight guide.
  4. Click Include user-provided data from your website.
  5. Click Select user-provided data variable, then select New Variable.
  6. In the new 'User-provided data variable', select Code at the bottom.
  7. Under 'Choose Variable Type', select Custom JavaScript.
  8. Copy the following code into the custom JavaScript variable:

function () {
return {
"email": yourEmailVariable , // replace yourEmailVariable with variable name that captures your user’s email
"phone_number": yourPhoneVariable , // repeat for yourPhoneVariable and following variable names below
"address": {
"first_name": yourFirstNameVariable
"last_name": yourLastNameVariable ,
"street": yourStreetAddressVariable ,
"city": yourCityVariable ,
"region": yourRegionVariable ,
"postal_code": yourPostalCodeVariable ,
"country": yourCountryVariable
}
}
}

  1. For each type of customer data in the code above, replace the placeholder variables (for example, yourEmailVariable) with the name of the global JavaScript variable containing that piece of customer data on your conversion page.
    • As a reminder, at least one of the following fields must be provided:
      • Email (preferred)
      • Address (first name, last name, postcode, country are required)
      • Phone number (must be provided in addition to one of the other 2 pieces of information above)
    • If your site doesn't collect one of those fields, remove the field entirely, rather than leaving it blank.
      • For example, a website that only collects emails and phone numbers would create a custom JavaScript variable that looks like this:
        function () {
        return {
        "email": yourEmailVariable ,
        "phone_number": yourPhoneVariable
        }
        }
  2. Click Save.

Enhanced conversions are now set up for that conversion action. The next step is to validate that it’s working properly. Go to the 'Validate your implementation' section below.

Validate your implementation

To validate that your enhanced conversions implementation is working as intended, you should use the Google Tag Manager preview and debug mode to verify your enhanced conversions. Firstly, enable preview and debug mode and navigate to your conversion page. In Google Tag Manager, click on your Floodlight tag, then click the 'Variables' tab. You can see the data being sent in the enhanced conversions object. If you don’t see the enhanced conversions object or if the object is empty, it means that there is an error in your implementation. Please review the implementation instructions to ensure that you’ve implemented enhanced conversions correctly.

Common issues

If you're unable to validate your enhanced conversions implementation, you should go back through the setup instructions to ensure that all necessary steps were followed. If you’re still having trouble, below is a list of common reasons why you may be experiencing issues with your enhanced conversions implementation.

Multiple tags are detected

Choose one of the tags listed in the dialogue box. If you have the Google tag and Google Tag Manager, the Google tag is recommended.

Enhanced conversions data aren't available at the time of conversion

In some cases, enhanced conversions data may not be available at the time of conversion, such as when that information is collected on another domain (for example, paying through a third-party domain), or if it is collected elsewhere in the conversion flow (for example, signed-in customers may not re-enter their first-party information or it may be collected on the previous page).

Variables weren't successfully implemented for enhanced conversions

For Google Tag Manager users, review the steps above related to creating variables properly to ensure that you did so correctly. Also ensure that the variables are the ones referred to when configuring enhanced conversions in Google Tag Manager and that they are populated with data by the time of conversion.

Code copying errors

Double-check that all enhanced conversions code on your page and/or variable names entered into Google Tag Manager are correct. If you implemented enhanced conversions using JavaScript variables, make sure that the custom JavaScript snippet was copied correctly and updated to reflect your variable names (not placeholder information). If you used CSS selectors, ensure that you selected the correct selector and properly copied the selector information, as described in the steps above.

Was this helpful?

How can we improve it?

Need more help?

Try these next steps:

Search
Clear search
Close search
Main menu
2754168068733703892
true
Search Help Centre
true
true
true
true
true
5055977
false
false