Skip to main content
Every retail media network that builds a self-service ad platform ends up in the same place: competing for agency attention against the largest grocery, pharmacy, and general merchandise retailers — each asking brands to learn one more interface, manage one more login, reconcile one more set of reports. There’s an alternative. Stand up an agentic storefront: expose your inventory so buyer agents can discover, transact on, and measure it through the same protocol they use for every other seller. When agents handle discovery, the advantage shifts from UI quality to data quality — and data is where most retailers already have a moat.

The storefront, not the platform

Daniel reviews a cluttered platform roadmap on a wall screen — dashboard mockups, audience builders, and reporting UIs pile up while he looks skeptical Daniel runs retail media at ShopGrid, a marketplace with 200M monthly shoppers and deterministic purchase data from its loyalty program. When he was tasked with building ShopGrid’s ad business, the roadmap looked familiar: self-service campaign tool, proprietary audience builder, custom reporting dashboard, eventually a DSP. He got halfway through the build before he realized the problem. The brands ShopGrid wanted to attract — CPG companies, health and beauty brands, consumer electronics — were already managing campaigns across a dozen retail media platforms. Each platform had its own API, its own audience taxonomy, its own reporting format. Asking brands to integrate yet another platform meant competing on UI quality against companies with 100x the engineering budget. Daniel walks a retail floor as data streams flow from his tablet to glowing digital screens on end-caps and checkout lanes — the store as a data asset ShopGrid’s moat wasn’t going to be its dashboard. The moat was the data: deterministic purchase attribution from millions of loyalty members, real-time inventory across thousands of stores, and in-store digital screens at the point of purchase. The question was how to make that data and inventory accessible to the broadest possible set of buyers. Daniel at his desk as five retail media product cards radiate outward from his monitor — sponsored products, display, video, in-store, and premium placements being published Daniel stood up an AdCP sales agent instead. ShopGrid’s entire retail media catalog — sponsored products, on-site display, in-store screens — is exposed as products that any buyer agent can discover via get_products. The loyalty data powers closed-loop attribution reported through standard delivery metrics. The store locations are modeled as catalogs with catchment areas for proximity targeting. Split scene — Sam runs a brief from his agency desk as search beams connect to Daniel's retail media products floating on the right, discovery in action The result: any buyer agent that speaks AdCP can transact on ShopGrid inventory without a custom integration. Sam at Pinnacle Agency discovered ShopGrid’s sponsored products while running a cross-retailer campaign for Summit Foods — through the same protocol and brief he used for other retailers. What every retail media team actually wants is the control of self-serve, the ease of managed service, and all the data in their own internal tools. A self-service platform gives you control but requires massive engineering investment. Managed service is easy for buyers but doesn’t scale. An agentic storefront resolves the tension: the retailer defines the products, pricing, and rules (control); buyer agents handle discovery and execution without a sales rep in the loop (ease); and because the retailer runs the MCP server, every transaction flows through their infrastructure (data stays home). This doesn’t mean ShopGrid abandoned everything else. Brands that aren’t using buyer agents still need basic self-service access. But the agentic storefront is the growth layer — it’s how ShopGrid reaches buyers who would never have integrated a mid-size retailer’s proprietary platform. The table below maps familiar retail media concepts to their AdCP equivalents.

Concept mapping

Each retailer is a separate sales agent. Their media offerings are modeled as products. The buyer’s brand identity carries the product catalog for SKU-level creative rendering. Account relationships between brands and retailers are managed via list_accounts and account on media buys — see Accounts & Agents.

The product spectrum

