Exemples d'attributions multiréseaux

La plupart des annonceurs font appel à différents réseaux publicitaires pour diffuser des annonces dans les applis des éditeurs. Lorsque les réseaux publicitaires enregistrent leurs propres sources et déclencheurs d'attribution à l'aide de l'API, ils reçoivent des rapports concernant les événements et les récapitulatifs auto-attribués.

Toutefois, les annonceurs qui souhaitent faire appel à un tiers pour effectuer une attribution multiréseaux (XNA) afin de déterminer une seule annonce gagnante pour une conversion donnée peuvent continuer à le faire grâce aux techniques suivantes :

  • Configurer un serveur interne pour enregistrer les événements déclencheurs et recevoir des rapports provenant de l'API
  • Continuer à utiliser un partenaire de mesure sur mobile existant

Quelle que soit la technique choisie par l'annonceur, l'API Attribution Reporting est compatible avec un certain nombre de fonctionnalités différentes qui permettent à un tiers de personnaliser la logique d'attribution multiréseaux pour le compte d'un annonceur :

  • Grâce à l'API, un tiers peut effectuer l'attribution avec ou sans redirections provenant de réseaux publicitaires.
  • Les priorités, filtres et clés de déduplication peuvent fournir une personnalisation supplémentaire de l'attribution en fonction des dimensions de la source et du déclencheur.
  • Les périodes d'attribution post-installation permettent aux sources ayant conduit à une installation de continuer à gagner en crédit pour les futurs événements de conversion dans l'application.

Le modèle d'attribution que les technologies publicitaires utilisent pour la déduplication multiréseaux et le choix des sources gagnantes peuvent présenter des niveaux de complexité variables en fonction de la manière dont les fonctionnalités de cette API sont exploitées.

Ci-dessous, différents scénarios présentant des exemples d'utilisation de ces fonctionnalités et la manière dont les différentes configurations affectent la source d'attribution qui remporte finalement le crédit pour un événement déclencheur donné.

Procédure

La liste suivante décrit les étapes du processus d'attribution multiréseaux. Par souci de simplicité, les étapes présentées ici supposent que l'annonceur utilise une technologie publicitaire de diffusion pour diffuser des annonces ainsi qu'un MMP pour effectuer la mesure des conversions. Cependant, la conception de l'API est flexible : les fonctionnalités ne diffèrent pas en fonction des types de technologies publicitaires et ne nécessitent pas l'utilisation d'une technologie publicitaire.

  1. Enregistrement de la source : L'utilisateur voit une annonce ou clique dessus, et la technologie publicitaire de diffusion enregistre ces sources à l'aide de l'API. La technologie publicitaire de diffusion peut également rediriger vers d'autres technologies publicitaires qui peuvent aussi enregistrer des sources directement à l'aide de l'API ou activercross-network attribution without redirects (attribution multiréseaux sans redirections).
  2. Enregistrement du déclencheur : L'utilisateur effectue une action associée à la conversion (première ouverture d'une application, achat ou ajout au panier, par exemple), à partir de laquelle un MMP enregistre un déclencheur avec l'API. Le MMP peut également rediriger vers d'autres technologies publicitaires pouvant enregistrer des déclencheurs directement avec l'API. Si un MMP doit activer l'attribution multiréseaux sans redirections, la configuration de l'attribution doit être spécifiée lors de l'enregistrement du déclencheur.
  3. Attribution : Si la configuration de l'attribution est spécifiée lors de l'enregistrement du déclencheur, les sources dérivées sont générées au nom du MMP. Chaque déclencheur tente d'être mis en correspondance avec une source éligible enregistrée directement par le MMP ou une source dérivée éligible générée au nom du MMP à l'aide des sources de la technologie publicitaire de diffusion. Les sources restantes, qui n'ont pas obtenu d'attribution, sont supprimées et ne peuvent plus remporter d'attribution pour les futures conversions. Dans d'autres sections de la documentation, on parle également de "Lose once, lose always" ("Perdre une fois, perdre toujours").
    1. Lorsqu'une source dérivée perd l'attribution, l'API ne génère pas de sources dérivées futures basées sur la source d'origine lorsque des événements de conversion futurs sont enregistrés par le MMP. La technologie publicitaire de diffusion et d'autres MMP peuvent toujours utiliser la source d'origine pour une future attribution. Ce processus est décrit en détail dans le Scénario 6.
  4. Génération de rapports : L'attribution conduit à la génération d'événements ou de rapports agrégables globaux. Notez que, pour les sources dérivées, seuls les rapports agrégables sont générés.
  5. Diffusion des rapports : La diffusion des rapports générés est programmée.

