create_media_buy のターゲティングオーバーレイで結果のオーディエンスを参照して、明示的なリターゲティングやサプレッションに利用できます。
オーディエンスはシグナルとは異なります。シグナルは、プロダクトのシグナルオプション、プロバイダーが公開するシグナル定義、または get_signals を通じて発見される名前付きのターゲティング次元です。オーディエンスは自社が所有してアップロードするデータです。audience_include を使うとアップロードしたリストのメンバーだけをターゲットにできます。audience_include はハード制約であり、リスト上のユーザーのみが対象となります。オーディエンスに類似した新規ユーザーを探す場合(類似オーディエンス拡張)は、キャンペーンブリーフにそのインテントを記述する — 拡張戦略はセラーが担当します。なお、ブリーフで表明された類似インテントはプロトコルを通じて検証できないため、セラー側のレポートで確認すること。
レスポンス時間: アップロードは約 1〜2 秒で受け付けられます。オーディエンスごとのマッチングは非同期です——マッチングが完了するまでタスクはアクティブな状態が続く(セラーによって 1〜48 時間)。オーディエンスの準備ができたときに Webhook を受け取るには push_notification_config を設定すること。取り込みパイプラインが同期レスポンスでオーディエンスごとの結果を返せないセラー(バッチ取り込み、ガバナンスによるゲート付きアップロード、クリーンルームのフロー)は、操作レベルの submitted タスクエンベロープで応答してもよい(MAY)——レスポンスの形を参照。
リクエストスキーマ: /schemas/v3/media-buy/sync-audiences-request.json
レスポンススキーマ: /schemas/v3/media-buy/sync-audiences-response.json
クイックスタート
顧客リストをアップロードしてステータスを確認します:リクエストパラメータ
Audience オブジェクト
Audience メンバー
すべてのメンバーにはexternal_id(バイヤーが割り当てた安定した識別子)と、少なくとも 1 つのマッチング可能な識別子が必要です。送信前にすべての値を SHA-256 でハッシュ化すること — メールアドレスは小文字化+トリム、電話番号は E.164 形式(例: +12065551234)に正規化します。
同一人物に複数の識別子を提供するとマッチ率が向上します。複合識別子(例: ハッシュ化された姓名 + 郵便番号)はまだ標準化されていない — プラットフォーム固有の拡張には
ext を使用すること。
識別子のサポートはセラーによって異なる: 送信前に get_adcp_capabilities → media_buy.audience_targeting.supported_identifier_types および media_buy.audience_targeting.supported_uid_types を確認すること。MAID のサポートは全セラーに共通ではない(LinkedIn は MAID を受け付けない。iOS の IDFA には App Tracking Transparency の同意が必要)。ケイパビリティの media_buy.audience_targeting.matching_latency_hours の範囲と media_buy.audience_targeting.minimum_audience_size もセラー固有の値です。
サイズ制限: ペイロードはすべてのオーディエンスを合わせて 1 回の呼び出しにつき最大 100,000 メンバーに制限されます。より大きなリストの場合は、add のデルタを使って順次呼び出しに分割すること。
同時実行: sync_audience への呼び出しは互いに独立していることを確認すること。処理は順不同になる場合があります。順次実行が必要な場合は、設定した Webhook へのコールバックを受け取ってから次の呼び出しを行うこと。
レスポンスの形
レスポンスは識別共用体を使います——レスポンスは三つの形のうちちょうど一つを持ち、混在することはありません: 1. 同期的な成功 — オーディエンスごとの結果:audiences— このリクエストに含まれていないオーディエンスも含む、アカウント上のすべてのオーディエンスの結果sandbox— このレスポンスがサンドボックスモードからのものかを示すブール値(オプション)
errors— 操作レベルのエラーの配列(認証失敗、アカウントが見つからない、無効なリクエスト形式)
status— 常に"submitted"task_id—tasks/getによるポーリングまたは完了時のウェブフック受信のためのハンドルmessage— キューの状態を説明する任意の人が読めるテキスト
audiences 配列は、submitted エンベロープではなくタスクの完了アーティファクトに載ります。オーディエンスごとの非同期マッチング(同期の残りが解決される間、一つのオーディエンスが processing になっている)は、submitted エンベロープではなく、その項目に status: "processing" を持つ同期的な成功の分岐に属します。オーディエンスごとの audience-status 列挙上のマッチングレイテンシが一般的なケースであり、submitted エンベロープはより少ない操作レベルの非同期のケース向けです。
成功レスポンスの各オーディエンスに含まれるフィールド:
マッチ内訳
セラーが識別子タイプ別のレポートをサポートしている場合、レスポンスにはmatch_breakdown が含まれる — これはどの ID タイプが解決されているか、どのマッチ率かを示す配列です。バイヤーは将来のアップロードでどの識別子を優先すべきかを判断するために活用できます。
submittedとmatchedは累積値であり、すべての同期にわたる値で、total_uploaded_countのセマンティクス(uploaded_countではない)に対応します。effective_match_rateは重複排除済み — メールと電話の両方でマッチしたメンバーは 1 回としてカウントされます。タイプ別マッチ率の合計以下になります。match_rateはサーバーが権威のある値 — コンシューマーは submitted/matched から自分で計算するよりもこの値を優先すべきです。id_typeの値は、ハッシュ化された PII タイプ(hashed_email、hashed_phone)とユニバーサル ID タイプ(rampid、uid2、id5、euid、pairid、maid)を組み合わせたものです。
match_breakdown を完全に省略します。
よくあるシナリオ
ディスカバリー専用
変更なしで既存のすべてのオーディエンスのステータスを確認します。レスポンスにはアカウント上のすべてのオーディエンスが含まれる —audience_id でフィルタリングして目的のオーディエンスを見つけること:
サプレッションリスト
新規獲得キャンペーンから除外するために、既存顧客のリストをアップロードする:メンバーの削除
オーディエンスを差分で更新する — 新しいメンバーを追加し、対象外になったメンバーを削除します:オーディエンスの削除
他のオーディエンスに影響を与えずに特定のオーディエンスをアカウントから削除します。オーディエンスオブジェクトにdelete: true を設定します:
delete: true を指定します。すべてのバイヤー管理オーディエンスを一度に削除するには、空の audiences 配列と delete_missing: true を使用する — ただし、すべてが削除されるため注意すること。
メディアバイでのオーディエンスの使用
オーディエンスがready になったら、create_media_buy のターゲティングオーバーレイで audience_id を参照します。オーディエンス ID はセラーアカウントにスコープされるため、セラーをまたいで使用することはできません。
test=false
オーディエンスステータス
プラットフォームのマッチングは非同期です。status フィールドは現在の状態を反映する:
status は action が created、updated、または unchanged の場合に存在します。action が deleted または failed の場合は存在しません。
セラーは、matched_count < minimum_size の場合には常に too_small を出力しなければなりません(MUST)。プラットフォームの最小値を下回る matched_count で ready を返すことは非準拠です——バイヤーは、カウントの事後的な解釈ではなく、ターゲティングが失敗するというプログラム的なシグナルとしてステータス値に依拠します。
Webhook(推奨): アップロード前にプロトコルレベルで push_notification_config を設定すること。タスクはセラーのプラットフォームがメンバーをマッチングしている間アクティブな状態が続く。マッチングが完了すると、タスクが完了し、最終結果(status: "ready" または status: "too_small")とともに Webhook が発火します。現実的な期待値を設定するには get_adcp_capabilities → audience_targeting.matching_latency_hours を確認すること(通常 1〜48 時間)。
ポーリングフォールバック: Webhook を使用しない場合は、audiences を省略したディスカバリー専用呼び出しで 15 分以上の間隔でポーリングすること。タスクのステータスを確認するには tasks/get と task_id を使用する — マッチング処理中はタスクが submitted 状態になり、オーディエンスの準備が完了するか小さすぎる場合に completed になります。
エージェントワークフロー: push_notification_config を設定してアップロードします。セッション終了前に audience_id と account_id を外部化します。status: "ready" の Webhook が発火したら再開して create_media_buy に進む。
非同期パターン
二つの異なる非同期パターンがあります——セラーの振る舞いに応じて正しいものを選んでください: オーディエンスごとの非同期マッチング(一般的): 同期操作自体は同期的に解決され、オーディエンスごとの結果を即座に返します。マッチングがまだ実行中のオーディエンスは、status: "processing" とともに同期的な成功レスポンスで返ってきます。バイヤーは、後続のディスカバリー専用呼び出しまたはウェブフックを通じて終端の状態(ready / too_small)を突き合わせます。これは上記の オーディエンスステータス 列挙が扱うケースです。
操作レベルの非同期(あまり一般的でない): 同期全体がキューに入れられます——取り込みがバッチ化されている、ガバナンスのレビューがアップロードをゲートしている、またはマッチングを開始する前に上流のクリーンルームのフローが確定しなければならない、といった理由でセラーが応答前にオーディエンスごとの結果を返せない場合です。レスポンスは submitted エンベロープです:
- トップレベルの
status: "submitted"とtask_id message— 任意の人が読める説明- このエンベロープには
audiences配列なし
tasks/get をポーリングするか、ウェブフックを待ちます。完了アーティファクトが、項目ごとの action/status の結果を持つ audiences 配列を運びます。操作レベルの失敗は、タスク上の status: "failed" として表面化します。
参照: ウェブフックの設定についてはウェブフックを参照。
ハッシュ化の要件
送信前にすべての識別子を SHA-256 でハッシュ化すること。まず正規化を行う:test=false
プライバシーに関する考慮事項
スキーマは平文のメールアドレスや電話番号を一切運びません——バイヤーは送信前にハッシュ化しなければなりません(MUST)。セラーは同じアルゴリズムで自社のユーザーデータを独立してハッシュ化することでマッチングを行います。 ハッシュ化された識別子は仮名化された PII であり、匿名ではありません。 メールアドレスや電話番号のソルトなしの SHA-256 は、メールと E.164 の名前空間の事前計算された辞書を通じて復元可能です。したがって、hashed_email と hashed_phone は、保持、同意、アクセス制御、データ主体の請求の目的で PII として扱わなければなりません(MUST)。オペレーターのドキュメントや DPA でこれらを「プライバシー保護的」と説明しないでください。プライバシーに関する考慮事項を参照。
バイヤーの義務: バイヤーは管轄区域に関わらず、オーディエンスデータを処理・共有するための適法根拠を持つ責任があります。規制対象市場で活動するセラーに GDPR の適法根拠を伝えるために、各オーディエンスに consent_basis を含めること — 一部のセラーは EU オーディエンスに対してこのフィールドを必須としています。
データ取り扱い: アップロード後のデータ処理と保持は、セラーとの契約に基づいて管理されます。オーディエンスデータをアップロードする前に、セラーのデータ処理条件を確認すること。
エラー処理
次のステップ
- ターゲティング —
targeting_overlay.audience_includeとaudience_excludeでオーディエンスを参照します - create_media_buy — パッケージにオーディエンスターゲティングを適用します
- コンバージョントラッキング — オーディエンスターゲティングキャンペーンの成果をトラッキングします