Anúncios em vídeo

Com o lançamento do suporte a anúncios em vídeo, os compradores podem comprar inventário de vídeo por meio do Authorized Buyers. Neste documento, descrevemos os requisitos de integração para comprar por RTB usando o protocolo do Authorized Buyers. Para informações sobre os protocolos disponíveis, consulte a seção Selecionar um protocolo do Guia explicativo.

Os compradores podem comprar inventário de vídeo em várias posições, atualmente in-stream e intersticial. Consulte Anúncios intersticiais para saber mais detalhes.

Requisitos do comprador

Os novos compradores de RTB precisam desenvolver os bidders usando o buffer de protocolo mais recente e as informações descritas nas seções a seguir. Para fazer o download do protocolo, consulte a página de dados de referência dos lances em tempo real. Para informações sobre como desenvolver um bidder, consulte Processar a solicitação e Criar a resposta.

Macros com suporte

As seguintes macros são compatíveis com criativos de vídeo in-stream:

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

Macros de cliques (como CLICK_URL_ESC) não são necessárias porque o Authorized Buyers inclui rastreadores de cliques em um wrapper VAST. Portanto, as macros de clique não são compatíveis com anúncios em vídeo in-stream. Para mais informações sobre macros compatíveis, consulte Especificar macros em Criar a resposta.

Detalhes da frase de destaque

O protocolo de lances em tempo real usa uma mensagem de vídeo, definida no arquivo real-time-bidding-proto.txt, para identificar solicitações de vídeo e fornecer outras informações específicas de vídeo sobre a solicitação.

A lista de campos a seguir na mensagem de vídeo aninhada também fornece descrições e exemplos detalhados:

description_url

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
EndCapSupport
Quando ativado, o anúncio complementar pode ser escolhido para ser renderizado como uma imagem final (card de informações) no espaço de vídeo após a reprodução do anúncio em vídeo.
END_CAP_NOT_ENABLED O anúncio complementar não é renderizado como imagem final.
END_CAP_OPTIONAL O limite final será renderizado se a resposta tiver um banner complementar qualificado, mas o banner complementar não for obrigatório.
END_CAP_FORBIDDEN Uma resposta com um anúncio complementar é filtrada.
END_CAP_REQUIRED Uma resposta sem um anúncio complementar é filtrada.
is_embedded_offsite
Se definido como true, o vídeo será incorporado a páginas fora do domínio do editor.
is_rewarded
Se definido como true, indica que o usuário recebe um prêmio por assistir o anúncio em vídeo. Alguns prêmios comuns são ler um artigo extra sem custo financeiro, ganhar uma vida extra em um jogo ou ter uma sessão de música patrocinada sem anúncios.
max_ad_duration

A duração máxima permitida para o anúncio retornado em milissegundos. Quando definida como 0, não há uma duração máxima.

max_ads_in_pod
É o número máximo de anúncios em um conjunto de vídeo do Authorized Buyers. Um valor diferente de zero indica que o espaço de anúncio atual é um conjunto de vídeos que pode exibir vários anúncios em 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 excedê-lo.
min_ad_duration
Duração mínima em milissegundos do anúncio que você precisa retornar. Se esse valor não for definido ou tiver um valor menor ou igual a zero, não haverá duração mínima.
Placement
Descreve onde o vídeo será reproduzido.
UNKNOWN_PLACEMENT A posição é desconhecida ou indeterminada.
INSTREAM In-stream significa que o anúncio é reproduzido antes, durante ou depois de outro conteúdo em vídeo. É semelhante a um comercial de TV tradicional. O conteúdo em vídeo que o usuário está assistindo não é reproduzido durante a reprodução do anúncio.
INTERSTITIAL Intersticial significa que o anúncio em vídeo é exibido antes de um conteúdo que não é de vídeo (por exemplo, um artigo de notícias ou videogame). O anúncio cobre todo ou quase todo o espaço na tela ocupado pelo conteúdo, e o usuário não consegue avançar até que o anúncio seja concluído ou ignorado.
IN_FEED O formato de vídeo In-feed é um criativo em vídeo que aparece quando o usuário navega por um feed de conteúdo, normalmente um feed de apps de redes sociais, uma matéria etc. O vídeo é renderizado no feed principal e na visão e no fluxo de leitura do usuário. O vídeo não é renderizado na lateral como um vídeo em banner.
skippable_max_ad_duration
Duração máxima em milissegundos do anúncio que você precisa retornar se for pulável. Geralmente, esse valor é diferente da duração máxima permitida para anúncios não puláveis. Se esse campo não for definido ou tiver um valor menor ou igual a zero, qualquer duração será permitida.
VideoPlaybackMethod
Descreve como reproduzir o anúncio em vídeo. O método de reprodução é determinado como de reprodução automática ou clique para ver com base na melhor medição disponível.
AUTO_PLAY_SOUND_ON significa que o anúncio é reproduzido automaticamente com o som ativado.
AUTO_PLAY_SOUND_OFF significa que o anúncio é reproduzido automaticamente com o som desligado.
CLICK_TO_PLAY significa que o anúncio não é reproduzido até que seja clicado.
video_ad_skippable
É um valor de SkippableBidRequestType que contém um dos seguintes valores:
ALLOW_SKIPPABLE significa que anúncios puláveis e não puláveis são permitidos.
REQUIRE_SKIPPABLE significa que apenas anúncios puláveis podem ser retornados.
BLOCK_SKIPPABLE significa que apenas anúncios não puláveis podem ser retornados.

