DoubleClick Floodlight Destination

Getting Started

The DoubleClick Floodlight destination allows you to make calls directly to Floodlight based on your mapped events. All you have to do is drop in your DoubleClick Advertiser ID into your settings and map the Segment track events to their corresponding Floodlight tags.

If you’d like to send mobile data, this destination requires you to send device specific information such as the IDFA or the AdvertisingId and thus you should send events using our mobile libraries. You can also send data from analytics.js and we will make direct HTTP requests to Doubleclick Floodlight from your browser.


In order to send track events to DoubleClick Floodlight, you must first create the Floodlight tags (Sales or Counter) inside your DoubleClick Campaign Manager and then map the Segment events to those tags inside Segment settings.

If you want to track custom properties, be sure to create custom variables inside DoubleClick Campaign Manager.

Once all the configurations are finished, whenever we receive a mapped Segment event, we will map the following properties and settings:

  • dc_rdid will be set as IDFA or AdvertisingId (for mobile data only)
  • src will be pulled from your destination settings
  • cat and type will be pulled from your event mappings from the settings OR your top level Activity Tag and Group Tag settings
  • ord for counter tags will be a random number to prevent browser caching
  • ord for sales tags will be your whatever you define in your settings! (ie. properties.order_id) Include the properties. prefix to the key to ensure we can find the associated value in your properties object.
  • qty for sales tags only we will sum the quantity of products in your products array property or fallback on top level properties.quantity
  • cost for sales tags only we will send the revenue
  • u$ (if any) will be pulled from your property mapping setting
  • dc_lat will be set to 0 or 1 depending on whether the device has Limit Ad Tracking enabled (for mobile data only)

Important: Floodlight requires that you set a User-Agent header with that of the app where the track event took place. Our Android or analytics.js library automatically collects the userAgent. However, for iOS library you must manually send the user agent string inside the context object. If context.userAgent is not provided, we will try to generate a user agent string based on some device and operating system information that we do already collect.

Such generated user agent string might look something like this:

Segment/1.0 (iPhone OS; CPU iPhone7,2; en-US) Apple; Version 8.1.3


Assuming the below is an example Floodlight tag mapping:


With the following track call:

[[SEGAnalytics sharedAnalytics] track:@"Free El"
                           properties:@{ @"show": @"Stranger Things", @"source": @"Netflix", @"greatestShowEver": YES }];

Will send the following GET request to DoubleClick Floodlight:;cat=fghij456;type=abcde123;dc_rdid=38400000-8cf0-11bd-b23e-10b96e4ddddd;u1=Stranger%20Things;u2=Netflix;u3=true;ord=1312312312;dc_lat=0

Accessing Other Event Properties

By default, the Segment event property you define for each custom variable mapping will be matched against the property values found in the properties object of a track event. You can, however, use JSON style dot-notation-accessors wrapped in double curly brackets to map to any property in the event’s raw payload to your custom variables. For example, some acceptable values could be, context.userAgent, or anonymousId (inside of the double curly brackets). You can find the complete structure of a standard Segment event payload here.

Note: dc_rdid and dc_lat will be automatically collected by our mobile libraries and ord will be uniquely generated for each event.


Our DoubleClick Floodlight destination also supports tracking named page events as conversions. In order to enable this functionality, follow the same steps laid out above for track events however, in the destination settings, input the conversion “event” name following this structure (where [PAGE NAME] is the name parameter you are passing to the Segment page event):

Viewed [PAGE NAME] Page

Here’s an example for tracking a page event with the name Confirmation:

page event as track event

Make sure you enter the name case sensitively.

Reference our docs for more on the name parameter.

Pages with categories

If you are passing category names to page events you would like to track as conversions, you will need to slightly modify the event name you input into your destination settings. As opposed to Viewed [PAGE NAME] Page, you will need to input it as:


For example, if you had a page event with the name as Confirmation that was being categorized as part of a group of Checkout pages, you would input:

Viewed Checkout Confirmation Page

Reference our docs for more on the category paramter.

Setting up Custom Variables

There are two things you need to do in order to send custom track properties as custom Floodlight variables. Firstly, refer to their docs on how to create a custom variable inside DoubleClick:

Custom Floodlight variables use the keys u1=, u2=, and so on, and can take any values that you choose to pass to them. You can include custom Floodlight variables in any of your Floodlight activity tags and report on their values in Report Builder.

To create or edit a custom variable:

For each custom variable you want to create or edit, enter a Friendly Name, which is the name for the variable that is used in reports. For example, if you are using a custom variable to include users’ ZIP codes in the Floodlight tags, you could use ZIP Code as the Friendly Name.

