Overview
Brand manifests solve a key problem: how to efficiently identify advertisers and provide brand context without requiring complex authorization flows or repeated data entry. The brand manifest provides:- Advertiser identity: Publishers know who they’re doing business with (KYC/policy compliance)
- Brand guidelines: Colors, fonts, tone, and visual identity for creative generation
- Asset libraries: Logos, images, and videos for creative assembly
- Product catalogs: SKUs and offerings for promotional targeting
- Consistent identity: Same brand information reused across all requests
Key Benefits
- Know Your Customer: Publishers can verify advertisers meet their standards
- Privacy Transparency: Link to privacy policy for consumer consent flows
- Minimal Friction: Start with just a name or URL, expand as needed
- Cacheable: Same brand manifest reused across all requests
- Standardized: Consistent format across all AdCP implementations
- Flexible: Supports SMB to enterprise use cases
- AI-Optimized: Structured for easy ingestion by creative agents
Providing Brand Manifests
Inline JSON Object
Provide the brand manifest directly in the request:URL String
Reference a hosted brand manifest file with a URL string:- Centralized management: Update brand information in one place
- Version control: Track changes to brand guidelines over time
- Reduced payload size: Large manifests don’t bloat every request
- CDN caching: Leverage edge caching for faster access
- Consistency: Same manifest across all campaigns and platforms
Use Cases
Minimal Manifest (Sales Agents / Media Buying Only)
If you’re building a sales agent focused purely on media buying, you can provide a minimal manifest. The brand manifest is required so publishers know who the advertiser is (for policy compliance and business purposes), but you don’t need extensive brand details unless you’re using creative generation or optimization features. Minimal inline manifest:- Advertiser identity for publisher KYC and policy compliance
- Basic business information for reporting and tracking
- Future extensibility if you later need creative generation
SMB / Ad Hoc Creative Generation
For small businesses or one-off campaigns needing creative generation, a minimal brand manifest with a URL provides enough context:Enterprise / Established Brand
For established brands with defined guidelines, host the manifest on a CDN: Hosted athttps://cdn.acmecorp.com/brand-manifest.json:
Multi-SKU Retailer
Large retailers can provide product feeds and asset libraries:Brands Without URLs
Some brands don’t have dedicated URLs (white-label products, local businesses, B2B brands). Brand cards support name-only identification:- White-label/store brands (e.g., “Great Value”, “Kirkland”)
- Local businesses without websites
- B2B brands without public sites
- Sub-brands under parent company URLs
Brand Manifest Schemas
Brand Manifest Reference (Union Type)
Schema URL: /schemas/v2/core/brand-manifest-ref.json The brand manifest reference is a union type that accepts either:- Inline object: Full brand manifest JSON object
- URL reference: Object with
manifest_urlfield pointing to hosted manifest
Brand Manifest Object
Schema URL: /schemas/v2/core/brand-manifest.json The structure of the brand manifest object itself (whether provided inline or hosted at a URL).Required Fields
Eitherurl OR name is required (both can be provided):
| Field | Type | Description |
|---|---|---|
url | string (uri) | Primary brand URL for context and asset discovery |
name | string | Brand or business name (required if no URL provided) |
Optional Fields
| Field | Type | Description |
|---|---|---|
name | string | Brand or business name |
privacy_policy_url | string (uri) | URL to the brand’s privacy policy for consumer consent flows |
logos | Logo[] | Brand logo assets with semantic tags |
colors | Colors | Brand color palette (hex format) |
fonts | Fonts | Brand typography guidelines |
tone | string | Brand voice and messaging tone |
tagline | string | Brand tagline or slogan |
assets | Asset[] | Brand asset library with explicit assets and tags |
product_catalog | ProductCatalog | Product catalog information for e-commerce advertisers |
disclaimers | Disclaimer[] | Legal disclaimers for creatives |
industry | string | Industry or vertical |
target_audience | string | Primary target audience description |
contact | Contact | Brand contact information |
metadata | Metadata | Version and update tracking |
Logo Object
"dark", "light", "square", "horizontal", "vertical", "icon", "wordmark", "lockup"
Colors Object
Fonts Object
Disclaimer Object
Asset Object
ProductCatalog Object
AgenticCheckout Object
Integration with AdCP Tasks
create_media_buy
Include brand manifest in media buy creation to provide context for creative generation:build_creative
Use brand manifest to inform creative generation:Best Practices
1. Start Simple, Expand as Needed
Begin with just a URL. Add more fields only when the URL-based inference isn’t sufficient:2. Use Semantic Tags for Logos
Tags help creative agents select appropriate logo variants:3. Cache and Reuse Brand Manifests
Brand cards are designed to be cached. Use URL strings for automatic caching:4. Product Feeds for Multi-SKU
Large retailers should provide product feeds:5. Asset Libraries for Enterprise
Enterprise brands with large asset libraries should provide explicit assets:Privacy Integration
Brand manifests support privacy transparency through theprivacy_policy_url field. This enables AI platforms to present explicit privacy choices to users before sharing personal data with advertisers.
Consumer Consent Flow
When an AI assistant helps a user engage with an advertiser (booking a flight, making a purchase, etc.), the platform can use the brand manifest’s privacy policy URL to:- Present explicit consent: “May I share your details with Delta? [View their privacy policy]”
- Enable informed decisions: Users can review data practices before data handoff
- Support machine-readable terms: Works alongside MyTerms/IEEE P7012 for automated privacy negotiation
Example with Privacy Policy
MyTerms Discovery
For advertisers implementing IEEE P7012 (MyTerms), AI platforms can discover machine-readable privacy terms from the advertiser’s domain (e.g.,/.well-known/myterms). The brand manifest’s privacy_policy_url serves as the human-readable fallback and explicit consent path.
Agentic Commerce Integration
Brand manifests support integration with AI commerce platforms through theproduct_catalog field. This enables AI agents to discover products and complete purchases on behalf of users.
OpenAI Commerce
For merchants implementing OpenAI’s Commerce specifications, the brand manifest provides a bridge:| Field | Description |
|---|---|
feed_format: "openai_product_feed" | Indicates the feed conforms to OpenAI’s Product Feed spec |
agentic_checkout.endpoint | Base URL for OpenAI’s Agentic Checkout API |
agentic_checkout.spec | Version identifier for the checkout spec |
Feed Format Mapping
If you have an existing Google Merchant Center feed, here’s how key fields map to OpenAI’s spec:| OpenAI Field | Google Merchant Center | Notes |
|---|---|---|
item_id | id | Direct mapping |
title | title | Direct mapping |
description | description | Direct mapping |
url | link | Direct mapping |
brand | brand | Direct mapping |
price | price | OpenAI uses number + currency code |
availability | availability | Same enum values |
image_url | image_link | Direct mapping |
is_eligible_search | N/A | OpenAI-specific flag |
is_eligible_checkout | N/A | OpenAI-specific flag |
Evolution and Versioning
Brand cards are versioned using themetadata.version field:
- Patch (2.0.1): Fix typos, update contact info
- Minor (2.1.0): Add new assets, update colors
- Major (3.0.0): Complete rebrand, new identity
Migration from brand_guidelines
For implementations using the legacybrand_guidelines field in build_creative:
Before (Legacy):
Related Documentation
- create_media_buy - Media buy creation with brand context
- build_creative - AI-powered creative generation
- Creative Lifecycle - Managing creative assets