Catalog item schemas
Each vertical catalog type maps to a single AdCP schema that works across platforms — Google, Meta, LinkedIn, and others. Provide items in this format once, and every platform gets what it needs. All vertical items share a common pattern: a unique ID field, core display fields, an optionalassets array for typed creative asset pools, an optional tags array for filtering, and an ext object for vendor-specific extensions. Conversion events listed for each vertical are the standard event names used for attribution when an ad drives action on a catalog item.
Common fields
In addition to the domain-specific fields listed in each vertical’s table, all vertical items support:
Exceptions: Job items use
apply_url instead of url and have no image_url. App items use icon_url and store_url instead of image_url and url. See each vertical’s field table for the exact fields.
Job catalog
Job postings for recruitment campaigns. Maps to LinkedIn Jobs XML, Google DynamicJobsAsset, and schema.org JobPosting. Schema:/schemas/core/job-item.json
Required: job_id, title, company_name, description
Conversion events: submit_application, complete_registration
Plus common fields (
assets, tags, ext) shared by all verticals. Job items use apply_url instead of url and have no image_url.
Minimal — just required fields:
Hotel catalog
Hotel and lodging properties for travel ads and dynamic remarketing. Maps to Google Hotel Center feeds and Meta hotel catalogs. Schema:/schemas/core/hotel-item.json
Required: hotel_id, name, location
Conversion events: purchase (booking)
Plus common fields (
image_url, url, assets, tags, ext) shared by all verticals.
Minimal — just required fields:
Vehicle catalog
Vehicle listings for automotive inventory ads. Maps to Meta Automotive Inventory Ads, Microsoft Auto Inventory feeds, and Google vehicle ads. Schema:/schemas/core/vehicle-item.json
Required: vehicle_id, title, make, model, year
Conversion events: lead, schedule (test drive)
Plus common fields (
image_url, url, assets, tags, ext) shared by all verticals.
Minimal — just required fields:
Flight catalog
Flight routes for travel ads and dynamic remarketing. Maps to Google DynamicFlightsAsset and Meta flight catalogs. Schema:/schemas/core/flight-item.json
Required: flight_id, origin, destination
Conversion events: purchase (booking)
Plus common fields (
image_url, url, assets, tags, ext) shared by all verticals.
Minimal — just required fields:
Real estate catalog
Property listings for real estate ads. Maps to Google DynamicRealEstateAsset and Meta home listing catalogs. Schema:/schemas/core/real-estate-item.json
Required: listing_id, title, address
Conversion events: lead, schedule (viewing)
Plus common fields (
image_url, url, assets, tags, ext) shared by all verticals.
Minimal — just required fields:
Education catalog
Educational programs and courses for student recruitment. Maps to Google DynamicEducationAsset and schema.org Course. Schema:/schemas/core/education-item.json
Required: program_id, name, school
Conversion events: submit_application, complete_registration
Plus common fields (
image_url, url, assets, tags, ext) shared by all verticals.
Minimal — just required fields:
Destination catalog
Travel destinations for destination ads and travel remarketing. Maps to Meta destination catalogs and Google travel ads. Schema:/schemas/core/destination-item.json
Required: destination_id, name
Conversion events: purchase (booking)
Plus common fields (
image_url, url, assets, tags, ext) shared by all verticals.
Minimal — just required fields:
App catalog
Mobile applications for app install and re-engagement campaigns. Maps to Google App Campaigns, Apple Search Ads, Meta App Ads, TikTok App Campaigns, and Snapchat App Install Ads. iOS and Android variants are separate items. Schema:/schemas/core/app-item.json
Required: app_id, name, platform
Conversion events: app_install, app_launch
Plus common fields (
assets, tags, ext) shared by all verticals. App items use icon_url and store_url instead of image_url and url.
Minimal — just required fields: