Background
The current components/datatypes/paid-media/paid-media-creative.schema.json models a creative with a single set of content fields — one xdm:title, xdm:body, xdm:callToAction, xdm:destinationURL, xdm:assets, etc.
In production we observe Meta delivering a single ad creative (same creativeID) with different asset IDs, images, body text, and headlines for different locales. The current schema cannot capture that without losing fidelity.
Reference
Proposed Change
Add an xdm:localeVariants array property to the paidMediaCreative definition. Each entry carries:
xdm:language — BCP 47 language tag (en-US, ar-AR, fr-FR, …), pattern reused from existing XDM datatypes (profile-preferences-details, content-component-details).
- Locale-specific overrides for
xdm:title, xdm:body, xdm:callToAction, xdm:destinationURL, xdm:displayURL, xdm:trackingURLs, xdm:assets.
Top-level fields stay as the default/fallback (matches Meta's behavior where assets without language_label are treated as free-form defaults). To avoid duplication, creativeAsset and creativeTrackingURL are extracted into shared sub-definitions referenced from both the top-level fields and each locale variant, per CONTRIBUTING.md – Re-Use and Modularity.
A new paid-media-creative.example.4.json demonstrates English / Arabic / French variants of a single image creative.
Related
Tracked internally in Adobe Jira AN-451211 (parent design ticket AN-450480).
Background
The current
components/datatypes/paid-media/paid-media-creative.schema.jsonmodels a creative with a single set of content fields — onexdm:title,xdm:body,xdm:callToAction,xdm:destinationURL,xdm:assets, etc.In production we observe Meta delivering a single ad creative (same
creativeID) with different asset IDs, images, body text, and headlines for different locales. The current schema cannot capture that without losing fidelity.Reference
asset_feed_specasset customization rules (language_label)Proposed Change
Add an
xdm:localeVariantsarray property to thepaidMediaCreativedefinition. Each entry carries:xdm:language— BCP 47 language tag (en-US,ar-AR,fr-FR, …), pattern reused from existing XDM datatypes (profile-preferences-details,content-component-details).xdm:title,xdm:body,xdm:callToAction,xdm:destinationURL,xdm:displayURL,xdm:trackingURLs,xdm:assets.Top-level fields stay as the default/fallback (matches Meta's behavior where assets without
language_labelare treated as free-form defaults). To avoid duplication,creativeAssetandcreativeTrackingURLare extracted into shared sub-definitions referenced from both the top-level fields and each locale variant, per CONTRIBUTING.md – Re-Use and Modularity.A new
paid-media-creative.example.4.jsondemonstrates English / Arabic / French variants of a single image creative.Related
Tracked internally in Adobe Jira AN-451211 (parent design ticket AN-450480).