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 realizas ofertas en el inventario de video.

Google admite anuncios de video in-stream, nativos e intersticiales representados como oportunidades de anuncios individuales o grupos dinámicos de anuncios de video. 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 del grupo se divide en uno o más videos que varían en duración. Consulta las guías de formatos de anuncios nativos y intersticiales para obtener más detalles sobre ellos.

Requisitos del comprador

Protocolo de RTB

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

Puedes encontrar el protocolo de OpenRTB y las extensiones de OpenRTB específicas de Google en la página Protocolos 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 el inventario de video.

Macros

Puedes especificar macros en el vínculo de la URL del video o en el archivo VAST XML 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%%

Las macros de clics, como CLICK_URL_ESC, no son compatibles porque Authorized Buyers incluye sus servicios de seguimiento de clics en un wrapper de VAST. 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 un 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 del video.

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

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 establece en true, el anuncio complementario se puede elegir para que se renderice como una tarjeta de información (tarjeta de información) en el espacio de video después de que el anuncio de video termine de reproducirse. De lo contrario, el anuncio complementario no se renderizará como un cierre 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 adicional en un juego o obtener una sesión de música patrocinada y 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. Si no se establece, no hay una duración máxima. Cuando BidRequest.imp.video.skip es true, 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 configuró poddur, pero no se configuró maxseq o es 0, no tienes ninguna 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 excederlo.

BidRequest.imp.video.minduration
Es la duración mínima en segundos de cada anuncio individual incluido en la respuesta de la oferta. Cuando no se establece, no hay duración mínima.
BidRequest.imp.video.plcmt
Indica dónde se reproducirá el video.
PLCMT_UNKNOWN La posición es desconocida o no se puede determinar.
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 de forma predeterminada en "sonido activado" cuando se inicia el reproductor o debe tener una intención del usuario explícita y 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 permanecer como el contenido principal de la página y el único reproductor de video a la vista 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 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 párrafos de texto o contenido gráfico, y comienza a reproducirse solo cuando entra en el viewport. El contenido complementario solo debe comenzar a reproducirse cuando se ingresa al viewport. Puede convertirse 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 o presentaciones de diapositivas integrados en la aplicación.
PLCMT_NO_CONTENT_STANDALONE Son anuncios de video que se reproducen sin transmitir contenido de video. Esto puede ser en posiciones como presentaciones de diapositivas, feeds nativos, integrados 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 reproducción con clic 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 sin sonido.
CLICK_TO_PLAY Se inicia con un clic con el sonido activado.
MOUSE_OVER Se inicia cuando se coloca el cursor sobre él con el sonido activado.
ENTER_SOUND_ON Se inicia cuando se ingresa a la vista del 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á 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 indica anuncios previos al video, -1 indica anuncios durante el video y -2 indica anuncios 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 correspondientes para las creatividades de audio o video de varias duraciones con los que el comprador puede ofertar.

El siguiente es 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 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 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 tiene hash. Es la versión no encriptada 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 dispositivos de escritorio y laptops.
CONNECTED_TV incluye TVs conectadas (es decir, smart TVs) y dispositivos conectados (como Roku, Apple TV, etcétera).
HIGHEND_PHONE Incluye dispositivos telefónicos de alta gama.
TABLET Incluye dispositivos de tablet.
CONNECTED_DEVICE Incluye dispositivos de videojuegos dedicados.
SET_TOP_BOX Incluye dispositivos decodificadores.
OOH_DEVICE Incluye dispositivos de publicidad exterior, por ejemplo, carteles 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 el porcentaje de finalización histórico 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 finalización no están disponibles.
BidRequest.imp.video.poddur
Es la duración 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 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 a los videos.

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

