Skip to main content
Skip table of contents

Campaign Manager 360 Data Library

Overview

The Campaign Manager 360 views in Data Library consolidates CM360 and DSP data. This document walks through the use cases, methodology, as well as any caveats with the view.

To request to onboard a client to this Data Library, please submit an Alli Service Desk ticket.

Questions?

Tool Owner

Data Engineering

Slack Channel

#alli-data-library

Author

Use Cases

The Display Placement (display_placement) and Creative (display_creative) views blends performance data from the Campaign Manager 360 ad server and supported DSPs – namely, Google Ads (GDN), DV360, The Trade Desk, Bidtellect, and Verizon DSP – providing a more holistic view of the data. Below are some examples of use cases for this view.

Reporting Accuracy

Having a side-by-side view of metrics from both Campaign Manager and DSP allows the detection of any discrepancies, ensuring accuracy for backend reporting.

True View Metrics

Aligning DSP cost to Campaign Manager floodlight conversion data enables a “true view” of performance metrics such as CPA, CPC, CPM, ROI, etc.

Floodlight Optimization

Having this true view metrics across DSPs and vendors will allow for better optimization towards floodlight revenue.

Data Lineage

Column Mapping

The views are built using two main datasources: (1) Campaign Manager API and (2) DSP data via the display_ad view. For clarity, the columns are explicitly preposed by cm_ and dsp_ to signify the source of the data – the following table maps this out accordingly.

Column Mapping

column

source

site

Campaign Manager

site_id

Campaign Manager

date

JOIN Column

cm_account_id

Campaign Manager

cm_account_name

Campaign Manager

cm_campaign_id

Campaign Manager

cm_campaign_name

Campaign Manager

cm_campaign_start_date

Campaign Manager

cm_campaign_end_date

Campaign Manager

dsp_account_id

DSP

dsp_account_name

DSP

dsp_campaign_id

DSP

dsp_campaign_name

DSP

dsp_campaign_start_date

DSP

dsp_campaign_end_date

DSP

placement_id

Campaign Manager

placement_name

JOIN Column

creative_id

Campaign Manager

creative_name

Campaign Manager

creative_size

Campaign Manager

device

Campaign Manager

billable_dsp_cost

DSP

cost

DSP

profit

DSP

cm_impressions

Campaign Manager

cm_viewable_impressions

Campaign Manager

cm_measurable_impressions

Campaign Manager

cm_clicks

Campaign Manager

dsp_impressions

DSP

dsp_clicks

DSP

cm_click_through_conversions

Campaign Manager

cm_view_through_conversions

Campaign Manager

cm_total_conversions

Campaign Manager

dsp_click_through_conversions

DSP

dsp_view_through_conversions

DSP

dsp_total_conversions

DSP

cm_click_through_revenue

Campaign Manager

cm_view_through_revenue

Campaign Manager

cm_total_revenue

Campaign Manager

dsp_click_through_revenue

DSP

dsp_view_through_revenue

DSP

dsp_total_revenue

DSP

cm_video_completions

Campaign Manager

cm_video_plays

Campaign Manager

cm_video_views

Campaign Manager

cm_cost

Campaign Manager

DSP Cost Methodology

While performance data for Display/Programmatic campaigns from Campaign Manager 360 are considered to be more accurate than data from the DSPs, the same can’t be said for spend (cost) data, as media teams typically prefer to pull this from the DSPs themselves.

For this reason, the cost metric in Campaign Manager 360-based (display_placement and display_creative) views is derived from the DSP-based display_ad view. Generally, this is done in ADL by joining on placement_id (or placement_name), device, and date between the two datasets, but the logic varies from one platform to another to account for varying conventions in how the data is structured.

The following table describes the methodology for each DSP platform.

To request an update to any of the below logic, please submit an ASD ticket

Platform

Methodology used to derive DSP cost

Google Ads

IF CM Placement ID exists in:

SQL
select ad_tracking_url_template
from [client].googleads_settings_ad
  • Parse it out and store as cm_placement_id in display_ad

  • Use this to join on placement_id from display_placement along with date to derive cost

ELSE:

  • Use:

    SQL
    select ad_name
    from [client].googleads_insights_ad

    as creative_name in display_ad to join on placement_name from display_placement along with date to derive cost

Verizon DSP

IF CM Placement ID equals:

SQL
select creative_custom_id_1
from [client].verizon_insights_ad
  • Use this to join on placement_id from display_placement along with date to derive cost

IF CM Placement ID equals:

SQL
select creative_name
from [client].verizon_insights_ad 
  • Use this to join on placement_id from display_placement along with date to derive cost

ELSE:

  • Use:

    SQL
    select creative_name
    from [client].verizon_insights_ad

    as creative_name in display_ad to join on placement_name from display_placement along with date to derive cost

DV360

Use:

SQL
select FILTER_CM_PLACEMENT_ID
from [client].dv360_insights_ad 

as cm_placement_id in display_ad to join on placement_id in display_placement along with date to derive cost

Bidtellect

Use:

SQL
select ndsp_client_reporting_creative_name
from [client].bidtellect_insights_hit

as cm_placement_id in display_ad to join on placement_id in display_placement along with date to derive cost

The Trade Desk

Use:

SQL
select ad_server_creative_placement_id
from [client].tradedesk_insights_ad

as cm_placement_id in display_ad to join on placement_id in display_placement along with date to derive cost

Categorizing Conversion Activities

To ensure that the CM360 views contain the proper conversion metrics without having to include each conversion activity in the final view – for standardization purposes – ADL uses the display_conversion_activity categorization in Alli which is automatically created when a client running Display/Programmatic is onboarded to ADL.

This categorization takes the activity from the raw cm360_insights_creative datasource and denotes whether it is a Conversion or Non-conversion activity. Conversion-related metrics (e.g. cm_view_through_conversions, cm_click_through_conversions, cm_total_conversions) will only show data from activities classified as Conversion ones, while impression and click-based metrics will contain data from all activities.

FAQ

Q: Why don’t I see DSP metrics for a certain platform?

A: DSP metrics are only present in the following five platforms: GDN, TTD, Bidtellect, DV360, and Verizon. Check and see if your client contains this platform data by querying [client]_core.display_ad

Q: I see a DSP dimension columns like dsp_campaign_name with values of (Placement in multiple DSP campaigns) – what does this mean?

A: This means that a certain placement from Campaign Manager is being used in more than one DSP campaign. This anomaly causes inflation in the Campaign Manager metrics because it breaks the assumed 1:1 relationship of the placement between platforms. The standard value in the column prevents this inflation issue.

Q: Does this include cost data from display vendors?

A: Yes – this data is ingested via e-mail datasources that are used by vendors. It is then standardized and into a view named [client]_core.display_vendorcost and piped into the the final views using placement_id.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.