A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://developer.mozilla.org/ja/docs/Web/API/Attribution_Reporting_API/Registering_triggers below:

帰属トリガーの登録 - Web API | MDN

帰属トリガーの登録

この記事では、帰属トリガーを登録する方法について説明します。

基本的な手法

帰属ソースを登録したら、帰属トリガーを登録する必要があります。これは、コンバージョンが測定されるサイトでの操作です(例えば、広告主のサイトで「購入」ボタンをクリックすると、コンバージョンが発生した可能性があることを示すことができます)。その後、ブラウザーは、プライベートローカルストレージ区画に格納されている帰属ソースの項目と帰属トリガーを照合し、一致するものが見つかった場合はレポートを生成します。

帰属トリガーの種類が異なると、その登録方法も異なります。詳細については、下記の「HTML ベースの帰属トリガー」および「JavaScript ベースの帰属トリガー」の節を参照してください。

ただし、トリガーの登録、照合など、その背後で行われる処理は、すべての場合で同じです。

  1. すべての種類のトリガーは、リクエスト時に Attribution-Reporting-Eligible ヘッダーを送信します。これは、レスポンスがトリガーの登録対象であることを示します。例えば次のようになります。

    Attribution-Reporting-Eligible: trigger
    
  2. サーバーが Attribution-Reporting-Eligible ヘッダーを含むリクエストを受信すると、レスポンスに Attribution-Reporting-Register-Trigger を含めることがあります。その値は、トリガーの ID、優先度、重複排除値など、生成されるレポートに含めることができるデータを含む JSON 文字列です。

    次の例は、イベントレベルレポート帰属ソースと照合するためのものです。

    res.set(
      "Attribution-Reporting-Register-Trigger",
      JSON.stringify({
        event_trigger_data: [
          {
            trigger_data: "4",
            priority: "1000000000000",
            deduplication_key: "2345698765",
          },
        ],
        debug_key: "1115698977",
      }),
    );
    

    ここで指定されているフィールドは次のとおりです。

    利用可能なすべてのフィールドの詳細については、Attribution-Reporting-Register-Trigger を参照してください。

    概要レポート帰属ソースと一致するように意図されたトリガーには、下記に示すフィールドが要求されます。

    res.set(
      "Attribution-Reporting-Register-Trigger",
      JSON.stringify({
        aggregatable_trigger_data: [
          {
            key_piece: "0x400",
            source_keys: ["campaignCounts"],
          },
          {
            key_piece: "0xA80",
            source_keys: ["geoValue", "nonMatchingKeyIdsAreIgnored"],
          },
        ],
        aggregatable_values: {
          campaignCounts: 32768,
          geoValue: 1664,
        },
        debug_key: "1115698977",
      }),
    );
    

    この例でのフィールドは次のとおりです。

    利用可能なすべてのフィールドの詳細については、 Attribution-Reporting-Register-Trigger を参照してください。

  3. ユーザーが帰属トリガーと対話すると、ブラウザーは、ブラウザーのプライベートローカルキャッシュに格納されている帰属ソースの項目とトリガーを照合しようとします。照合が成功するの、 Attribution-Reporting-Register-Trigger の "trigger_data" が、 Attribution-Reporting-Register-Source の "trigger_data" で指定された値のいずれかと一致し、トリガーが登録されている最上位のページ(スキーム + eTLD+1)が、以下の条件を満たしている必要があります。

    メモ: これらの要件はプライバシー保護だけでなく、柔軟性も提供します。ソースとトリガーは、 <iframe> に埋め込むことも、最上位のサイトに配置することも可能です。

    照合の結果が一致しない要因は他にもたくさんあります。例えば、次のようなものがあります。

  4. 一致するものが見つかった場合、ブラウザーはソースとトリガーデータに基づいてレポートを生成し、それをレポートのエンドポイントに送信します。

メモ: 帰属トリガーは、帰属ソースと同様に、<a> 要素または Window.open() 呼び出しには登録できません。

HTML ベースの帰属トリガー