Scénario 1 : Attribution multiréseau avec redirections

Un annonceur travaille avec deux technologies publicitaires de diffusion et un MMP. Lorsque l'utilisateur clique sur les annonces diffusées par les technologies publicitaires de diffusion, celles-ci redirigent vers le MMP lors de l'enregistrement de la source. Lorsqu'un utilisateur effectue une conversion dans l'appli, le MMP redirige vers les technologies publicitaires lors de l'enregistrement du déclencheur.

Le MMP recevra un rapport multiréseaux dédupliqué, et chaque technologie publicitaire de diffusion recevra des rapports auto-attribués.

Chronologie des enregistrements

À l'étape t0, l'utilisateur clique sur une annonce diffusée par la technologie publicitaire ad-tech1, qui enregistre une source (Source1) ainsi que sa source de redirection (Source2) par mmp-ad-tech :

  "Attribution-Reporting-Register-Source": {
    "source_event_id": "34532",
    "web_destination": "https://destination.example.com",
    "priority": "10",
    "expiry": "172800",
    "aggregation_keys": {
      "campaignCounts": "0x1"
    }
  },
  "Attribution-Reporting-Redirect": [
    "https://www.mmp-ad-tech.com/source2"
  ]
// Registered by mmp-ad-tech via redirects
  "Attribution-Reporting-Register-Source": {
    "source_event_id": "788324",
    "web_destination": "https://destination.example.com",
    "priority": "30",
    "expiry": "172800",
    "aggregation_keys": {
      "campaignCounts": "0x2",
      "geoValue": "0x102"
    }
  }

À l'étape t1, l'utilisateur clique sur une annonce diffusée par la technologie publicitaire ad-tech2 pour enregistrer Source3 et sa redirection vers mmp-ad-tech, par exemple Source4 :

  "Attribution-Reporting-Register-Source": {
    "source_event_id": "6574435",
    "web_destination": "https://destination.example.com",
    "priority": "10",
    "expiry": "172800",
    "aggregation_keys": {
      "campaignCounts": "0x3"
    }

  },
  "Attribution-Reporting-Redirect": [
    "https://www.mmp-ad-tech.com/source"
  ]
// Registered by mmp-ad-tech via redirects
  "Attribution-Reporting-Register-Source": {
    "source_event_id": "4532343",
    "web_destination": "https://destination.example.com",
    "priority": "20",
    "expiry": "172800",
    "aggregation_keys": {
      "campaignCounts": "0x4"
    }
  }

À l'étape t2, l'action ou la conversion de l'utilisateur dans l'appli de l'annonceur entraîne l'enregistrement du déclencheur par mmp-ad-tech (Trigger1) qui effectue également une redirection vers ad-tech1 (Trigger2) et vers ad-tech2 (Trigger3) :

non défini

Résultat

Les sources Source2 et Source4 enregistrées par mmp-ad-tech entrent en concurrence dans l'attribution du déclencheur enregistré dans mmp-ad-tech (Trigger1). Source2 l'emporte sur Source4 en raison de sa priorité plus élevée. Trigger2 est attribué à Source1 par ad-tech1, et Trigger3 est attribué à Source3 par ad-tech2.

Sources participantes pour

Champs

Source1

Source2

Source3

Source4

Technologie publicitaire d'enregistrement de source

ad-tech1

mmp-ad-tech

ad-tech2

mmp-ad-tech

source_event_id

34532

788324

6574435

4532343

destination

https://destination.example.com

https://destination.example.com

https://destination.example.com

https://destination.example.com

priorité

10

30

10

20

Déclencheurs enregistrés
Résultat de l'attribution

Trigger1 est attribué à Source2, Trigger2 est attribué à "Source1" et Trigger3 est attribué à Source3.

