Anuncios de video

En esta guía, se describen los requisitos de integración, la configuración y los campos relevantes que puedes usar cuando estableces ofertas en el inventario de video.

Google admite anuncios de video in-stream, nativos e intersticiales representados como oportunidades de anuncios individuales o pods de anuncios de video dinámicos. Los grupos de anuncios dinámicos describen una agrupación de anuncios de video que se muestran en secuencia, en la que una duración máxima para el grupo de anuncios se divide en uno o más videos que varían en duración. Consulta las guías de los formatos de anuncios nativos y de intersticial para obtener más detalles sobre esos formatos.

Requisitos del comprador

Protocolo de RTB

En general, esta guía se referirá al formato de Protobuf, pero los nombres y las rutas de los campos son equivalentes entre este y el formato JSON, a menos que se indique lo contrario.

Puedes encontrar el proto de OpenRTB y las extensiones de OpenRTB específicas de Google en la página Protos y datos de referencia. Para obtener más información sobre cómo desarrollar un ofertante, consulta Cómo procesar la solicitud y Cómo compilar la respuesta.

Revisión de creatividades

Google recomienda que envíes las creatividades para su aprobación antes de ofertar con ellas. Puedes usar el recurso Creatives de la API de Real-time Bidding para iniciar el proceso de revisión.

Configuración de la segmentación previa

Para recibir inventario de video, tu cuenta de Authorized Buyers debe crear una configuración de segmentación previa que incluya inventario de video.

Macros

Puedes especificar macros en el vínculo de la URL del video o en el XML de VAST especificado en BidResponse.seatbid.bid.adm. Además, si especificas una URL de video, también puedes colocar macros dentro del documento XML de VAST vinculado. Se admiten las siguientes macros para las creatividades de video:

  • %%CACHEBUSTER%%
  • %%WINNING_PRICE%%
  • %%SITE%%

No se admiten las macros de clics, como CLICK_URL_ESC, porque Authorized Buyers incluye sus servicios de seguimiento de clics en un VAST wrapper. Para obtener más información sobre las macros admitidas, consulta Cómo especificar macros.

Detalles del texto destacado

Puedes usar el campo BidRequest.imp.video de OpenRTB para identificar si una solicitud de oferta entrante es para inventario de video intersticial o in-stream, y encontrar información adicional específica del video sobre la solicitud. Además, para el inventario de anuncios nativos, puedes usar BidRequest.imp.native.{request/request_native}.assets.video para obtener información similar específica de los videos.

BidRequest.{app/site}.content.producer.domain

Es la URL, sin parámetros, de la página que describe el contenido del video. El editor envía esta URL a Google. Por ejemplo:

http://www.publisher.com/watchpagelink
banner.vcm
Si se configura como true, se puede seleccionar el anuncio complementario para que se renderice como una tarjeta de cierre (tarjeta de información) en el espacio del video después de que termine de reproducirse el anuncio de video. De lo contrario, el anuncio complementario no se renderizará como un remate.
BidRequest.imp.rwdd
Si se configura como true, indica que el usuario recibe una recompensa por mirar el anuncio de video. Las recompensas típicas pueden ser leer un artículo adicional de forma gratuita, recibir una vida adicional en un juego o disfrutar de una sesión de música sin anuncios patrocinada.
BidRequest.imp.video.maxduration

Es la duración máxima permitida en segundos para cada anuncio individual incluido en la respuesta de la oferta. Cuando no se establece, no hay una duración máxima. Cuando BidRequest.imp.video.skip es true, esto puede comportarse de manera diferente. Consulta Duración máxima de video que se puede omitir para obtener más detalles.

BidRequest.imp.video.maxseq

Es la cantidad máxima de anuncios que se pueden publicar en un grupo de anuncios de video dinámico. Si se configura poddur, pero no se configura maxseq o se configura 0, no tienes una restricción sobre la cantidad de anuncios que se pueden publicar en un grupo de anuncios de video. Google solo admite pods dinámicos.

La cantidad real de anuncios de video que se muestran puede ser menor o igual a este valor, pero no puede superarlo.

