Migrate your Floodlight implementation to the global site tag

Overview

With recent changes across the web that affect conversion measurement, it’s important to make sure that your conversion tag implementation supports accurate counting on your site. Site-wide tagging - tagging that’s applied to every page of your site - is the best option to ensure accurate measurement of the performance of your online advertising.

We’re recommending that all customers move to site-wide tags. Display & Video 360 and Campaign Manager customers that use these measurement solutions will see improvements in measurement coverage over the next few months.

There are two main options for measurement via site-wide tags:

Option 1: Install the global site tag (gtag.js) on your entire site

The global site tag is a site-wide web tagging library that works across Google’s site and conversion measurement products, including Google Ads, Google Analytics, Campaign Manager, Display & Video 360, and Search Ads 360. A global site tag is made up of two snippets of JavaScript: a global snippet and an event snippet. The global snippet is placed on all pages of your site, and the event snippet is placed on pages with events you’re tracking. Webmasters will need to pass values into certain fields in the global site tag.

Option 2: Use Google Tag Manager

Google Tag Manager is a tag management system that allows you to quickly and easily update tags and code snippets on your site.

Search Ads 360 customers can learn more about migrating to the global site tag here.

See the section below to learn more about our recommendations for how you should use these solutions based on your site’s current tag implementation.

Guidance for migrating based on your current implementation

Based on how you currently manage conversion tags, there are different options for you to implement site-wide measurement solutions. If you fall into multiple categories, you may need to use different tagging solutions for each one.

I use iframe or image tags directly on my site for desktop and mobile web

If you currently use iframe or image tags directly on your site for desktop and mobile web, we recommend retagging your website with the global site tag based on the instructions below. You can generate global site tags from Campaign Manager or Display & Video 360 directly or via the DCM/DFA Reporting and Trafficking API.

If you’re looking for a tag management solution, you can also use Google Tag Manager.

I currently use Google Tag Manager

If you already use Google Tag Manager to manage all of your conversion tags, you just need to add the Conversion Linker tag to your containers.

I currently use the global site tag

If you already have a global site tag on your site that you set up for another Google product, you’ll need to:

  1. Update the global snippet section of the tag to include Google Marketing Platform account identifiers; and
  2. Follow the instructions below to replace your iframe or image tags with the event snippet section of the global site tag.

I use a third-party tag provider

We recommend working with your third-party tag provider to find out more details about the best implementations available to you for the global site tag.

I use Floodlight tags in a mobile app

The global site tag isn’t intended for tagging in mobile apps. You should continue to follow the existing process to track mobile app conversions with Floodlight.

I use Floodlight tags on Accelerated Mobile Pages (AMP)

The global site tag doesn’t support Accelerated Mobile Pages (AMP). You should continue to follow the existing process for using Floodlight with AMP.

Retag from iframe or image tags to the global site tag

If you’re just starting out with the global site tag, we recommend adding the global snippet to every page of your site, and then replacing iframe or image tags with event snippets in batches. This will allow you to test your global site tag implementation before migrating all of your tags.

Step 1: Identify where you have iframe or image tags on your site (Trafficker and webmaster)

The first step in retagging is to identify the pages on your site where you currently have iframe or image tags. If you need a starting point to identify these tags, you can run a basic Floodlight report:

  1. In Report Builder, select New Report > Floodlight > Basic.
  2. Name the report, and the report file that will be generated.
  3. Update the Date range to a single day and select a single Floodlight configuration so that the report can process easily.
  4. If you have a high Floodlight impression volume, we recommend that you also limit to a subset of Floodlight activities.
  5. Add the Conversion Referrer dimension.
  6. Run the report.

This report may not include every page that has a Floodlight tag, so work with your webmaster to do a comprehensive sweep of your site.

Step 2: Get global site tags for your Floodlight activities (Trafficker)

We strongly recommend that you update the tag format for your existing Floodlight activities and don’t create new ones. This will ensure that your attribution, remarketing, optimization, and reporting continue uninterrupted.

If you create Floodlight tags from Campaign Manager, you have a few options for updating the tag format for existing activities:

  • Update a single activity:
    • From an existing Floodlight activity, update the Tag format dropdown in the Identification section. Save your Floodlight activity.
    • From the Floodlight activities tab, choose a new format in the Tag format column for an activity.
  • Update activities in bulk:
    • From the Floodlight activities tab, select the activities you’d like to update. From the Tag format dropdown at the top left of the page, select the new format you’d like to use.

If you use the DCM/DFA Reporting and Trafficking API to generate tags, follow these steps:

  1. Set the floodlightTagType field of the FloodlightActivity resource to GLOBAL_SITE_TAG.
  2. Call the generatetag method, which will return the response below. The floodlightActivityTag contains the event snippet and the globalSiteTagGlobalSnippet contains the global snippet.
{
  "kind": "dfareporting#floodlightActivitiesGenerateTagResponse",
  "floodlightActivityTag": string,
  "globalSiteTagGlobalSnippet": string
}

Once you’ve generated your global site tags, send them to your webmaster to implement.

Step 3: Remove existing tags from your site and add the global site tag (Webmaster)

