Anúncios em vídeo

Este guia descreve os requisitos de integração, a configuração e os campos relevantes do protocolo OpenRTB que você pode usar ao dar lances no inventário de vídeo. O protocolo de RTB do Google foi descontinuado e não será o foco deste guia. Para saber mais sobre anúncios em vídeo no protocolo de RTB do Google, consulte o guia de anúncios em vídeo no Google RTB.

O Google aceita anúncios em vídeo in-stream, nativos e intersticiais. Consulte os guias para formatos de anúncio nativo e intersticial para mais detalhes sobre esses formatos.

Requisitos do comprador

Protocolo RTB

Este guia geralmente se refere ao formato Protobuf, mas os nomes e caminhos de campo são equivalentes entre ele e o formato JSON, a menos que indicado de outra forma.

Você pode encontrar o proto do OpenRTB e as extensões do OpenRTB específicas do Google na página Protos e dados de referência. Para mais informações sobre o desenvolvimento de um bidder, consulte Processar a solicitação e Criar a resposta.

Revisão do criativo

O Google recomenda que você envie criativos para aprovação antes de fazer lances com eles. Você pode usar o recurso de criativos da API Real-time Bidding para iniciar o processo de revisão.

Configuração de pré-segmentação

Para receber inventário de vídeo, sua conta do Authorized Buyers precisa criar uma configuração de pré-segmentação que inclua o inventário de vídeo.

Macros

É possível especificar macros no link do URL do vídeo ou no XML VAST especificado em BidResponse.seatbid.bid.adm. Além disso, se você especificar um URL de vídeo, também poderá colocar macros no documento XML VAST vinculado. As seguintes macros são compatíveis com criativos de vídeo:

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

Não é possível usar macros de clique, como CLICK_URL_ESC, porque o Authorized Buyers inclui rastreadores de cliques em um wrapper VAST. Para mais informações sobre macros com suporte, consulte Especificar macros.

Detalhes da frase de destaque

É possível usar o campo BidRequest.imp.video do OpenRTB para identificar se uma solicitação de lance recebida é para inventário de vídeo in-stream ou intersticial e encontrar outras informações específicas sobre o vídeo na solicitação. Além disso, para o inventário de anúncios nativos, você pode usar BidRequest.imp.native.{request/request_native}.assets.video para informações semelhantes específicas do vídeo.

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

O URL, com os parâmetros removidos, da página que descreve o conteúdo do vídeo. O editor envia esse URL ao Google. Exemplo:

http://www.publisher.com/watchpagelink
banner.vcm
Se definido como true, o anúncio complementar pode ser escolhido para renderização como um limite final (card de informações) no espaço do vídeo depois que o anúncio em vídeo terminar de ser reproduzido. Caso contrário, o anúncio complementar não será renderizado como uma imagem final.
BidRequest.imp.rwdd
Se definido como true, indica que o usuário recebe uma recompensa por assistir o anúncio em vídeo. As recompensas típicas podem ser ler um artigo extra sem custo, receber uma vida extra em um jogo ou ter uma sessão de música sem anúncios patrocinada.
BidRequest.imp.video.maxduration

A duração máxima permitida em segundos do anúncio que você precisa retornar. Quando não definido, não há duração máxima. Quando BidRequest.imp.video.skip é true, isso pode ter um comportamento diferente. Consulte Duração máxima de vídeos puláveis para mais detalhes.

BidRequest.imp.video.maxseq

É o número máximo de anúncios no conjunto de vídeos. Se não for definido, o slot de anúncio não vai fazer parte de um bloco de vídeo.

O número real de anúncios em vídeo exibidos pode ser menor ou igual a esse valor, mas não pode exceder esse valor.