Sources ignorées après l'attribution

Source4 : ne participera pas à l'attribution à l'avenir.

Rapports sur les événements

URL du rapport : https://www.mmp-ad-tech.com/.well-known/attribution-reporting/report-event-attribution

  {
    "attribution_destination": "https://destination.example.com",
    "scheduled_report_time": "800176400",
    "source_event_id": "788324",
    "trigger_data": "1",
    "source_type": "navigation",
    "randomized_trigger_rate": 0.0024263
  }

URL du rapport : https://www.ad-tech1.com/.well-known/attribution-reporting/report-event-attribution

  {
    "attribution_destination": "https://destination.example.com",
    "scheduled_report_time": "800176400",
    "source_event_id": "34532",
    "trigger_data": "2",
    "source_type": "navigation",
    "randomized_trigger_rate": 0.0024263
  }

URL du rapport : https://www.ad-tech2.com/.well-known/attribution-reporting/report-event-attribution

  {
    "attribution_destination": "https://destination.example.com",
    "scheduled_report_time": "800176400",
    "source_event_id": "6574435",
    "trigger_data": "3",
    "source_type": "navigation",
    "randomized_trigger_rate": 0.0024263
  }

Rapports agrégables

URL du rapport : https://www.mmp-ad-tech.com/.well-known/attribution-reporting/report-aggregate-attribution

  {
    "attribution_destination": "https://destination.example.com",
    "histograms": [
      {
        "key": "0x104",
        "value": 11
      }
    ]
  }

URL du rapport : https://www.ad-tech1.com/.well-known/attribution-reporting/report-aggregate-attribution

  {
    "attribution_destination": "https://destination.example.com",
    "histograms": [
      {
        "key": "0x201",
        "value": 21
      }
    ]
  }

URL du rapport : https://www.ad-tech2.com/.well-known/attribution-reporting/report-aggregate-attribution

  {
    "attribution_destination": "https://destination.example.com",
    "histograms": [
      {
        "key": "0x303",
        "value": 31
      }
    ]
  }

Scénario 2 : Attribution multiréseau sans redirections

Un annonceur travaille avec deux technologies publicitaires de diffusion et un MMP. Un utilisateur clique sur une annonce de la première technologie publicitaire de diffusion, qui le redirige vers le MMP lors de l'enregistrement de la source. Lorsque l'utilisateur clique sur une annonce provenant de la deuxième technologie publicitaire, celle-ci n'effectue pas de redirection. Elle choisit plutôt de partager à l'avance un sous-ensemble de ses clés d'agrégation avec le MMP.

L'utilisateur effectue ensuite une conversion dans l'appli où le MMP enregistre le déclencheur, mais ne redirige vers aucune des technologies publicitaires. La technologie publicitaire sans redirection remporte l'attribution au dernier contact. Seul le MMP recevra un rapport multiréseaux dédupliqué incluant cette conversion.

Chronologie des enregistrements

À l'étape t0, l'utilisateur clique sur une annonce, ce qui entraîne l'enregistrement de Source1 par ad-tech1 et l'enregistrement de Source2 par mmp-ad-tech via une redirection provenant de ad-tech1 :

  "Attribution-Reporting-Register-Source": {
    "source_event_id": "234543",
    "web_destination": "https://destination.example.com",
    "priority": "20",
    "expiry": "172801",
    "aggregation_keys": {
      "campaignCounts": "0x159"
    }
  },
  "Attribution-Reporting-Redirect": [
    "http://www.mmp-ad-tech.com"
  ]
 // Registered by mmp-ad-tech via redirect
 "Attribution-Reporting-Register-Source": {
    "source_event_id": "45453",
    "web_destination": "https://destination.example.com",
    "priority": "100",
    "expiry": "172801",
    "aggregation_keys": {
      "campaignCounts": "0x159",
      "geoValue": "0x5",
    }
  }

À l'étape t1, l'utilisateur clique sur une autre annonce, ce qui entraîne l'enregistrement de Source3 par ad-tech2, qui partage les clés d'agrégation :

 // Registered by ad-tech2
  "Attribution-Reporting-Register-Source": {
    "source_event_id": "978",
    "web_destination": "https://destination.example.com",
    "priority": "20",
    "expiry": "172801",
    "aggregation_keys": {
      "campaignCounts": "0x159",
      "geoValue": "0x5"
    },
    "shared_aggregation_keys": [
      "campaignCounts"
    ]
  }

