Added
April 2026
May 19th, 2026
Product update
- Ad Preview on MCM Campaign Manager (SB/SD) — Advertise80rs can now preview how their Sponsored Brands and Sponsored Display ads will render before launching a campaign, with in-browser banner cropping, optional headline and footer text, and a stylized review panel.
- Configurable User Identifier and Data Processing Modes — A new
personalization_modefield on the Decision API and User Event API lets platforms specify per-request how MCM processes the user identifier. AddsMETRIC_ONLY(contextual ads + attribution, no personalization or model training) andID_LESS(no user ID, contextual ads only) alongside the unchangedSTANDARDmode — designed to support customers' GDPR compliance obligations. - Custom Targeting for Sponsored Ads — Custom Targeting (key-value pair targeting attributes) is now available for Sponsored Products, Sponsored Brands, and Sponsored Display. Supports per-key optionality (campaigns without a value still compete), up to 100,000 values per key and 1,000 target values per campaign, and is fully config-driven (no feature flag/deploy required). The feature can be utilized for platform-specific use cases such as store locations, regions, or industry-specific licenses.
- Demand Agent Phase 1: Lifecycle Triggers — A new MCM Portal feature blending data-driven approaches with an LLM recommendation engine to proactively engage advertisers across the sales funnel. Phase 1 ships three triggers: New Advertiser Activation (one-click campaigns at sign-up), Advertiser Upsell (automated emails when high-performing campaigns near budget limits), and Churn Re-engagement (monthly insights/recommendations to reactivate churned advertisers).
- Multi-currency Support — Platforms can now support multiple advertiser currencies within a single MCM instance. Advertisers operate entirely in their local currency — budgets, bids, wallet transactions, reporting, and catalog pricing are all enforced in that currency — while auctions continue to run in the platform's primary currency via daily FX conversion. Unblocks multi-country retailers and global marketplaces that serve advertisers across multiple countries from a single MCM instance.
- New Authentication Methods for Data Export (Migration Deadline: October 1, 2026) — To align with industry security standards and significantly reduce the risks associated with long-lived credentials, we are replacing manual, non-expiring credential delivery for non-GCP data export customers with two secure, automated alternatives. Customers must migrate to either Workload Identity Federation (WIF) for keyless cross-cloud authentication, or utilize the new RotateDataExportKey API endpoint to implement short-lived, programmatically rotated HMAC keys. This upgrade removes the manual handoff chain and significantly strengthens data-export security; please ensure your systems transition to one of these modern methods before the October 1, 2026 deadline to prevent any interruption in service.
- Reserved Display Creative URL and Metadata — Reserved Display creatives can now reference an external URL (e.g., Brandfolder, Adobe Experience Manager) instead of a direct upload, and the ad response gains new structured fields: alt-text (enables customers to meet WCAG 2.2 alt-text requirements), headline and custom text blocks with color controls, and up to 5 key-value metadata pairs per creative. Enables enterprise-grade DAM-integrated creative workflows.
- Reserved Display Draft Mode — AdOps users can save partially completed RD orders and line items, enabling a "save now, complete later" workflow with a dedicated Drafts management page, flexible editing without validations or inventory holds, and API support for OMS partners (e.g., Boostr). Drafts are explicitly excluded from ad serving.
ML changes
- MCM ML 2.0 — The MCM ML has achieved a total upgrade in the entire ecosystem, from training to serving, and from codebase to pipelines. This upgrade enables many powerful tools in the ML/AI industry and higher precision in model training. It brings a boost in dev speed and could unlock faster iterations of future new ML features, along with potential opportunities for performance improvements in both ads spending and serving latencies.
API changes
Decision API
- Auction result — new
win_price_advertiserfield (only populated for multi-currency platforms; reports the win price in micros in the advertiser's currency, e.g.,12340000micros = $12.34)POST /rmp/decision/v1/platforms/{platform_id}/brand-auction(DecideAdBrands, response)POST /rmp/decision/v1/platforms/{platform_id}/display-auction(DecideAdDisplay, response)POST /rmp/decision/v1/platforms/{platform_id}/product-auction(DecideAdProducts, response)
personalization_modefield added to request bodies of DecideAdBrands, DecideAdDisplay, DecideAdProducts, and reservedDisplayAuction endpoints. AcceptsSTANDARD,METRIC_ONLY, orID_LESS; defaults toSTANDARDif not set.
Management API
- Spend Cap (new endpoints)
POST /rmp/mgmt/v1/platforms/{platform_id}/ad-accounts/{ad_account_id}/spend-caps(CreateSpendCap) — NEW. Request body:title,schedule,budget,comment.GET /rmp/mgmt/v1/platforms/{platform_id}/ad-accounts/{ad_account_id}/spend-caps(ListSpendCaps) — NEW. Query:filter.statusis one of:SCHEDULED,INACTIVE,ACTIVE,ENDED,DEPLETED,ERROR.GET /rmp/mgmt/v1/platforms/{platform_id}/ad-accounts/{ad_account_id}/spend-caps/{spend_cap_id}(ReadSpendCap) — NEW.PUT /rmp/mgmt/v1/platforms/{platform_id}/ad-accounts/{ad_account_id}/spend-caps/{spend_cap_id}(UpdateSpendCap) — NEW.
- Campaign —
campaign.spend_cap_idfield added (immutable once set; applies toSELF_SERVEDperformance-based sponsored-ads campaigns on Spend-Cap-enabled platforms)- Request:
POST .../campaigns(CreateCampaign) - Response:
GET .../campaigns/{campaign_id}(ReadCampaign),GET .../campaigns(ListCampaigns),PUT .../campaigns/{campaign_id}(UpdateCampaign)
- Request:
- Creative assets — new fields (
custom_textwithtext/color/background_color,metadata.attributeskey/value map,banner.alt_text,headline.color,headline.background_coloras hex#RRGGBB/#RRGGBBAA; alt_text and colors are available for RD only)- Campaign assets —
POST .../campaigns(CreateCampaign, request — banner/headline/logo/CTA fields only),GET .../campaigns/{campaign_id}(ReadCampaign, response — full creative asset includingcustom_text/metadata),GET .../campaigns(ListCampaigns, response — full creative asset),PUT .../campaigns/{campaign_id}(UpdateCampaign, request — banner/headline/logo/CTA fields only + response — full creative asset) - Reserved Display line-item assets —
POST .../orders-with-line-items(UpsertOrderWithLineItems, request + response — full creative asset),GET .../orders/{order_id}(ReadOrder, response — full creative asset on embedded line items)
- Campaign assets —
- Reserved Display order/line-item — required-field relaxations (order requires only
title— to support the draft mode, remaining fields are now optional)POST .../orders-with-line-items(UpsertOrderWithLineItems, request + response)GET .../orders/{order_id}(ReadOrder, response — order with embedded line items)
- Reserved Display Draft Mode —
DRAFTorder state anddraftboolean field (Order state can now beDRAFTalongside the existingSCHEDULED/PAUSED/ACTIVE/ENDEDvalues; newdraftboolean on the request:truesaves the order as a draft without launching,falselaunches it; response includes a readOnlydraftfield indicating whether the order is currently in draft state)POST .../orders-with-line-items(UpsertOrderWithLineItems, request — newdraftfield on the order)GET .../orders/{order_id}(ReadOrder, response — newdraftfield on the order;statemay now beDRAFT)
- Keyword report —
opportunity_countformally deprecated (KeywordReportSummary row description changed from "This metric will be deprecated soon." to "Deprecated.")POST /rmp/mgmt/v1/platforms/{platform_id}/ad-accounts/{ad_account_id}/keyword-report(QueryKeywordSummary, response)
Event API
- Item — new multi-currency
price_sellerfield (only used on multi-currency platforms)item.price_seller— Price of the single item in the seller's currency. For PURCHASE events on multi-currency platforms, eitherpriceorprice_sellermust be provided; if both are provided, values are recorded as-is.- Affects all event-ingestion endpoints that carry the
Itemobject in their request body (e.g.,POST /rmp/event/v1/platforms/{platform_id}/eventsand related event endpoints).
personalization_modefield added to the Event API request body (root). Same values and default behavior as the Decision API.
Library updates
decision-api-client
V3.3.0: AddDecideAdReservedDisplayendpoint and campaign metadata support (#35)- New
reservedDisplayAuctionendpoint (POST reserved-display-ads) with targeting support - Add
response_setting(CampaignResponseSetting) to brand/display/product auction requests - Add
campaign_metadata(ad_operation_type,alias) to auction results
- New
Documentation updates
- Updated Bulk Data export access method with introduction of the Dynamic Key Rotation API and Workload Identity Federation — How to transfer data
- New guide describing our attribution methodology — Attribution methodology
- New guide on SSO/MFA — SSO/MFA
