Skip to main content

カタログアイテムスキーマ

各バーティカルカタログタイプは、Google、Meta、LinkedIn などのプラットフォーム全体で機能する単一の AdCP スキーマにマッピングされます。このフォーマットで一度アイテムを提供すれば、すべてのプラットフォームが必要なものを取得できます。 すべてのバーティカルアイテムは共通のパターンを共有する: 一意の ID フィールド、コアの表示フィールド、型付きクリエイティブアセットプールのためのオプションの assets 配列、フィルタリングのためのオプションの tags 配列、ベンダー固有の拡張のための ext オブジェクト。各バーティカルに記載されているコンバージョンイベントは、広告がカタログアイテムのアクションを促した際のアトリビューションに使用される標準イベント名です。

共通フィールド

各バーティカルのテーブルに記載されているドメイン固有のフィールドに加えて、すべてのバーティカルアイテムは次のフィールドをサポートする:
フィールド説明
image_urluriプライマリ画像 URL(ほとんどのバーティカル — 注記を参照)
urluriランディングページ URL(ほとんどのバーティカル — 注記を参照)
assetsOfferingAssetGroup[]型付きクリエイティブアセットプール(landscape、vertical、square、logo、video)
tagsstring[]フィルタリングとターゲティング用のタグ
extobjectベンダー固有の拡張
例外: Job アイテムは url の代わりに apply_url を使用し、image_url がない。App アイテムは image_urlurl の代わりに icon_urlstore_url を使用します。正確なフィールドについては各バーティカルのフィールドテーブルを参照。

求人カタログ

採用キャンペーン用の求人情報。LinkedIn Jobs XML、Google DynamicJobsAsset、schema.org JobPosting にマッピングされます。 スキーマ: /schemas/core/job-item.json 必須: job_idtitlecompany_namedescription コンバージョンイベント: submit_applicationcomplete_registration
フィールド説明
job_idstringこの求人の一意の識別子
titlestring職種
company_namestring採用企業名
descriptionstring求人の詳細説明
locationstring表示文字列 — “Amsterdam, NL” または “Remote”
employment_typeenumfull_timepart_timecontracttemporaryinternshipfreelance
experience_levelenumentry_levelmid_levelseniordirectorexecutive
salaryobject{ min, max, currency, period } — period は hourmonthyear
date_posteddateISO 8601 日付
valid_throughdate応募締め切り日
apply_urluri直接応募 URL
job_functionsstring[]例: ["engineering", "marketing"]
industriesstring[]例: ["technology", "healthcare"]
tagsstring[]フィルタリング用 — 例: ["remote", "visa-sponsorship"]
すべてのバーティカルで共有される共通フィールドassetstagsext)も使用できます。Job アイテムは url の代わりに apply_url を使用し、image_url がない。 最小限 — 必須フィールドのみ:
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/core/job-item.json",
  "job_id": "eng-sr-2025-042",
  "title": "Senior Software Engineer",
  "company_name": "Acme Corp",
  "description": "Senior engineer to lead our platform team, designing distributed systems serving millions of daily requests."
}
オプションフィールドを含む完全な例:
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/core/job-item.json",
  "job_id": "eng-sr-2025-042",
  "title": "Senior Software Engineer",
  "company_name": "Acme Corp",
  "description": "We're looking for a senior engineer to lead our platform team. You'll design and build distributed systems serving millions of daily requests.",
  "location": "Amsterdam, NL",
  "employment_type": "full_time",
  "experience_level": "senior",
  "salary": { "min": 80000, "max": 110000, "currency": "EUR", "period": "year" },
  "date_posted": "2025-06-01",
  "valid_through": "2025-08-01",
  "apply_url": "https://acmecorp.com/careers/eng-sr-2025-042",
  "job_functions": ["engineering"],
  "industries": ["technology"],
  "tags": ["visa-sponsorship", "equity"]
}

ホテルカタログ