Retail media networks offer diverse product types — not just sponsored listings. All share the retail_media channel, but differ in format, pricing, and creative requirements. Daniel modeled ShopGrid’s full portfolio as separate products so buyer agents can mix and match across the funnel. The simplest commerce media product. The retailer renders the creative from the buyer’s product catalog — no custom creative upload needed. Pricing is typically CPC.
The catalog_types field declares what catalog types this product supports. The catalog_match field tells the buyer which of their catalog items are eligible on this retailer. Buyers use these values as catalog selectors (gtins, ids) when creating media buys — the same way publisher_properties lists available properties for refinement. Sellers can include matched_gtins, matched_ids, or both. Sponsored product listings are catalog-rendered — the retailer pulls title, price, image, and rating from its own catalog data matched via GTIN. Enhanced product content (comparison charts, lifestyle galleries, brand story modules) and brand stores are complementary content strategies managed through the retailer’s content systems, not through the ad buy. Key characteristics:
  • CPC pricing with auction-based bidding
  • platform_managed: true — the retailer provides always-on purchase attribution
  • supported_targets — tells buyers which target kinds are available when setting optimization_goals on packages
  • templates_available: true — the retailer renders creatives from catalog data
  • action_sources includes in_store for omnichannel attribution

On-site display and video

Display and video ads on retailer properties, targeted using retailer first-party shopper data. Buyers provide standard creatives. Higher minimums and CPMs reflect the value of retailer audience data and guaranteed placement.
Note the creative policy: retailers commonly require co-branding and restrict landing pages to the retailer’s own site.

Off-site audience extension

The retailer uses first-party purchase data to target audiences on third-party inventory — extending reach beyond the retailer’s own site. The product still belongs to the retail_media channel because the buying context is the retailer’s data asset.

Premium placements

Homepage takeovers, category sponsorships, seasonal event placements. These high-visibility positions are sold at fixed rates with guaranteed delivery — often booked well in advance.
Premium placements use the placements array so buyers can assign different creatives to different positions within the same product.

In-store digital

Digital screens in physical retail locations — checkout lanes, end-caps, entrance displays, and waiting areas. These bridge the digital-physical gap, with measurement tied to in-store purchases. When paired with a synced store catalog, in-store digital products can target specific locations and show inventory-aware creative. In-store is where retail media networks have inventory that no one else can replicate. A retailer with thousands of physical locations has screens at the point of purchase — reaching shoppers while they’re browsing aisles, comparing products at the shelf, and waiting in line. Many of these shoppers never see digital ads elsewhere: they shop in-store exclusively, making them unreachable through online channels.
Different screen placements have different creative requirements. Checkout screens offer 30-90 seconds of captive dwell time with a stationary shopper at close range. End-cap displays catch shoppers walking past with 2-3 seconds of glance time from further away. Pharmacy waiting areas have extended dwell time and a seated audience. Most in-store networks are silent — creative should be designed for sound-off unless the placement specifies otherwise. In-store products pair with the retailer’s store catalog. The catalog exposes store locations with catchment areas (radius, isochrone, or GeoJSON polygons), enabling buyer agents to target specific geographies or store clusters. When combined with the brand’s product catalog, in-store screens can show contextually relevant creative — the right product, in the right store, near the right shelf.

Beyond these examples

Retail media portfolios often extend beyond the five product types above. Sponsored brand ads — a headline, brand logo, and 2-3 featured products — sit between sponsored product listings and display, with a custom headline from the buyer and catalog-rendered product tiles. Digital coupons and cashback offers tie directly to purchase and don’t fit neatly into impression-based models — they can be modeled as products with CPA pricing and conversion_tracking. Sponsored placements in retailer email newsletters and app push notifications are high-performing, low-funnel products modeled the same way as on-site display with different format_ids. Shoppable video — where products are tagged within the video frame and viewers can add items to cart — combines video formats with catalog-rendered product overlays. Keyword-level search sponsorships, sampling programs, and recipe integrations each have distinct economics but follow the same pattern: a product with the right pricing model, format, and measurement declarations.

End-to-end workflow

Closed-loop attribution

Daniel and Sam view a closed-loop attribution dashboard — impressions flow through clicks, store visits, and purchases in a circular diagram with website, app, and in-store sources Commerce media’s defining advantage is deterministic purchase attribution. Retailers match ad exposure to transactions using loyalty card data, login state, and point-of-sale records. This is the asset that makes retail media fundamentally different from every other media channel — and it’s exactly what an agentic storefront exposes to buyer agents through standard delivery reporting.

How products declare it