BidRequest.imp.ext.allowed_vendor_type
Los proveedores permitidos. Consulta el archivo vendors.txt en la documentación técnica para obtener una lista de los IDs. Por ejemplo, 309 = Unidad de video de DFA.
BidRequest.imp.video.mimes
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 compatibles de un publicador para las solicitudes de anuncios de video. Contiene un array de valores de enum 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 los 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 mostrar una URL de redireccionamiento de VAST o un archivo en formato XML de VAST en el campo BidResponse.seatbid.bid.adm. La respuesta de la 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: "79N7F1708654i75q3k69j1"
seatbid {
  bid {
    id: "1gR655162hOsH9q3X6R"
    impid: "1"
    price: 2.3833
    adid: "test_creative_id_648299"
    adm: "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%"
    adomain: "google.com"
    crid: "test_creative_id_648299"
    attr: VIDEO_IN_BANNER_AUTO_PLAY
    w: 1920
    h: 1080
    [com.google.doubleclick.bid] {
      event_notification_token {
        payload: "token"
      }
      billing_id: 11004606416
      skadn {
        version: "4.0"
        network: "O5O88B57"
        itunesitem: "509167749"
        nonce: ""
        sourceapp: "com.google.testapp"
        timestamp: "OMITTED"
        signature: "OMITTED"
        fidelities {
          fidelity: VIEW_THROUGH_ADS
          nonce: "d3be52b1-8ef6-4277-8922-54450b07fd5b"
          timestamp: "1730409097616"
          signature: "8d52E359K158Dj1u89EpLP3544Qz7B10CV0a92YZJ6JXX8d9uXi72N43ZxjRl96Ph7v8R5u1k5y9Aoy3jZcN3C5dxRU390qc"
        }
        fidelities {
          fidelity: STOREKIT_RENDERED_ADS
          nonce: "d3be52b1-8ef6-4277-8922-54450b07fd5b"
          timestamp: "1730409097616"
          signature: "43C2b79X4nPY913Qs3jJLLhCjUNZg39cK022pCE2wH731Ie7q4584b5UGG137Jh12I2R6a0e35LJbvQJbn5o564roQ7G1Mtd"
        }
        sourceidentifier: "1"
      }
      app_promotion_type: INSTALLS
    }
  }
  seat: "1061:9160:833989"
}
bidid: "m7V3rjn0-aF599ZZ6-37hA-b9o7DU8CLrtp"
cur: "USD"

Los campos importantes de 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 configuras 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 un archivo en formato XML de VAST sin procesar.

Ejemplos de solicitudes y respuestas de ofertas

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 aplicaciones para dispositivos móviles, respectivamente.

Web

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

VPAID + VAST

 

VAST

 

MRAID + JS

 

 

 

 

 

JS personalizado

 

Nativo + VAST

 

App para dispositivos móviles

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

VPAID + VAST

 

 

 

 

 

VAST

MRAID + JS

JS personalizado

Nativo + VAST

Clave: Formato o tecnología no disponible

Se acepta la creatividad de video en esta posición, sujeta a 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 para Web móvil y para computadoras, y aplicaciones 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 videos)

In-stream (VPAID)

Objeto de VIDEO presente   &
video.placement = INSTREAM   &


In-stream (sin VPAID)

Objeto de 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, con los valores que se indican a continuación
Video.startdelay = 0


In-feed

Objeto de VIDEO presente   &
video.placement = IN-FEED


In-article

Objeto de VIDEO presente   &
video.placement = IN-ARTICLE


Nativo

Objeto NATIVE presente


En el banner

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)


App para dispositivos móviles

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

In-stream

Objeto de 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, con los valores que se indican a continuación
Video.startdelay = 0


In-feed

Objeto de VIDEO presente   &
video.placement = IN-FEED


In-article

Objeto de VIDEO presente   &
video.placement = IN-ARTICLE


Nativo

Objeto NATIVE presente


Anuncio intersticial (VAST)

Objeto de VIDEO presente   &
video.placement = INTERSTITIAL


Intersticial (sin VAST)

Objeto de VIDEO presente   &
video.placement = INTERSTITIAL

Filtradas

En el 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 el 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 los videos 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 &
video.placement = INSTREAM

Habilita VPAID

In-stream web

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

Habilita la IBV

En el banner

Intersticial

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

Acepta la opción (instrucciones).

In-feed

In-article

Objeto de video presente &
video.placement = IN-FEED o IN-ARTICLE

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

Nativo

Objeto nativo presente

Bloquea los anuncios intersticiales de video

Aplicación intersticial

No se incluye el objeto VIDEO

Casos extremos

# Descripción del caso Comentarios Solicitud de oferta

1

Cierre personalizado diferido con MRAID

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


La X que se aplicó en Authorized Buyers siempre aparecerá sobre cualquier cierre personalizado, incluso si este aparece debajo después de 5 segundos.


Glosario

Consulta el glósario 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

is_rewarded_inventory: Es un valor booleano de la extensión de OpenRTB.

linearity

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

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 instream
Valores de muestra ¿Quién lo determina?
/¿De dónde proviene este valor
?
Objeto
Video mímicas ["application/javascript",
"video/mp4"]",
Google
minduration no Publicador configurado
maxduration Publicador configurado
playbackmet
hod
[6] Por lo general, el publicador
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 jugador 225,300,153 Google
retraso de inicio 0 Google, 5 s predeterminados
omitir 1 El publicador o Google
- para los anuncios intersticiales => Google
- para los anuncios in-stream => El publicador
decide si permite
anuncios que se pueden omitir, que no se pueden omitir o ambos.
Anuncios recompensados, que siempre son no omitibles
tasa de bits mínima No Google
tasa de bits máxima no Google
pos 1 Google
Dispositivo
Proporción de px 1 Google
impresión
Seguro 1 Google
es predeterminado como
verdadero porque el ID del anuncio siempre es
seguro.