Icône et superposition Choisir sa pub

Toutes les applications qui diffusent des annonces personnalisées hébergées par Google doivent intégrer l'icône et la superposition AdChoices, lorsqu'elles sont fournies par Google. "Choisir sa pub" (également appelé "Pourquoi cette annonce ?") est une fonctionnalité de transparence qui explique aux utilisateurs pourquoi une annonce spécifique leur est présentée et fournit des informations sur la façon dont leur vie privée est protégée.

Pour en savoir plus, consultez Pourquoi une annonce s'affiche-t-elle ?.

Ce guide explique comment extraire les informations nécessaires pour implémenter correctement "Choisir sa pub" à partir de la réponse XML VAST de votre annonce ou de la réponse de métadonnées de votre flux d'insertion dynamique d'annonce.

Exigences concernant l'affichage "Choisir sa pub"

Pour respecter les exigences de Google concernant l'affichage des icônes "Choisir sa pub", votre application ou votre site Web doit respecter les normes suivantes:

  1. L'icône Choisir sa pub doit s'afficher en superposition de toute annonce pour laquelle elle est fournie.
  2. L'icône "Choisir sa pub" doit s'afficher à la position indiquée par les propriétés "X location" et "Y location" incluses dans les données de l'icône, et à la taille définie par les propriétés de largeur et de hauteur, en pixels indépendants de la densité (DP).
  3. L'icône "Choisir sa pub" ne doit pas être masquée par d'autres superpositions d'annonces ni éléments d'interface.
  4. Sur les plates-formes compatibles avec les clics ou équivalentes (par exemple, la sélection tactile ou à distance), l'icône Choisir sa pub doit être cliquable.
  5. Sur les plates-formes compatibles avec le navigateur, un clic sur l'icône "Choisir sa pub" doit ouvrir un onglet ou une fenêtre de navigateur avec l'URL spécifiée dans la propriété "ClickThrough" ou "click_data".
  6. Sur les plates-formes non compatibles avec le navigateur, un clic sur l'icône AdChoices doit ouvrir une superposition modale affichant l'une des images spécifiées dans la propriété "IconClickFallbackImage" ou "click_fallback_images".
  7. Sur les plates-formes qui ne sont pas compatibles avec un navigateur, l'image de remplacement doit s'afficher à la taille spécifiée dans la propriété "IconClickFallbackImage" ou "click_fallback_images", en pixels indépendants de la densité (DP).

Analyser "Choisir sa pub" à partir d'une réponse XML VAST

Lorsque vous utilisez une réponse d'annonce XML, AdChoices n'est compatible qu'avec VAST 3.0 ou version ultérieure. La fonctionnalité "Choisir sa pub" est implémentée sous la forme d'une icône VAST.

VAST 4.2

Si votre réponse d'annonce XML respecte la norme VAST 4.2, elle est diffusée sous la forme d'une icône VAST. Si votre application ou votre site Web est entièrement compatible avec les icônes VAST 4.2 (section 3.11 de la norme VAST 4.2), la compatibilité avec "Choisir sa pub" ne nécessite aucun travail supplémentaire.

Si votre application n'est pas compatible avec les icônes VAST 4.2, vous devez analyser manuellement les icônes portant le nom de programme "GoogleWhyThisAd" dans votre réponse VAST, sur la base de cette norme. Vous pouvez utiliser cet exemple de fichier XML VAST 4.2 pour effectuer des tests supplémentaires dans votre application.

Exemple de réponse VAST 4.2