À l'étape t2, l'action ou la conversion de l'utilisateur entraîne l'enregistrement du déclencheur par mmp-ad-tech, qui contient la configuration d'attribution pour ad-tech 2 :

  "Attribution-Reporting-Register-Trigger": {
    "event_trigger_data": [
      {
        "trigger_data": "2",
        "priority": "101"
      }
    ],
    "aggregatable_trigger_data": [
      {
        "key_piece": "0x400",
        "source_keys": [
          "campaignCounts"
        ],
        "x_network_data": {
          "key_offset": 10
        }
      }
    ],
    "aggregatable_values": {
      "campaignCounts": 32768
    },
    "attribution_config": [
      {
        "source_network": "enrollment-id-ad-tech-2",
        "source_priority_range": {
          "start": 1,
          "end": 1000
        },
        "priority": "200",
        "expiry": "172800"
      }
    ],
    "x_network_key_mapping": {
      "enrollment-id-ad-tech-2": "0x4"
    }
  }

Résultat

Source2 associe l'inscription et la destination au déclencheur, de sorte à participer à l'attribution. En outre, lors de l'enregistrement du déclencheur, une configuration d'attribution a été spécifiée pour ad-tech2 et Source3 via des clés d'agrégation de partage d'ad-tech2. Cela permet de générer une source dérivée, Source3', qui participera à l'attribution.

Sources participantes

Champs

Source2

Source3'

Technologie publicitaire d'enregistrement de la source d'origine

mmp-ad-tech

ad-tech2

source_event_id

45453

978

priorité

100

200

Déclencheurs enregistrés

Trigger1 par mmp-ad-tech.

Résultat de l'attribution

Trigger1 est attribué à Source3', car Source3' du fait de sa priorité plus élevée que Source2.

Sources ignorées après l'attribution

Source2

Rapports sur les événements

Aucun : les rapports sur les événements ne sont pas générés pour les sources dérivées.

Rapports agrégables

La source parente de Source3', c'est-à-dire Source3, ne partage que campaignCounts. L'élément de clé du déclencheur est calculé par :

(key_piece value) | ((x_network_key_mapping entry) << offset)
0x400 | (0x4 << 10) = 0x1400

Enfin, la clé obtenue est générée par une clé de déclencheur (0x1400) avec la clé source (0x159), c'est-à-dire 0x1559.

URL du rapport : http://www.mmp-ad-tech.com/.well-known/attribution-reporting/report-aggregate-attribution

{
  "attribution_destination": "https://destination.example.com",
  "histograms": [
    {
     "key": "0x1559",
      "value": 32768
    }
  ]
}

Scénario 3 : Source enregistrée MMP et candidat parent de la source dérivée dans la même chaîne d'enregistrement

Un annonceur travaille avec deux technologies publicitaires de diffusion et un MMP. Un utilisateur clique sur une annonce de la première technologie publicitaire de diffusion qui ne redirige pas l'utilisateur lors de l'enregistrement de la source, mais partage des clés d'agrégation avec le MMP. L'utilisateur clique sur une annonce de la deuxième technologie publicitaire de diffusion, qui le redirige à la fois vers le MMP lors de l'enregistrement de la source et partage les clés d'agrégation avec ce même MMP.

Chronologie des enregistrements

À l'étape t0, l'utilisateur clique sur une annonce diffusée par ad-tech1, qui lance l'enregistrement de Source1 :

 "Attribution-Reporting-Register-Source": {
    "source_event_id": "52343",
    "web_destination": "https://destination.example.com",
    "priority": "20",
    "expiry": "172800",
    "aggregation_keys": {
     "campaignCounts": "0x159",
     "geoValue": "0x5"
   },
   "shared_aggregation_keys": [
     "campaignCounts",
     "geoValue"
   ]
 }

