Todas las aplicaciones que muestran anuncios personalizados alojados por Google deben implementar el AdChoices y la superposición de AdChoices cuando Google los proporcione. AdChoices (también conocido como "¿Por qué este anuncio?") es una función de transparencia que explica a los usuarios los motivos por los que se les muestra un anuncio en particular y proporciona información acerca de cómo se protege su privacidad.
Para obtener más información, consulta Por qué ves un anuncio.
En esta guía, se explica cómo extraer la información necesaria para implementar correctamente AdChoices desde la respuesta XML de VAST de tu anuncio o la respuesta de metadatos de tu transmisión de DAI.
Requisitos para la renderización de AdChoices
Para cumplir con los requisitos de Google para renderizar íconos de AdChoices, tu aplicación o sitio web debe cumplir con los siguientes estándares:
- El ícono de AdChoices debe mostrarse superpuesto a cualquier anuncio para el que se proporcione.
- El ícono de AdChoices debe mostrarse en la posición indicada por las propiedades "Ubicación X" y "Ubicación Y" incluidas en los datos del ícono, y en el tamaño definido por las propiedades de ancho y alto, en píxeles independientes de la densidad (DP).
- El ícono de AdChoices no debe estar oculto por otras superposiciones de anuncios ni elementos de la interfaz.
- En las plataformas con compatibilidad con clics o equivalentes (p.ej., selección táctil o remota), se debe poder hacer clic en el ícono de AdChoices.
- En las plataformas con compatibilidad con navegadores, al hacer clic en el ícono de AdChoices, se debe abrir una pestaña o ventana del navegador con la URL especificada en la propiedad "ClickThrough" o "click_data".
- En las plataformas sin compatibilidad con navegadores, al hacer clic en el ícono de AdChoices, se debe abrir una superposición modal que muestre una de las imágenes especificadas en la propiedad "IconClickFallbackImage" o "click_fallback_images".
- En las plataformas sin compatibilidad con navegadores, la imagen de resguardo debe mostrarse en el tamaño especificado en la propiedad "IconClickFallbackImage" o "click_fallback_images", en píxeles independientes de la densidad (DP).
Analiza AdChoices desde una respuesta XML de VAST
Cuando se trabaja con una respuesta de solicitud de anuncio XML, AdChoices solo es compatible con la versión 3.0 de VAST y versiones posteriores. AdChoices se implementa como un ícono de VAST.
VAST 4.2
Si tu respuesta de anuncio XML sigue el estándar VAST 4.2 , AdChoices se entrega como un ícono de VAST. Si tu aplicación o sitio web admite por completo los íconos de VAST 4.2 (sección 3.11 del estándar VAST 4.2), la compatibilidad con AdChoices no requiere más trabajo.
Si tu aplicación no admite íconos de VAST 4.2, debes analizar manualmente los íconos con el nombre del programa "GoogleWhyThisAd" de tu respuesta de VAST, según ese estándar. Puedes usar este ejemplo de XML de VAST 4.2 para realizar pruebas adicionales en tu aplicación.
Ejemplo de respuesta de 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 tu respuesta de solicitud de anuncio XML sigue el estándar VAST 3.0, AdChoices se entrega como una combinación de un ícono de VAST y una extensión de VAST personalizada. Si tu aplicación o sitio web admite por completo el estándar de íconos de VAST 3.0 y si la plataforma puede navegar a la URL de clic del ícono y mostrarla, la compatibilidad con AdChoices no requiere más trabajo.
Si tu plataforma no puede navegar a las URLs de clic y mostrarlas (esto se aplica principalmente a los dispositivos que no tienen un navegador web integrado), debes implementar la compatibilidad con la extensión "IconFallbackImages". Esta extensión contiene un conjunto de etiquetas "IconFallbackImages" en las que el atributo "program" coincide con un ícono que se incluyó en VAST.
Para admitir por completo AdChoices, la etiqueta IconFallbackImages con el nombre del programa "GoogleWhyThisAd" debe estar asociada con el ícono con el nombre del programa "GoogleWhyThisAd", de modo que, cuando el usuario interactúe con el ícono, se muestre la imagen de resguardo asociada.
Para admitir posibles cambios futuros en el estándar de AdChoices, te recomendamos que incorpores la compatibilidad con imágenes de resguardo para todos los íconos de VAST, cuando estén disponibles. Puedes usar este ejemplo de XML de VAST 3.0 para realizar pruebas adicionales en tu aplicación.
Estructura de la extensión IconFallbackImages
| Etiqueta | Atributos | Descripción |
|---|---|---|
| Extensión | tipo | Para esta extensión, el tipo siempre contiene el valor IconClickFallbackImages.
|
| -IconClickFallbackImages | programa | Este atributo siempre coincide con el atributo de programa de un ícono de VAST 3.0 asociado. |
La estructura de este nodo coincide con el estándar VAST 4.2 para IconClickFallbackImages, excepto por la adición del atributo program.
|
||
| --IconClickFallbackImage | ancho | Es el ancho preferido para mostrar la imagen. |
| alto | Es la altura preferida para mostrar la imagen. | |
| ---AltText | Es una descripción accesible de la imagen. | |
| ---StaticResource | creativeType | Es el tipo MIME de la imagen de resguardo. |
| Es un valor CDATA que contiene la URL de la imagen de resguardo. |
Ejemplo de respuesta de 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>
Analiza AdChoices desde el JSON de metadatos de la API de DAI
Cuando se trabaja con la API de DAI, los detalles de AdChoices se pasan a través del objeto JSON que muestran las solicitudes a la URL de metadatos.
El objeto JSON de metadatos contiene una lista de anuncios, con la clave adID. Dentro de cada objeto de anuncio, hay un array de íconos. Si el anuncio en cuestión utiliza AdChoices, el ícono de AdChoices se incluye en ese array.
Formato de ícono JSON
El formato de ícono JSON es una traducción 1:1 del estándar de íconos de VAST 4.2 (sección 3.11), siempre que sea posible. Sin embargo, para admitir el formato JSON más estricto, algunos atributos cambiaron de nombre, cuando fue necesario.
Formato JSON de ícono
| programa | Para el ícono de AdChoices, este valor siempre contiene la cadena "GoogleWhyThisAd". |
| x_position | Es la posición horizontal de la esquina superior izquierda del ícono, en relación con la esquina superior izquierda del creativo de video, en píxeles. Este campo también acepta los valores de posición responsivos "right" o "left". |
| y_position | Es la posición vertical de la esquina superior izquierda del ícono, en relación con la esquina superior izquierda del creativo de video, en píxeles. Este campo también acepta los valores de posición responsivos "top" o "bottom". |
| ancho | Es el ancho del ícono, en píxeles. |
| alto | Es la altura del ícono, en píxeles. |
| creative_type | Es el tipo MIME de la imagen proporcionada para el ícono. El valor predeterminado es "image/png". |
| recurso | Es la URL para recuperar el ícono de AdChoices. |
| alt_text | Es el texto alternativo que se renderizará para el ícono de AdChoices. |
| click_data | Es un objeto que contiene la propiedad click_data.url, que representa la URL a la que se dirigirá a los usuarios si hacen clic en el ícono de AdChoices en una plataforma que admite la navegación web.
|
| click_fallback_images | Es un array de objetos de imagen que se mostrará a los usuarios que hagan clic en el ícono de AdChoices en plataformas que no admiten la navegación web. |
Formato JSON de imagen de resguardo
| ancho | Es el ancho de la imagen de resguardo, en píxeles. |
| alto | Es la altura de la imagen de resguardo, en píxeles. |
| creative_type | Es el tipo MIME de la imagen de resguardo. El valor predeterminado es "image/png". |
| recurso | Es la URL para recuperar la imagen de resguardo. |
| alt_text | Es el texto alternativo que se renderizará para la imagen de resguardo. |
Ejemplo de JSON de metadatos
{
...
"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"
}
...
]
...
},
...
}
...
}