BidRequest.imp.video.minduration
Es la duración mínima en segundos de cada anuncio individual incluido en la respuesta de oferta. Cuando no se establece, no hay una duración mínima.
BidRequest.imp.video.plcmt
Describe dónde se reproducirá el video.
PLCMT_UNKNOWN Se desconoce o no se puede determinar la posición.
PLCMT_INSTREAM Anuncios previos al video, durante el video y al final del video que se reproducen antes, durante o después del contenido de video en streaming que solicitó el consumidor. El video in-stream debe estar configurado como "con sonido" de forma predeterminada al iniciar el reproductor o tener una intención del usuario explícitamente clara de mirar el contenido de video. Si bien puede haber otro contenido alrededor del reproductor, el contenido de video debe ser el foco de la visita del usuario. Debe seguir siendo el contenido principal de la página y el único reproductor de video visible que puede reproducir audio. Si el reproductor se convierte en flotante o fijo, las llamadas de anuncios posteriores deben transmitir con precisión el tamaño actualizado del reproductor.
PLCMT_ACCOMPANYING_CONTENT Anuncios previos al video, durante el video y al final del video que se reproducen antes, durante o después del contenido de video en streaming. El reproductor de video se carga y se reproduce antes, entre o después de los párrafos de texto o el contenido gráfico, y comienza a reproducirse solo cuando ingresa al viewport. El contenido complementario solo debe comenzar a reproducirse cuando entra en el viewport. Es posible que se convierta en un reproductor flotante o fijo a medida que se desplaza fuera de la página.
PLCMT_INTERSTITIAL Anuncios de video que se reproducen sin contenido de video Durante la reproducción, debe ser el enfoque principal de la página y ocupar la mayor parte del viewport, y no se puede desplazar fuera de la vista. Esto puede ser en posiciones como videos integrados en la app o presentaciones de diapositivas.
PLCMT_NO_CONTENT_STANDALONE Anuncios de video que se reproducen sin contenido de video en streaming. Esto puede incluir posiciones como presentaciones de diapositivas, feeds nativos, contenido integrado o contenido fijo/flotante.
BidRequest.imp.video.playbackmethod
Describe cómo reproducir el anuncio de video. El método de reproducción se determina como reproducción automática o clic para reproducir según la mejor medición disponible.
AUTO_PLAY_SOUND_ON Se inicia en la carga de la página con el sonido activado.
AUTO_PLAY_SOUND_OFF Se inicia en la carga de la página con el sonido desactivado.
CLICK_TO_PLAY Se inicia con un clic y con el sonido activado.
MOUSE_OVER Se inicia al colocar el cursor sobre el elemento con el sonido activado.
ENTER_SOUND_ON Se inicia cuando se ingresa a la ventana gráfica con el sonido activado.
ENTER_SOUND_OFF Se inicia cuando se ingresa al viewport con el sonido desactivado de forma predeterminada.
BidRequest.imp.video.skip
Si es true, indica que el reproductor permitirá omitir el video o que se permiten los anuncios que se pueden omitir. De lo contrario, indica que no se permiten los anuncios que se pueden omitir.
BidRequest.imp.video.startdelay

Un valor de 0 significa anuncio previo al video, -1 significa anuncio durante el video y -2 significa anuncio final del video.

Cualquier otro valor positivo es el tiempo en segundos desde el inicio del video hasta el punto en el que se muestra el anuncio.

BidRequest.imp.video.durfloors y BidRequest.imp.audio.durfloors

Es un array de objetos DurFloors que indica los precios mínimos respectivos para las creatividades de audio o video de varias duraciones con las que el comprador puede ofertar.

A continuación, se muestra un ejemplo de cómo se vería un durfloors especificado por Google:

  1. {"maxdur": 16, "bidfloor": 5} que representa (0, 16) segundos en $5.
  2. {"mindur": 16, "maxdur": 31, "bidfloor": 10} que representa [16, 31) segundos en $10.
  3. {"mindur": 31, "bidfloor": 20} que representa [31, inf) segundos en $20.

Estos indicadores no son exclusivos de las creatividades de video, pero son especialmente valiosos para que los lean los postores:

BidRequest.device.ifa
Este campo es un UUID de 36 caracteres que se establece solo cuando se usa SSL y no se genera un hash. Es la versión sin encriptar de BidRequest.device.dpidm5. En el caso de los dispositivos iOS, contiene el identificador de publicidad (IDFA) en caracteres en mayúsculas. En el caso de los dispositivos Android, contiene el identificador de Android (ADID) en caracteres en minúsculas. En el caso de los dispositivos de TV conectada, contiene sus identificadores únicos (por ejemplo, el RIDA de Roku).
BidRequest.device.devicetype
Especifica el tipo de dispositivo.
MOBILE Es un alias obsoleto para HIGHEND_PHONE o TABLET.
PERSONAL_COMPUTER Incluye computadoras de escritorio y laptops.
CONNECTED_TV incluye tanto las TVs conectadas (es decir, las smart TVs) como los dispositivos conectados (como Roku, Apple TV, etcétera).
HIGHEND_PHONE Incluye teléfonos de alta gama.
TABLET Incluye dispositivos tablet.
CONNECTED_DEVICE Incluye dispositivos de juegos exclusivos.
SET_TOP_BOX Incluye dispositivos de decodificador.
OOH_DEVICE Incluye dispositivos de publicidad exterior, como carteles publicitarios digitales.
BidRequest.device.make
Especifica la marca (como Nokia o Samsung) del dispositivo.
BidRequest.device.model
Especifica el modelo exacto (como N70 o Galaxy) del dispositivo si está disponible; de lo contrario, contiene un modelo genérico, como "iphone" o "ipad".
BidRequest.imp.metric
Cuando Metric.type se establece en completion_rate, Metric.value será una fracción en el rango [0.0, 1.0] que representa la tasa de finalización histórica de los anuncios de video publicados en el espacio publicitario. El valor predeterminado de -1.0 indica que no hay datos históricos de la tasa de finalización disponibles.
BidRequest.imp.video.poddur
Es el período en segundos que puedes completar para un grupo de anuncios de video dinámico. Este campo hace referencia a la duración de toda la pausa publicitaria. Si no se configura, el espacio publicitario no forma parte de un grupo de anuncios.

La solicitud de oferta de video también contiene información sobre el inventario, como la vertical, los proveedores permitidos y la información del canal. Todos los demás campos existentes en la solicitud de oferta también se aplican a los videos.

Los campos de ancho y alto del mensaje AdSlot de una solicitud de video corresponden al tamaño del reproductor de anuncios de video.

BidRequest.imp.ext.allowed_vendor_type
Son los proveedores permitidos. Consulta el archivo vendors.txt en la documentación técnica para obtener una lista de IDs. Por ejemplo, 309 = Unidad de video de DFA.
BidRequest.imp.video.mimes
Es una lista de entidades permitidas que describe los tipos de MIME de contenido admitidos para los anuncios publicados en respuesta a la solicitud de oferta; por ejemplo, "video/mp4". La respuesta de oferta debe indicar compatibilidad con al menos uno de ellos.
BidRequest.imp.video.protocols
Describe las versiones de VAST admitidas por un publicador para las solicitudes de anuncios de video. Contiene un array de valores de enumeración Protocol, incluidos los siguientes: VAST_2_0, VAST_3_0, VAST_2_0_WRAPPER, VAST_3_0_WRAPPER, VAST_4_0, VAST_4_0_WRAPPER y muchos más.
BidRequest.imp.video.companionad
Este campo incluye un array de objetos Banner que representan anuncios complementarios si están disponibles.
BidRequest.site.page

Es la URL de la página de reproducción del video o la URL de la página en la que se incorporó el video. Por ejemplo:

http://www.publisher.com/watchpagelink

Cuando responda a una solicitud de video, el ofertante debe devolver una URL de redireccionamiento de VAST o un XML de VAST en el campo BidResponse.seatbid.bid.adm. La respuesta de oferta también debe contener la declaración adecuada para el anuncio de video. A continuación, se muestra un extracto de una respuesta de oferta de video adecuada:

id: "n40G42d551UX18627ao8lt"
seatbid {
  bid {
    id: "17u6BnD62h88r5q7066"
    impid: "1"
    price: 0.797848
    adm: "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%"
    adomain: "google.com"
    crid: "test_creative_id_987914"
    w: 320
    h: 480
    cattax: GOOGLE_CATEGORIES
    [com.google.doubleclick.bid] {
      attribute: 47
      attribute: 50
      billing_id: 55383762512
      skadn {
        version: "4.0"
        network: "306el65O"
        itunesitem: "832461214"
        sourceapp: "977150768"
        fidelities {
          fidelity: VIEW_THROUGH_ADS
          nonce: "0054e0b9-0b53-4426-99dd-a1eefeb45565"
          timestamp: "1757329316673"
          signature: "oE3Ek8347oZV1Yl1J42G2c88BSKr2dqEbiOK2S4ni7NVDh3v128NN0hlzWK5aX96ecV1504E9k288i0t0wGX73P317812WE7"
        }
        fidelities {
          fidelity: STOREKIT_RENDERED_ADS
          nonce: "0054e0b9-0b53-4426-99dd-a1eefeb45565"
          timestamp: "1757329316673"
          signature: "b1GqXA4v889p842512GQ1p3249q5VmPt1335f1H1zdK92fq24j7a7ml419W7u8B7rhhH97s507f2251923oWi89XF1voZv4b"
        }
        sourceidentifier: "8396"
      }
      app_promotion_type: INSTALLS
      clickurl: "google.com"
    }
  }
}
[com.google.doubleclick.bid_response] {
  processing_time_ms: 20
}