À l'étape t1 (chaîne d'enregistrement 2), ad-tech2 enregistre Source2 et effectue une redirection pour enregistrer une source MMP, Source3 :

    "source_event_id": "234456",
    "web_destination": "https://destination.example.com",
    "priority": "20",
    "expiry": "172801",
    "aggregation_keys": {
      "campaignCounts": "0x159"
    },
    "shared_aggregation_keys": [
      "campaignCounts"
    ]
  },
  "Attribution-Reporting-Redirect": [
    "http://www.mmp-ad-tech.com"
  ]
  "Attribution-Reporting-Register-Source": {
    "source_event_id": "4234",
    "web_destination": "https://destination.example.com",
    "priority": "100",
    "expiry": "172800",
    "aggregation_keys": {
      "campaignCounts": "0x159"
    }
  }

À l'étape t2, l'attribution du déclencheur est configurée pour générer des sources dérivées d'ad-tech1 et ad-tech2 :

  "Attribution-Reporting-Register-Trigger": {
    "event_trigger_data": [
      {
        "trigger_data": "2",
        "priority": "101"
      }
    ],
    "aggregatable_trigger_data": [
      {
        "key_piece": "0x400",
        "source_keys": [
          "campaignCounts"
        ],
        "x_network_data" : {
          "key_offset" : 10
        }
      }
    ],
    "aggregatable_values": {
      "campaignCounts": 32768,
      "geoValue": 1664
    },
    "attribution_config": [
      {
        "source_network": "enrollment-id-ad-tech-1",
        "source_priority_range": {
          "start": 1,
          "end": 1000
        },
        "priority": "20",
        "expiry": "172800"
      },
      {
        "source_network": "enrollment-id-ad-tech-2",
        "source_priority_range": {
          "start": 1,
          "end": 1000
        },
        "priority": "20",
        "expiry": "172800"
      }
    ],
    "x_network_key_mapping" : {
      "enrollment-id-ad-tech-1" : "0x2",
      "enrollment-id-ad-tech-2" : "0x4"
    }
  }

En conséquence, la source enregistrée par le MMP dans la deuxième chaîne d'enregistrement remporte l'attribution. Le rapport agrégable obtenu se présente comme suit :

Résultat

La source dérivée de Source2 (avec "source_event_id": "234456") ne participe pas à l'attribution, car la même chaîne d'enregistrement possède également une source enregistrée pour mmp-ad-tech.

Sources participantes

Champs

Source1'

Source3

Technologie publicitaire d'enregistrement de la source d'origine

ad-tech1

mmp-ad-tech

source_event_id

52343

4234

priorité

20

100

Déclencheurs enregistrés

Trigger1 par mmp-ad-tech.

Résultat de l'attribution

Trigger1 est attribué à Source3', car Source3 du fait de sa priorité plus élevée que Source1'.

Sources ignorées après l'attribution

Source1' : Source1 ne sera plus prise en compte pour la création d'une source dérivée de mmp-ad-tech.

Rapports sur les événements

URL du rapport : https://www.ad-tech1.com/.well-known/attribution-reporting/report-event-attribution

  {
    "attribution_destination": "https://destination.example.com",
    "scheduled_report_time": "800176400",
    "source_event_id": "4234",
    "trigger_data": "2",
    "source_type": "navigation",
    "randomized_trigger_rate": 0.0024263
  }
Rapports agrégables

URL du rapport : http://www.mmp-ad-tech.com/.well-known/attribution-reporting/report-aggregate-attribution

{
  "report_url": "http://www.mmp-example.com",
  "payload": {
    "attribution_destination": "https://destination.example.com",
    "histograms": [
      {
        "key": "0x559"
        "value": 32768
      }
    ]
  }
}

Scénario 4 : Attribution multiréseau sans redirections avec critères lors de la sélection de la source

Un annonceur travaille avec quatre technologies publicitaires de diffusion et un MMP. Un utilisateur clique sur une annonce provenant d'une technologie publicitaire de diffusion et voit les annonces provenant des trois autres. Lorsqu'un utilisateur effectue une conversion dans l'appli de l'annonceur, le MMP enregistre un déclencheur et spécifie les sources enregistrées de la technologie publicitaire de diffusion à partir desquelles créer des sources dérivées, en fonction des filtres suivants :

  1. priority_range : permet de choisir les sources ayant la priorité dans la plage donnée
  2. expiration : permet de sélectionner les sources qui expirent après la durée indiquée
  3. source_filters : permet de sélectionner les sources dont les filter_data correspondent aux source_filters spécifiés
  4. source_not_filters : permet de sélectionner les sources dont les not_filters correspondent aux source_not_filters spécifiés

