How DV360 Tracking Works
Display & Video 360 (DV360) does not have its own pixel. All conversion tracking flows through Floodlight tags managed in Campaign Manager 360 (CM360). DV360 and CM360 are both part of the Google Marketing Platform (GMP), and they share a single advertiser configuration.
The tracking architecture has three layers:
- Floodlight tags -- JavaScript or image tags placed on your site. Each tag fires when a user reaches a conversion page (purchase confirmation, lead form thank-you). The tag sends a request to
ad.doubleclick.netorwww.googleadservices.comwith the conversion details. - Campaign Manager 360 -- The central hub for Floodlight configuration, attribution, and reporting. CM360 receives all Floodlight hits, deduplicates them, and attributes conversions to DV360 line items, creatives, and audiences.
- DV360 -- Consumes CM360 attribution data for optimization. DV360's bidding algorithms use Floodlight conversion data to optimize toward CPA, ROAS, or custom goals.
The data flow: a user sees or clicks a DV360 ad. CM360 logs the impression or click and sets a DSID (DoubleClick Session ID) cookie. Later, the user converts on your site, and the Floodlight tag fires. CM360 matches the Floodlight hit to the original impression/click via the DSID cookie (or, in cookieless environments, via Google's modeled attribution). The conversion is then attributed back to the DV360 campaign.
DV360 also supports Google's PAIR (Publisher Advertiser Identity Reconciliation) protocol for privacy-preserving first-party data matching in cookieless environments.
Installing Floodlight Tags
Floodlight Configuration
Floodlight tags are created in CM360, not in DV360. You need:
- A CM360 advertiser linked to your DV360 advertiser
- A Floodlight configuration (shared across the advertiser)
- Individual Floodlight activities for each conversion type
Creating a Floodlight Activity
In CM360:
- Go to Floodlight > Activities.
- Click New.
- Set the Activity name (e.g., "Purchase" or "Lead Form Submit").
- Set the Tag format: Global Site Tag (gtag.js), iframe, or image.
- Set Counting method:
- Standard -- Counts one conversion per user per session (24-hour window). Use for leads.
- Unique -- Counts one conversion per user per Floodlight activity lifetime. Use for registrations.
- Transactions -- Counts every conversion. Use for purchases.
- Items sold -- Counts the number of items in a transaction.
- Save and get the tag code.
Global Site Tag (gtag.js) Installation
The recommended installation method. Place in the <head> of every page:
<!-- Global site tag (gtag.js) - DoubleClick -->
<script async src="https://www.googletagmanager.com/gtag/js?id=DC-FLOODLIGHT_CONFIG_ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'DC-FLOODLIGHT_CONFIG_ID');
</script>
Then fire the Floodlight activity on conversion pages:
gtag('event', 'conversion', {
'allow_custom_scripts': true,
'send_to': 'DC-FLOODLIGHT_CONFIG_ID/GROUP_TAG_STRING/ACTIVITY_TAG_STRING',
'value': 149.99,
'transaction_id': 'ORDER-12345',
'u1': 'custom_variable_1', // Custom Floodlight variables
'u2': 'custom_variable_2'
});
iframe Tag (Legacy)
For sites that cannot use gtag.js:
<iframe src="https://FLOODLIGHT_SERVER_ID.fls.doubleclick.net/activityi;src=FLOODLIGHT_CONFIG_ID;type=GROUP_TAG_STRING;cat=ACTIVITY_TAG_STRING;qty=1;cost=149.99;ord=ORDER-12345;dc_lat=;dc_rdid=;tag_for_child_directed_treatment=;tfua=;npa=;gdpr=;gdpr_consent=;u1=custom_var_1;u2=custom_var_2"
width="1" height="1" frameborder="0"
style="display:none">
</iframe>
Image Tag (Fallback)
For environments with no JavaScript:
<img src="https://ad.doubleclick.net/ddm/activity/src=FLOODLIGHT_CONFIG_ID;type=GROUP_TAG_STRING;cat=ACTIVITY_TAG_STRING;qty=1;cost=149.99;ord=ORDER-12345;dc_lat=;dc_rdid=;u1=custom_var_1?" width="1" height="1" alt="" />
GTM Installation
- Create a Floodlight Counter tag (for page views / standard events) or Floodlight Sales tag (for transactions).
- Enter your Advertiser ID, Group Tag String, and Activity Tag String.
- For sales tags, map revenue (
value) and order ID (transaction_id) from your data layer. - Set appropriate triggers.
- Publish.
Conversion Tracking with Custom Floodlight Variables
Floodlight supports custom variables (u1 through u100) that pass additional data with each conversion. These enable granular reporting and audience creation.
Defining Custom Variables
In CM360 under Floodlight > Custom Floodlight Variables, define your variables:
| Variable | Name | Example Value |
|---|---|---|
u1 |
Product Category | "electronics" |
u2 |
Customer Type | "new" or "returning" |
u3 |
Payment Method | "credit_card" |
u4 |
Coupon Code | "SUMMER20" |
Passing Variables in the Tag
gtag('event', 'conversion', {
'allow_custom_scripts': true,
'send_to': 'DC-12345/purch0/purch001+transactions',
'value': 299.99,
'transaction_id': 'ORD-98765',
'u1': 'electronics',
'u2': 'returning',
'u3': 'credit_card',
'u4': 'SUMMER20'
});
Custom variables are available in CM360 reporting and can be used to build audience segments in DV360 (e.g., create an audience of users who purchased in the "electronics" category).
Audience Segments
DV360 audiences are built from multiple data sources and used for targeting and bid optimization.
First-Party Audiences (Floodlight-Based)
Create audiences from Floodlight activity data:
- In DV360, go to Audiences > Your Audiences > New Audience.
- Select Floodlight activity list.
- Choose the Floodlight activity (e.g., "Product Page View" or "Add to Cart").
- Set the membership duration (1-540 days).
- Optionally add rules based on custom Floodlight variables (e.g.,
u1 = electronics).
Common audience patterns:
- All converters -- Users who triggered a purchase Floodlight in the last 30 days (exclude from prospecting).
- Cart abandoners -- Users who triggered AddToCart but NOT Purchase in the last 7 days.
- High-value purchasers -- Purchase Floodlight with
cost > 500in the last 90 days.
Google Audiences
DV360 has access to Google's audience taxonomy:
- Affinity segments -- Long-term interests (e.g., "Tech Enthusiasts", "Foodies").
- In-market segments -- Users actively researching or comparing products.
- Life events -- Recently married, recently moved, starting a new job.
- Detailed demographics -- Household income, education level, parental status.
Combined Audiences
Layer multiple audience signals:
Include: In-market for "Enterprise Software"
AND Include: Affinity for "Technology"
AND Exclude: Floodlight purchasers (last 30 days)
Customer Match
Upload hashed first-party data (email, phone, address) to create audiences matched against Google accounts. Data is uploaded through CM360 or the Google Ads Data Manager.
Offline Conversion Uploads
For conversions that happen outside the browser (phone calls, in-store purchases, CRM deal closures), upload them to CM360 for attribution back to DV360 campaigns.
Upload Format
CM360 accepts CSV files or API uploads. Required fields:
Encrypted User ID,Conversion Timestamp,Floodlight Configuration ID,Floodlight Activity Name,Revenue
EAIaIQobChM...,2026-03-01 14:30:00 EST,12345,Purchase,2500.00
API Upload
Use the CM360 Conversions API:
curl -X POST \
"https://dfareporting.googleapis.com/dfareporting/v4/userprofiles/PROFILE_ID/conversions/batchinsert" \
-H "Authorization: Bearer YOUR_OAUTH_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"conversions": [
{
"floodlightActivityId": "98765",
"floodlightConfigurationId": "12345",
"timestampMicros": "1709312400000000",
"value": 2500.00,
"quantity": 1,
"ordinal": "unique-order-id",
"gclid": "EAIaIQobChMI8NLl0...",
"encryptedUserId": "...",
"customVariables": [
{"type": "U1", "value": "enterprise"},
{"type": "U2", "value": "phone_sale"}
]
}
],
"encryptionInfo": {
"encryptionEntityId": "12345",
"encryptionEntityType": "DCM_ADVERTISER",
"encryptionSource": "AD_SERVING"
}
}'
Match Keys
Offline conversions can be matched using:
- GCLID -- If the original click came through a Google property.
- DCLID -- DoubleClick Click ID for display/video clicks.
- Encrypted User ID -- A CM360-encrypted identifier from the user's original Floodlight hit.
- Mobile device ID -- IDFA or GAID for app-based conversions.
Upload conversions within 90 days of the original interaction. Allow 24 hours for processing before the data appears in reports.
Common Issues
| Issue | Cause | Fix |
|---|---|---|
| Floodlight tag not recording | Tag not firing, wrong config ID, or consent blocking | Verify the tag fires with Chrome DevTools Network tab (look for fls.doubleclick.net or googleadservices.com requests). Check that the Floodlight Configuration ID, Group Tag String, and Activity Tag String all match CM360. |
| Conversions in CM360 but not in DV360 | Advertiser not linked, or attribution window mismatch | Verify the CM360 advertiser is linked to the DV360 advertiser under Partner settings. Check that the Floodlight activity is associated with the correct DV360 line items. |
| Duplicate conversions | Missing or incorrect transaction_id / ord parameter |
For transaction-counting activities, always pass a unique ord (order ID). CM360 deduplicates on ord within a 24-hour window. |
| Custom variables not appearing in reports | Variables not defined in CM360, or wrong variable index | Define variables in CM360 under Floodlight > Custom Variables before passing them. Verify u1, u2, etc. match the configured indices. |
| Offline upload error: "No matching interaction" | GCLID/DCLID expired or from different advertiser | Upload within 90 days. Verify the click ID belongs to the same CM360 advertiser. For encrypted user IDs, ensure the encryption info matches. |
| Audience list showing 0 members | Floodlight activity not firing, or membership duration too short | Verify the activity fires correctly. Set membership duration to at least 7-14 days. Allow 24-48 hours for audience list population. |
| "Tag not verified" in CM360 | CM360 has not detected the tag on any page | Visit the page where the tag should fire. If using GTM, publish and verify the tag is active. Check for ad blockers that may block doubleclick.net domains. |
| Attribution discrepancies between CM360 and DV360 | Different attribution models or lookback windows | CM360 uses its own attribution model (default: last-click). DV360 may use different bidding attribution. Align lookback windows in both platforms. |
GMP-Specific Considerations
Campaign Manager 360 Integration
DV360 and CM360 share data bidirectionally:
- CM360 to DV360: Floodlight conversion data, audience lists, and attribution paths flow into DV360 for bid optimization and reporting.
- DV360 to CM360: Ad serving data (impressions, clicks, rich media interactions) flows into CM360 for cross-channel attribution.
Every DV360 advertiser must have a linked CM360 advertiser. Creative assets served by DV360 are trafficked through CM360 ad tags, which is how CM360 captures impression and click data.
Ads Data Hub
For privacy-safe analysis of impression-level data, use Ads Data Hub (ADH). ADH provides a BigQuery-based environment where you can run SQL queries against DV360 and CM360 log-level data without exposing individual user data.
Common ADH use cases:
- Cross-device attribution analysis
- Reach and frequency measurement across campaigns
- Custom attribution modeling
- Audience overlap analysis between campaigns
Consent and Privacy
For EEA traffic, Floodlight tags support Google Consent Mode. Set consent state before the tag fires:
gtag('consent', 'default', {
'ad_storage': 'denied',
'ad_user_data': 'denied',
'analytics_storage': 'denied'
});
When consent is denied, Floodlight sends cookieless pings. CM360 uses modeled conversions to fill attribution gaps. DV360 can still optimize using modeled data, but with reduced accuracy.
PAIR Protocol
PAIR (Publisher Advertiser Identity Reconciliation) allows first-party data matching between advertisers and publishers without sharing raw data. Both parties encrypt their first-party identifiers, and a clean room matches them. This enables audience targeting in cookieless environments while maintaining user privacy.
Attribution Models
CM360 supports multiple attribution models for Floodlight reporting:
- Last interaction -- 100% credit to the last touchpoint.
- First interaction -- 100% credit to the first touchpoint.
- Linear -- Equal credit across all touchpoints.
- Time decay -- More credit to recent touchpoints.
- Position based -- 40% first, 40% last, 20% distributed across middle.
- Data-driven -- Machine learning model based on your conversion data.
DV360's bidding algorithm uses its own internal attribution for optimization, which may differ from the CM360 reporting model. This is expected -- bidding optimization uses real-time signals that the reporting model does not.
Related Guides
- Install Floodlight Tags -- Platform-specific Floodlight installation
- DV360 Event Tracking -- Floodlight activity configuration reference
- Troubleshooting and Debugging -- Diagnosing Floodlight and attribution issues
- DV360 Integrations -- Connecting with analytics and data platforms