HTML ベースの帰属トリガーは、ページが最初に読み込まれたとき、より正確には <img> または <script> が読み込まれたときに、ページでのコンバージョンを検出するために使用することができます。例えば、ユーザーがサイト運営者のページで帰属ソースのリンクをクリックして広告主のページに移動した場合、帰属トリガーを登録しておくと、広告主のページが読み込まれた瞬間に、ブラウザーが格納されているソース項目と照合を試みます。

適切な要素に attributionsrc 属性を追加することで、属性トリガーを登録することができます。これは、 <img> および <script> 要素で実行できます。

属性値を空白のままにすると、リクエストされたリソースがホストされているサーバーに登録リクエストが送信されます。値内に、登録リクエストを送信する追加の URL を指定することも可能です。詳細については、 attributionsrc 内での URL の指定を参照してください。

以下は <img> 要素の例です。

<img
  src="https://shop.example/conversion/4rghshdh5"
  width="1"
  height="1"
  attributionsrc />

HTMLImageElement.attributionSrc プロパティを使用しても、これと同じ結果を得ることができます。

const imgElem = document.querySelector("img");
imgElem.attributionSrc = "";

この場合、ブラウザーは、画像ファイルを含むレスポンスを受信したとき(load イベントが発生したとき)、保存されている帰属ソースとトリガーを照合しようとします。ユーザーは必ずしもその画像をまったく認識できない場合があることにご留意ください。その画像は、帰属レポートのためにのみ使用される 1x1 の透明なトラッキングピクセルである場合もあります。

<script> の例は、次のように表示されます。

<script src="advertising-script.js" attributionsrc></script>
const scriptElem = document.querySelector("script");
scriptElem.attributionSrc = "";

この場合、ブラウザーは、スクリプトを含むレスポンスを受信すると、格納されている帰属ソースとトリガーの照合を試みます。

JavaScript ベースの帰属トリガー

JavaScript ベースの帰属トリガーは、HTML ベースの帰属トリガーよりも汎用性があります。例えば、カスタム要素をクリックしたり、フォームを送信したりといった独自の操作に基づいて、保存されているソースとの一致を試みるようブラウザーにトリガーを送信することができます。

スクリプトベースの属性トリガーを登録するには、次のいずれかを実行します。

この場合、ブラウザーは、フェッチリクエストからのレスポンスを受信すると、トリガーを格納されている帰属ソースと照合しようとします。

メモ: リクエストは、任意のリソースに対して行うことができます。帰属レポート API と直接関係のある何らかのリソースである必要はなく、JSON、プレーンテキスト、画像 blob、その他アプリにとって意味のあるものなら何でもリクエストできます。

attributionsrc 内での URL の指定

上記の例では、attributionsrc 属性は空白のままにして、空文字列の値を取っています。リクエストされたリソースを保持するサーバーが、登録の処理(つまり、Attribution-Reporting-Eligible ヘッダーを受信し、Attribution-Reporting-Register-Trigger ヘッダーで応答する)を行うサーバーと同じである場合は、これで問題ありません。

ただし、リクエストされたリソースが自分で制御できるサーバー上にない場合や、別のサーバーで帰属情報のトリガーの登録を処理したい場合などもあるでしょう。そのような場合は、attributionsrc の値として 1 つ以上の URL を指定することができます。リソースのリクエストが発生すると、リソースの送信元に加えて、attributionsrc で指定した URL に Attribution-Reporting-Eligible ヘッダーが送信されます。その後、URL は Attribution-Reporting-Register-Trigger で応答し、登録が完了します。

例えば、<img> 要素の場合、attributionsrc 属性で URL を宣言することができます。

<img
  src="https://shop.example/conversion/4rghshdh5"
  attributionsrc="https://my-separate-tracking-site.example.com"
  width="1"
  height="1" />

または、JavaScript で attributionSrc プロパティを使用して指定します。

const imgElem = document.querySelector("img");
imgElem.attributionSrc = "https://my-separate-tracking-site.example.com";
関連情報

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4