BidRequest.imp.video.minduration
A duração mínima em segundos do anúncio que você precisa retornar. Quando desativado, não há duração mínima.
BidRequest.imp.video.plcmt
Descreve onde o vídeo será reproduzido.
PLCMT_UNKNOWN A posição é desconhecida ou indeterminada.
PLCMT_INSTREAM Anúncios precedentes, intermediários e finais que são reproduzidos antes, durante ou depois do conteúdo de vídeo transmitido que o consumidor pediu. O vídeo in-stream precisa estar definido como "com som" por padrão no início do player ou ter a intenção explícita do usuário de assistir o conteúdo do vídeo. Embora possa haver outro conteúdo em torno do player, o conteúdo do vídeo precisa ser o foco da visita do usuário. Ele precisa permanecer como o conteúdo principal da página e o único player de vídeo em exibição capaz de reproduzir áudio. Se o player for convertido em flutuante/fixo, as chamadas de anúncios subsequentes vão transmitir corretamente o tamanho atualizado do player.
PLCMT_ACCOMPANYING_CONTENT Anúncios precedentes, intermediários e finais que são reproduzidos antes, durante ou após o conteúdo de streaming de vídeo. O player de vídeo carrega e é reproduzido antes, entre ou depois de parágrafos de texto ou conteúdo gráfico e só começa a ser reproduzido quando entra na viewport. O conteúdo complementar só pode começar a ser reproduzido ao entrar na janela de visualização. Ele pode ser convertido em um player flutuante/fixo à medida que rola para fora da página.
PLCMT_INTERSTITIAL Anúncios em vídeo que são reproduzidos sem conteúdo de vídeo. Durante a reprodução, ele precisa ser o foco principal da página e ocupar a maior parte da janela de visualização. Ele não pode ser rolado para fora da tela. Isso pode ser em posições como vídeos no app ou apresentações de slides.
PLCMT_NO_CONTENT_STANDALONE Anúncios em vídeo que são reproduzidos sem streaming de conteúdo de vídeo. Isso pode ser em posições como apresentações de slides, feeds nativos, no conteúdo ou fixos/flutuantes.
BidRequest.imp.video.playbackmethod
Descreve como reproduzir o anúncio em vídeo. O método de reprodução é determinado como reprodução automática ou clique para abrir com base na melhor medição disponível.
AUTO_PLAY_SOUND_ON Inicia no carregamento da página com o som ativado.
AUTO_PLAY_SOUND_OFF Inicia no carregamento da página com o som desligado.
CLICK_TO_PLAY Inicia com um clique e o som ativado.
MOUSE_OVER Inicia com som ao passar o cursor.
ENTER_SOUND_ON É iniciado ao entrar na viewport com o som ativado.
ENTER_SOUND_OFF Inicia a entrada na janela de visualização com o som desativado por padrão.
BidRequest.imp.video.skip
Se true, indica que o player permite que o vídeo seja pulado ou que os anúncios puláveis sejam permitidos. Caso contrário, indica que os anúncios puláveis não são permitidos.
BidRequest.imp.video.startdelay

Um valor de 0 significa anúncio precedente, -1 significa anúncio intermediário e -2 significa anúncio final.

Qualquer outro valor positivo é o tempo em segundos do início do vídeo até o ponto em que o anúncio é exibido.

Esses indicadores não são exclusivos dos criativos em vídeo, mas são particularmente valiosos para os bidders:

BidRequest.device.ifa
Este campo é um UUID de 36 caracteres que é definido apenas ao usar SSL e não é gerado por hash. É a versão não criptografada de BidRequest.device.dpidm5. Para dispositivos iOS, ele contém o identificador para anunciantes (IDFA) em todos os caracteres maiúsculos. Para dispositivos Android, ele contém o identificador do Android (ADID) em todos os caracteres em minúsculas. Para dispositivos de TV conectada, ele contém os identificadores exclusivos (por exemplo, RIDA do Roku).
BidRequest.device.devicetype
Especifica o tipo de dispositivo.
MOBILE Um alias obsoleto para HIGHEND_PHONE ou TABLET.
PERSONAL_COMPUTER Inclui dispositivos de computador e laptop.
CONNECTED_TV inclui TVs conectadas (ou seja, smart TVs) e dispositivos conectados (como Roku, Apple TV etc.).
HIGHEND_PHONE Inclui dispositivos de smartphone de última geração.
TABLET Inclui dispositivos tablet.
CONNECTED_DEVICE Inclui dispositivos de jogos dedicados.
SET_TOP_BOX Inclui dispositivos de conversor.
OOH_DEVICE Inclui dispositivos de publicidade out of home, como outdoors digitais.
BidRequest.device.make
Especifica a marca (como Nokia ou Samsung) do dispositivo.
BidRequest.device.model
Especifica o modelo exato (por exemplo, N70 ou Galaxy) do dispositivo, se disponível. Caso contrário, contém um modelo genérico, como "iphone" ou "ipad".
BidRequest.imp.metric
Quando Metric.type é definido como completion_rate, Metric.value é uma fração no intervalo [0,0, 1,0] que representa a taxa de conclusão histórica dos anúncios em vídeo veiculados no espaço do anúncio. O valor padrão de -1.0 indica que os dados históricos da taxa de conclusão não estão disponíveis.
BidRequest.imp.video.poddur
O tempo em segundos de todo o intervalo de anúncio, incluindo todos os slots que compõem o conjunto. Esse valor é definido como o especificado nos metadados do vídeo fornecidos pelo editor.

A solicitação de lance de vídeo também contém informações sobre o inventário, como a vertical, os fornecedores permitidos e as informações do canal. Todos os outros campos na solicitação de lance também se aplicam ao vídeo.

Os campos de largura e altura na mensagem do AdSlot de uma solicitação de vídeo correspondem ao tamanho do player de anúncios em vídeo.

