Anuncios de video

En esta guía, se describen los requisitos de integración, la configuración y los campos pertinentes 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 grupos 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 la duración máxima del 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 e intersticiales para obtener más detalles sobre esos formatos.

Requisitos para los compradores

Protocolo de RTB

En general, esta guía se referirá al formato Protobuf, pero los nombres y las rutas de acceso 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 Procesa la solicitud y Crea 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 Licitación en tiempo real para iniciar el proceso de revisión.

Configuración de 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. Las siguientes macros son compatibles con 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 compatibles, consulta Especifica macros.

Detalles del texto destacado

Puedes usar el campo BidRequest.imp.video de OpenRTB para identificar si una solicitud de oferta entrante es para el inventario de video in-stream o intersticial, 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 de video. El publicador envía esta URL a Google. Por ejemplo:

http://www.publisher.com/watchpagelink
banner.vcm
Si se establece en true, se puede elegir el anuncio complementario para que se renderice como un anuncio final (tarjeta de información) en el espacio de video después de que finalice la reproducción del anuncio de video. De lo contrario, el anuncio complementario no se renderiza como un anuncio final.
BidRequest.imp.rwdd
Si se establece en 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 extra en un juego o acceder a una sesión de música patrocinada sin anuncios.
BidRequest.imp.video.maxduration

Es la duración máxima permitida en segundos para cada anuncio individual incluido en la respuesta de 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 establece poddur, pero maxseq no se establece o es 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 que 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 La posición es desconocida o no se puede determinar.
PLCMT_INSTREAM Son 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 tener el "sonido activado" de forma predeterminada cuando se inicia 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 motivo principal de la visita del usuario. Debe seguir siendo el contenido principal de la página y el único reproductor de video visible que pueda 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 Son anuncios previos al video, durante el video y al final del video que se reproducen antes, durante o después de la transmisión de contenido de video. El reproductor de video se carga y se reproduce antes, entre o después de los párrafos de texto o contenido gráfico, y comienza a reproducirse solo cuando ingresa al viewport. El contenido complementario solo debe comenzar a reproducirse cuando ingresa al viewport. Puede convertirse en un reproductor flotante o fijo a medida que se desplaza fuera de la página.
PLCMT_INTERSTITIAL Son anuncios de video que se reproducen sin contenido de video. Durante la reproducción, debe ser el elemento principal de la página, ocupar la mayor parte del viewport y no se puede desplazar fuera de la vista. Esto puede ser en posiciones como videos en la app o presentaciones de diapositivas.
PLCMT_NO_CONTENT_STANDALONE Son anuncios de video que se reproducen sin contenido de video en streaming. Esto puede ocurrir en posiciones como presentaciones de diapositivas, feeds nativos, en el contenido o fijos o flotantes.
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 cuando se carga la página con el sonido activado.
AUTO_PLAY_SOUND_OFF Se inicia cuando se carga la página, con el sonido desactivado.
CLICK_TO_PLAY Se inicia con un clic y con el sonido activado.
MOUSE_OVER Se inicia cuando se pasa el mouse por encima con el sonido activado.
ENTER_SOUND_ON Se inicia cuando se ingresa al viewport 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á que se omita el video o que se permitan los anuncios que se pueden omitir. De lo contrario, indica que no se permiten los anuncios que se pueden omitir.
BidRequest.imp.video.startdelay

El valor 0 indica que es un anuncio previo al video; -1, que es un anuncio durante el video, y -2, que es un anuncio al 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 indican los precios mínimos respectivos para las creatividades de video o audio de varias duraciones con las que el comprador puede ofertar.

A continuación, se muestra un ejemplo de cómo se vería el 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 a las $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 particularmente valiosos para que los ofertantes los lean:

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 para anunciantes (IDFA) 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 TVs conectadas (es decir, smart TVs) como dispositivos conectados (como Roku, Apple TV, etcétera).
HIGHEND_PHONE Incluye teléfonos de alta gama.
TABLET Incluye tablets.
CONNECTED_DEVICE Incluye dispositivos de juego dedicados.
SET_TOP_BOX Incluye dispositivos decodificadores.
OOH_DEVICE Incluye dispositivos de publicidad exterior, como vallas publicitarias 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 vistas completas histórica de los anuncios de video publicados en el espacio publicitario. El valor predeterminado de -1.0 indica que los datos históricos de la tasa de vistas completas no están disponibles.
BidRequest.imp.video.poddur
Es la duración en segundos que puedes rellenar 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 establece, 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 al video.