O padrão se este campo não estiver definido é permitir anúncios puláveis.

videoad_start_delay

Tempo em milissegundos desde o início do vídeo até o momento em que o anúncio é exibido. 0 significa anúncio precedente e -1 significa anúncio final. Quaisquer outros valores positivos indicam que o slot está no meio do vídeo.

O valor será válido somente se esse parâmetro for definido. Quando não definido, a posição de exibição é desconhecida.

Esses indicadores não são exclusivos dos criativos de vídeo, mas são especialmente valiosos para os bidders lerem:

advertising_id
Este campo é um UUID de 16 bytes definido apenas quando SSL é usado. Esta é a versão não criptografada do encrypted_advertising_id. Para dispositivos iOS, ele contém o identificador para anunciantes (IDFA). Para dispositivos Android, ele contém o identificador Android (ADID). Para dispositivos de smart TV, ele contém os identificadores exclusivos (por exemplo, o RIDA do Roku).
device_type
Especifica o tipo de dispositivo.
UNKNOWN_DEVICE é o valor padrão para esse campo.
HIGHEND_PHONE inclui celulares com recursos de vídeo.
TABLET inclui tablets.
PERSONAL_COMPUTER inclui computadores e laptops.
CONNECTED_TV Inclui smart TVs (ou seja, smart TVs) e dispositivos conectados (como Roku, Apple TV e assim por diante).
GAME_CONSOLE inclui dispositivos dedicados para jogos.
brand
Especifica a marca do dispositivo (por exemplo, Nokia ou Samsung). Este campo é opcional e não é especificado por padrão.
model
Especifica o modelo exato (como N70 ou Galaxy) do dispositivo. Este campo é opcional e não é especificado por padrão.
screen_orientation
Especifica a orientação do dispositivo quando a solicitação de anúncio é enviada. Os valores válidos são LANDSCAPE, PORTRAIT e UNKNOWN_ORIENTATION.
viewability
Fornece uma estimativa da probabilidade de visualização do slot para o usuário final com base na frequência com que ele esteve visível no passado. Expressa como uma porcentagem no intervalo de [0, 100]. O valor padrão -1 indica que os dados históricos de visibilidade não estão disponíveis.
content_attributes.duration_seconds
Por quantos segundos (por exemplo, 200) o vídeo é exibido. Isso é declarado na mensagem ContentAttributes. Ele é definido como o valor 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 setor, fornecedores permitidos e 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 AdSlot de uma solicitação de vídeo correspondem ao tamanho do player de anúncio em vídeo.

