Intégration DDM pour le suivi des applications tierces

Le flux de bout en bout suivant décrit la configuration de l'annonceur et l'implémentation tierce requises pour diffuser une campagne sur les produits buy-side DoubleClick à l'aide d'une solution de suivi des applications tierce.

Pour en savoir plus sur DoubleClick Digital Marketing en général et obtenir une présentation des fonctionnalités d'attribution dans les applications, consultez la page d'informations générales sur DoubleClick Digital Marketing.

  1. L'annonceur configure un événement de conversion dans DDM pour représenter l'installation ou la conversion (Bid Manager uniquement : pixel de conversion) (Campaign Manager : activité Floodlight).

  2. L'annonceur "associe" l'événement de conversion DDM dans l'interface tierce et fournit les variables clés qui identifient un annonceur et un groupe d'activités de conversion.

    • src est la référence annonceur à l'origine de l'activité Floodlight.
    • cat est la chaîne de balise d'activité que les serveurs Floodlight utilisent pour identifier le groupe d'activité auquel appartient l'activité.
    • type est la chaîne de balise de groupe qui identifie le groupe d'activités auquel l'activité Floodlight est associée.
    • u1, u2, ... (si disponibles) sont les clés-valeurs de la variable Floodlight personnalisée.
  3. L'annonceur ajoute des variables pour indiquer la collecte du consentement pour la conformité à la loi sur les marchés numériques.

    • eea est utilisé pour identifier les utilisateurs de l'EEE.
      • eea=0 indique que l'utilisateur ne provient pas de l'EEE.
      • eea=1 indique que l'utilisateur est dans l'EEE.
    • ad_user_data est le signal de consentement pour l'utilisation des données utilisateur à des fins publicitaires.
      • Ne doit être défini que si eea=1
      • ad_user_data=0 indique que l'utilisateur a refusé de transmettre à Google des données au niveau utilisateur à des fins publicitaires.
      • ad_user_data=1 indique que l'utilisateur a autorisé la transmission à Google de données au niveau utilisateur à des fins publicitaires.
    • npa est utilisé pour le contenu de personnalisation des annonces.
      • npa=0 indique que l'utilisateur accepte la personnalisation.
      • npa=1 indique que l'utilisateur n'a pas consenti à la personnalisation.
    • test_request_reason=dma peut être utilisé pour tester les paramètres de la LMN.
      • Valide tous les paramètres de la DMA et renvoie des avertissements.
      • Renvoie une réponse multiple avec de faux clics.
      • Enregistre les conversions en tant que conversions de test.
  4. De plus, l'annonceur doit fournir aux tiers son jeton d'autorisation spécifique :

    token est une chaîne alphanumérique spécifique à l'annonceur qui doit être transmise avec chaque demande de serveur à DDM.

  5. Un annonceur diffuse une campagne publicitaire dans une application avec des tags d'annonce diffusés par DBM sur des plates-formes d'enchères en temps réel ou par DCM sur des médias achetés directement.

  6. L'utilisateur final voit les annonces et clique dessus. Ces actions sont enregistrées par DDM.

  7. Lorsqu'un utilisateur final installe l'application ou effectue un événement de conversion, tel que "gameplay", les serveurs tiers "ping" DDM à chaque activité de l'application :

    Exemple d'URL pour un utilisateur ne résidant pas dans l'EEE

    https://ad.doubleclick.net/ddm/s2s/appactivity/src=1234567;cat=fghij456;type=abcde123;u1=[friendlyname1];ord=1312312312;eea=0;npa=0
    

    Exemple d'URL pour un utilisateur situé dans l'EEE

    https://ad.doubleclick.net/ddm/s2s/appactivity/src=1234567;cat=fghij456;type=abcde123;u1=[friendlyname1];ord=1312312312;eea=1;ad_user_data=1;npa=0
    

    où :

    • src est la référence annonceur à l'origine de l'activité Floodlight.
    • cat est la chaîne de balise d'activité que les serveurs Floodlight utilisent pour identifier le groupe d'activité auquel appartient l'activité.
    • type est la chaîne de balise de groupe qui identifie le groupe d'activités auquel l'activité Floodlight est associée.
    • ord est un nombre aléatoire utilisé pour rendre la balise Floodlight unique.
    • u1, u2, ... (si disponibles) sont les clés-valeurs de la variable Floodlight personnalisée.
    • eea indique si l'utilisateur se trouve dans l'EEE.
    • ad_user_data indique si l'utilisateur accepte les cookies et la mesure.
    • npa indique si l'utilisateur accepte la personnalisation.

    avec des paramètres supplémentaires envoyés via une charge utile JSON dans une requête HTTP POST :

    {
      "app": {
        "bundle": "com.rovio.angrybirds"
      },
      "device": {
        "ua": "Mozilla/5.0 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25",
        "ip": "108.176.57.230",
        "didmd5": "A2D2DA47AC2DE1BCA16883BD5CAA6F2F",
        "lmt": 1
      }
    }
    

    et le jeton d'autorisation de l'annonceur est transmis dans l'en-tête d'autorisation HTTP :

    Authorization: Token token="[advertiser authorization token string]"
    

    où :

    • app (obligatoire) est l'objet JSON représentant l'application dans laquelle l'activité de conversion a eu lieu. Utilisez app: {} si l'application dans laquelle l'activité de conversion a eu lieu n'est pas disponible.
    • bundle (le cas échéant) est le champ d'objet d'application contenant une valeur de chaîne du nom du bundle Play Store ou de l'ID App Store.
    • device est l'objet JSON représentant l'appareil sur lequel l'activité de conversion a eu lieu.
    • ua est le champ d'objet de l'appareil qui représente la chaîne user-agent de l'application dans laquelle une activité a été enregistrée. Ce paramètre est obligatoire.
    • ip (le cas échéant) correspond à l'adresse IPv4 attribuée à l'appareil. Ce paramètre est obligatoire.
    • didmd5 correspond à la chaîne de hachage MD5 de la valeur IDFA ou de l'ID de publicité Google Play en majuscules.
    • lmt est un entier. Sa valeur est 1 si l'utilisateur a activé l'option "Limiter le suivi des annonces" avec IDFA ou AdID, ou 0 si elle n'est pas définie.

    DDM répondra avec une réponse JSON indiquant si l'événement de conversion est attribué à une vue ou à un clic diffusé par DCM. Si la réponse est "OUI", des informations supplémentaires sur l'événement (dernière vue ou dernier clic) seront fournies :

    • ID de l'annonce
    • ID du site
    • ID d'emplacement
    • ID de la création
    • Horodatage

    Voici un exemple de réponse JSON :

    {
      "attributed": 1,  // Whether the conversion can be attributed to a DCM event.
      "last_impression_ad_id":283641088,
      "last_impression_site_id":1408067,
      "last_impression_placement_id":107616368,
      "last_impression_creative_id":60162352,
      "last_impression_timestamp":1415647607,
      "last_click_ad_id":283641088,
      "last_click_site_id":1408067,
      "last_click_placement_id":107616368,
      "last_click_creative_id":60162352,
      "last_click_timestamp":1415647657,
      "last_click_exclid":"CKm0nLKhyssCFceH2wod8l4I4A",
      "cps": <cps>,
      "ad_events": [
        <ad event objects>
      ],
      "warnings": [<warning strings>],
      "errors": [<error strings>],
    }
    

    où :

    • attributed correspond à la valeur 1 (si la conversion peut être attribuée à une impression ou à un clic) ou à la valeur 0 (si elle ne peut pas l'être).
    • last_impression_ad_id (si "attribué" = 1) correspond à l'ID de l'annonce pour la dernière impression.
    • last_impression_site_id (si "attribué" = 1) correspond à l'ID du site pour la dernière impression.
    • last_impression_placement_id (si "attributed" = 1) correspond à l'ID de l'emplacement de la dernière impression.
    • last_impression_creative_id (si "attribué" = 1) correspond à l'ID de la création pour la dernière impression.
    • last_click_ad_id (si "attribué" = 1 et qu'un clic a été attribué) correspond à l'ID de l'annonce pour le dernier clic.
    • last_click_site_id (si "attribué" = 1 et qu'un clic a été attribué) correspond à l'ID du site pour le dernier clic.
    • last_click_placement_id (si "attribué" = 1 et qu'un clic a été attribué) correspond à l'ID de l'emplacement pour le dernier clic.
    • last_click_creative_id (si "attribué" = 1 et qu'un clic a été attribué) correspond à l'ID de la création pour le dernier clic.
    • last_click_exclid correspond à un ID de clic unique renseigné à l'aide de la macro %eiid!.

    À partir de l'application du DMA en mars 2024, les champs suivants seront également disponibles :

    • cps indique le service de plate-forme essentiel auquel appartient l'événement.
      • a : Annonces
      • m : Maps
      • p : Play Store
      • s : Recherche
      • h : Shopping
      • y : YouTube
    • ad_events est un tableau d'objets ad_event contenant tous les événements de conversion.
      • L'objet ad_event comporte les champs suivants :
      • product_type est une chaîne qui indique le produit responsable de la conversion. Il s'agit de DCM ou de DBM.
      • interaction_type correspond au type d'interaction qui a déclenché l'événement. impression ou click.
      • conversion_metric est la métrique de conversion utilisée pour l'attribution. conversion ou view_through_conversion.
      • timestamp correspond au code temporel UNIX de l'événement publicitaire, avec une précision en microsecondes. Cette valeur doit être utilisée pour l'attribution au dernier clic.
      • campaign_type identifie le type de campagne qui a généré l'événement publicitaire.
      • line_item_id (DBM uniquement) correspond à l'ID de l'élément de campagne DBM qui a généré l'événement publicitaire.
      • line_item_name (DBM uniquement) correspond au nom de l'élément de campagne DBM qui a généré l'événement publicitaire.
      • placement_id (DCM uniquement) correspond à l'ID de balise d'emplacement DCM qui a généré l'événement publicitaire.
      • placement_name (DCM uniquement) correspond au nom du tag d'emplacement DCM qui a généré l'événement publicitaire.
      • external_customer_id correspond à l'identifiant de l'annonceur propriétaire de la campagne qui a généré l'événement publicitaire.
        • Si product est DBM, ce champ représente l'ID d'annonceur DBM.
        • Si product est défini sur DCM, ce champ représente l'ID de l'annonceur DCM.
      • creative_id correspond à l'ID du bloc d'annonces de création qui a généré l'événement publicitaire.
        • Si product est défini sur "DBM", ce champ représente l'ID de la création DBM.
        • Si product est DCM, ce champ représente l'ID de la création DCM.
      • exchange_id (DBM uniquement) correspond à l'ID de la place de marché qui a diffusé l'annonce DBM.
      • insertion_order_id (DBM uniquement) correspond à l'ID d'ordre d'insertion DBM.
      • site_id (DCM uniquement) correspond à l'ID de site DCM pour l'événement publicitaire.
      • cps indique à quel service de plate-forme principal appartient l'événement publicitaire. Pour en savoir plus, consultez l'explication complète du champ cps plus haut dans la documentation.
    • warnings est un tableau d'avertissements générés par l'événement de conversion.
    • errors est un tableau d'erreurs générées par l'événement de conversion avec des codes d'erreur HTTP, pour les scénarios suivants :

      • HTTP 204 si le quota de requêtes a été dépassé.
      • HTTP 400 lorsque la requête est considérée comme non valide (par exemple, lorsqu'il manque des paramètres obligatoires et que le serveur est revenu au suivi des pixels).
      • HTTP 401 si le jeton d'autorisation n'est pas valide.
      • HTTP 404 pour toute requête incorrecte.

    L'annonceur pourra consulter les rapports sur les campagnes dans votre système, ainsi que les rapports sur les conversions dans DCM avec les mêmes paramètres.

    Autres exemples de réponses après l'entrée en vigueur du DMA en mars 2024

    Voici un exemple de réponse de suivi des conversions attribuées où la conversion est attribuée à la fois aux interactions avec les annonces sur le Réseau de Recherche et sur YouTube, mais où le consentement pour l'utilisation croisée 5(2)(b) + 5(2)(c) est refusé entre les CPS sur le Réseau de Recherche et sur YouTube :

    {
      attributed: 1,
      last_impression_ad_id: 283641088,
      last_impression_site_id: 1408067,
      last_impression_placement_id: 107616368,
      last_impression_creative_id: 60162352,
      last_impression_timestamp: 1415647607,
      last_click_ad_id: 283641088,
      last_click_site_id: 1408067,
      last_click_placement_id: 107616368,
      last_click_creative_id: 60162352,
      last_click_timestamp: 1415647655,
      last_click_exclid: "CKm0nLKhyssCFceH2wod8l4I4A",
      cps: "s",
      ad_events: [{
          cps : "s",
          product_type: "DCM",
          interaction_type: "click",
          ad_event_type: "click",
          campaign_type: "Display",
          placement_id: 107616368,
          placement_name: "TEST PLACEMENT NAME",
          external_customer_id: 7480542,
          creative_id: 60162352,
          timestamp: 1415647655.123456,
          site_id: 1408067,
          }, {
          cps : "s",
          product_type:"DCM",
          interaction_type: "impression",
          ad_event_type: "impression",
          campaign_type: "Display",
          placement_id: 107616368,
          placement_name: "TEST PLACEMENT NAME",
          external_customer_id: 7480542,
          creative_id: 60162352,
          timestamp: 1415647607.123456,
          site_id: 1408067
          },{
          cps : "y",
          product_type: "DCM",
          ad_event_type: "click",
          campaign_type: "Display",
          placement_id: 107616370,
          placement_name: "Placement on Youtube",
          external_customer_id: 7480542,
          creative_id: 6016444,
          timestamp: 14344344.123456,
          site_id: 140806
          },
      ]}
    

    Exemple de réponse positive pour le suivi des conversions d'une campagne DBM :

    {
      attributed: 1,
      last_click_ad_id: 283641088,
      last_click_site_id: 1408067,
      last_click_placement_id: 107616368,
      last_click_creative_id :60162352,
      last_click_timestamp: 1415647655,
      last_click_exclid: "CKm0nLKhyssCFceH2wod8l4I4A"
      cps: "y",
      ad_events: [{
        product_type: "DBM",
        interaction_type: "click",
        ad_event_type: "click",
        campaign_type: "Display",
        line_item_id: 123456789,
        line_item_name: "TEST LINE ITEM NAME",
        external_customer_id: 2550,
        creative_id: 512333,
        exchange_id: 132,
        insertion_order_id: 523423,
        timestamp: 1432681913.123456
        cps: "y"
      },
      {
        product_type: "DCM",
        interaction_type: "click",
        campaign_type: "Display",
        placement_id: 9342323,
        placement_name: "TEST PLACEMENT NAME",
        external_customer_id: 7480542,
        creative_id: 8234234,
        timestamp: 1432681913.123456,
        cps: "y"
      }
    ]}