Remarketing allows you to show ads to people who have previously visited your website or used your mobile app. Dynamic remarketing takes this a step further by showing your visitors an ad with the specific product they had previously viewed on your site.
This guide will show you how to implement Google Ads dynamic remarketing with Google Tag Manager. To better understand the process, review the dynamic remarketing guide on the Google Ads help center before you attempt this tag implementation.
Overview
To tag your site for remarketing, you need to:
-
Deploy a Google Ads remarketing tag on every page of your site.
-
Pass dynamic values for each remarketing events to the remarketing tag on key steps of your site. These values can be things like the product ID of an item a user added to their cart, the origin and destination of a flight a user searched for, the promotion ID of an offer a user had clicked on, etc.)
Dynamic remarketing can be implemented for any type of online organization. The list of dynamic values that should be captured will depend on your website's business objectives. There are parameters defined for different business categories, such as education, jobs, travel, etc. See the list of events and parameters on the Google Ads Help Center, and select one that is appropriate for your organization.
The implementation steps are as follows:
- Populate events and parameter values
- Insert dynamic values in the remarketing tag
- Specify triggers to fire the remarketing tag
- Test and deploy
Populate events and parameter values
The first step in your implementation is to capture data from your website in a way that can be processed by Tag Manager. To capture data from your page, you will need to implement a Tag Manager variable. Data may be pulled in several ways, such as from 1st party cookies, the data layer, or custom JavaScript.
Insert values in the remarketing tag
Once you've configured the tag to receive the target data as variables, use those variables to insert data into Tag Manager's Google Ads remarketing tag template.
Specify triggers to fire the remarketing tag
The next step is to define triggers that tell Tag Manager when to fire each instance of the remarketing tag. You can define triggers based on built-in variables that include pageviews, link click, button click, form submit, etc. You can also create triggers based on a custom event that register in Tag Manager via the Data Layer.
Test and deploy
The last step is to test the tags on your site with Tag Manager's Preview mode. Once all the test cases have been completed and you are able to confirm that the tags are firing correctly, with the expected dynamic values, you can deploy the tags by publishing the container.
For detailed instructions on how to implement remarketing tags with Tag Manager, choose the remarketing tag implementation method that you intend to use:
Implementation Guide
This section describes how to implement Google Ads dynamic remarketing tags in Tag Manager with one instance of the remarketing tag for all steps of your purchase funnel.
The main steps for this process are:
- Configure your website to pass values to Tag Manager via the data layer or custom JavaScript.
- Create data layer variables in Tag Manager.
- Create triggers.
- Configure the remarketing tag with custom parameters.
Configure variables
Configure a Tag Manager variable for each piece of dynamic data that we want to pass to the remarketing tag. In this example, we'll have a variable for 'Event Name', 'Event Value' and a variable for 'Event Items'.
-
Event Name: The dynamic remarketing event name, which describes the event being measured. It is used by the Google Ads system to assign users to one of several automatically generated user lists. We recommend that you use a specific set of event names from the list of recommended events described in Google Ads helps center.
-
Event Value: The value of the remarketing event. This represents the total value of the products or services the user is interacting with.
-
Event Items: The list of items the user is interacting with. This variable must be an array of objects with properties following the dynamic remarketing item schema. Each item must have one or more of the following properties: '
id
', 'location_id
', 'origin
', 'destination
', 'start_date
', 'end_date
', 'google_business_vertical
'.
See the list of events and parameters on the Google Ads Help Center.
There are several ways to capture dynamic data with Tag Manager. For example, you can pass values explicitly to Tag Manager from your website using the data layer, or you can use Tag Manager to extract it from your site if possible using custom JavaScript variables.
Update your site to pass values to Tag Manager via the data layer: This is the more robust method for remarketing tag configuration. This method will pass dynamic values directly to your remarketing tag from the data layer, but it requires that a developer make code changes on your website. We recommend that you use a specific set of event names from the list of recommended events. Once the event data is available in the data layer, create data layer variables in Tag Manager to pass these values to your tags. In Tag Manager, create a data layer variable for 'items
' and another for 'value
':
- Click Variables
New.
- Select Data Layer Variable.
- For Data Layer Variable Name, enter '
items
'. - Click Save.
Repeat these steps to create a second Data Layer Variable that uses 'value
' for the Data Layer Variable Name.
Developers can learn more about data layer implementations at the Tag Manager developer site.
Use custom JavaScript variables: You can alternatively use custom JavaScript code to populate the dynamic parameter values from Tag Manager with custom tags. This approach, while less robust than the former, is sometimes the most practical way of deploying the remarketing tags since it doesn't require you to make any code changes directly on your site. You can write custom JavaScript code that will pull the required dynamic values from the existing pages source code and pass it to the tag.
In general, the data needed by the remarketing tag is already present somewhere in the document and can be retrieved via JavaScript code that is injected into the page through Tag Manager. The downside of this method is that it relies on your site's source code as observed at the time of implementation, and future changes to Tag Manager may require you to revise your custom JavaScript code.
Configure triggers
The next step is to set up triggers in Tag Manager for the remarketing tag. Each trigger is built by specifying a type of event, and one or more filters to specify when a tag should fire.
Pageview-based triggers
In most cases, the trigger you need to create will be based on the view of a particular page, or on a subset of pages. For example: On an ecommerce website, we'll usually want to create one trigger to fire the tag on all product pages, one trigger to fire the tag on the cart page, and one trigger to fire the tag on the purchase confirmation page.
To create a pageview trigger
- Click Triggers
New.
- Click Trigger Configuration and select Page View.
- Set the trigger to fire on Some Page Views.
- In the section 'Fire this trigger when an Event occurs and all of these conditions are true', enter Page URL
contains
<path>, where <path> is a predictable part of the URL for the pages where you want this tag to fire (e.g. /products/).
To create a trigger that fires a tag on a group of pages (e.g. the product pages), use operators like "contains" or "matches regular expression" so it matches the desired page URL.
Non-URL triggers
In situations where the URL can't be used to differentiate page types, you may be able to use other variables as filters for the pageview event. For example, an ID attribute may be present:
To create a trigger that will fire when this attribute is found:
- Click Triggers
New.
- Click Trigger Configuration and select Element Visibility.
- Set Selection Method to ID.
- In the Element ID field, enter cart_title.
- Set this tag to fire once per page.
- Set Minimum Percent Visible to 1%.
- Set the trigger to fire on All Visibility Events.
Asynchronous events
To ensure the best performance of your dynamic remarketing campaigns, it's important to fire tags as soon as the user completes an important step in the purchasing funnel, such as when a product is added to the cart. If a cart update doesn't lead to a new pageview, you can trigger based on a click event or a custom event.
If you have a data layer implementation, use a custom event to let Tag Manager know that a product was added to the cart and pass the relevant product information at the same time.
When an item is added to the cart, your website code should use dataLayer.push()
to add an event to the data layer:
'event': 'add_to_cart',
'value': 78.45,
'items' : [{
});
Next, create the trigger in Tag Manager:
- Click Triggers
New.
- Click Trigger Configuration and select Other: Custom Event.
- Set Event Name to add_to_cart.
Configure tag instance
You now have all the pieces ready to be assembled. You have configured variables to receive dynamic data and have set up triggers to tell Tag Manager when to fire remarketing tags. The final step is to set up remarketing tag with the configured variables.
Here's an example remarketing tag configuration:
- Click Tags
New.
- Click Tag Configuration and select Google Ads Remarketing.
- Set the Conversion ID (and optional Conversion Label) to the value provided by Google Ads. Learn more
TIP: Use a Constant String variable for your Google Ads Conversion ID. This will make it easier to create and manage additional Google Ads tags.
- Check the box labeled "Send dynamic remarketing event data" and reference the Tag Manager variables that you created earlier:
- Event Name: {{Event}}
- Event Value: {{value}}
- Event Items: {{items}}
Implement a conversion tag
Implement the Google Ads Conversion tag in addition to the remarketing tag to take advantage of real-time automated bidding algorithms such as Target CPA and Target ROAS. Create a new Google Ads remarketing tag, set the firing trigger to all pages, and add all the triggers you had created for the other tags as blocking triggers:
- Click Tags
New.
- Click Tag Configuration and select Google Ads Remarketing.
- Set the Conversion ID (and optional Conversion Label) to the value provided by Google Ads. Learn more.
- Click Triggering and select a trigger that will fire on all pages.
- Click Add Exception and enter an exception for each trigger already covered by the custom parameters entered above.
Test and deploy
With every Tag Manager configuration, always preview and test your changes to ensure your container functions as expected. It's also a good idea to test with the JavaScript console open so you can see if your custom JavaScript code causes any errors. Test various scenarios to verify that the tag configuration behaves correctly: Add different types of products to the cart, view the cart with multiple products, etc.
When you use custom JavaScript variables or custom HTML tags, it is a best practice to write your code inside a try/catch block. If your code triggers an error (which might happen if your website code changes at some point in the future and renders your custom remarketing code configuration invalid), it will be "caught" by the JavaScript interpreter instead of raising an exception. When you test your code, remove the try/catch construct so you can observe any errors that appear in the console. When you have fixed any errors and have verified that your code works correctly, add the try/catch block back again.
After you have tested your changes, publish your container to activate your Google Ads dynamic remarketing configuration.