Une fois les sources dérivées générées en fonction des critères, elles peuvent participer à l'attribution.

Chronologie des enregistrements

À l'étape t0, un utilisateur clique, ce qui oblige ad-tech1 à enregistrer une source (Source1), qui associe source_type en tant que navigation à cette source enregistrée :

  "Attribution-Reporting-Register-Source": {
    "source_event_id": "87456",
    "web_destination": "https://destination.example.com",
    "priority": "20",
    "expiry": "172801",
    "filter_data": {
      "filter1": [
        "does_not_matter"
      ],
      "filter2": [
        "non-match"
      ]
    },
    "aggregation_keys": {
      "campaignCounts": "0x119",
      "geoValue": "0x5"
    },
    "shared_aggregation_keys": [
      "campaignCounts",
      "geoValue"
    ]
  }

À l'étape t1, un utilisateur voit l'annonce, ce qui oblige ad-tech2 à enregistrer une source (Source2), qui associe source_type en tant qu'événement à cette source enregistrée :

  "Attribution-Reporting-Register-Source": {
    "source_event_id": "9078",
    "web_destination": "https://destination.example.com",
    "priority": "2000",
    "expiry": "172801",
    "filter_data": {
      "filter1": [
        "does_not_matter"
      ],
      "filter2": [
        "match"
      ]
    },
    "aggregation_keys": {
      "campaignCounts": "0x129",
      "geoValue": "0x5"
    },
    "shared_aggregation_keys": [
      "campaignCounts",
      "geoValue"
    ]
  }

À l'étape t2, un utilisateur visionne l'annonce, ce qui amène ad-tech3 à enregistrer une source (Source3), qui associe source_type en tant qu'événement à cette source enregistrée :

  "Attribution-Reporting-Register-Source": {
    "source_event_id": "2413",
    "web_destination": "https://destination.example.com",
    "priority": "20",
    "filter_data": {
      "filter1": [
        "non-match"
      ],
      "filter2": [
        "non-match"
      ]
    },
    "aggregation_keys": {
      "campaignCounts": "0x159",
      "geoValue": "0x5"
    },
    "shared_aggregation_keys": [
      "campaignCounts",
      "geoValue"
    ]
  }

À l'étape t3, un utilisateur visionne l'annonce, ce qui amène ad-tech4 à enregistrer une source (Source4), qui associe source_type en tant qu'événement à cette source enregistrée :

  "Attribution-Reporting-Register-Source": {
    "source_event_id": "7567",
    "web_destination": "https://destination.example.com",
    "priority": "20",
    "filter_data": {
      "filter1": [
        "match"
      ],
      "filter2": [
        "match"
      ]
    },
    "aggregation_keys": {
      "campaignCounts": "0x169",
      "geoValue": "0x5"
    },
    "shared_aggregation_keys": [
      "campaignCounts",
      "geoValue"
    ]
  }

