sync_event_sources はイベントの収集元を設定し、log_event はイベント自体を送信します。
イベントデータは配信レポート(コンバージョン数、ROAS、獲得単価)にフィードされ、メディアバイパッケージの最適化ゴールを有効にします。
フロー
これは推奨される順序を示しています。実際には、イベントが流れる前にメディアバイを作成することもできます。セラーは十分なイベント履歴が蓄積されてから最適化を開始します。イベントソース
イベントソースは、コンバージョンイベントを収集するチャネルを表します。ウェブサイトピクセル、モバイル SDK、サーバー間連携、CRM インポートなどがあります。sync_event_sources でイベントソースを設定します。event_source_id、任意の name、event_types、allowed_domains を指定します。レスポンスには各ソースの追加フィールドが含まれます。
| フィールド | 型 | 説明 |
|---|---|---|
seller_id | string | セラーの広告プラットフォームが割り当てた識別子 |
action | string | 発生したこと: created、updated、unchanged、deleted、failed |
managed_by | string | buyer(自分が設定した)または seller(常時オン、セラー管理) |
action_source | ActionSource | イベントソースの種類(ウェブサイトピクセル、アプリ SDK など) |
setup | object | 実装の詳細 — スニペットコード、スニペットタイプ、手順 |
バイヤー管理 vs セラー管理
バイヤー管理ソースはsync_event_sources を通じて自分が設定するものです。イベントタイプ、ドメイン、ライフサイクルを自分で管理します。
セラー管理ソースは常時オンで、レスポンスに managed_by: "seller" として現れる。これはコマースメディアでよく見られ、リテーラーが組み込みアトリビューション(例:自社プラットフォームでの購入トラッキング)を提供する場合に使われます。conversion_tracking.platform_managed: true を持つプロダクトは、セラーがこれらのソースを提供することを示しています。
アカウント上のすべてのソース(セラー管理のものを含む)を検出するには、event_sources 配列を指定せずに sync_event_sources を呼び出す。
イベント
イベントは、購入、リード送信、ページビュー、アプリインストール、その他の標準イベントタイプといったユーザーアクションを表します。log_event でイベントを送信します。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
event_id | string | Yes | 重複排除のための一意識別子(event_type + event_source_id のスコープ)。最大256文字。 |
event_type | EventType | Yes | 標準イベントタイプ |
event_time | date-time | Yes | イベント発生時刻の ISO 8601 タイムスタンプ |
user_match | UserMatch | No | アトリビューションマッチングのためのユーザー識別子 |
custom_data | CustomData | No | イベント固有のデータ(value、currency、items) |
action_source | ActionSource | No | イベントが発生した場所 |
event_source_url | uri | No | イベントが発生した URL(action_source が website の場合は必須) |
custom_event_name | string | No | カスタムイベントの名前(event_type が custom の場合) |
event_id + event_type + event_source_id で重複排除されます。同じイベントを複数回送信しても安全です。
ユーザーマッチ
ユーザー識別子により、セラーはコンバージョンを広告インプレッションにアトリビュートできます。利用可能な最も強力な識別子を提供すること。識別子が多いほどマッチ率が高くなります。| フィールド | 型 | マッチ品質 | 説明 |
|---|---|---|---|
uids | UID[] | 確定的 | ユニバーサル ID の値(rampid、id5、uid2、euid、pairid、maid) |
hashed_email | string | 確定的 | 小文字・トリム済みメールアドレスの SHA-256 ハッシュ(64文字の16進数) |
hashed_phone | string | 確定的 | E.164 形式の電話番号の SHA-256 ハッシュ(64文字の16進数) |
click_id | string | 確定的 | プラットフォームのクリック識別子(fbclid、gclid、ttclid など) |
click_id_type | string | — | クリック識別子の種類 |
client_ip | string | 確率的 | クライアント IP アドレス(client_user_agent が必要) |
client_user_agent | string | 確率的 | クライアントユーザーエージェント(client_ip が必要) |
+12065551234)にします。SHA-256 でハッシュ化し、64文字の小文字16進数として出力します。
利用可能な場合は複数の識別子タイプを送信すること。セラーは最善のマッチを使用します。
カスタムデータ
アトリビューションとレポートのためのイベント固有データ。購入イベントでは、ROAS レポートを有効にするために常にvalue と currency を含めること。
| フィールド | 型 | 説明 |
|---|---|---|
value | number | イベントの金銭的価値 |
currency | string | ISO 4217 通貨コード(例: USD、EUR、GBP) |
order_id | string | 一意の注文または取引識別子 |
content_ids | string[] | 商品またはコンテンツの識別子 |
content_type | string | コンテンツのカテゴリー(product、service など) |
content_name | string | 商品またはコンテンツの名前 |
content_category | string | 商品またはコンテンツのカテゴリー |
num_items | integer | イベントのアイテム数 |
search_string | string | 検索クエリ(検索イベントの場合) |
contents | Content[] | アイテムごとの詳細: id(必須)、quantity、price、brand |
イベントタイプ
IAB ECAPI に準拠した標準マーケティングイベントタイプ:| イベントタイプ | 説明 |
|---|---|
page_view | ユーザーがページを閲覧した |
view_content | ユーザーが特定のコンテンツ(商品、記事など)を閲覧した |
select_content | ユーザーがコンテンツを選択またはクリックした |
select_item | ユーザーがリストから特定の商品またはアイテムを選択した |
search | ユーザーが検索を実行した |
share | ユーザーがソーシャルまたはメッセージングでコンテンツをシェアした |
add_to_cart | ユーザーがカートにアイテムを追加した |
remove_from_cart | ユーザーがカートからアイテムを削除した |
viewed_cart | ユーザーがショッピングカートを閲覧した |
add_to_wishlist | ユーザーがウィッシュリストにアイテムを追加した |
initiate_checkout | ユーザーがチェックアウトプロセスを開始した |
add_payment_info | ユーザーが支払い情報を追加した |
purchase | ユーザーが購入を完了した |
refund | 購入が全額または一部払い戻された(ROAS を調整します) |
lead | ユーザーが関心を示した(フォーム送信、サインアップなど) |
qualify_lead | リードが営業またはスコアリング基準で適格とされた |
close_convert_lead | リードが顧客に転換したまたはディールがクローズした |
disqualify_lead | リードが不適格とされたまたは見込みなしとマークされた |
complete_registration | ユーザーがアカウント登録を完了した |
subscribe | ユーザーがサービスまたはニュースレターを購読した |
start_trial | ユーザーが無料トライアルを開始した |
app_install | ユーザーがアプリケーションをインストールした |
app_launch | ユーザーがアプリケーションを起動した |
contact | ユーザーが連絡を開始した(電話、メッセージなど) |
schedule | ユーザーが予約またはイベントをスケジュールした |
donate | ユーザーが寄付をした |
submit_application | ユーザーが申し込みを送信した(ローン、求人など) |
custom | カスタムイベントタイプ(custom_event_name で指定) |
アクションソース
コンバージョンイベントの発生元:| アクションソース | 説明 |
|---|---|
website | ウェブサイト上でイベントが発生した |
app | モバイルまたはデスクトップアプリ内でイベントが発生した |
offline | オフラインでイベントが発生した(インポートデータ) |
phone_call | 電話から発生したイベント |
chat | チャット会話から発生したイベント |
email | メールのインタラクションから発生したイベント |
in_store | 実店舗でイベントが発生した |
system_generated | 自動化システムによって生成されたイベント |
other | その他のソース(ext で指定) |
最適化ゴール
最適化ゴールは、セラーに対して何に向けて配信を最適化するかを伝える。create_media_buy のパッケージに設定します。パッケージはゴールの配列を受け付け、各ゴールにはオプションの priority(1が最高)を指定できます。プロダクトは、パッケージが持てるゴール数を制限する場合に max_optimization_goals を宣言する(ほとんどのソーシャルプラットフォームは1つのみ受け付ける)。
スキーマ: /schemas/v3/core/optimization-goal.json
ゴールは kind で識別される2種類があります。
kind: "metric"— セラーがトラッキングする配信メトリクス(クリック、ビュー、エンゲージメントなど)に向けて最適化します。イベントソースやコンバージョントラッキングの設定は不要です。プロダクトはサポートするメトリクスをmetric_optimizationで宣言します。kind: "event"— 広告主がトラッキングするコンバージョンイベントに向けて最適化します。sync_event_sourcesで登録されたイベントソースが必要です。プロダクトはサポートをconversion_trackingで宣言します。
kind: event
広告主がトラッキングするコンバージョンイベントに向けて最適化します。event_sources 配列は、このゴールにフィードするソースとタイプのペアを定義します。セラーが multi_source_event_dedup(get_adcp_capabilities で宣言)をサポートしている場合、すべてのエントリを通じて event_id で重複排除します。複数のソースから報告された同じビジネスイベントは1回としてカウントされ、最初にマッチしたエントリの value_field と value_factor が使用されます。multi_source_event_dedup が存在しないまたは false の場合、バイヤーはゴールごとに1つのイベントソースを使用すべきです。
コンバージョン単価(単一ソース):
per_ad_spend ターゲットでは、各イベントソースエントリに value_field(custom_data のどのフィールドが金銭的価値を持つか)とオプションの value_factor(乗数、デフォルトは1)を指定します。セラーは重複排除されたすべてのイベントに対して sum(value_field * value_factor) / spend を計算します。
コンバージョン価値の最大化(特定の ROAS ターゲットなし):
maximize_value ターゲットは、特定のリターン比率にコミットせずに高価値コンバージョンに向けて支出を誘導します。少なくとも1つのイベントソースエントリに value_field が必要です。
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
kind | "event" | Yes | 識別子 |
event_sources | array | Yes | このゴールにフィードするソースとタイプのペア。セラーはエントリを通じて event_id で重複排除します。同じ event_id が異なる value_field を持つ複数のソースから届いた場合、セラーはこの配列の最初にマッチしたエントリの value_field と value_factor を使用します。 |
event_sources[].event_source_id | string | Yes | イベントソース(sync_event_sources で設定済みであること) |
event_sources[].event_type | EventType | Yes | 含めるイベントタイプ(例: purchase、lead、refund) |
event_sources[].custom_event_name | string | event_type が custom の場合 | プラットフォーム固有のカスタムイベント名 |
event_sources[].value_field | string | ターゲットが per_ad_spend または maximize_value の場合 | custom_data のどのフィールドが金銭的価値を持つか。セラーはこれを価値の抽出と集計に使用しなければなりません。基盤となるプラットフォーム API に直接渡されるわけではありません。 |
event_sources[].value_factor | number | No | セラーが集計前に value_field に適用しなければなりません乗数(デフォルト1)。返金には -1、センティーム(1/100)には 0.01、カウントには含めながら価値の貢献をゼロにするには 0 を使用します。 |
target.kind | "cost_per" | "per_ad_spend" | "maximize_value" | No | ターゲットタイプ。省略した場合、セラーは予算内でコンバージョン数を最大化します。 |
target.value | number | Yes(ターゲット設定時) | 購入通貨でのイベント単価、またはリターン比率(例: 4.0 = 4) |
attribution_window | object | No | クリックスルーとビュースルーのウィンドウ。省略した場合、セラーはデフォルトを使用します。 |
priority | integer | No | 1が最高優先度。省略した場合、セラーは配列の順序を使用します。 |
kind: metric
セラーがトラッキングする配信メトリクスに向けて最適化します。イベントソースは不要です。セラーはこれらをネイティブにトラッキングします。プロダクトはサポートするメトリクスをmetric_optimization.supported_metrics で宣言します。
クリック数の最大化(ターゲットなし — セラーが予算内でボリュームを最適化):
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
kind | "metric" | Yes | 識別子 |
metric | string | Yes | セラーネイティブのメトリクス(下記のメトリクス表を参照) |
view_duration_seconds | number | No | completed_views イベントとして認定される最低動画再生時間(秒単位)。メトリクスが completed_views の場合にのみ適用されます。省略した場合、セラーはプラットフォームのデフォルトを使用します。プロダクトの metric_optimization.supported_view_durations に記載された値でなければなりません。セラーはサポートされていない値を拒否します。 |
target.kind | "cost_per" | "threshold_rate" | No | ターゲットタイプ。省略した場合、セラーは予算内でメトリクスのボリュームを最大化します。 |
target.value | number | Yes(ターゲット設定時) | 購入通貨でのメトリクス単位あたりのコスト、またはインプレッションごとの最低値 |
priority | integer | No | 1が最高優先度。省略した場合、セラーは配列の順序を使用します。 |
| メトリクス | 単位 | threshold_rate の例 | 説明 |
|---|---|---|---|
clicks | 回数/インプレッション | 0.001(0.1% CTR) | 離脱するリンクのクリック、スワイプスルー、CTA タップ |
views | 回数/インプレッション | 0.70(70% ビューアビリティ) | 視認可能なインプレッション |
completed_views | 回数/インプレッション | 0.85(85% VCR) | 動画または音声の完了。view_duration_seconds で認定しきい値を制御する(例: 2秒、6秒、15秒)。 |
viewed_seconds | 秒/インプレッション | 3.0(3秒表示) | インプレッションごとの表示時間 |
attention_seconds | 秒/インプレッション | 5.0(5秒アテンション) | インプレッションごとのアテンション時間 |
attention_score | スコア/インプレッション | 40.0(ベンダー固有) | インプレッションごとのアテンションスコア |
engagements | 回数/インプレッション | — | 閲覧を超えた直接インタラクション — ソーシャルリアクション/コメント/シェア、ストーリー/ユニット開封、CTV のインタラクティブオーバーレイタップ、音声のコンパニオンバナーインタラクション |
follows | 回数/インプレッション | — | 新規フォロワー、ページいいね、アーティスト/ポッドキャスト/チャンネルの購読 |
saves | 回数/インプレッション | — | 保存、ブックマーク、プレイリスト追加、ピン — 再訪意図のシグナル |
profile_visits | 回数/インプレッション | — | ブランドのプラットフォーム内ページへのアクセス — プロフィール、アーティストページ、チャンネル、ストアフロント。外部ウェブサイトのクリックは含まない(その場合は clicks を使用)。 |
reach | ユニーク数/ウィンドウ | — | フリークエンシーウィンドウ内のユニークオーディエンスリーチ。reach_unit(例: households、individuals)が必要。最適化のフリークエンシーバンドを設定するには target_frequency を使用します。 |
ターゲットの種類
両方のゴールタイプにまたがるすべてのターゲット種類:target.kind | メトリクスゴール | イベントゴール | 説明 |
|---|---|---|---|
cost_per | クリック/ビューなどの単価 | コンバージョンイベント単価 | spend / count |
threshold_rate | インプレッションごとの最低値 | — | インプレッションごとに少なくとも X |
per_ad_spend | — | ターゲット広告費用対効果 | sum(value_field * value_factor) / spend |
maximize_value | — | 総コンバージョン価値の最大化 | 高価値コンバージョンに向けて支出を誘導します。value_field が必要。 |
戦略の選択
| ゴール | 使用場面 | 設定内容 |
|---|---|---|
| コンバージョン数の最大化 | 予算内でできるだけ多くのコンバージョン | kind: "event" + イベントソース、ターゲットなし |
| ターゲットコンバージョン単価 | イベントごとの特定のコスト | kind: "event" + target: { kind: "cost_per", value: 25.0 } |
| ターゲット広告費用対効果 | イベント価値に対する特定のリターン比率 | kind: "event" + ソースの value_field + target: { kind: "per_ad_spend", value: 4.0 } |
| コンバージョン価値の最大化 | ROAS ターゲットなしで高価値コンバージョンに誘導 | kind: "event" + ソースの value_field + target: { kind: "maximize_value" } |
| クリック数の最大化 | 予算内でクリックを最大化 | kind: "metric"、metric: "clicks"、ターゲットなし |
| ターゲットクリック単価 | 特定のクリック単価 | kind: "metric"、metric: "clicks" + target: { kind: "cost_per", value: 2.0 } |
| ターゲット CTR | 最低クリック率 | kind: "metric"、metric: "clicks" + target: { kind: "threshold_rate", value: 0.001 } |
| ターゲットビューアビリティ | 最低ビューアビリティ率 | kind: "metric"、metric: "views" + target: { kind: "threshold_rate", value: 0.70 } |
| ターゲットアテンション | 最低アテンション時間 | kind: "metric"、metric: "attention_seconds" + target: { kind: "threshold_rate", value: 5.0 } |
| ターゲット VCR | 最低動画完了率 | kind: "metric"、metric: "completed_views" + target: { kind: "threshold_rate", value: 0.85 } |
| 再生時間付き完了ビュー | 特定の再生時間しきい値付きの動画ビュー | kind: "metric"、metric: "completed_views" + view_duration_seconds: 6 |
| エンゲージメントの最大化 | 予算内でソーシャルインタラクションを最大化 | kind: "metric"、metric: "engagements"、ターゲットなし |
| フォロワーの最大化 | 新規フォロワー/購読者を最大化 | kind: "metric"、metric: "follows"、ターゲットなし |
| 保存数の最大化 | 保存/ブックマーク/プレイリスト追加を最大化 | kind: "metric"、metric: "saves"、ターゲットなし |
| プロフィール訪問の最大化 | ブランドページ/プロフィールへのトラフィックを誘導 | kind: "metric"、metric: "profile_visits"、ターゲットなし |
| 最大ユニークリーチ | 予算内でユニークオーディエンスを最大化 | kind: "metric"、metric: "reach" + reach_unit: "households"、ターゲットなし |
| フリークエンシー付きリーチ | 週1〜3回のフリークエンシーバンドでリーチ | kind: "metric"、metric: "reach" + reach_unit + target_frequency: { min: 1, max: 3, window: "7d" } |
複数ゴールと優先度
パッケージは複数のゴールを持てる。優先度はセラーがどれをメインとして扱うかを制御します。よくあるパターンは、イベントデータが少ない場合にメトリクスゴールをプロキシシグナルとして使用することです。priority: 1 のゴール(SDK と MMP をまたいで重複排除した $10 インストール単価)に注力し、インストールデータが蓄積されるまでクリックをプロキシシグナルとして使用します。
価格モデルと最適化ゴール
価格モデル(CPC、CPM、CPA など)はバイヤーが支払う対象を決める。最適化ゴールはセラーがどのようにインプレッションを配分するかを決める。これらは独立しています。パッケージは CPM 価格を使いながら CPA ターゲットに向けて最適化したり、CPA 価格を使いながら ROAS に向けて最適化したりできます。請求の詳細については価格モデルを参照。リーチとフリークエンシー
リーチベースの最適化はmetric: "reach" と2つの追加フィールドを使用します。
reach_unit(必須): 測定単位 — プロダクトのmetric_optimization.supported_reach_unitsで宣言された値でなければなりません(例:households、individuals)。target_frequency(任意): 最適化を誘導するフリークエンシーバンド。セラーは未リーチのエンティティへのインプレッションを高価値として、すでに飽和したエンティティへのインプレッションを低価値として扱います。min、max、window(例:"7d"、"campaign")を含みます。省略した場合、セラーはユニークリーチを最大化します。
frequency_cap を使用します。リーチとフリークエンシーのメトリクスは get_media_buy_delivery の配信レポートで確認できます。
前提条件
メトリクスゴール(kind: "metric")の場合:
- プロダクトのサポートを確認する — プロダクトは
metric_optimizationで目的のメトリクスをsupported_metricsに宣言していなければなりません。イベントソースやコンバージョントラッキングの設定は不要です。 - ターゲットのサポートを確認する — ターゲットを設定する場合は、ターゲットの種類が
metric_optimization.supported_targetsに記載されていることを確認すること。 - 再生時間を確認する —
view_duration_seconds付きのcompleted_viewsを使用する場合は、その値がmetric_optimization.supported_view_durationsに記載されていることを確認すること。
kind: "event")の場合:
- イベントソースを設定する —
sync_event_sourcesを呼び出して、event_sourcesで参照するイベントソースをセットアップします。 - プロダクトのサポートを確認する — プロダクトは
conversion_trackingで目的のターゲット種類をsupported_targetsに宣言していなければなりません。 - 重複排除のサポートを確認する — ゴールごとに複数のイベントソースを使用する場合は、セラーが
get_adcp_capabilitiesでmulti_source_event_dedupをサポートしていることを確認すること。サポートされていない場合は、ゴールごとに1つのイベントソースを使用すること。 - イベントを送信する —
log_eventを使用してコンバージョンデータを送信します。セラーが効果的に最適化するにはイベント履歴が必要です。
アトリビューションウィンドウ
アトリビューションウィンドウは、セラーがコンバージョンに広告インプレッションをクレジットするためにどれだけ遡るかを制御します。一般的なオプション:| ウィンドウ | 意味 |
|---|---|
post_click: {interval: 7, unit: "days"} | クリックから7日以内のコンバージョン |
post_click: {interval: 28, unit: "days"} | クリックから28日以内のコンバージョン |
post_view: {interval: 1, unit: "days"} | 広告視聴から1日以内のコンバージョン |
post_view: {interval: 7, unit: "days"} | 広告視聴から7日以内のコンバージョン |
conversion_tracking.attribution_windows ケーパビリティのオプションと一致しなければなりません。省略した場合、セラーはデフォルトのウィンドウを適用します。
配信レポートとの連携
イベントソースが設定されてイベントが流れ始めると、get_media_buy_delivery のレスポンスにコンバージョンメトリクスが表示されます。
conversions— キャンペーンにアトリビュートされたポストクリックまたはポストビューのコンバージョンconversion_value— アトリビュートされたコンバージョンの金銭的価値roas— 広告費用対効果(conversion_value / spend)cost_per_acquisition— コンバージョン単価(spend / conversions)
optimization_goals が設定されている場合にパッケージごとにレポートされます。by_action_source ブレークダウンをサポートするセラーは、コンバージョンをソース別(website、app、in_store など)に分けて表示できます。
カタログアイテムのアトリビューション
カタログドリブンのパッケージでは、コンバージョンイベントに関連するカタログアイテムを識別するcontent_ids が含まれます。カタログの content_id_type は期待される識別子タイプ(sku、gtin、job_id など)を宣言します。
アトリビューションは意図的に幅広く設計されています。ユーザーがあるアイテム(求人 A)をクリックして別のアイテム(求人 B に応募)でコンバージョンする場合もあります。イベントはクリックされたアイテムではなく、コンバージョンの実際の content_id で発火します。アイテムごとのクリックからコンバージョンまでのパス分析はプラットフォームの最適化の問題であり、プロトコルの問題ではありません。
get_media_buy_delivery の by_catalog_item ブレークダウンは、アイテムごとのメトリクス(インプレッション、支出、クリック、コンバージョン)を表示します。
関連ドキュメント
sync_event_sources— イベントソースの設定log_event— コンバージョンイベントの送信create_media_buy— パッケージへの最適化ゴールの設定get_media_buy_delivery— コンバージョンメトリクスの監視- 価格モデル — CPA 請求(コンバージョン単価課金)