Los campos de ancho y altura 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 que se publican en respuesta a la solicitud de oferta, por ejemplo, "video/mp4". La respuesta de oferta debe indicar la compatibilidad con al menos uno de ellos.
BidRequest.imp.video.protocols
Describe las versiones de VAST que admite un publicador para las solicitudes de anuncios de video. Contiene un array de valores de tipo enum Protocol, incluidos VAST_2_0, VAST_3_0, VAST_2_0_WRAPPER, VAST_3_0_WRAPPER, VAST_4_0, VAST_4_0_WRAPPER y 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 responde 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: "eW3q768m3k93fv93a80tGQ"
seatbid {
  bid {
    id: "0uMc95E6ClImM3p5FSe"
    impid: "1"
    price: 0.034745
    adm: "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%"
    adomain: "google.com"
    crid: "test_creative_id_168019"
    cat: "7"
    w: 320
    h: 480
    cattax: GOOGLE_CATEGORIES
    [com.google.doubleclick.bid] {
      attribute: 47
      attribute: 50
      billing_id: 61170857882
      app_promotion_type: INSTALLS
      clickurl: "google.com"
    }
  }
}
[com.google.doubleclick.bid_response] {
  processing_time_ms: 30
}

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

BidResponse.seatbid.bid.ext.attribute
Atributos de los anuncios que se pueden mostrar desde este fragmento. Consulta el archivo buyer-declarable-creative-attributes.txt para obtener 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 establece que cualquiera de los campos incluya 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 un XML de VAST sin procesar.

Ejemplos de solicitudes y respuestas de ofertas

Corrección de la configuración para omitir anuncios

Google aplica automáticamente la corrección de la configuración para omitir anuncios a las ofertas de licitación en tiempo real para el inventario de video, lo que puede evitar que tus ofertas se filtren de la subasta debido a diferencias en la capacidad de omisión solicitada en la solicitud de oferta y la capacidad de omisión de las creatividades que devuelves en la respuesta de oferta. La corrección de la configuración para omitir anuncios no se aplica en los siguientes casos:

  • La creatividad que especificas en la respuesta de oferta se implementa con VPAID. Puedes determinar cuáles de tus creatividades de video se implementan con VPAID a través del campo Creative.video.videoMetadata.isVpaid en la API de licitación en tiempo real.
  • El publicador renderizará la creatividad. Puedes determinar esto según el campo BidRequest.imp.displaymanager, que es 'PUBLISHER' si el publicador renderizará la creatividad.

A continuación, se incluyen ejemplos que describen cómo se aplica la corrección de la configuración para omitir anuncios:

  • Situación 1:
    • Recibes una solicitud de oferta con el campo BidRequest.imp.video.skip establecido en 0 para el formato JSON o false para el formato Protobuf.
    • Estableces una oferta con una creatividad que se puede omitir.
    • Resultado: Tu oferta ingresa a la subasta. Si tu oferta gana y se renderiza la creatividad de video, se renderizará como no se puede omitir.
  • Situación 2:
    • Recibes una solicitud de oferta con el campo BidRequest.imp.video.skip establecido en 1 para el formato JSON o true para el formato Protobuf.
    • Estableces una oferta con una creatividad que no se puede omitir y que tiene una duración superior a la especificada en el campo BidRequest.imp.video.skipmin.
    • Resultado: Tu oferta ingresa a la subasta. Si tu oferta gana y se renderiza la creatividad de video, se renderiza como que se puede omitir.

Formatos de video

Cómo los compradores pueden incluir videos

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 para la Web y las apps para dispositivos móviles, respectivamente.

Web