À l'étape t4, la conversion d'un utilisateur conduit à l'enregistrement d'un déclencheur par mmp-ad-tech avec une configuration d'attribution pour toutes les sources enregistrées pour les autres technologies publicitaires mentionnées ci-dessus :

  "Attribution-Reporting-Register-Trigger": {
    "event_trigger_data": [
      {
        "trigger_data": "2",
        "priority": "100"
      }
    ],
    "aggregatable_trigger_data": [
      {
        "key_piece": "0x400",
        "source_keys": [
          "campaignCounts"
        ]
      }
    ],
    "aggregatable_values": {
      "campaignCounts": 32768,
      "geoValue": 1664
    },
    "attribution_config": [
      {
        "source_network": "enrollment-id-ad-tech-1",
        "source_priority_range": {
          "start": 1,
          "end": 100
        },
        "source_filters": {
          "source_type": [
            "event"
          ]
        },
        "priority": "100",
        "expiry": "172801"
      },
      {
        "source_network": "enrollment-id-ad-tech-2",
        "source_priority_range": {
          "start": 1,
          "end": 1000
        },
        "source_filters": {
          "source_type": [
            "navigation"
          ]
        },
        "priority": "100",
        "expiry": "172801"
      },
      {
        "source_network": "enrollment-id-ad-tech-3",
        "source_priority_range": {
          "start": 1,
          "end": 1000
        },
        "source_filters": {
          "source_type": [
            "navigation"
          ],
          "filter1": [
            "match"
          ],
          "filter2": [
            "match"
          ]
        },
        "priority": "50",
        "expiry": "172801"
      },
      {
        "source_network": "enrollment-id-ad-tech-4",
        "source_priority_range": {
          "start": 1,
          "end": 1000
        },
        "source_filters": {
          "source_type": [
            "navigation"
          ],
          "filter1": [
            "match"
          ],
          "filter2": [
            "match"
          ]
        },
        "priority": "30",
        "expiry": "172801"
      }
    ],
    "x_network_key_mapping": {
      "enrollment-id-ad-tech-1": "0x1",
      "enrollment-id-ad-tech-2": "0x2",
      "enrollment-id-ad-tech-3": "0x3",
      "enrollment-id-ad-tech-4": "0x4"
    }
  }

Résultat

Les sources suivantes ne sont pas considérées comme éligibles pour la génération de sources dérivées, car elles ne correspondent pas aux critères :

  1. Source1 ne répond pas aux critères du filtre "source_type":"event" sur la configuration d'attribution d'ad-tech1
  2. La priorité de Source2 est définie sur 2 000, ce qui est en dehors de la plage prévue par le filtre des priorités d'ad-tech2 (1 100)
  3. Source3 ne correspond pas à la valeur de "filter2"
Sources participantes

Champs

Source4'

Technologie publicitaire d'enregistrement de la source d'origine

ad-tech4

source_event_id

7567

destination

https://destination.example.com

priorité

30

expiration

Délai d'enregistrement de plus de deux jours

Déclencheurs enregistrés

Trigger1 par mmp-ad-tech.

Résultat de l'attribution

Trigger1 est attribué à Source4', car il s'agit de la seule source éligible pour l'attribution.

Sources ignorées après l'attribution

Aucune

Rapports sur les événements

Aucun : les rapports sur les événements ne sont pas générés pour une source dérivée ayant remporté l'attribution

Rapports agrégables

URL du rapport : http://www.mmp-ad-tech.com

{
  "attribution_destination": "https://example.com",
  "histograms": [
    {
      "key": "0x56d",
      "value": 32768
    },
    {
      "key": "0x5",
      "value": 1664
    }
  ]
}

Scénario 5 : Attribution post-installation

Un annonceur travaille avec deux technologies publicitaires de diffusion et un MMP. Un utilisateur clique sur une annonce de la première technologie publicitaire et installe l'appli de l'annonceur. Lors de l'attribution pour les conversions post-installation, la source dérivée avec attribution des installations l'emporte sur les autres sources, même si d'autres ont des priorités plus élevées.

Chronologie des enregistrements

À l'étape t0, l'interaction de l'utilisateur amène ad-tech1 à enregistrer Source1 :

  "Attribution-Reporting-Register-Source": {
    "source_event_id": "3645",
    "destination": "android-app://com.example.app",
    "priority": "20",
    "expiry": "172801",
    "install_attribution_window": "86400",
    "post_install_exclusivity_window": "864000",
    "aggregation_keys": {
      "campaignCounts": "0x119",
      "geoValue": "0x5"
    },
    "shared_aggregation_keys": [
      "campaignCounts",
      "geoValue"
    ]
  }

À l'étape t1, l'utilisateur installe l'appli com.example.app sur son appareil.

À l'étape t2, l'interaction de l'utilisateur amène ad-tech2 à enregistrer Source2 :

  "Attribution-Reporting-Register-Source": {
    "source_event_id": "345789",
    "destination": "android-app://com.example.app",
    "priority": "100",
    "aggregation_keys": {
      "campaignCounts": "0x159",
      "geoValue": "0x5"
    },
    "shared_aggregation_keys": [
      "campaignCounts",
      "geoValue"
    ]
  }