allowed_vendor_type
O fornecedor permitido. Consulte o arquivo vendors.txt na documentação técnica para uma lista de IDs. Por exemplo, 309 = Unidade de vídeo do DFA.
allowed_video_formats
Descreve as tecnologias de vídeo permitidas para anúncios veiculados em resposta a essa solicitação. A resposta deve indicar suporte para pelo menos uma delas. Os valores para este campo repetido são provenientes da enumeração VideoFormat:
VIDEO_FLASH Permite vídeos usando o formato Vídeo em Flash (FLV).
VIDEO_HTML5 Permite vídeos no formato de vídeo HTML5.
VPAID_FLASH Permite vídeos usando o formato de vídeo Flash Definição de interface de veiculação de anúncios no player de vídeo (VPAID).
VPAID_JS Permite vídeos usando o formato de vídeo VPAID JavaScript.
companion_slot
Esse campo representa uma mensagem de CompanionSlot que inclui os seguintes campos:
height As alturas disponíveis para o espaço.
width As larguras disponíveis para o espaço.
CreativeFormat O formato do criativo representa os formatos possíveis para o criativo no espaço complementar.
url

É o URL da página de exibição do vídeo ou o URL 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 no campo video_url. A resposta do lance também precisa conter a declaração adequada para o anúncio em vídeo. Veja abaixo o trecho de uma resposta de lance de vídeo adequada:

protocol_version: 1
  ad {
    adslot {
      id: 1
      max_cpm_micros: 50000000
    }
    click_through_url: "http://google.com/"
    video_url: "http://ad.doubleclick.net/pfadx/N270.132652.1516607168321/
    B3442378.3;dcadv=1379578;sz=0x0;ord=79879;dcmt=text/xml"
  }

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

attribute
Todos os atributos dos anúncios que podem ser mostrados neste snippet. Consulte o arquivo buyer-declarable-creative-attributes.txt para ver a lista de IDs. Verificamos se nenhum desses atributos está na lista excluded_attribute da solicitação de lance. Defina este campo somente se um snippet HTML ou anúncio em vídeo for retornado. Por exemplo, definir esse campo como 30 indica que o anúncio exige compatibilidade com VPAID para ser renderizado.
protocol
Descreve as versões VAST compatíveis de um editor para solicitações de anúncios em vídeo, permitindo anúncios VAST até a versão especificada. Contém uma matriz de protocolos de anúncios em vídeo compatíveis. Isso corresponde ao comportamento no OpenRTB 2.4. Os seguintes valores são possíveis: VAST_2_0, VAST_3_0, VAST_2_0_WRAPPER, VAST_3_0_WRAPPER, VAST_4_0 e VAST_4_0_WRAPPER.
video_url
É 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

Pré-segmentação

Para receber inventário de vídeo, os compradores de RTB precisam ter uma configuração de pré-segmentação para RTB que inclua inventário de vídeo.

Exemplos de solicitações e respostas de lance

Formatos de vídeo do AdX

Como os compradores podem incluir anúncios

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

Web

Criativo de vídeo In-stream (todos) No feed/artigo In-feed/artigo nativo Intersticial No banner

VPAID + VAST

 

VAST

 

MRAID + JavaScript

 

 

 

 

 

JavaScript personalizado

 

Nativo + VAST

 

App para dispositivos móveis

Criativo de vídeo In-stream (todos) No feed/artigo In-feed/artigo nativo Intersticial No banner

VPAID + VAST

 

 

 

 

 

VAST

MRAID + JavaScript

JavaScript personalizado

Nativo + VAST

Chave: Formato/tecnologia não disponível

O criativo de vídeo é aceito nesta posição, sujeito aos bloqueios do editor

O criativo de vídeo não está 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 na Web para computadores e dispositivos móveis e em apps para dispositivos móveis.

Web para computadores e dispositivos móveis

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

In-stream (VPAID)

Objeto VIDEO presente   &
video.placement = INSTREAM   &


In-stream (sem VPAID)

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


Out-stream

Objeto VIDEO presente

video.linearity: linear
o posicionamento depende do
posicionamento real, valores como abaixo
Video.startdelay = 0


In-feed

Objeto VIDEO presente   &
video.placement = IN-FEED


In-article

Objeto VIDEO presente   &
video.placement = IN-ARTICLE


Nativo

Objeto NATIVO presente e


No banner

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


App para dispositivos móveis

Formato Detalhes da solicitação de lance (somente os detalhes relevantes ao vídeo)

In-stream

Objeto VIDEO presente   &
video.placement = INSTREAM    &

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

Out-stream

Objeto VIDEO presente

video.linearity: linear
o posicionamento depende do
posicionamento real, valores como abaixo
Video.startdelay = 0


In-feed

Objeto VIDEO presente   &
video.placement = IN-FEED


In-article

Objeto VIDEO presente   &
video.placement = IN-ARTICLE


