"creative" in supported_protocols and "delivery" in its creative agent capabilities — whether that’s a dedicated creative service or a sales agent implementing the Creative Protocol.
Request Schema: /schemas/3.0.19/creative/get-creative-delivery-request.json
Response Schema: /schemas/3.0.19/creative/get-creative-delivery-response.json
Request Parameters
At least one scoping filter (media_buy_ids or creative_ids) is required.
* At least one of
media_buy_ids or creative_ids must be provided.
Response
Creative Object
Variant Object
Each variant represents a specific execution: a fixed creative (Tier 1), an asset combination the platform selected (Tier 2), or a generated variant (Tier 3). For catalog-driven packages, each catalog item rendered as a distinct ad execution is a variant — the variant’s manifest includes the catalog reference with the specific item rendered.
Derived metrics like
ctr, completion_rate, roas, and cost_per_click are platform-calculated and may not equal naive division of their component fields due to rounding, attribution windows, or filtered impressions.
Tier Behavior
Tier 1: Standard Creatives
One creative maps 1:1 to one variant. The variant metrics match the creative totals.Platform engagement metrics
Social and feed-native platforms include engagement data in theext field on each variant, since engagement types vary by platform:
ext field is not standardized across platforms — each platform defines its own engagement schema. Buyers aggregating across social platforms should map platform-specific fields to a common model.
Tier 2: Asset Group Optimization
Buyer provides multiple asset alternatives using a format withselection_mode: "optimize". Platform tests combinations and returns the manifest for each variant showing which assets were selected.
Tier 3: Generative Creative
Platform generates variants from brand manifest and input contexts. Themanifest contains the generated assets — which may differ entirely from what the buyer submitted.
When the publisher uses AdCP content standards, generation_context can include an artifact reference linking the variant to the specific content (article, video, etc.) that triggered generation. Platforms can also use ext for vendor-specific context structures.
Previewing Variants
Usepreview_creative with request_type: "variant" to see what a specific variant looked like when served:
manifest, you can also pass the manifest directly to preview_creative as a standard single request to re-render it.
Relationship to delivery reporting
Use
media_buy_id + creative_id as join keys to correlate data across both responses.
When a sales agent implements both protocols, both tasks are available on the same agent URL. See Creative capabilities on sales agents for the full pattern.
Cross-agent aggregation
When running campaigns across multiple sellers, callget_creative_delivery on each agent separately and correlate results:
- Join key: Use
creative_id(buyer-assigned) to correlate the same creative across agents. If you usedconcept_idduring upload, filter by concept to group related creatives. variant_idscope: Variant IDs are unique within an agent and creative, not globally. Two agents may generate variants with the samevariant_idvalue. Prefix with the agent URL when building aggregated dashboards.- Timezone handling: Each agent may report in its own timezone via
reporting_period.timezone. Normalize to a common timezone before aggregating metrics. max_variantsselection: Agents choose which variants to return whenmax_variantslimits the result set. Most agents prioritize by impression volume (most-served first). For representative sampling, make multiple calls with different time ranges rather than relying on a single largemax_variantsvalue.
Building a cross-agent dashboard
When aggregating delivery data from multiple agents into a unified view, follow this sequence:-
Collect: Call
get_creative_deliveryon each agent in parallel, using the samecreative_idsfilter. -
Normalize timezones: Convert each agent’s
reporting_periodto a common timezone before summing. -
Merge by
creative_id: Group results bycreative_idacross agents. Sumtotals(impressions, spend, clicks). Do not average derived metrics likectr— recompute them from the summed components. -
Prefix
variant_id: Create globally unique variant keys by combiningagent_url + variant_id(e.g.,https://sales.pinnaclemedia-example.com/var_a1b2c3). This prevents collisions when two agents assign the same variant ID independently. -
Group by
concept_id: For campaign-level roll-ups, useconcept_idto group related creatives across sizes and sellers. Pull the concept-to-creative mapping fromlist_creativeson each agent.
Capability declaration
Agents that support this task declare"delivery" in their capabilities array within list_creative_formats responses:
list_creative_formats and checking the creative_agents array for agents with "delivery" in their capabilities. This applies to any agent implementing the Creative Protocol, including sales agents.