À l'étape t3, un déclencheur est enregistré par mmp-ad-tech avec des configurations d'attribution pour ad-tech1 et ad-tech2 :

  "Attribution-Reporting-Register-Trigger": {
    "event_trigger_data": [
      {
        "trigger_data": "2",
        "priority": "100"
      }
    ],
    "aggregatable_trigger_data": [
      {
        "key_piece": "0x400",
        "source_keys": [
          "campaignCounts"
        ]
      }
    ],
    "aggregatable_values": {
      "campaignCounts": 32768,
      "geoValue": 1664
    },
    "attribution_config": [
      {
        "source_network": "enrollment-id-ad-tech-1",
        "priority": "10",
        "expiry": "172801",
        "post_install_exclusivity_window": "172800"
      },
      {
        "source_network": "enrollment-id-ad-tech-2",
        "priority": "20",
        "expiry": "172801"
      }
    ],
    "x_network_key_mapping": {
      "enrollment-id-ad-tech-1": "0x1",
      "enrollment-id-ad-tech-2": "0x3"
    }
  }

Résultat

Sources dérivées générées à partir de Source1 et Source2, c'est-à-dire de Source1' et Source2' respectivement, qui participent à l'attribution.

Sources participantes

Champs

Source1'

Source2'

Technologie publicitaire d'enregistrement de la source d'origine

ad-tech1

ad-tech2

source_event_id

3645

345789

destination

android-app://com.example.app

android-app://com.example.app

priorité

10

20

Ayant conduit à l'installation de l'appli

oui

non

Déclencheurs enregistrés

Trigger1 par mmp-ad-tech.

Résultat de l'attribution

Trigger1 a conduit à l'installation de l'appli de destination et est donc attribué à Source1'. À noter que Source2' avait une priorité plus élevée.

Sources ignorées après l'attribution

Source2' : les sources dérivées de Source2 ne sont pas prises en compte dans l'attribution des déclencheurs enregistrés par mmp-ad-tech.

Rapports sur les événements

Aucun : les rapports sur les événements ne sont pas générés pour une source dérivée ayant remporté l'attribution

Rapports agrégables

URL du rapport : http://www.mmp-ad-tech.com/.well-known/attribution-reporting/report-aggregate-attribution

{
  "attribution_destination": "android-app://com.example.app",
  "histograms": [
    {
      "key": "0x519",
      "value": 32768
    },
    {
      "key": "0x5",
      "value": 1664
    }
  ]
}

Scénario 6 : Lose once, lose always

Si ad-tech1 contient une source dont la source dérivée a participé à l'attribution du déclencheur de mmp-ad-tech et a perdu l'attribution, la source d'ad-tech1 ne sera pas utilisée pour la création d'une source dérivée pour les déclencheurs de mmp-ad-tech par la suite. Voici un exemple de chronologie :

  • À l'étape t0, la source (Source1) d'ad-tech1 est enregistrée avec "priority": "10".
  • À l'étape t1, la source Source2 d'ad-tech2 est enregistrée avec "priority": "20".
  • À l'étape t2, le déclencheur Trigger1 de mmp-ad-tech est enregistré avec des configurations d'attribution d'ad-tech1 et ad-tech2.
  • À l'étape t3, l'attribution pour Trigger1 a lieu lorsque la source dérivée d'ad-tech2 remporte l'attribution, tandis que la source d'ad-tech1 est ignorée.
  • À l'étape t4, la source Source3 d'ad-tech3 est enregistrée avec "priority": "5".
  • À la l'étape t5, le déclencheur Trigger2 de mmp-ad-tech est enregistré avec les configurations d'ad-tech1 et ad-tech3.
  • À l'étape t6, l'attribution pour Trigger2 a lieu, où la source dérivée de Source3 (Source3') remporte l'attribution.

Explication du résultat

La source dérivée de la source d'ad-tech1 avait perdu l'attribution pour Trigger1. Source1 n'a donc pas été utilisée pour créer une source dérivée pour l'attribution de Trigger2. Si elle n'avait pas perdu à l'étape t3, elle aurait dépassé la source d'ad-tech3, sa priorité étant plus élevée.