旅行広告とダイナミックリマーケティング用のホテル・宿泊施設物件。Google Hotel Center フィードと Meta ホテルカタログにマッピングされます。 スキーマ: /schemas/core/hotel-item.json 必須: hotel_idnamelocation コンバージョンイベント: purchase(予約)
フィールド説明
hotel_idstring一意の識別子
namestring施設名
descriptionstring施設の説明
locationobject{ lat, lng } — WGS 84 座標
addressobject{ street, city, region, postal_code, country }
star_ratinginteger1–5
priceobject{ amount, currency, period } — period は "night" を使用
image_urluriメインの施設画像
urluri施設のランディングページ
amenitiesstring[]例: ["spa", "pool", "wifi"]
check_in_timestringHH:MM フォーマット(例: "15:00"
check_out_timestringHH:MM フォーマット(例: "11:00"
phonestring施設の電話番号(E.164 形式)
valid_fromdate季節の空き状況ウィンドウの開始
valid_todate季節の空き状況ウィンドウの終了
tagsstring[]例: ["luxury", "city-center"]
すべてのバーティカルで共有される共通フィールドimage_urlurlassetstagsext)も使用できます。 最小限 — 必須フィールドのみ:
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/core/hotel-item.json",
  "hotel_id": "grand-amsterdam",
  "name": "Grand Hotel Amsterdam",
  "location": { "lat": 52.3676, "lng": 4.9041 }
}
オプションフィールドを含む完全な例:
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/core/hotel-item.json",
  "hotel_id": "grand-amsterdam",
  "name": "Grand Hotel Amsterdam",
  "description": "Five-star canal-side hotel in the heart of Amsterdam with rooftop bar and spa.",
  "location": { "lat": 52.3676, "lng": 4.9041 },
  "address": {
    "street": "Herengracht 100",
    "city": "Amsterdam",
    "region": "NL-NH",
    "postal_code": "1015 BS",
    "country": "NL"
  },
  "star_rating": 5,
  "price": { "amount": 289, "currency": "EUR", "period": "night" },
  "image_url": "https://images.acmehotels.com/grand-amsterdam/hero.jpg",
  "url": "https://acmehotels.com/amsterdam/grand",
  "amenities": ["spa", "pool", "restaurant", "wifi", "parking"],
  "check_in_time": "15:00",
  "check_out_time": "11:00",
  "tags": ["luxury", "city-center", "business"]
}

車両カタログ

自動車在庫広告用の車両リスト。Meta Automotive Inventory Ads、Microsoft Auto Inventory フィード、Google 車両広告にマッピングされます。 スキーマ: /schemas/core/vehicle-item.json 必須: vehicle_idtitlemakemodelyear コンバージョンイベント: leadschedule(試乗)
フィールド説明
vehicle_idstring一意の識別子
titlestringリストタイトル(例: “2024 Apex Horizon EX Sedan”)
makestringメーカー
modelstringモデル名
yearinteger年式
priceobject{ amount, currency }
conditionenumnewusedcertified_pre_owned
vinstring17 文字の VIN
trimstringトリムレベル(例: “EX”、“Limited”)
mileageobject{ value, unit } — unit は km または mi
body_styleenumsedansuvtruckcoupeconvertiblewagonvanhatchback
transmissionenumautomaticmanualcvt
fuel_typeenumgasolinedieselelectrichybridplug_in_hybrid
exterior_colorstring外装色
interior_colorstring内装色
locationobject{ lat, lng } — ディーラーまたは車両の場所
tagsstring[]例: ["low-mileage", "one-owner"]
すべてのバーティカルで共有される共通フィールドimage_urlurlassetstagsext)も使用できます。 最小限 — 必須フィールドのみ:
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/core/vehicle-item.json",
  "vehicle_id": "dlr-2024-horizon-001",
  "title": "2024 Apex Horizon EX Sedan",
  "make": "Apex",
  "model": "Horizon",
  "year": 2024
}
オプションフィールドを含む完全な例:
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/core/vehicle-item.json",
  "vehicle_id": "dlr-2024-horizon-001",
  "title": "2024 Apex Horizon EX Sedan",
  "make": "Apex",
  "model": "Horizon",
  "year": 2024,
  "trim": "EX",
  "price": { "amount": 28500, "currency": "USD" },
  "condition": "new",
  "body_style": "sedan",
  "transmission": "cvt",
  "fuel_type": "gasoline",
  "exterior_color": "Lunar Silver Metallic",
  "image_url": "https://images.apexmotors.com/horizon-ex-2024.jpg",
  "url": "https://apexmotors.com/inventory/horizon-001",
  "tags": ["new-arrival"]
}

フライトカタログ