Nativo

Objeto NATIVO presente e


Intersticial (VAST)

Objeto VIDEO presente   &
video.placement = INTERSTITIAL


Intersticial (sem VAST)

Objeto VIDEO presente   &
video.placement = INTERSTITIAL

Filtrado

No banner (MRAID)

Objeto de vídeo ausente e
banner.battr ≠ 6 Vídeo em banner (reprodução automática) e
banner.battr ≠ 7 Vídeo em banner (iniciado pelo usuário)


No banner

(sem MRAID)

Objeto de vídeo ausente e
banner.battr ≠ 6 Vídeo em banner (reprodução automática) e
banner.battr ≠ 7 Vídeo em banner (iniciado pelo usuário)


Indicadores recomendados do .proto do AdX

As tabelas a seguir ilustram os indicadores recomendados no Authorized Buyers para todos os formatos de vídeo da Web para computadores e dispositivos móveis e para apps para dispositivos móveis.

Web para computadores e dispositivos móveis

Formato Indicadores relevantes para o vídeo recomendados Indicadores relevantes ao vídeo relacionado

In-stream (VPAID)

Mensagem de VÍDEO presente   &
placement = INSTREAM    &
Allowed_video_formats = VPAID_JS

Allowed_video_formats = VIDEO_HTML5
Allowed_ad_types = VIDEO

In-stream (sem VPAID)

Mensagem de VÍDEO presente   &
placement = INSTREAM    &
Allowed_video_formats ≠ VPAID_JS

Allowed_video_formats = VIDEO_HTML5   &
excluded_attribute = 30 InstreamVastVideoType: Vpaid
Allowed_ad_types = VIDEO

In-feed

Mensagem de VÍDEO presente   &
placement = IN-FEED

Allowed_video_formats = VIDEO_HTML5   &
excluded_attribute = 30 InstreamVastVideoType: Vpaid
Allowed_ad_types = VIDEO

In-article

Mensagem de VÍDEO presente   &
placement = IN-ARTICLE

Allowed_video_formats = VIDEO_HTML5   &
excluded_attribute = 30 InstreamVastVideoType: Vpaid
Allowed_ad_types = VIDEO

Nativo

Mensagem NATIVE presente   &
VIDEO = 000x000 na mensagem nativa

Allowed_ad_types = NATIVE

No banner

excluded_attribute ≠ 95 VideoType: vídeo em banner (bloqueado pelo editor)

Allowed_ad_types = BANNER

App para dispositivos móveis

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

Formato Detalhes da solicitação de lance relevante para o vídeo Indicadores relacionados relevantes ao vídeo

In-stream

Mensagem de VÍDEO presente
placement = INSTREAM

Allowed_video_formats = VIDEO_HTML5
excluded_attribute = 30 InstreamVastVideoType: Vpaid
Allowed_ad_types = VIDEO

In-feed

Mensagem de VÍDEO presente   &
placement = IN-FEED

Allowed_video_formats = VIDEO_HTML5   &
excluded_attribute = 30 InstreamVastVideoType: Vpaid
Allowed_ad_types = VIDEO

In-article

Mensagem de VÍDEO presente   &placement = IN-ARTICLE

Allowed_video_formats = VIDEO_HTML5   &
excluded_attribute = 30 InstreamVastVideoType: Vpaid
Allowed_ad_types = VIDEO

Nativo

Mensagem NATIVE presente   &
VIDEO = 000x000 na mensagem nativa

Allowed_ad_types = NATIVE

Intersticial

Mensagem de VÍDEO presente   &
placement = INTERSTITIAL   &

Allowed_video_formats = VIDEO_HTML5   &
excluded_attribute = 30 InstreamVastVideoType: Vpaid
Allowed_ad_types = VIDEO

No banner (MRAID)

excluded_attribute ≠ 95 VideoType: In-Banner Video (Publisher Blockable)  &
excluded_attribute ≠ 32 MraidType: MRAID

Allowed_video_formats = VIDEO_HTML5   &
excluded_attribute = 30 InstreamVastVideoType: Vpaid
Allowed_ad_types = BANNER

No banner

(sem MRAID)

excluded_attribute ≠ 95 VideoType: In-Banner Video (Publisher Blockable)  &
excluded_attribute = 32 MraidType: MRAID