BidRequest.imp.ext.allowed_vendor_type
Os fornecedores permitidos. Consulte o arquivo vendors.txt na documentação técnica para conferir uma lista de IDs. Por exemplo, 309 = unidade de vídeo da DFA.
BidRequest.imp.video.mimes
Uma lista de permissões que descreve os tipos MIME de conteúdo aceitos para anúncios veiculados em resposta à solicitação de lance. Por exemplo, "video/mp4". A resposta do lance precisa indicar compatibilidade com pelo menos uma delas.
BidRequest.imp.video.protocols
Descreve as versões VAST com suporte de um editor para solicitações de anúncios em vídeo. Contém uma matriz de valores de tipo enumerado Protocol, incluindo: VAST_2_0, VAST_3_0, VAST_2_0_WRAPPER, VAST_3_0_WRAPPER, VAST_4_0, VAST_4_0_WRAPPER e muito mais.
BidRequest.imp.video.companionad
Esse campo inclui uma matriz de objetos Banner que representam anúncios complementares, se disponíveis.
BidRequest.site.page

O URL da página de exibição do vídeo ou da página em que o vídeo foi incorporado. Exemplo:

http://www.publisher.com/watchpagelink

Ao responder a uma solicitação de vídeo, o bidder precisa retornar um URL de redirecionamento VAST ou um XML VAST no campo BidResponse.seatbid.bid.adm. A resposta do lance também precisa conter a declaração adequada para o anúncio em vídeo. Confira a seguir um exemplo de resposta de lance de vídeo:

id: "cRPF1960K8WH788KM8ZT5k"
seatbid {
  bid {
    id: "99862J52T2r9f8n6hzY"
    impid: "1"
    price: 0.2873480215418293
    adid: "test_creative_id_958969"
    adm: "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%"
    adomain: "google.com"
    cid: "80831705186"
    crid: "test_creative_id_958969"
    w: 480
    h: 854
  }
  seat: "5731:4728:218110"
}
bidid: "dR2wx766-444e907U-Xpv0-634m58Wa5V73"
cur: "USD"

Os campos importantes em uma resposta de lance de vídeo são os seguintes:

BidResponse.seatbid.bid.ext.attribute
Atributos dos anúncios que podem ser mostrados neste snippet. Consulte o arquivo buyer-declarable-creative-attributes.txt para conferir a lista de IDs. Verificamos se nenhum desses atributos corresponde aos que foram proibidos pelo editor na solicitação de lance. Por exemplo, definir se um dos campos inclui 30, o que indica que o anúncio precisa de suporte ao VPAID para renderização.
BidResponse.seatbid.bid.adm

Para anúncios em vídeo, esse é o URL de redirecionamento VAST do anúncio em vídeo. Por exemplo:

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

Como alternativa, pode ser um XML VAST bruto.

Exemplos de solicitações e respostas de lances

Formatos de vídeo

Como os compradores podem incluir vídeos

As tabelas a seguir ilustram as maneiras como os compradores podem incluir vídeo nos criativos e nas posições em que podem ser veiculados para Web e apps para dispositivos móveis, respectivamente.

Web

Criativo de vídeo In-stream (todas) In-feed/article Nativo no feed/artigo Intersticial No banner

VPAID + VAST

 

VAST

 

MRAID + JS

 

 

 

 

 

JS personalizado

 

Nativo + VAST

 

App para dispositivos móveis

Criativo de vídeo In-stream (todas) In-feed/article Nativo no feed/artigo Intersticial No banner

VPAID + VAST

 

 

 

 

 

VAST

MRAID + JS

JS personalizado

Nativo + VAST

Chave: Formato/tecnologia não disponível

Criativo em vídeo aceito nesta posição, sujeito a bloqueios do editor

Criativo de vídeo não disponível nesta posição

Indicadores recomendados do OpenRTB

As tabelas a seguir ilustram os indicadores recomendados do OpenRTB para todos os formatos de vídeo em Web para computadores e dispositivos móveis e apps para dispositivos móveis.

Web para computadores e dispositivos móveis

Formato de vídeo Indicadores recomendados (somente indicadores relevantes para vídeos) Indicadores relacionados (somente indicadores relevantes para vídeos)

In-stream (VPAID)

Objeto de VÍDEO presente   &
video.placement = INSTREAM   &


In-stream (sem VPAID)

Objeto de VÍDEO presente   &
video.placement = INSTREAM    &
video.api = 1 VPAID 1.0 or 2:VPAID 2.0


Não in-stream

Objeto VIDEO presente

A posição video.linearity: linear
depende da posição
real, os valores são como abaixo
Video.startdelay = 0


In-feed

Objeto de VÍDEO presente   &
video.placement = IN-FEED


No artigo

Objeto de VÍDEO presente   &
video.placement = IN-ARTICLE


Nativo

Objeto NATIVE presente e


Em banner