旅行広告とダイナミックリマーケティング用のフライトルート。Google DynamicFlightsAsset と Meta フライトカタログにマッピングされます。 スキーマ: /schemas/core/flight-item.json 必須: flight_idorigindestination コンバージョンイベント: purchase(予約)
フィールド説明
flight_idstringこのルートの一意の識別子
originobject{ airport_code, city } — IATA 3 文字コードが必須
destinationobject{ airport_code, city } — IATA 3 文字コードが必須
airlinestring航空会社名または IATA コード
priceobject{ amount, currency }
descriptionstringルートの説明またはプロモーションテキスト
departure_timedatetimeISO 8601
arrival_timedatetimeISO 8601
image_urluri目的地の写真
urluri予約ページ
tagsstring[]例: ["direct", "red-eye"]
すべてのバーティカルで共有される共通フィールドimage_urlurlassetstagsext)も使用できます。 最小限 — 必須フィールドのみ:
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/core/flight-item.json",
  "flight_id": "ams-jfk-summer",
  "origin": { "airport_code": "AMS" },
  "destination": { "airport_code": "JFK" }
}
オプションフィールドを含む完全な例:
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/core/flight-item.json",
  "flight_id": "ams-jfk-summer",
  "origin": { "airport_code": "AMS", "city": "Amsterdam" },
  "destination": { "airport_code": "JFK", "city": "New York" },
  "airline": "Acme Air",
  "price": { "amount": 449, "currency": "EUR" },
  "description": "Direct flights from Amsterdam to New York, daily departures.",
  "image_url": "https://images.acmeair.com/routes/ams-jfk.jpg",
  "url": "https://acmeair.com/flights/ams-jfk",
  "tags": ["direct", "transatlantic"]
}

不動産カタログ

不動産広告用の物件リスト。Google DynamicRealEstateAsset と Meta 住宅物件カタログにマッピングされます。 スキーマ: /schemas/core/real-estate-item.json 必須: listing_idtitleaddress コンバージョンイベント: leadschedule(内覧)
フィールド説明
listing_idstring一意の識別子
titlestringリストタイトル
descriptionstring物件の説明
addressobject{ street, city, region, postal_code, country }
priceobject{ amount, currency, period } — 賃貸の場合は "month" を使用
property_typeenumhouseapartmentcondotownhouselandcommercial
listing_typeenumfor_salefor_rent
bedroomsinteger寝室数
bathroomsnumberバスルーム数(例: 2.5)
areaobject{ value, unit } — unit は sqft または sqm
locationobject{ lat, lng }
neighborhoodstringエリア名
year_builtinteger建築年
tagsstring[]例: ["garden", "renovated"]
すべてのバーティカルで共有される共通フィールドimage_urlurlassetstagsext)も使用できます。 最小限 — 必須フィールドのみ:
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/core/real-estate-item.json",
  "listing_id": "ams-jordaan-3br",
  "title": "Spacious 3BR Apartment in Jordaan",
  "address": { "city": "Amsterdam", "country": "NL" }
}
オプションフィールドを含む完全な例:
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/core/real-estate-item.json",
  "listing_id": "ams-jordaan-3br",
  "title": "Spacious 3BR Apartment in Jordaan",
  "description": "Bright canal-view apartment with original features and modern kitchen, steps from Noordermarkt.",
  "address": {
    "street": "Prinsengracht 450",
    "city": "Amsterdam",
    "region": "NL-NH",
    "postal_code": "1017 KE",
    "country": "NL"
  },
  "price": { "amount": 650000, "currency": "EUR" },
  "property_type": "apartment",
  "listing_type": "for_sale",
  "bedrooms": 3,
  "bathrooms": 1,
  "area": { "value": 95, "unit": "sqm" },
  "location": { "lat": 52.3667, "lng": 4.8833 },
  "neighborhood": "Jordaan",
  "year_built": 1920,
  "tags": ["canal-view", "renovated"]
}

教育カタログ

学生募集用の教育プログラムとコース。Google DynamicEducationAsset と schema.org Course にマッピングされます。 スキーマ: /schemas/core/education-item.json 必須: program_idnameschool コンバージョンイベント: submit_applicationcomplete_registration
フィールド説明
program_idstring一意の識別子
namestringプログラム名
schoolstring機関名
descriptionstringプログラムの説明
subjectstring研究分野
degree_typeenumcertificateassociatebachelormasterdoctorateprofessionalbootcamp
levelenumbeginnerintermediateadvanced
priceobject{ amount, currency, period }
durationstring例: “4 weeks”、“2 years”
start_datedate次の開始可能日
languagestring言語コード(例: “en”)
modalityenumonlinein_personhybrid
locationstringキャンパスの場所(例: “Amsterdam, NL”)。完全オンラインの場合は省略。
tagsstring[]例: ["stem", "research"]
すべてのバーティカルで共有される共通フィールドimage_urlurlassetstagsext)も使用できます。 最小限 — 必須フィールドのみ:
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/core/education-item.json",
  "program_id": "pinnacle-msc-cs-2025",
  "name": "MSc Computer Science",
  "school": "Pinnacle University"
}
オプションフィールドを含む完全な例:
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/core/education-item.json",
  "program_id": "pinnacle-msc-cs-2025",
  "name": "MSc Computer Science",
  "school": "Pinnacle University",
  "description": "Two-year research master's covering AI, distributed systems, and software engineering.",
  "subject": "computer-science",
  "degree_type": "master",
  "level": "advanced",
  "price": { "amount": 2314, "currency": "EUR", "period": "year" },
  "duration": "2 years",
  "start_date": "2025-09-01",
  "language": "en",
  "modality": "in_person",
  "location": "Amsterdam, NL",
  "url": "https://pinnacle-university.com/programmes/masters/computer-science",
  "tags": ["stem", "research"]
}