Allowed_video_formats = VIDEO_HTML5   &
excluded_attribute = 30 InstreamVastVideoType: Vpaid
Allowed_ad_types = BANNER

Como os editores podem permitir/proibir vídeos

As tabelas a seguir ilustram como os editores podem permitir/proibir vídeos nas posições e como eles aparecem na solicitação de lance para OpenRTB e AdX Proto.

OpenRTB

Opção do editor Formatos aplicáveis Descrita na solicitação de lance como

Especificar uma unidade para vídeo in-stream

In-stream (todos)

Objeto de vídeo presente e
video.placement = INSTREAM

Ativar VPAID

Web in-stream

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 (iniciado pelo usuário)

Ativar o out-stream (instructions)

In-feed

In-article

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

Ativar o out-stream (instructions)

Nativo

Objeto nativo presente

Bloquear intersticial em vídeo

App intersticial

Objeto VIDEO ausente

Protocolo do AdX

Opção do editor Formatos aplicáveis Descrito na solicitação de lance como Configuração padrão

Especificar uma unidade para vídeo in-stream

In-stream (todos)

Mensagem de vídeo presente e
placement = INSTREAM

N/A

Ativar VPAID

Web in-stream

Mensagem de vídeo presente e
Allowed_video_formats = VPAID_JS &

excluded_attribute ≠ 30 InstreamVastVideoType: Vpaid

Desativado

Ativar o IBV

No banner

Intersticial

excluded_attribute ≠ 95 VideoType: In-Banner Video (Publisher Blockable)

Desativado

Ativar o out-stream (instructions)

In-feed

In-article

Mensagem de vídeo presente e
Allowed_video_formats = VIDEO_HTML5 &
placement = IN-FEED or IN-ARTICLE

Desativado

Ativar o out-stream (instructions)

Nativo

Mensagem NATIVE presente e

VIDEO = 000x000 na mensagem nativa

Desativado

Bloquear intersticial em vídeo

App intersticial

Mensagem de VÍDEO ausente e
excluded_attribute = 30 InstreamVastVideoType: Vpaid

Ativado

Casos extremos

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

1

Fechamento personalizado atrasado com o MRAID

No caso de intersticiais, o fechamento do anúncio pode enviar uma notificação ao comprador usando o MRAID, mesmo que ele não use o fechamento personalizado.


O X do AdX aplicado sempre aparece acima de qualquer fechamento personalizado, mesmo que ele apareça abaixo de cinco segundos


Glossário

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

Campos do AdX e OpenRTB nos formatos In-stream e out-stream

Protocolo do AdX

BidRequest.Video.
Placement
In-stream mWeb

0: UNKNOWN_PLACEMENT
1: INSTREAM

mApp

0: UNKNOWN_PLACEMENT
1: INSTREAM

Out-stream mApp Interstitial

2: INTERSTITIAL

Native

3: IN_FEED
5: IN_ARTICLE

Rewarded

is_rewarded

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

Out-stream Rewarded

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

Protocolo do OpenRTB

Consulte 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

Out-stream mApp Interstitial

5: intersticial

Native

3: In-article
4: In-feed

Rewarded

is_rewarded_inventory: booleano da extensão do OpenRTB

linearity

Indica se a impressão precisa ser linear, não linear etc. Se nenhum for especificado, presuma que todas são permitidas.

In-stream mWeb

1: LINEAR (in-stream)

mApp

1: LINEAR (in-stream)

Out-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

Out-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 AdX
/Troca
Lances
Out-stream
Exemplos de valores Quem a determina?
/De onde esse valor deriva de
?
Objeto
Video mímica sim ["application/javascript",
"video/mp4"]",
Google
duração mínima não Configurado pelo editor
Duração máxima sim Configurado pelo editor
padrão de reprodução
sim [6] Editor geralmente
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
atraso do início sim 0 Google, padrão de 5 s
pular sim 1 Editor/Google
- para intersticial => Google
- para in-stream => Editor
decide se quer permitir
puláveis, não puláveis ou ambos.
Anúncios premiados, que não podem ser pulados
taxa de bits mínima Não Google
taxa de bits máxima não Google
pos sim 1 Google
Dispositivo
Proporção Px sim 1 Google
impressão
Seguro sim 1 O Google
usa o valor "true"
porque a adtag é sempre
segura