O objeto de vídeo não está presente &
banner.battr ≠ 6 Vídeo em banner (reprodução automática) &
banner.battr ≠ 7 Vídeo em banner (iniciado pelo usuário)


App para dispositivos móveis

Formato de vídeo Detalhes do pedido de lance (apenas os detalhes relevantes para o vídeo)

In-stream

Objeto de VÍDEO presente   &
video.placement = INSTREAM    &

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

Não in-stream

Objeto VIDEO presente

A posição video.linearity: linear
depende da posição
real, os valores são como abaixo
Video.startdelay = 0


In-feed

Objeto de VÍDEO presente   &
video.placement = IN-FEED


No artigo

Objeto de VÍDEO presente   &
video.placement = IN-ARTICLE


Nativo

Objeto NATIVE presente e


Intersticial (VAST)

Objeto de VÍDEO presente   &
video.placement = INTERSTITIAL


Intersticial (sem VAST)

Objeto de VÍDEO presente   &
video.placement = INTERSTITIAL

Filtrado

Em banner (MRAID)

O objeto de vídeo não está presente &
banner.battr ≠ 6 Vídeo em banner (reprodução automática) &
banner.battr ≠ 7 Vídeo em banner (iniciado pelo usuário)


No banner

(sem MRAID)

O objeto de vídeo não está presente &
banner.battr ≠ 6 Vídeo em banner (reprodução automática) &
banner.battr ≠ 7 Vídeo em banner (iniciado pelo usuário)


Como os editores podem permitir/proibir vídeos

A tabela a seguir ilustra como os editores podem permitir/proibir vídeos nas posições.

Opção de pub Formatos aplicáveis Descrito na solicitação de lance como

Especificar uma unidade de vídeo In-stream

In-stream (todas)

Objeto em vídeo presente &
video.placement = INSTREAM

Ativar o VPAID

In-stream na Web

Objeto de vídeo presente e
video.api = 1 (VPAID 1.0) ou 2 (VPAID 2.0)

Ativar o IBV

No banner

Intersticial

banner.battr ≠ 6 Vídeo em banner (reprodução automática) e/ou 7 Vídeo em banner (iniciativa do usuário)

Ativar (instruções)

In-feed

No artigo

Objeto de vídeo presente &
video.placement = IN-FEED ou IN-ARTICLE

Ativar os anúncios não in-stream (instruções)

Nativo

Objeto nativo presente

Intersticial em vídeo de bloqueio

App intersticial

O objeto VIDEO não está presente

Casos extremos

# Descrição do caso Comentários Solicitação de lance

1

Fechamento personalizado atrasado usando MRAID

Para os intersticiais, o fechamento do anúncio pode enviar uma notificação ao comprador usando MRAID, mesmo que ele não tenha usado o fechamento personalizado.


O X aplicado por compradores autorizados vai aparecer sempre acima de qualquer fechamento personalizado, mesmo que ele apareça abaixo após 5 segundos


Glossário

Consulte o glossário de vídeo do Authorized Buyers.

Campos relevantes para formatos in-stream e não in-stream

Consulte o OpenRTB 2.5 (a partir da página 47)

BidRequest.Video.
Placement
In-stream mWeb

1: In-stream
2: In-banner

mApp

1: In-stream
2: In-banner

Não in-stream mApp Interstitial

5: intersticial

Native

3: In-article
4: In-feed

Rewarded

is_rewarded_inventory: extensão do OpenRTB booleano

linearity

Indica se a impressão precisa ser linear, não linear etc. Se nenhuma for especificada, considere que todas são permitidas.

In-stream mWeb

1: LINEAR (in-stream)

mApp

1: LINEAR (in-stream)

Não 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

Não in-stream Rewarded

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

Origem do valor da solicitação de lance

Objeto
do OpenRTB
Campos Authorized Buyers
/Exchange
Lances
Não in-stream
Amostras de valores Quem determina isso?
/De onde vem esse valor
?
Objeto
Vídeo mimes sim ["application/javascript",
"video/mp4"]",
Google
minduration não Editor configurado
maxduration sim Editor configurado
playbackmet
hod
sim [6] Normalmente, o editor
Configurado
api (MRAID) sim [1,2] Google
protocolos sim [2,3,5,6,7,8] Google
linearidade sim [1] Google
posição sim [1] Google
largura do player sim 400,400,300 Google
altura do player sim 225.300.153 Google
início do atraso sim 0 Google, padrão de 5 segundos
pular sim 1
do editor/Google - para intersticiais =>
do Google - para in-stream =>
do editor decide se permite
pulável, não pulável ou ambos.
Anúncios premiados, sempre não puláveis;
taxa de bits mínima Não Google
taxa de bits máxima não Google
pos sim 1 Google
Dispositivo
Px ratio sim 1 Google
impressão
Seguro sim 1 O Google
é padrão verdadeiro
porque a adtag é sempre
segura