Media Delivery

Upload media delivery data to share with partners

Use Cases for the Media Delivery schema

The Media Delivery API uploads information about transacted impressions into the Scope3 system for modeling and inclusion in reports, dashboards, and other analytic tools

Advertiser Reporting

Advertisers that have delivery logs from their DSP (for instance, REDS from TTD), ad server (for instance, GCM logs), or other source of exposure data can use the Media Delivery API to add these campaigns to their Scope3 dashboard, the emissions simulator, and other Scope3 tools.

Client Campaign Reporting

Publishers, media owners, and platforms can use the Media Delivery API to upload delivery logs from their ad server to create dashboards and reports for their internal teams and (if desired) their clients.

Getting Started

To use the Media Delivery schema you will need to gather delivery data, configure field mappings, and send the data to Scope3. This process can be managed using the Integrate tool in the CSP.

Once data has been uploaded and approved, it will be processed through the Campaign API. The results will be available for reporting in the CSP and can also (through a configuration in the Integrate tool) be pushed back into a cloud bucket for use in your proprietary systems.

Overview of the Input Format

The key fields for the Media Delivery schema are below. There are many fields that can be added to refine the measurement - see full input schema documentation and the Data Dictionary for more information.

FieldExampleComments
row_identifierasdfa823This will be used on the response to map back to this row, eliminating the need to pass back all of the fields.

Must be unique.
utc_datetime2023-08-14 01:00:00The date and hour of the impression. We recommend sending hourly data to enable accurate emissions calculations, as the grid mix changes significantly throughout the day. Hourly data also enables reporting on local timezones.
inventory_idnytimes.comThe domain or app ID (see below for DOOH)
global_placement_idtop_left_300_250The global placement ID provided by the publisher. Important because the ad stack and formats often vary significantly across placements
countryFRThe two-letter country code where the impression was delivered
device_typephoneThe type of device that viewed the impression
networkfixedThe network that the consumer device used to view the impression
campaign_id1234The ID of the campaign to report on
campaign_nameBig Q1 promotionThe name of the campaign to report on
impressions1823821The number of impressions delivered with these characteristics

DOOH Input Format

For DOOH, media owner is a required field to properly map screen IDs. Venue category is recommended as well. Plays or impressions are both accepted inputs.

FieldExampleComments
utc_datetime2023-08-14 01:00:00The date and hour of the impression. We recommend sending hourly data to enable accurate emissions calculations, as the grid mix changes significantly throughout the day. Hourly data also enables reporting on local timezones.
inventory_idsydney-north-18The screen ID
media_ownerJC Decaux AUThe media owner that owns the screen
venue_categorybus-shelterThe type of screen, used for screens that have incomplete data
campaign_id1234The ID of the campaign to report on
campaign_nameBig Q1 promotionThe name of the campaign to report on
plays182821The number of plays delivered with these characteristics (can also be impressions)

Green Media Product fields

To designate an impression as a GMP, use the is_gmp field. Optionally, set the compensation rate using gmp_compensation_rate (0 means "no compensation"; 1 means "compensate for 100% of emissions; greater than 1 would over-compensate).

FieldFor GMP reportingRequiredExampleDescriptionType
utc_datetimeNeededRequired2023-08-14The date of the impression. Hour is not required but we recommend sending hourly data for most accurate emissions calculations, as the grid mix changes significantly throughout the day. Example 2023-08-14 01:00:00. Hourly data also enables reporting on local timezones.string
impressionsNeededRequired1000Number of delivered impressionsinteger
inventory_idAt least one of: inventory_id, app, or domainhttp://nytimes.com/The domain, app ID, screen identifier, or podcast namestring
appAt least one of: inventory_id, app, or domaincom.nytimes.androidstring
domainAt least one of: inventory_id, app, or domainhttp://nytimes.com/string
countryNeededUSThis is the country ISO 3166-2 alpha-2 code or an Alpha-3 code e.g. USA or a country namestring
deal_idNeededdeal_idRequired if deal_name is providedstring
brandNeededhasbroBrand namestring
is_gmpNeeded if not set at account leveltrueDesignate an impression as a GMP. Optionally can be set at account levelboolean
gmp_compensation_rateNeeded if not set at account level1GMP compensation rate. 0 means no compensation; 1 means compensate for 100% of emissions; greater than 1 would over-compensate. Optionally can be set at account levelfloat
device_typeHighly recommendedThe type of devicestring
seller_domainHighly recommendedCanonical seller domainstring
global_placement_idHighly recommended/1111/homepage#728x90primary key to identify placementsstring

Overview of the Output Format

Output responses are configurable. Media Delivery responses can contain supplied input fields and emissions measurement fields. Response configuration is done in the Integrate UI.

Available measurement response fields are:

FieldExampleComments
row_identifierasdfa823The same row identifier that was passed into the request
modeledtrueHas the row successfully been modeled. If false then no emissions results will be available for this row.
total_emissions_grams0.012Total emissions in grams using the selected framework
compensated_emissions_grams0.0028The number of emissions compensated based on GMP rules
ad_selection_emissions_grams0.005Ad tech including servers and cloud computing; analytics; network traffic; storage; data providers; and vendor overhead. In grams of CO₂e.
media_distribution_emissions_grams0.0012Media delivery including CMS; CDNs and hosting services; publishing overhead including employee and office expenses; data transfer. In grams of CO₂e.
creative_delivery_emissions_grams0.0065The emissions related to delivering the creative to a display surface.
emissions_frameworkscope3The underlying framework used to calculate emissions values.
compensation_providercarbon directApplicable we compensating for delivered media
climate_risk_complianttrueImpressions are marked climate risk if inventory either has extremely high gCO₂e when compared to geo and channel benchmarks, or has been flagged as proliferating practices that contribute to high emissions
emissions_breakdown{"breakdown":{"adSelection":{"breakdown":{"adPlatform":{"emissions":144.14783646188533}},"total":144.14783646188533},"creativeDelivery":{"breakdown":{"adPlatform":{"emissions":0},"dataTransfer":{"emissions":0.4699678050999183}},"total":0.4699678050999183},"mediaDistribution":{"breakdown":{"corporate":{"emissions":49.018915},"dataTransfer":{"emissions":0.5310414263298526}},"total":49.54995642632985}},"framework":"scope3"}`JSON data containing full emissions breakdown
coverage{"adFormat":{"value":"leaderboard-728x90-banner","verified":true},"channel":{"value":"web"},"impressions":{"modeled":1000,"processed":0,"skipped":0},"property":{"value":"cnn.com"},"supplyGraph":{"logical":{"averageDepth":3.2,"maxDepth":5,"minDepth":2},"technical":{"averageDepth":3.1,"maxDepth":5,"minDepth":2},"totalCount":256}}JSON data containgin full coverage information. Here it is possible to see what channel and property where matched.
policies[{"compliant":true,"policy":"climateRisk","policyOwner":"Scope3"}]
calculation_error{"message":"Invalid Date. unsupported date: 2024-03-20 00:00 UTC. dates must be on or before: 2024-03-19 00:00 UTC"}Correct data has been provided but a calculation of emissions was not possible.
parser_errorInvalid country code: CURACAOInput values are invalid
report_id