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 les étapes décrites dans ce document, vous pouvez enregistrer des déclencheurs pour enregistrer les conversions que le navigateur attribue ensuite aux événements sources correspondants, à savoir les impressions ou les clics sur les annonces.

Méthodes d'inscription

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 du déclencheur.

Enregistrer un déclencheur pour attribuer une conversion

L'enregistrement d'un déclencheur est semblable à l'enregistrement d'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. Terminez l'enregistrement du déclencheur en répondant avec l'en-tête d'enregistrement du déclencheur.

    Lorsque vous recevez la requête de pixel (envoyée au point de terminaison défini dans l'attribut src habituel ou à celui 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 que vous souhaitez afficher dans les rapports. N'importe quelle réponse peut définir cet en-tête. Tant qu'il s'agit d'une réponse à une demande provenant d'un site correspondant à destination, les sources seront mises en correspondance. Lorsque l'en-tête est reçu, le navigateur 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 de rapport récapitulatif :

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

Gérer les sous-domaines

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

Si destination est défini sur https://shop.advertiser.example, les conversions 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, vous devrez peut-être utiliser attributionsrc ou attributionReporting. Pour savoir quand ces informations sont requises, consultez le tableau ci-dessous.

Lorsque attributionsrc est facultatif, son utilisation indique que la requête est éligible aux rapports sur l'attribution. Si vous utilisez attributionsrc, le navigateur envoie l'en-tête Attribution-Reporting-Eligible. Il est également utile pour la mesure des applications vers le Web : si attributionsrc est présent, le navigateur envoie l'en-tête Attribution-Reporting-Support.

Méthode d'inscription Déclencheur
Balise <a> N/A : Les ancres ne peuvent pas enregistrer de déclencheur.
Balise <img> attributionsrc est facultatif. L'en-tête suffit à enregistrer un déclencheur.
Balise <script> attributionsrc est facultatif. L'en-tête suffit à 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 à l'origine 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 nouvel attribut attributionsrc de pixel de conversion.

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

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

Utiliser une balise script

Vous pouvez enregistrer un déclencheur avec une balise de script. Son comportement est identique à celui de <img>. Les exemples de code suivants illustrent l'utilisation de fetch() et XMLHttpRequest() (XHR).

Ce code simule efficacement ce qu'une requête HTML avec attributionsrc ferait :

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 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 amène le navigateur à lancer une requête de récupération keep-alive distincte (une pour chaque URL), qui inclut l'en-tête de requête Attribution-Reporting-Eligible.

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

Par exemple, si vous devez enregistrer des déclencheurs sur un élément d'image, vous ne contrôlez peut-être pas la réponse de l'image. Dans ce cas, vous aurez besoin d'une configuration dans laquelle vous envoyez l'en-tête d'enregistrement du déclencheur en réponse à une requête distincte de l'image et que vous pouvez contrôler entièrement. En spécifiant une valeur explicite pour attributionsrc, vous demandez au navigateur d'effectuer cette requête supplémentaire et vous configurez sa destination.

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

Lorsque vous recevez la requête du navigateur, répondez-y en incluant 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.