Les portées d'attribution permettent aux appelants d'API de spécifier une liste de chaînes lors de l'enregistrement de la source et des déclencheurs, qui peut être utilisée pour le filtrage avant l'attribution. Cela permet un filtrage plus précis pour améliorer l'efficacité de l'API et offrir plus de flexibilité. Par exemple, il permet de suivre distinctement différents annonceurs sur le même site. Il facilite également le suivi de plusieurs campagnes ou produits dans une même bannière publicitaire.
Les niveaux d'attribution sont des champs facultatifs qui peuvent être définis lors de l'enregistrement de la source et des déclencheurs. Lors de l'attribution, seules les sources dont les valeurs de portée d'attribution contiennent au moins l'une des valeurs de portée d'attribution du déclencheur seront prises en compte pour l'attribution. Si aucune portée n'est spécifiée dans le déclencheur, toutes les sources seront prises en compte. Avant de continuer, vous devez connaître l'API Attribution Reporting et les filtres de haut niveau.
Lors de l'enregistrement de la source
Un paramètre facultatif attribution_scopes est ajouté à l'en-tête Attribution-Reporting-Register-Source, qui contient deux paramètres obligatoires (values et limit) et un paramètre facultatif (max_event_states).
- limit : représente le nombre total de portées distinctes autorisées par destination pour l'origine de création de rapports source. Toutes les sources enregistrées existantes ayant la même origine et destination de rapport, mais une limite inférieure, seront supprimées.
- values : représente la liste des niveaux d'attribution pour une source spécifique. Ces valeurs doivent être des chaînes de caractères d'une longueur maximale de 50.
- max_event_states (facultatif) : représente le nombre maximal d'états d'événement qu'un appelant d'API prévoit d'utiliser pour tous les enregistrements de sources d'événements ultérieurs. Notez que toutes les sources enregistrées existantes avec la même origine et destination de reporting, mais un
max_event_states valuedifférent, seront supprimées. La valeur par défaut de ce champ facultatif est "3".
Exemple d'enregistrement de la source
Attribution-Reporting-Register-source: {
//optional
"attribution_scopes":{
"limit": <int>,
"values": <list of strings>,
// optional
"max_event_states": <int>
},
...
}
Lors de l'enregistrement du déclencheur
Un paramètre facultatif attribution_scopes est ajouté à l'en-tête Attribution-Reporting-Register-Trigger lors de l'enregistrement du déclencheur. Assurez-vous que la valeur du paramètre est une liste de chaînes représentant les niveaux d'accès du déclencheur. Le déclencheur ne correspondra qu'aux sources dont le paramètre attribution_scopes contient au moins l'une des valeurs attribution_scopes du déclencheur, si spécifié.
Exemple d'enregistrement de déclencheur
Attribution-Reporting-Register-Trigger: {
//optional
"attribution_scopes": <list of strings>,
...
}
Exemple de portée de l'attribution
L'exemple suivant montre le cas où un déclencheur est attribué à une source lors de l'utilisation de portées d'attribution.
Enregistrement de la source 1
Attribution-Reporting-Register-source: {
"destination": "https://trigger.example",
"attribution_scopes": {
"limit": 2,
"values": ["advertiser1"],
"max_event_states": 3
},
...
}
Enregistrement de la source n° 2
Attribution-Reporting-Register-source: {
"destination": "https://trigger.example",
"attribution_scopes": {
"limit": 2,
"values": ["advertiser2"],
"max_event_states": 3
},
...
}
Enregistrement du déclencheur
Attribution-Reporting-Register-Trigger: {
"attribution_scopes": ["advertiser1"],
...
}
Lorsque l'enregistrement du déclencheur a lieu, l'API sélectionne les sources à prendre en compte pour l'attribution dont les valeurs attribution_scopes croisent celles de l'enregistrement du déclencheur. Les enregistrements de sources correspondants continueront avec le reste du flux d'attribution. Dans cet exemple, l'appelant de l'API recevra un rapport d'attribution attribuant l'enregistrement du déclencheur au premier enregistrement de la source.
Portées d'attribution et filtres
Bien que les fonctionnalités des filtres et des niveaux d'attribution puissent sembler similaires, la différence réside dans l'endroit où ils sont appliqués dans le flux d'enregistrement des déclencheurs. Le filtrage des niveaux d'attribution a lieu avant l'attribution. Cela signifie qu'il réduit le pool de sources candidates non expirées ayant le même site de destination et la même origine de rapport, en fonction des sources dont les portées croisent celles trouvées dans le déclencheur. Toutefois, les filtres de premier niveau sont appliqués une fois qu'un déclencheur a été attribué à une source unique. Si les filtres de source et de déclencheur ne se croisent pas, aucun rapport n'est généré.
L'image suivante montre un groupe de sources et un déclencheur qui ont le même site de destination et la même origine de rapport, et qui n'ont pas expiré. Nous allons brièvement aborder l'utilisation des filtres et des champs d'application de l'attribution, et la génération ou non d'un rapport en fonction des sources et des déclencheurs disponibles.
Avant l'attribution
- La source 1 est filtrée, car son champ d'application de l'attribution ne correspond pas à celui du déclencheur (
casualwear). Le fait d'avoir la priorité la plus élevée parmi toutes les sources disponibles ne l'empêche pas d'être filtrée, car le filtrage avant attribution a lieu avant la vérification des priorités. - La source 2 est également filtrée, car elle n'a pas la même portée que le déclencheur. Cette source possède également le même filtre que le déclencheur, mais les filtres de haut niveau ne sont appliqués qu'après l'attribution.
Pendant l'attribution
- La source 3 n'est pas sélectionnée pour l'attribution, car sa priorité est inférieure à celle de la source 4.
- La source n° 4 est sélectionnée, car elle correspond au champ d'application de l'attribution du déclencheur et présente la priorité la plus élevée. Les filtres de haut niveau sont appliqués après l'attribution. Ils ne sont donc pas pris en compte lors du processus d'attribution.
Attribution des posts
- Aucun rapport n'est généré, car les filtres de haut niveau pour la source sélectionnée (source 4) et le déclencheur ne se croisent pas.
L'exemple précédent ne génère pas de rapport. Toutefois, si la quatrième source est complètement supprimée :
Pendant l'attribution
- La source 3 est sélectionnée, car sa portée d'attribution croise celle du déclencheur.
Attribution des posts
- La source 3 n'est pas rejetée, car son filtre croise celui du déclencheur. L'attribution passera ensuite par le reste des vérifications post-attribution et un rapport sera généré si elle réussit toutes les vérifications.
Les champs d'application de l'attribution réduisent le nombre de sources prises en compte pour l'attribution. Les étapes d'attribution restantes sont ensuite appliquées à ce plus petit pool de sources, ce qui peut générer un rapport.
Place des portées d'attribution dans le flux d'attribution
Les niveaux d'attribution sont appliqués avant la sélection d'une source pour l'attribution. Il précède également les filtres de premier niveau et le filtrage de la période du rapport personnalisé. Le schéma suivant présente une version simplifiée du flux d'attribution global, avec le champ d'application de l'attribution avant l'attribution et le reste des vérifications d'attribution.
Opérations de flux d'attribution
Voici un récapitulatif des différentes opérations effectuées lors du flux d'attribution :
- Enregistrement de la source : lorsqu'un utilisateur interagit avec une annonce sur le site de l'annonceur, un événement source est enregistré. L'appareil envoie ensuite une requête au point de terminaison de l'origine du rapport, qui répond avec un en-tête contenant les données de l'événement source.
- Enregistrement du déclencheur : lorsqu'une conversion se produit sur le site de l'annonceur, un événement déclencheur est enregistré. Une autre requête est envoyée par l'appareil à l'origine du rapport, qui répond avec un en-tête contenant les données de l'événement déclencheur.
- Correspondance des sources : l'appareil fait correspondre les événements sources et déclencheurs en fonction de critères tels que le site de destination, l'origine du rapport et l'expiration.
- Vérification des niveaux d'attribution : les sources sont filtrées en fonction de l'intersection entre les valeurs attribution_scopes de la source et du déclencheur.
- Attribution : l'appareil sélectionne la source d'attribution ayant la priorité la plus élevée si plusieurs sources correspondent. Si les priorités sont égales, la plus récente est sélectionnée.
- Vérification des filtres : l'appareil compare les filtres de source et de déclencheur pour déterminer s'ils correspondent. Si les filtres ne correspondent pas, l'attribution est supprimée.
- Désactivation d'autres sources : si les filtres de la source choisie correspondent, l'appareil désactive les sources correspondantes lors de l'étape de mise en correspondance des sources. Les sources désactivées incluront celles dont les portées d'attribution ne correspondent pas aux portées de déclencheur.
- Vérifications post-attribution : l'appareil effectue d'autres vérifications sur l'attribution sélectionnée, par exemple pour savoir si la source est bruyante avec de faux rapports, pour vérifier les attributions en double à l'aide de clés de déduplication, pour savoir si le déclencheur se trouve dans la période de reporting de la source et pour vérifier les limites de débit.
- Génération de rapports : si tous les contrôles sont réussis, l'appareil génère et planifie l'envoi d'un rapport d'attribution au point de terminaison de l'origine du rapport.
Étapes suivantes
- Pour en savoir plus sur les niveaux d'attribution, consultez l'explication sur le filtrage avant attribution sur GitHub.
- Pour en savoir plus sur les filtres, consultez Définir des règles client à l'aide de filtres.