Display & Video 360 (DV360) is Google's enterprise demand-side platform for programmatic media buying across display, video, audio, connected TV, and digital out-of-home. Conversion tracking in DV360 runs through Floodlight, which lives in Campaign Manager 360 (CM360) -- not in DV360 itself. This means a broken Floodlight implementation does not just affect one campaign; it breaks conversion measurement across every line item, insertion order, and campaign in the entire advertiser account. Custom bidding algorithms, automated optimization, and audience strategies all depend on accurate Floodlight data flowing from CM360 into DV360.
Why Proper Implementation Matters
The CM360-DV360 Dependency Chain
DV360 does not have its own conversion tracking. It relies entirely on CM360 Floodlight:
- Floodlight tags fire on your website when users convert
- CM360 records the conversion and matches it to ad impressions/clicks
- DV360 reads CM360 conversion data to optimize bidding and report performance
If Floodlight tags are misconfigured, DV360 operates with zero conversion signal. This means:
- Automated bidding (maximize conversions, target CPA) has no data to optimize
- Custom bidding algorithms receive empty conversion arrays
- Audience lists based on converters cannot populate
- Attribution reports show impressions and clicks but no outcomes
Floodlight vs. Google Ads Conversion Tracking
These are separate systems. A Google Ads conversion tag does not send data to DV360, and a Floodlight tag does not send data to Google Ads. If you run both platforms:
- Deploy Floodlight tags for DV360/CM360 campaigns
- Deploy Google Ads conversion tags for Google Ads campaigns
- Optionally, link GA4 to both for unified reporting
Attribution Complexity
DV360 campaigns often involve viewthrough attribution (user saw an ad but did not click, then later converted). This requires:
- Floodlight tags on all conversion pages
- Correct impression lookback windows (typically 30-90 days)
- ECID or cookie-based matching between ad impressions and website visits
- Consent mode configuration for EU traffic
Pre-Implementation Planning
Access and Permissions
CM360 Access (where Floodlight lives):
- Request access at the Advertiser level in CM360
- You need the "Trafficking" or "Reporting" role minimum
- For Floodlight management, you need "Advertiser Admin" or "Floodlight Configuration" permissions
DV360 Access:
- Request Partner or Advertiser level access
- "Standard" role is sufficient for campaign management
- "Admin" role needed for audience and Floodlight linking
Google Tag Manager (if deploying via GTM):
- Publish permission on the GTM container
- Coordination with other tag owners (avoid duplicate Floodlight tags)
Required IDs Before Starting:
| ID | Where to Find | Format |
|---|---|---|
| Floodlight Configuration ID | CM360 > Advertisers > Floodlight Config | Numeric (e.g., 12345678) |
| Advertiser ID | CM360 > Advertisers | Numeric |
| DV360 Partner ID | DV360 > Settings | Numeric |
| DV360 Advertiser ID | DV360 > Advertiser Settings | Numeric |
Conversion Architecture Decisions
Activity Groups and Activities: Floodlight organizes conversions into a two-level hierarchy:
- Activity Group (type tag string): Logical category (e.g., "sales", "leads", "engagement")
- Activity (cat tag string): Specific conversion event (e.g., "purchase_complete", "form_submit")
Plan your hierarchy before creating any tags:
| Activity Group (type) | Activity (cat) | Counting Method | Expected Volume |
|---|---|---|---|
| sales | purchase | Transactions (sales) | 500/month |
| leads | form_submit | Unique (counter) | 2,000/month |
| leads | phone_call | Unique (counter) | 300/month |
| engagement | newsletter | Unique (counter) | 1,000/month |
| engagement | video_complete | Standard (counter) | 5,000/month |
Counter vs. Sales Activities:
- Counter activities: Count conversions. Use "Standard" counting (count every time) or "Unique" (count once per user per day).
- Sales activities: Track revenue. Include
cost=(revenue value) andqty=(item count) parameters.
Attribution Window Configuration
Configure these in CM360 under Floodlight Configuration > Attribution:
| Setting | Recommended Default | Notes |
|---|---|---|
| Click lookback | 30 days | How long after a click to credit a conversion |
| Impression lookback | 14-30 days | How long after a view to credit a conversion |
| Cross-environment | Enabled | Match users across devices via Google signals |
| Natural search attribution | Disabled | Unless you want organic search in CM360 reports |
Implementation Walkthrough
Step 1: Create Floodlight Configuration in CM360
- Log in to CM360 at
campaignmanager.google.com - Navigate to Advertisers > Select your advertiser
- Click Floodlight > Floodlight Configuration
- If no configuration exists, create one:
- Set the Floodlight Configuration ID (auto-generated)
- Configure tag settings (tag format, dynamic tags)
- Set attribution windows
- Note the Configuration ID -- this is the
src=value in all Floodlight tags
Step 2: Create Floodlight Activities
For each conversion event:
In CM360, navigate to Floodlight > Activities
Click New Activity
Configure:
- Activity Name: Descriptive (e.g., "Purchase - Complete")
- Activity Group: Select or create group (this becomes the
type=string) - Activity Tag String: Short identifier (this becomes the
cat=string) - Counting Method:
- Counter > Standard: Count every conversion
- Counter > Unique: One conversion per user per day
- Sales: Track revenue with
cost=parameter
- Tag Format: Global Site Tag (recommended) or Image/iframe
Save and note the generated tag strings
Step 3: Deploy Floodlight Tags via GTM
Global Site Tag (Floodlight Configuration Tag):
This tag goes on every page to establish the Floodlight cookie for attribution matching.
<!-- Global site tag (gtag.js) - Floodlight -->
<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>
GTM Implementation (Recommended):
Create Floodlight Configuration Tag:
- Tag Type: "Google Tag" (formerly "Configuration Tag")
- Tag ID:
DC-FLOODLIGHT_CONFIG_ID - Trigger: All Pages
Create Floodlight Counter Tag (for non-revenue conversions):
- Tag Type: "Floodlight Counter"
- Advertiser ID: Your CM360 Advertiser ID
- Group Tag String: Your activity group
typevalue - Activity Tag String: Your activity
catvalue - Counting Method: Standard or Unique
- Trigger: Custom event (e.g.,
form_submit)
Create Floodlight Sales Tag (for revenue conversions):
- Tag Type: "Floodlight Sales"
- Advertiser ID: Your CM360 Advertiser ID
- Group Tag String:
sales - Activity Tag String:
purchase - Revenue:
{{DLV - Transaction Revenue}}(GTM variable) - Order ID:
{{DLV - Transaction ID}}(prevents duplicate counting) - Quantity:
{{DLV - Item Count}} - Trigger: Purchase confirmation event
Data Layer for Sales Tags:
// Push to data layer on purchase confirmation
dataLayer.push({
'event': 'purchase',
'transactionId': 'ORD-12345',
'transactionRevenue': 149.99,
'transactionCurrency': 'USD',
'itemCount': 3,
'u1': 'returning_customer', // Custom Floodlight variable
'u2': 'premium_plan' // Custom Floodlight variable
});
Step 4: Configure Custom Floodlight Variables
Custom variables (u1-u100) let you pass additional data with Floodlight tags for richer reporting in CM360 and DV360.
Common custom variable uses:
| Variable | Use | Example Values |
|---|---|---|
| u1 | Customer type | new, returning |
| u2 | Product category | electronics, apparel |
| u3 | Lead quality | hot, warm, cold |
| u4 | Geographic region | northeast, west |
| u5 | Device type | desktop, mobile, tablet |
GTM Configuration: In the Floodlight tag settings, add custom variables:
- Variable Name:
u1 - Variable Value:
{{DLV - Customer Type}}(data layer variable)
Step 5: Set Up Audience Lists in DV360
Floodlight activities automatically create audience lists in DV360 for retargeting.
- In DV360, navigate to Audiences > Audience Lists
- Click New Audience > From Floodlight Activity
- Configure:
- Select the Floodlight activity (e.g., "All Site Visitors" or "Cart Abandoners")
- Set membership duration (7-540 days)
- Set recency weighting (optional)
- Name the audience descriptively (e.g., "Site Visitors - 30 Day - Purchase Intent")
- Use these audiences in line item targeting
Recommended Audience Strategy:
- Prospecting suppression: Exclude all converters (last 30 days)
- Cart abandoners: Visited product/cart pages but did not purchase (last 14 days)
- Re-engagement: Past purchasers for cross-sell (30-90 days)
- Lookalike seeds: High-value converters for similar audience expansion
Step 6: Link Floodlight to DV360 Campaign Goals
- In DV360, navigate to your campaign > Settings
- Under Campaign Goal, select the conversion type:
- Maximize conversions
- Maximize conversion value
- Target CPA
- Target ROAS
- Under Conversion Counting, select which Floodlight activities to count
- Configure attribution settings:
- Include viewthrough conversions (recommended for display/video)
- Set click and impression lookback windows
- Enable cross-environment conversions
Step 7: Configure Consent Mode (EU Traffic)
For GDPR compliance, Floodlight tags must respect user consent choices.
// Before any Google tags fire, set default consent state
gtag('consent', 'default', {
'ad_storage': 'denied',
'ad_user_data': 'denied',
'ad_personalization': 'denied',
'analytics_storage': 'denied',
'region': ['EU', 'EEA'] // Apply only to EU traffic
});
// After user grants consent via CMP
gtag('consent', 'update', {
'ad_storage': 'granted',
'ad_user_data': 'granted',
'ad_personalization': 'granted'
});
In CM360, navigate to Floodlight Configuration > Tag Settings and enable "Consent Mode" to ensure Floodlight tags respect these signals.
Verification and QA
CM360 Tag Verification
Floodlight Activity Verification Tool:
- In CM360, navigate to Floodlight > Activities
- Select an activity and click "Verify"
- Enter a URL where the tag should fire
- CM360 opens the URL in a new tab and checks for the Floodlight request
- Green checkmark indicates the tag fired correctly
Manual Verification via Network Tab:
- Open Chrome DevTools > Network tab
- Navigate to a conversion page
- Filter for
fls.doubleclick.netorad.doubleclick.net - Look for the Floodlight request with correct parameters:
https://ad.doubleclick.net/ddm/activity/
src=FLOODLIGHT_CONFIG_ID
type=ACTIVITY_GROUP
cat=ACTIVITY_TAG
qty=1
cost=149.99
ord=UNIQUE_ORDER_ID
dc_lat=
dc_rdid=
tag_for_child_directed_treatment=
- Verify
src,type,cat,cost, andordvalues are correct
GTM Preview Mode
- Enable Preview mode in GTM
- Navigate through the conversion funnel
- Confirm:
- Floodlight Configuration tag fires on all pages
- Floodlight Counter/Sales tags fire only on conversion events
- Variable values (revenue, order ID, custom variables) populate correctly
- No duplicate tags fire
DV360 Conversion Verification
- In DV360, navigate to Insights > Conversions
- Set the date range to include your test period
- Verify that test conversions appear (allow 3-24 hours for processing)
- Check that conversion values and counts match your test data
- Under Audience Lists, verify that new audience members are appearing
Common Issues
| Issue | Cause | Fix |
|---|---|---|
| Tag fires but no conversions in CM360 | Wrong Floodlight Config ID | Verify src= matches your CM360 advertiser |
| Duplicate conversions | Missing order ID on sales tags | Add ord= with unique transaction ID |
| Revenue shows as $0 | cost= parameter empty |
Check data layer variable mapping in GTM |
| Audience lists not populating | Activity not linked to DV360 | Link the Floodlight activity in DV360 Audiences |
| Viewthrough conversions missing | Floodlight config tag not on all pages | Deploy config tag globally, not just on conversion pages |
| EU traffic not tracking | Consent mode blocking tags | Verify CMP integration and consent update signals |
Deployment Artifacts
- Floodlight Configuration ID and Advertiser ID: Central reference for all tag deployments
- Activity inventory: Spreadsheet of all activities with group/tag strings, counting methods, and custom variables
- GTM container documentation: Tag names, triggers, variables, and version history
- Custom variable definitions: u1-u100 mapping document with values and reporting uses
- Audience list inventory: Names, Floodlight source, membership duration, and campaign associations
- Attribution window settings: Click and impression lookback periods with rationale
- Consent mode configuration: CMP integration details, consent default/update flows
- Environment matrix: Floodlight Config IDs and activity tags per environment (dev, staging, production)
Linked Runbooks
- Install or Embed Tag or SDK -- Floodlight tag deployment methods
- Event Tracking -- Custom Floodlight variable configuration and advanced event tracking
- Data Layer Setup -- Data layer structure for Floodlight sales tags
- Cross-Domain Tracking -- Floodlight cookie management across domains
- Server-Side vs Client-Side -- Server-side Floodlight implementation options
Change Log and Owners
- Document who manages CM360 Floodlight configuration and who publishes GTM containers
- Track all activity creation and modification with dates and reasons
- Record attribution window changes and their impact on reporting
- Maintain audience list ownership and review membership durations quarterly
- Log custom variable additions with descriptions and approved values