Enregistrer des déclencheurs d'attribution

Découvrez comment enregistrer des déclencheurs d'attribution pour comptabiliser vos conversions.

Un déclencheur d'attribution est l'événement qui indique au navigateur de capturer les conversions.

En suivant la procédure décrite dans ce document, vous pouvez enregistrer des déclencheurs afin d'enregistrer des conversions que le navigateur attribue ensuite aux événements sources pertinents, à savoir les impressions d'annonces ou les clics sur une annonce.

Méthodes d'enregistrement

Pour enregistrer des déclencheurs, utilisez des éléments HTML ou des appels JavaScript:

  • Balise <img>
  • Balise <script>
  • fetch appel
  • XMLHttpRequest

Cela génère des requêtes réseau auxquelles vous répondez ensuite avec un en-tête de réponse HTTP d'enregistrement de déclencheur.

Enregistrer un déclencheur pour attribuer une conversion

L'enregistrement d'un déclencheur est semblable à enregistrer un événement de source d'attribution. Les étapes complètes sont décrites plus loin. Voici le résumé:

  1. Lancez l'enregistrement du déclencheur. Utilisez un pixel ou un appel fetch() pour effectuer une demande.
  2. Terminer l'enregistrement du déclencheur en répondant au déclencheur d'inscription.

    À la réception de la demande de pixel, envoyée au point de terminaison défini dans l'attribut src habituel ou au point de terminaison défini dans attributionsrc si vous avez choisi d'utiliser attributionsrc et que vous lui avez attribué Une valeur : répondez avec l'en-tête Attribution-Reporting-Register-Trigger.

    Dans cet en-tête, spécifiez les données de déclencheur qui doivent apparaître des rapports. Toute réponse peut définir cet en-tête. Tant qu'il s'agit d'un une réponse à une requête émanant d'un site correspondant à l'destination, sources seront mises en correspondance. Lorsque l'en-tête est reçu, le recherche les sources correspondantes et planifie un rapport.

    Exemple pour les rapports au niveau des événements:

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

    Exemple pour les rapports récapitulatifs:

    {
      ... // 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
      }
    }
    

Gestion des sous-domaines

Si destination est de https://advertiser.example, les conversions sur les deux https://advertiser.example et ses sous-domaines, tels que https://shop.advertiser.example, peuvent être attribués.

Si destination est de https://shop.advertiser.example, les conversions seront enregistrées à la fois sur https://advertiser.example et https://shop.advertiser.example peuvent être attribuées.

Attributs obligatoires et facultatifs

Lorsque vous utilisez des éléments HTML ou effectuez des appels JavaScript pour enregistrer des déclencheurs, peut avoir besoin d'utiliser attributionsrc ou attributionReporting. Consultez le tableau suivant pour en savoir plus obligatoire.

Lorsque attributionsrc est facultatif, son utilisation indique que la demande est éligible pour Attribution Reporting. Si vous utilisez attributionsrc, le navigateur envoie Attribution-Reporting-Eligible. Il est également utile pour les conversions mesure: si attributionsrc est présent, le navigateur envoie le Attribution-Reporting-Support.

Méthode d'enregistrement Déclencheur
Balise <a> N/A: les ancres ne peuvent pas enregistrer de déclencheur.
Balise <img> attributionsrc est facultatif. L'en-tête est suffisant pour enregistrer un déclencheur.
Balise <script> attributionsrc est facultatif. L'en-tête est suffisant pour enregistrer un déclencheur.
fetch appel L'option attributionReporting est obligatoire.
XMLHttpRequest L'option attributionReporting est obligatoire.
window.open() N/A:window.open ne peut pas enregistrer de déclencheur.

Étape 1: Lancez l'enregistrement du déclencheur

Vous pouvez enregistrer un déclencheur à l'aide d'un pixel (balise <img>) ou d'une balise de script.

Utiliser un pixel de conversion nouveau ou existant

L'exemple suivant déclenche l'attribution sur une image existante en ajoutant l'attribut attributionsrc.

L'origine de attributionsrc doit correspondre à celle qui a effectué l'enregistrement de la source.

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

L'exemple suivant déclenche l'attribution en ajoutant un attribut de pixel de conversion attributionsrc.

L'origine de src doit correspondre à celle qui a effectué l'enregistrement de la source.

<img src="https://adtech.example/conversionpixel"
     attributionsrc>
<ph type="x-smartling-placeholder">

Utiliser un tag de script

Vous pouvez enregistrer un déclencheur à l'aide d'un tag de script. il se comporte de manière identique à <img>. Les exemples de code suivants illustrent l'utilisation de fetch() et XMLHttpRequest() (XHR).

Ce code simule efficacement le fonctionnement d'une requête HTML avec attributionsrc:

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

const req = new XMLHttpRequest();
req.open("GET", url);
req.setAttributionReporting(attributionReporting);
req.send();
const attributionReporting = {
  eventSourceEligible: false,
  triggerEligible: true,
};

// Optionally set keepalive to ensure the request outlives the page.
window.fetch("https://adtech.example/attribution_source?my_ad_id=123",
  { keepalive: true, attributionReporting });
<ph type="x-smartling-placeholder">

attributionsrc avec ou sans valeur

Vous pouvez ajouter attributionsrc avec ou sans valeur.

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

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

Si vous définissez une valeur pour attributionsrc, il peut s'agir d'une ou de plusieurs URL séparées par des espaces.

L'utilisation d'une URL oblige le navigateur à lancer une requête de récupération distincte de message keepalive : une pour chaque URL, qui inclut la requête Attribution-Reporting-Eligible en-tête.

Cela est utile si vous souhaitez enregistrer le déclencheur en répondant à une distincte de la requête principale de l'élément.

Par exemple, si vous devez enregistrer des déclencheurs sur un élément image, vous n'avez peut-être pas réellement le contrôle de la réponse de l'image ; dans ce cas, vous voudrez une configuration dans laquelle vous envoyez l'en-tête d'enregistrement du déclencheur en tant que réponse à une requête distincte de l'image, que vous contrôlez totalement. Par spécifiant une valeur explicite pour attributionsrc, vous demandez au navigateur pour effectuer cette requête supplémentaire et configurer sa destination.

Étape 2: Répondre avec un en-tête

À la réception de la requête du navigateur, répondez et incluez dans votre réponse l'en-tête Attribution-Reporting-Register-Trigger:

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

Étapes suivantes

Découvrez comment enregistrer des sources d'attribution.