Creatividad de video In-stream (todas) In-feed/In-article Anuncios nativos in-feed o in-article Intersticial En banner

VPAID + VAST

 

VAST

 

MRAID + JS

 

 

 

 

 

JS personalizado

 

Nativo + VAST

 

App para dispositivos móviles

Creatividad de video In-stream (todas) In-feed/In-article Anuncios nativos in-feed o in-article Intersticial En banner

VPAID + VAST

 

 

 

 

 

VAST

MRAID + JS

JS personalizado

Nativo + VAST

Clave: Formato o tecnología no disponibles

Se acepta 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 de escritorio y dispositivos móviles, y en apps para dispositivos móviles.

Web móvil y web para computadoras de escritorio

Formato del video Indicadores recomendados (solo indicadores relevantes para videos) Indicadores relacionados (solo indicadores relevantes 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


Anuncios que no son in-stream

Objeto VIDEO presente

video.linearity: linear
La posición depende de la posición real,
los valores son los siguientes
Video.startdelay = 0


In-feed

Objeto VIDEO presente  &
video.placement = IN-FEED


In-article

Objeto VIDEO presente  &
video.placement = IN-ARTICLE


Nativo

Objeto NATIVE presente y


En banner

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


Aplicación 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

Anuncios que no son in-stream

Objeto VIDEO presente

video.linearity: linear
La posición depende de la posición real,
los valores son los siguientes
Video.startdelay = 0


In-feed

Objeto VIDEO presente  &
video.placement = IN-FEED


In-article

Objeto VIDEO presente  &
video.placement = IN-ARTICLE


Nativo

Objeto NATIVE presente y


Intersticial (VAST)

Objeto VIDEO presente  &
video.placement = INTERSTITIAL


Intersticial (sin VAST)

Objeto VIDEO presente  &
video.placement = INTERSTITIAL

Filtradas

En banner (MRAID)

No hay un objeto de video 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)

No hay un objeto de video 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 no los videos

En la siguiente tabla, se ilustran las formas en que los publicadores pueden permitir o no el video en sus posiciones.

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

Especifica una unidad de video in-stream

In-stream (todas)

Objeto de video presente y
video.placement = INSTREAM

Habilita VPAID

Web in-stream

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)

Habilitar (instrucciones)

In-feed

In-article

Objeto de video 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 hay un 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, cerrarlos 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 este aparece debajo después de 5 segundos.


Glosario

Consulta el glosario de videos de Authorized Buyers.

Campos relevantes para los formatos in-stream y no in-stream

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

BidRequest.Video.
Placement
In-stream mWeb

1: In-stream
2: In-banner

mApp

1: In-stream
2: In-banner

Anuncios 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étera. Si no se especifica ninguna, se supone que se permiten todas.

In-stream mWeb

1: LINEAR (In-stream)

mApp

1: LINEAR (In-stream)

Anuncios 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

Anuncios 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
Bidding
No in-stream
Valores de muestra ¿Quién lo determina?
/¿De dónde se deriva este valor
?
Objeto
Video mimos sí ["application/javascript",
"video/mp4"]",
Google
minduration no Configurado por el publicador
maxduration sí Configurado por el publicador
playbackmet
hod
sí [6] Por lo general, el publicador
Configurado
api (MRAID) sí [1,2] Google
protocolos sí [2,3,5,6,7,8] Google
linealidad sí [1] Google
posición sí [1] Google
ancho del reproductor sí 400,400,300 Google
altura del reproductor sí 225,300,153 Google
retraso inicial sí 0 Google, 5 s (predeterminado)
omitir sí 1 Publicador/Google
- para intersticial => Google
- para in-stream => el publicador
decide si se permiten anuncios que se pueden omitir,
que no se pueden omitir o ambos.
Anuncios recompensados, siempre no se pueden omitir
tasa de bits mínima No Google
tasa de bits máxima no Google
pos sí 1 Google
Dispositivo
Relación de aspecto en píxeles sí 1 Google
impresión
Seguro sí 1 Google
el valor predeterminado es verdadero
porque la etiqueta de anuncio siempre es
segura