We recommend removing existing tags and adding the global site tag at the same time to prevent losing conversion data. 

At a high level, you'll:

  1. Add the global snippet to every page of your site.
  2. Remove iframe and image tags from the pages you've identified that have these tags.
  3. Add event snippets to pages with events you’re tracking. These should be the same pages that had iframe or image tags.

When you're removing existing tags, make sure that you remove the entire tag, including any comments, the <script> section, the <noscript> section, and any cache busters or other related code. Here’s an example of a complete tag to remove:

<!-- 
Start of DoubleClick Floodlight Tag: Please do not remove
Activity name of this tag: Name
URL of the webpage where the tag is expected to be placed: http://www.foo.com
This tag must be placed between the <body> and </body> tags, as close as possible to the opening tag.

Creation Date: 10/30/2017
-->

<script type="text/javascript">
var axel = Math.random() + "";
var a = axel * 10000000000000;

document.write('<img src="http://ad.doubleclick.net/ddm/activity/src=[floodlightConfigID];type=[activityGroupTagString];cat=[activityTagString];ord=' + a + '?" width="1" height="1" alt=""/>');
</script>
<noscript>
<img src="http://ad.doubleclick.net/ddm/activity/src=[floodlightConfigID];type=[activityGroupTagString];cat=[activityTagString];ord=1?" width="1" height="1" alt=""/>
</noscript>
<!-- End of DoubleClick Floodlight Tag: Please do not remove -->
If you have an existing iframe or image tag and an event snippet live on the same page, you will double count conversions. Make sure that you remove all iframe and image tags from pages you’re adding event snippets to.

Step 4: Run a basic Floodlight report to check that your tags are set up correctly (Trafficker)

You’ll want to verify that your tags are correctly receiving impression volumes that you expect for your site. We recommend waiting at least 24 hours after you’ve implemented your tags to run this report. You can run a Floodlight impression report to check this:

  1. From Report Builder, select New Report > Floodlight > Floodlight impressions.
  2. Name the report, and the report file that will be generated.
  3. Choose a Date range containing visits to the page where Floodlight is implemented.
  4. Remove any campaign-specific dimensions.
  5. Choose a Floodlight ID and Floodlight Activity to verify.
  6. Run the report.

Step 5: Troubleshoot any issues with your tag implementation (Trafficker and webmaster)

If you run into any issues with your new tag implementation, there are several troubleshooting tools you can use:

  • View Floodlight implementation alerts: Floodlight implementation alerts let you know if Campaign Manager has detected one or more issues with a Floodlight tag implementation that could result in incorrect conversion reporting. Learn more
  • Download Google Tag Assistant: This free Chrome extension runs diagnostics on your tags. Learn more
  • Debug with Chrome Developer Tools: Use DevTools to analyze your global site tags. Learn more

Mapping iframe and image parameters with global site tag parameters

As you’re migrating from iframe or image tags to the global site tag, you’ll notice a difference in the parameters available in the global site tag. Here’s a mapping of iframe and image parameters to global site tag parameters to help you work with the new tag format. See this article for detailed information about passing data to parameters in the global site tag.

Iframe / image tag parameter Global site tag parameters Tag type and counting method
src= Part of send_to All
type= Part of send_to All
cat= Part of send_to All
u1=, u2=, etc. u1, u2, etc. All
qty= quantity Sales - items sold
cost= value Sales
ord= See section below on cache busting. All
num= See section below on cache busting. Counter - unique
dc_lat= 'dc_custom_params':{'dc_lat'} All
dc_rdid= Not applicable since the global site tag isn’t available for apps. All
tag_for_child_directed_treatment 'dc_custom_params':{'tag_for_child_directed_treatment'} All

Cache busting in the global site tag

The global site tag handles cache busting automatically for you, so you don’t need to use the ord= or num= parameters with this tag. Even though you don’t need to populate cache busters, you’ll continue to see the same data available in reporting and attribution. Here’s more information about how cache busting was handled previously and how it works in the global site tag:

Counter tags

Counting method Iframe and image behavior Global site tag behavior Data available in reporting / attribution
Standard ord= was required to contain a random number to act as a cache buster. Cache busting is handled by the tag based on the counting method. You won’t see a field specific to cache busting that you need to populate in the tag. You’ll continue to see a random number.
Unique ord= was required to be set to 1. num= was required to contain a random number to act as a cache buster. Cache busting is handled by the tag based on the counting method. You won’t see a field specific to cache busting that you need to populate in the tag. You’ll continue to see a value of 1.
Per session Cache busting was not required because the tag fired once per session. ord= was the session ID. Use the session_id field. You’ll continue to see unique session IDs.

Sales tags

Counting method Iframe and image behavior Global site tag behavior Data available in reporting / attribution
Transactions Cache busting was not required because the tag fired once per order. ord= was the order ID. Use the transaction_id field. You’ll continue to see unique transaction IDs.
Items sold Cache busting was not required because the tag fired once per order. ord= was the order ID. Use the transaction_id field. You’ll continue to see unique transaction IDs.
Was this helpful?
How can we improve it?