Los campos importantes en una respuesta de oferta de video son los siguientes:

BidResponse.seatbid.bid.ext.attribute
Son los atributos de los anuncios que se pueden mostrar a partir de este fragmento. Consulta el archivo buyer-declarable-creative-attributes.txt para ver la lista de IDs. Verificamos que ninguno de estos atributos coincida con los que el publicador no permite en la solicitud de oferta. Por ejemplo, si se configura si alguno de los campos incluye 30, eso indicaría que el anuncio requiere compatibilidad con VPAID para renderizarse.
BidResponse.seatbid.bid.adm

En el caso de los anuncios de video, esta es la URL de redireccionamiento de VAST del anuncio de video. Por ejemplo:

http://ad.doubleclick.net/pfadx/N270.132652.1516607168321/B3442378.3;dcadv=1379578;sz=0x0;ord=79879;dcmt=text/xml

Como alternativa, puede ser XML de VAST sin procesar.

Ejemplos de solicitudes y respuestas de ofertas

Formatos de video

Cómo pueden incluir videos los compradores

En las siguientes tablas, se ilustran las formas en que los compradores pueden incluir videos en sus creatividades y las posiciones en las que se pueden publicar sus anuncios para la Web y las aplicaciones para dispositivos móviles, respectivamente.

Web

Creatividad de video In-stream (todo) In-feed/in-article Nativo in-feed/in-article Intersticial En banner

VPAID + VAST

 

VAST

 

MRAID + JS

 

 

 

 

 

JS personalizado

 

Nativo + VAST

 

App para dispositivos móviles

Creatividad de video In-stream (todo) In-feed/in-article Nativo in-feed/in-article Intersticial En banner

VPAID + VAST

 

 

 

 

 

VAST

MRAID + JS

JS personalizado

Nativo + VAST

Clave: El formato o la tecnología no están disponibles

Se aceptó la creatividad de video en esta posición, sujeta a los bloqueos del publicador

La creatividad de video no está disponible en esta posición

Indicadores recomendados de OpenRTB

En las siguientes tablas, se ilustran los indicadores recomendados de OpenRTB para todos los formatos de video en la Web para computadoras y dispositivos móviles, y en las aplicaciones para dispositivos móviles.

Web móvil y web para computadoras de escritorio

Formato del video Indicadores recomendados (solo indicadores relevantes para el video) Indicadores relacionados (solo indicadores pertinentes para el video)

In-stream (VPAID)

Objeto VIDEO presente   &
video.placement = INSTREAM   &


In-stream (sin VPAID)

Objeto VIDEO presente   &
video.placement = INSTREAM    &
video.api = 1 VPAID 1.0 or 2:VPAID 2.0


Que no son in-stream

Objeto VIDEO presente

video.linearity: linear
La posición depende de la posición
real, con los valores que se indican a continuación
Video.startdelay = 0


In-feed

Objeto VIDEO presente   &
video.placement = IN-FEED


In-article

Objeto VIDEO presente   &
video.placement = IN-ARTICLE


Nativo

El objeto NATIVE está presente.


En banner

El objeto de video no está presente y
banner.battr ≠ 6 Video en banner (reproducción automática) y
banner.battr ≠ 7 Video en banner (iniciado por el usuario)


App para dispositivos móviles

Formato del video Detalles de la solicitud de oferta (solo los detalles relevantes del video)

In-stream

Objeto VIDEO presente   &
video.placement = INSTREAM    &

video.api = 1 VPAID 1.0 o 2: VPAID 2.0

Que no son in-stream

Objeto VIDEO presente

video.linearity: linear
La posición depende de la posición
real, con los valores que se indican a continuación
Video.startdelay = 0


In-feed

Objeto VIDEO presente   &
video.placement = IN-FEED


In-article

Objeto VIDEO presente   &
video.placement = IN-ARTICLE


Nativo

El objeto NATIVE está presente.


Anuncio intersticial (VAST)

Objeto VIDEO presente   &
video.placement = INTERSTITIAL


Anuncio intersticial (sin VAST)

Objeto VIDEO presente   &
video.placement = INTERSTITIAL

Filtradas

En banner (MRAID)