Choose the Type of custom variable you’re creating. Choose string if you want the variable to include alphanumeric characters or special characters. The only characters you can’t use are “, < and >. Choose number if you want to pass numeric values.

If you add Custom Floodlight Variables to a report as metrics, note that they will be summed in the report as if they are numeric values, even if the variables are actually strings. The string variables will display a value of 0.

Click Save.

COPPA Compliance

DoubleClick Floodlight lets you set a parameter called tag_for_child_directed_treatment as either 0 or 1 if you want to mark a particular tag as coming from a user under the age of 13, under the COPPA compliance.

If you want to set this flag, you can send an integration option namespaced as coppaCompliant with true or false (default):

Analytics.with(context).track("Free El", new Properties().putValue("show", "Stranger Things").putValue("source", "Netflix").putValue("greatestShowEver", true), new Options().setIntegrationOptions("DoubleClick Floodlight", new ValueMap().putValue("coppaCompliant", true)));

Note: This flag was previously called “copaCompliant” instead of “coppaCompliant”. The method has been aliased to preserve the old functionality, and you do not need to update it if you used the old spelling.

Sending Personally Identifiable Information (PII)

Do not map custom variables that are PII. Refer to the warning by DoubleClick:

The terms of your DoubleClick contract prohibit passing any information to us that we could use or recognize as personally identifiable information (PII). If you enter certain key-values into a field in a DoubleClick product, you may see a warning that reminds you that you must not use key-values to pass data that we would recognize as PII. Key-values that trigger this warning include, for example, email and username. Note that it is okay to use these key-values if your purpose is not to collect information that DoubleClick could use or recognize as PII. (For example, email=weekly is fine, but passing a user’s email address is not.) If you do choose one of these key-values, DoubleClick may contact you in the future to confirm that you are not using them in a way that is prohibited.


You can send computed traits and audiences generated through Segment Personas to this destination as a user property. To learn more about Personas, contact us for a demo.

For user-property destinations, an identify call will be sent to the destination for each user being added and removed. The property name will be the snake_cased version of the audience name you provide with a true/false value. For example, when a user first completes an order in the last 30 days, we will send an identify call with the property order_completed_last_30days: true, and when this user no longer satisfies we will set that value to false.

When the audience is first created an identify call is sent for every user in the audience. Subsequent syncs will only send updates for those users which were added or removed since the last sync.

Supported Sources and Connection Modes

The first step is to make sure DoubleClick Floodlight supports the source type and connection mode you’ve chosen to implement. You can learn more about what dictates the connection modes we support here.

Web Mobile Server
📱 Device-mode
☁️ Cloud-mode

To learn more about about Connection Modes and what dictates which we support, see here.

Segment offers an optional Device-based Connection Mode for Mobile data going to DoubleClick Floodlight, so that you can use DoubleClick Floodlight features that collect data directly from the mobile device. To do this, you must package the Segment-DoubleClick Floodlight mobile SDK with the Segment mobile SDK.


Segment lets you change these destination settings from your Segment dashboard without having to touch any code.

Activity Tag

This setting maps to the Doubleclick Floodlight container activity tag (or cat) string. You can choose to use this setting to define the same value for this parameter across all conversion events or you can define this value for each of your conversion event mappings below.

Authorization Token for server-to-server requests

Please add the Token to send your conversions using the server-to-server endpoint from DisplayVideo 360.

Conversion events

Use these fields to map your Segment event names to Floodlight tags. We’ll only send Floodlight the conversion events you specify.

DoubleClick Advertiser ID

Your advertiser ID that is the source of the Floodlight activity. This should be the src of your tag string.

Get DoubleClick Id

Enable this setting if you would like to use Google’s cookie matching functionality. Please also ensure you provide a value in the Google Network Id setting.

Google Network Id

Provide your Google Network Id here if you have enabled cookie matching (Get DoubleClick Id setting).

Group Tag

This setting maps to the Doubleclick Floodlight container group tag (the type parameter) string. You can choose to use this setting to define the same value for this parameter across all conversion events or you can define this value for each of your conversion event mappings below.

Segment Write Key

Set here the write key for this source. It’s required if cookie matching is enabled.

Use Transaction Counting (Client Side Only)

Enable setting this if you want to use the Transaction Counting Method instead of Items Sold method when assigning qty value in the iframe.

This page was last modified: 12 Jun 2020

Get started with Segment

Segment is the easiest way to integrate your websites & mobile apps data to over 300 analytics and growth tools.
Create free account