アトリビューション トリガーを登録する

コンバージョンをカウントするためのアトリビューション トリガーを登録する方法について説明します。

アトリビューション トリガーは、ブラウザにコンバージョンのキャプチャを指示するイベントです。

このドキュメントの手順に沿ってトリガーを登録すると、ブラウザが関連するソースイベント(広告インプレッションまたは広告クリック)にコンバージョンを関連付けることができます。

登録方法

トリガーを登録するには、HTML 要素または JavaScript 呼び出しを使用します。

  • <img> タグ
  • <script> タグ
  • fetch 個の電話番号
  • XMLHttpRequest

これにより、ネットワーク リクエストが生成され、トリガー登録 HTTP レスポンス ヘッダーで応答します。

コンバージョンをアトリビューションするためのトリガーを登録する

トリガーの登録は、アトリビューション ソース イベントの登録と似ています。手順を完了するについては、後で説明します。概要は次のとおりです。

  1. トリガー登録を開始します。ピクセルまたは fetch() 呼び出しを使用してリクエストを行います。
  2. トリガー登録ヘッダーで応答して、トリガー登録を完了します。

    通常の src 属性で定義されたエンドポイント、または attributionsrc を使用して値を指定した場合は attributionsrc で定義されたエンドポイントに送信されたピクセル リクエストを受信したら、ヘッダー Attribution-Reporting-Register-Trigger で応答します。

    このヘッダーで、最終的にレポートに表示するトリガーデータを指定します。このヘッダーはどのレスポンスでも設定できます。destination に一致するサイトからのリクエストに対するレスポンスである限り、ソースは一致します。ヘッダーを受信すると、ブラウザは一致するソースを探してレポートをスケジュールします。

    イベントレベル レポートの例:

    {
      "event_trigger_data": [{
        "trigger_data": "[unsigned 64-bit integer]",
        "priority": "[signed 64-bit integer]",
        "deduplication_key": "[unsigned 64-bit integer]"
      }]
    }
    

    概要レポートの例:

    {
      ... // existing fields, such as "event_trigger_data"
    
      "aggregatable_trigger_data": [
       {
         "key_piece": "0x400",
         "source_keys": ["campaignCounts"]
       },
       {
         "key_piece": "0xA80",
         "source_keys": ["geoValue", "nonMatchingKeyIdsAreIgnored"]
       }
      ],
      "aggregatable_values": {
        "campaignCounts": 32768,
        "geoValue": 1664
      }
    }
    

サブドメインの処理

destinationhttps://advertiser.example の場合、https://advertiser.example とそのサブドメイン(https://shop.advertiser.example など)の両方のコンバージョンにアトリビューションを設定できます。

destinationhttps://shop.advertiser.example の場合、https://advertiser.examplehttps://shop.advertiser.example の両方のコンバージョンを関連付けることができます。

必須属性と省略可能な属性

HTML 要素を使用したり、JavaScript 呼び出しを行ってトリガーを登録したりする際に、attributionsrc または attributionReporting を使用する必要がある場合があります。これらの要件がいつ必要になるかについては、次の表をご覧ください。

attributionsrc省略可能な場合、これを使用すると、リクエストがアトリビューション レポートの対象となることを示します。attributionsrc を使用すると、ブラウザは Attribution-Reporting-Eligible ヘッダーを送信します。アプリからウェブへの測定にも役立ちます。attributionsrc が存在する場合、ブラウザは Attribution-Reporting-Support ヘッダーを送信します。

登録方法 きっかけ
<a> タグ N/A: アンカーはトリガーを登録できません。
<img> タグ attributionsrc省略可能です。このヘッダーはトリガーを登録するのに十分です。
<script> タグ attributionsrc省略可能です。このヘッダーはトリガーを登録するのに十分です。
fetch 個の電話番号 attributionReporting オプションは必須です。
XMLHttpRequest attributionReporting オプションは必須です。
window.open() N/A: window.open はトリガーを登録できません。

ステップ 1: トリガー登録を開始する

ピクセル(<img> タグ)またはスクリプトタグを使用してトリガーを登録できます。

新しいコンバージョン ピクセルまたは既存のコンバージョン ピクセルを使用する

次の例では、attributionsrc 属性を追加して、既存の画像でアトリビューションをトリガーしています。

attributionsrc のオリジンは、ソース登録を行ったオリジンと一致している必要があります。

<img src="https://advertiser.example/conversionpixel"
     attributionsrc="https://adtech.example/attribution_trigger?purchase=13">

次の例では、新しいコンバージョン ピクセル attributionsrc 属性を追加してアトリビューションをトリガーします。

src のオリジンは、ソース登録を行ったオリジンと一致している必要があります。

<img src="https://adtech.example/conversionpixel"
     attributionsrc>

スクリプトタグを使用する

トリガー登録はスクリプトタグで行うことができます。これは <img> と同じように動作します。次のコードサンプルは、fetch()XMLHttpRequest()(XHR)の使用方法を示しています。

このコードは、attributionsrc を使用した HTML リクエストの動作を効果的にシミュレートします。

const attributionReporting = {
  eventSourceEligible: false,
  triggerEligible: true,
};

// Optionally set keepalive to make sure the request outlives the page.
window.fetch("https://adtech.example/attribution_source?my_ad_id=123",
  { keepalive: true, attributionReporting });
const attributionReporting = {
  eventSourceEligible: false,
  triggerEligible: true,
};

const req = new XMLHttpRequest();
req.open("GET", url);
req.setAttributionReporting(attributionReporting);
req.send();

値の有無にかかわらず attributionsrc

attributionsrc は、値の有無にかかわらず追加できます。

<!-- Without a value -->
<img src="..." width="1" height="1" attributionsrc>

<!-- With a value (URL) -->
<img src="..." width="1" height="1" attributionsrc="https://...">

attributionsrc に値を設定する場合は、1 つ以上のスペース区切りの URL を指定できます。

URL を使用すると、ブラウザは Attribution-Reporting-Eligible リクエスト ヘッダーを含む個別のキープアライブ取得リクエスト(URL ごとに 1 つ)を開始します。

これは、要素のメイン リクエストとは別のリクエストに応答してトリガー登録を行う場合に便利です。

たとえば、画像要素にトリガーを登録する必要がある場合、実際には画像レスポンスを制御できないことがあります。この場合、画像とは別のリクエストに対するレスポンスとしてトリガー登録ヘッダーを送信し、完全に制御できる構成が必要になります。attributionsrc に明示的な値を指定することで、ブラウザにその追加リクエストを行うよう指示し、その宛先を構成します。

ステップ 2: ヘッダーで応答する

ブラウザ リクエストを受信したら、レスポンスを送信し、レスポンスに Attribution-Reporting-Register-Trigger ヘッダーを含めます。

JSON.stringify({
  event_trigger_data: [{
    trigger_data: "412444888111012",
    // Optional
    priority: "1000000000000",
    deduplication_key: "2345698765"
  }],
  debug_key: "1115698977"
});

次のステップ

アトリビューション ソースを登録する方法を学習する。