El objeto de video no está presente &
banner.battr ≠ 6 Video en banner (reproducción automática) &
banner.battr ≠ 7 Video en banner (iniciado por el usuario)


En banner

(sin MRAID)

El objeto de video no está presente &
banner.battr ≠ 6 Video en banner (reproducción automática) &
banner.battr ≠ 7 Video en banner (iniciado por el usuario)


Cómo los publicadores pueden permitir o rechazar videos

En la siguiente tabla, se ilustran las formas en que los publicadores pueden permitir o rechazar videos en sus posiciones.

Opción de publicación Formatos aplicables Se describe en la solicitud de oferta como

Especifica una unidad de video instream

In-stream (todo)

Objeto de video presente y
video.placement = INSTREAM

Cómo habilitar VPAID

In-stream en la Web

Objeto de video presente y
video.api = 1 (VPAID 1.0) o 2 (VPAID 2.0)

Habilita la IBV

En banner

Intersticial

banner.battr ≠ 6 Video en banner (reproducción automática) o 7 Video en banner (iniciado por el usuario)

Habilita (instrucciones)

In-feed

In-article

El objeto de video está presente y
video.placement = IN-FEED o IN-ARTICLE

Habilita los anuncios que no son in-stream (instrucciones)

Nativo

Objeto nativo presente

Bloquear anuncio intersticial de video

Aplicación intersticial

No se encontró el objeto VIDEO

Casos extremos

# Descripción del caso Comentarios Solicitud de oferta

1

Cierre personalizado retrasado con MRAID

En el caso de los anuncios intersticiales, cerrar el anuncio puede enviar una notificación al comprador a través de MRAID, incluso si no usó el cierre personalizado.


La X aplicada por Authorized Buyers siempre aparecerá sobre cualquier cierre personalizado, incluso si el cierre personalizado aparece debajo después de 5 segundos.


Glosario

Consulta el glosario de video de Authorized Buyers.

Campos relevantes para los formatos Instream y Non-Instream

Consulta OpenRTB 2.5 (a partir de la página 47)

Es un objeto BidRequest.Video.
Placement
In-stream mWeb

1: In-Stream
2: In-Banner

mApp

1: In-Stream
2: In-Banner

Que no son in-stream mApp Interstitial

5: Intersticial

Native

3: In-Article
4: In-Feed

Rewarded

rwdd: bool

linearity

Indica si la impresión debe ser lineal, no lineal, etc. Si no se especifica ninguna, se supone que se permiten todas.

In-stream mWeb

1: LINEAR (In-stream)

mApp

1: LINEAR (In-stream)

Que no son in-stream mApp Interstitial

2: INTERSTITIAL

Native

3: IN_FEED
5: IN_ARTICLE

videoad_start_delay
In-stream mWeb

>0: start delay in seconds
 0: PRE_ROLL
-1: GENERIC_MID_ROLL
-2: GENERIC_POST_ROLL

mApp

>0: start delay in seconds
 0: PRE_ROLL
-1: GENERIC_MID_ROLL
-2: GENERIC_POST_ROLL

Que no son in-stream Rewarded

>0: start delay in seconds
 0: PRE_ROLL
-1: GENERIC_MID_ROLL
-2: GENERIC_POST_ROLL

Fuente del valor de la solicitud de oferta

Objeto
de OpenRTB
Campos Authorized Buyers
/Exchange
Licitación
No in-stream
Valores de muestra ¿Quién lo determina?
/¿De dónde se deriva este valor?
/Where this value derives
from?
Objeto
Video mimos ["application/javascript",
"video/mp4"]",
Google
minduration no Configurado por el publicador
maxduration Configurado por el publicador
playbackmet
hod
[6] Por lo general, el publicador está
configurado.
api (MRAID) [1,2] Google
protocolos [2,3,5,6,7,8] Google
Linealidad [1] Google
posición [1] Google
Ancho del reproductor 400,400,300 Google
Altura del reproductor 225,300,153 Google
Retraso inicial 0 Google, predeterminado de 5 s
omitir 1 Publicador/Google
- Para intersticiales => Google
- Para in-stream => Publicador
decide si permite
que se puedan omitir, que no se puedan omitir o ambas.
Anuncios recompensados, siempre no omitibles
Tasa de bits mínima No Google
Tasa de bits máxima no Google
pos 1 Google
Dispositivo
Proporción de píxeles 1 Google
impresión
Seguro 1 Google
establece el valor predeterminado en verdadero
porque la etiqueta de anuncio siempre es
segura