Products signal closed-loop capability through two fields: reporting_capabilities.available_metrics declares which outcome metrics the product reports. Closed-loop retail media products typically report conversions, conversion_value, roas, cost_per_acquisition, units_sold, new_to_brand_rate, and incremental-lift metrics like incremental_sales_lift and conversion_lift. The methodology and attribution window flow through the qualifier slot on committed_metrics and metric_aggregates (attribution_methodology: "deterministic_purchase" for retail-media closed loop; attribution_window: { interval: 14, unit: "days" } for the 14-day match window).
The legacy outcome_measurement field is deprecated but continues to work for one minor. Existing payloads:
…are equivalent to declaring conversion_value (the standardized name for “attributed sales”) in available_metrics plus the matching qualifier on committed_metrics. Migrate by populating both fields during the transition window; remove outcome_measurement at the next major. conversion_tracking declares action sources and whether the retailer manages measurement:
When platform_managed is true, the retailer provides always-on measurement. No buyer-side pixel or event source configuration needed.
Different retailers use different attribution windows (e.g., 14-day click vs. 7-day click). The attribution_window in delivery responses makes this transparent so buyers can normalize ROAS comparisons across retailers.

Key delivery metrics

Daniel by a retail storefront and Priya by a streaming TV shape flank Sam in the center — different sell-side verticals connecting to one buyer through the same protocol

Differences from traditional media buying

Best practices

For retailers: standing up an agentic storefront

The default retail media playbook — build a self-service platform, hire a sales team, grow managed service revenue, eventually build a DSP — works for the largest retailers. For everyone else, it means years of engineering investment competing against platforms with orders-of-magnitude more resources. An agentic storefront changes the economics. Instead of building a platform that brands must learn, you expose your inventory through a standard protocol that buyer agents already speak. Your engineering investment goes into your actual differentiators — data quality, measurement accuracy, inventory breadth — not into dashboard UX.
  1. Model product types separately — sponsored products, on-site display, off-site, premium placements, and in-store digital should be distinct products with appropriate pricing and formats. This is how buyer agents comparison-shop across retailers.
  2. Lead with your data — declare outcome_measurement with deterministic_purchase attribution and conversion_tracking with platform_managed: true. This is what buyer agents optimize against. Retailers with weak measurement lose to retailers with strong measurement, regardless of UI quality.
  3. Expose your physical footprint — provide store catalogs with catchment areas so buyer agents can target by geography. In-store digital inventory is something no online-only platform can offer. Make it discoverable.
  4. Return catalog_match on sponsored product listings so buyers see which GTINs/SKUs are eligible. This is the equivalent of a sales rep saying “we carry 3 of your 1,200 products” — but it happens automatically at query time.
  5. Include attribution_window in delivery responses — buyers comparing across retailers need to know your lookback windows and model.
  6. Report by_action_source to show omnichannel impact — website, app, and in-store conversions. The cross-channel view is unique to commerce media and drives budget allocation.
  7. Use proposals — return recommended budget allocations across product types with get_products responses. This encodes your media planning expertise into the protocol, replacing the sales rep conversation with structured data that buyer agents can evaluate.
  8. Set channels: ["retail_media"] on all commerce media products so buyers can filter by channel.

For brands

  1. Set up accounts early — use list_accounts to confirm your billing relationship with each retailer before placing buys
  2. Sync product and inventory feeds early — product and inventory catalogs should be synced to the account before creating buys. Inventory feeds update hourly; product feeds daily.
  3. Reference retailer store catalogs in targeting — the retailer’s store locations and catchment areas are platform-side data. Use them for proximity targeting without needing to sync your own store catalog.
  4. Use optimization_goals — set event goals with cost_per or per_ad_spend targets on packages to let the retailer optimize delivery against their purchase data
  5. Use catalog selectors strategicallygtins for specific products, tags or category for broad promotions
  6. Budget across the funnel — sponsored products for conversion, on-site display for awareness, off-site for reach extension
  7. Compare attribution windows — use attribution_window in delivery reports to normalize ROAS across retailers with different lookback windows