<?xml version="1.0" encoding="UTF-8"?>
<VAST version="4.2">
  <Ad id="20011">
    <Wrapper>
      ...
      <Creatives>
        ...
        <Creative id="5480" sequence="1">
          ...
          <Linear>
            ...
            <Icons>
              ...
              <Icon program="GoogleWhyThisAd" width="40" height="30" xPosition="left" yPosition="100" duration="00:00:10" offset="00:00:00" apiFramework="VAST" altText="AdChoices icon">
                <StaticResource creativeType="image/png">
                  <![CDATA[ https://storage.googleapis.com/interactive-media-ads/hosted-samples/wta/icon_adchoices.png ]]>
                </StaticResource>
                <IconClicks>
                  <IconClickThrough>
                    <![CDATA[ https://g.co/adsettings ]]>
                  </IconClickThrough>
                  <IconClickFallbackImages>
                    <IconClickFallbackImage width="950" height="600">
                      <AltText>
                        <![CDATA[ This ad was shown to you based on: * Google's estimation of your interests, based on your activity on Google on this device (for example, your searches) * the information on the website you were viewing. ]]>
                      </AltText>
                      <StaticResource creativeType="image/png">
                        <![CDATA[ https://storage.googleapis.com/interactive-media-ads/hosted-samples/wta/icon_adchoices_fallback_image.png ]]>
                      </StaticResource>
                    </IconClickFallbackImage>
                    ...
                  </IconClickFallbackImages>
                </IconClicks>
              </Icon>
              ...
            </Icons>
            ...
          </Linear>
          ...
        </Creative>
        ...
      </Creatives>
      ...
    </Wrapper>
    ...
  </Ad>
</VAST>

VAST 3.0

Si votre réponse d'annonce XML respecte la norme VAST 3.0, elle est diffusée sous la forme d'une icône VAST et d'une extension VAST personnalisée. Si votre application ou votre site Web est entièrement compatible avec la norme d'icônes VAST 3.0, et si la plate-forme peut accéder à l'URL de destination de l'icône et l'afficher, aucune autre action n'est requise de votre part.

Si votre plate-forme ne parvient pas à accéder aux URL de destination ni à les afficher (cela concerne principalement les appareils ne disposant pas d'un navigateur Web intégré), vous devez prendre en charge l'extension "IconFallbackImages". Cette extension contient un ensemble de balises "IconFallbackImages" où l'attribut "program" correspond à une icône incluse dans VAST.

Pour assurer une compatibilité totale avec AdChoices, le tag IconFallbackImages avec le nom de programme "GoogleWhyThisAd" doit être associé à l'icône avec le nom du programme "GoogleWhyThisAd". Ainsi, lorsque l'utilisateur interagit avec l'icône, l'image de remplacement associée s'affiche.

Pour permettre de futures modifications potentielles de la norme "Choisir sa pub", nous vous recommandons vivement d'inclure les images de remplacement compatibles avec toutes les icônes VAST, le cas échéant. Vous pouvez utiliser cet exemple de fichier XML VAST 3.0 pour effectuer des tests supplémentaires dans votre application.

Structure de l'extension IconFallbackImages

Tag Attributs Description
Extension type Pour cette extension, le type contient toujours la valeur IconClickFallbackImages.
-IconClickFallbackImages programme Cet attribut correspond toujours à l'attribut programme d'une icône VAST 3.0 associée.
La structure de ce nœud correspond à la norme VAST 4.2 pour IconClickFallbackImages, à l'exception de l'ajout de l'attribut program.
--IconClickFallbackImage largeur Largeur souhaitée pour l'image.
hauteur Hauteur souhaitée pour l'affichage de l'image.
---AltText Description de l'image accessible.
---StaticResource creativeType Type MIME de l'image de remplacement.
Valeur StatefulSet contenant l'URL de l'image de remplacement.

Exemple de réponse VAST 3.0

<?xml version="1.0" encoding="UTF-8"?>
<VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0">
 <Ad id="123456">
  <InLine>
   ...
   <Creatives>
    ...
    <Creative id="7891011" AdID="ABCD123456EF" sequence="1">
     ...
     <Linear>
      ...
      <Icons>
       ...
       <Icon program="GoogleWhyThisAd" width="50" height="50" xPosition="20" yPosition="bottom" duration="00:00:10" offset="00:00:00" apiFramework="VAST" altText="Why This Ad?">
        <StaticResource creativeType="image/png">
         <![CDATA[https://storage.googleapis.com/interactive-media-ads/hosted-samples/wta/icon_adchoices.png]]>
        </StaticResource>
        <IconClicks>
         ...
         <IconClickThrough><![CDATA[https://g.co/adsettings]]></IconClickThrough>
        </IconClicks>
       </Icon>
       ...
      </Icons>
     ...
     </Linear>
     ...
    </Creative>
    ...
   </Creatives>
   <Extensions>
    ...
    <Extension type="IconClickFallbackImages">
     ...
     <IconClickFallbackImages program="GoogleWhyThisAd">
      <IconClickFallbackImage width="400" height="150">
       <AltText>Alt icon fallback</AltText>
       <StaticResource creativeType="image/png"><![CDATA[https://storage.googleapis.com/gvabox/nickchavez/media/png/wta_dialog.png]]></StaticResource>
      </IconClickFallbackImage>
      ...
     </IconClickFallbackImages>
     ...
    </Extension>
    ...
   </Extensions>
   ...
  </InLine>
  ...
 </Ad>
</VAST>

Analyser le fichier "Choisir sa pub" à partir du fichier JSON des métadonnées de l'API d'insertion dynamique d'annonce

Lorsque vous utilisez l'API d'insertion dynamique d'annonce, les détails AdChoices sont transmis via l'objet JSON renvoyé par des requêtes adressées à l'URL de métadonnées.

L'objet JSON Metadata contient une liste d'annonces, associées à l'identifiant de l'annonce. Chaque objet d'annonce se trouve un tableau d'icônes. Si l'annonce en question utilise "Choisir sa pub", l'icône "Choisir sa pub" est contenue dans ce tableau.

Format d'icône JSON

Le format d'icône JSON est une traduction 1:1 de la norme VAST 4.2 (section 3.11), dans la mesure du possible. Toutefois, pour prendre en charge le format JSON plus strict, certains attributs ont changé de nom si nécessaire.

Format JSON d'icônes

programme Pour l'icône Choisir sa pub, cette valeur contient toujours la chaîne "GoogleWhyThisAd".
x_position Position horizontale de l'angle supérieur gauche de l'icône par rapport à l'angle supérieur gauche de la création vidéo, en pixels. Ce champ accepte également les valeurs de position responsives "right" ou "left" (gauche).
y_position Position verticale de l'angle supérieur gauche de l'icône par rapport à l'angle supérieur gauche de la création vidéo, en pixels. Ce champ accepte également les valeurs de position responsives "top" ou "bottom".
largeur Largeur de l'icône, en pixels.
hauteur Hauteur de l'icône, en pixels.
creative_type Type MIME de l'image fournie pour l'icône. La valeur par défaut est "image/png".
resource URL de récupération de l'icône Choisir sa pub.
alt_text Texte alternatif à afficher pour l'icône Choisir sa pub.
click_data Objet contenant la propriété click_data.url, qui représente l'URL vers laquelle les internautes sont redirigés s'ils cliquent sur l'icône "Choisir sa pub" sur une plate-forme compatible avec la navigation Web.
click_fallback_images Tableau d'objets image à afficher auprès des utilisateurs qui cliquent sur l'icône Choisir sa pub sur les plates-formes non compatibles avec la navigation Web.

Format JSON de l'image de remplacement

largeur Largeur de l'image de remplacement, en pixels.
hauteur Hauteur de l'image de remplacement, en pixels.
creative_type Type MIME de l'image de remplacement. La valeur par défaut est "image/png".
resource URL permettant de récupérer l'image de remplacement.
alt_text Texte alternatif à afficher pour l'image de remplacement.

Exemple de fichier JSON de métadonnées

{
  ...
  "ads": {
    ...
    "0002640412_ad1": {
      ...
      "icons": [
        ...
        {
          "alt_text": "AdChoices icon",
          "click_data": {
            "url": "https://g.co/adsettings"
          },
          "click_fallback_images": [
            {
              "alt_text": "This ad was shown to you based on: * Google's
estimation of your interests, based on your activity on Google on this device
(for example, your searches) * the information on the website you were
viewing.",
              "creative_type": "image/jpg",
              "height": 600,
              "resource": "https://storage.googleapis.com/interactive-media-ads/hosted-samples/wta/icon_adchoices_fallback_image.png",
              "width": 950
            }
          ],
          "creative_type": "image/png",
          "height": 30,
          "program": "AdChoices",
          "resource": "https://storage.googleapis.com/interactive-media-ads/hosted-samples/wta/icon_adchoices.png",
          "type": "static",
          "width": 40,
          "x_position": "0",
          "y_position": "100"
        }
        ...
      ]
      ...
    },
    ...
  }
  ...
}