目的地カタログ

目的地広告と旅行リマーケティング用の旅行目的地。Meta 目的地カタログと Google トラベル広告にマッピングされます。 スキーマ: /schemas/core/destination-item.json 必須: destination_idname コンバージョンイベント: purchase(予約)
フィールド説明
destination_idstring一意の識別子
namestring目的地名
descriptionstringハイライトと魅力
citystring都市名
regionstring州/県
countrystringISO 3166-1 alpha-2
locationobject{ lat, lng }
destination_typeenumbeachmountainurbanculturaladventurewellnesscruise
priceobject旅行の開始価格
ratingnumber1–5
tagsstring[]例: ["family", "romantic"]
すべてのバーティカルで共有される共通フィールドimage_urlurlassetstagsext)も使用できます。 最小限 — 必須フィールドのみ:
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/core/destination-item.json",
  "destination_id": "barcelona",
  "name": "Barcelona"
}
オプションフィールドを含む完全な例:
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/core/destination-item.json",
  "destination_id": "barcelona",
  "name": "Barcelona",
  "description": "Mediterranean city blending Gaudí architecture, beaches, and world-class dining.",
  "city": "Barcelona",
  "region": "Catalonia",
  "country": "ES",
  "location": { "lat": 41.3874, "lng": 2.1686 },
  "destination_type": "urban",
  "price": { "amount": 399, "currency": "EUR" },
  "image_url": "https://images.acmetravel.com/barcelona/hero.jpg",
  "url": "https://acmetravel.com/destinations/barcelona",
  "rating": 4.7,
  "tags": ["city-break", "beach", "culture"]
}

アプリカタログ

アプリインストールとリエンゲージメントキャンペーン用のモバイルアプリケーション。Google App Campaigns、Apple Search Ads、Meta App Ads、TikTok App Campaigns、Snapchat App Install Ads にマッピングされます。iOS と Android のバリアントは別々のアイテムです。 スキーマ: /schemas/core/app-item.json 必須: app_idnameplatform コンバージョンイベント: app_installapp_launch
フィールド説明
app_idstringバイヤーが割り当てた一意の識別子
namestringアプリの表示名
platformenumiosandroid
bundle_idstringリバースドメイン識別子(例: com.acme.app
apple_idstring数値の Apple App Store ID(iOS のみ)
descriptionstringアプリの説明(ストアリストを上書き)
categorystringストアカテゴリ(例: “games”、“finance”)
genrestringサブジャンル(例: “puzzle”、“strategy”)
icon_urluriアプリアイコン(1024x1024 px)
screenshotsuri[]アプリストアのスクリーンショット
preview_video_urluriビデオ広告クリエイティブ用のゲームプレイまたはデモ動画
store_urluriアプリストアのリスティング URL
deep_link_urluriリエンゲージメントキャンペーン用
priceobject{ amount, currency } — 無料の場合は amount を 0 に設定
ratingnumber0–5 のストア評価
rating_countintegerストア評価の総数
content_ratingstring年齢レーティング(例: “4+”、“Everyone”)
tagsstring[]例: ["casual", "offline"]
すべてのバーティカルで共有される共通フィールドassetstagsext)も使用できます。App アイテムは image_urlurl の代わりに icon_urlstore_url を使用します。 最小限 — 必須フィールドのみ:
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/core/app-item.json",
  "app_id": "puzzlequest-ios",
  "name": "Puzzle Quest: Match 3",
  "platform": "ios"
}
オプションフィールドを含む完全な例:
{
  "$schema": "https://adcontextprotocol.org/schemas/v3/core/app-item.json",
  "app_id": "puzzlequest-ios",
  "name": "Puzzle Quest: Match 3",
  "platform": "ios",
  "bundle_id": "com.acmegames.puzzlequest",
  "apple_id": "1234567890",
  "category": "games",
  "genre": "puzzle",
  "icon_url": "https://assets.acmegames.com/puzzlequest/icon-1024.png",
  "store_url": "https://apps.apple.com/app/puzzle-quest-match-3/id1234567890",
  "price": { "amount": 0, "currency": "USD" },
  "rating": 4.7,
  "rating_count": 82000,
  "content_rating": "4+",
  "tags": ["casual", "offline"]
}