Especificação do DV360 OpenRTB

Tenha a especificação do OpenRTB 2.6 disponível ao consultar esta página.

O Display & Video 360 não é compatível com todos os campos da especificação OpenRTB, e nuances podem ser aplicadas. Algumas seções deste documento contêm informações e recomendações específicas para a implementação do Display & Video 360. Você também precisa seguir as diretrizes apresentadas na especificação OpenRTB, a menos que seja instruído de outra forma.

Alguns campos não são compatíveis, mas ainda são analisados. Esses campos precisam ser formatados corretamente, mas não afetam o resultado do lance.

Especificação da solicitação de lance

Uma solicitação de bid é uma solicitação HTTP POST com um corpo de um objeto de solicitação de bid. O formato do corpo é definido no cabeçalho Content-Type.

A resposta correspondente é um HTTP 204 sem corpo para um não lance ou um HTTP 200 com um corpo de uma resposta de lance.

Se uma solicitação de lance estiver malformada, um HTTP 200 com um corpo de uma resposta de lance com o campo nbr preenchido poderá ser retornado.

O formato da resposta é controlado pelo cabeçalho Accept.

Formato JSON

O formato padrão é usado quando nenhum tipo MIME aceito é fornecido.

As solicitações e respostas JSON seguem a especificação OpenRTB 2.6 do IAB. A documentação a seguir descreve as extensões e o suporte a campos.

O cabeçalho Content-Type: application/json indica uma solicitação de lances JSON, Accept: application/json indica que as respostas de lances devem estar no formato JSON.

Formato Protobuf

OBSERVAÇÃO: o suporte ao Protobuf está na versão Beta. Entre em contato com o DV360 se tiver interesse.

As solicitações e respostas JSON seguem a especificação Protobuf 2.6 do OpenRTB da IAB.

As extensões têm suporte limitado. Entre em contato com o DV360 se tiver interesse.

Envie o cabeçalho Content-Type: application/x-protobuf para indicar uma solicitação de bid do Protobuf e defina Accept: application/x-protobuf para receber respostas de bid do Protobuf.

Objeto de solicitação de lance

Campo Tipo Detalhes
id String Obrigatório.
ID exclusivo da solicitação de lance. Isso pode ser usado para identificar solicitações individuais por um período muito limitado após a veiculação.
imp Matriz de impressões É necessário ter pelo menos um objeto imp.

Para pods de áudio, mais de um objeto imp é aceito.
Para outros casos de uso (por exemplo, vários slots independentes na página), o primeiro objeto imp é usado, e o restante é descartado.

site Site Obrigatório para solicitações de sites.
site e app são mutuamente exclusivos.
app App Obrigatório para solicitações de apps.
app e site são mutuamente exclusivos.
device Dispositivo Obrigatório.
user Usuário Obrigatório.
test Número inteiro Incompatível.
at Número inteiro 1: leilão de primeiro preço em que o anunciante paga o valor do lance.
2 (padrão): leilão de segundo preço em que o anunciante paga um valor um pouco acima do segundo maior bidder.
3: o preço mínimo está na solicitação e não tem relação com lances concorrentes.
tmax Número inteiro Opcional. O padrão é personalizado por integração.
wseat Matriz de strings Lista de licenças por usuário de compradores permitidas.
Recomendado, a menos que todos os anunciantes possam fazer lances.
"Não definido" implica que não há restrições.
bseat Matriz de strings Lista de assentos de comprador cujos lances precisam ser bloqueados. Os compradores listados serão impedidos de dar lances em transações e leilões abertos.
allimps Número inteiro Incompatível.
cur Matriz de strings

Opcional, mas altamente recomendado. O padrão é por integração.

A moeda na solicitação de lance precisa corresponder a uma das moedas registradas durante a integração.

É altamente recomendável oferecer suporte a uma única moeda por bolsa.
wlang Matriz de strings Incompatível.
bcat Matriz de strings Categorias de anunciantes bloqueadas usando as categorias de conteúdo da IAB.
"Não definido" significa que não há categorias bloqueadas.
badv Matriz de strings Especifique o anunciante bloqueado com base no domínio fornecido por ele.
"Unset" significa "nenhum anunciante bloqueado".
bapp Matriz de strings Incompatível.
source Origem Semiobrigatório para schain.
regs Regs Opcional.
ext Extensões de solicitação de lance Opcional.

Objeto de extensões de solicitação de lance

Campo Tipo Detalhes
schain Cadeia de suprimentos As novas integrações precisam usar o campo BidRequest.source.schain em Source.
purch Número inteiro O parâmetro "Tráfego comprado" é o tráfego redirecionado de propriedades que não são próprias, adquiridas ou incentivadas de outra forma.
Isso está de acordo com a nova especificação IVT 2.0 do MRC.

Ele será chamado de Origem do tráfego do editor nos relatórios voltados ao comprador e terá um dos seguintes valores :
0 (padrão): indefinido. O valor não é enviado nas solicitações de lances. Não é possível capturar o valor;
1: compra: tráfego redirecionado de propriedades que não são próprias (atividades adquiridas ou incentivadas de outra forma).
2: orgânica: entrada de URL direto, pesquisa no site ou download do app.

gdemsignals String Um blob de indicador da API SCAR do SDK do GMA.
Recomendado se o tráfego for do SDK do GMA. Caso contrário, é proibido.
disable_gma_format int Opcional se gdemsignals for fornecido. Caso contrário, é proibido.
0 (padrão): quando gdemsignals é preenchido, o anúncio de resposta ao lance é um blob JSON.
1: uma tag de anúncio também será fornecida em vez do blob JSON.

Objeto de origem

Campo Tipo Detalhes
fd Número inteiro Entidade responsável pela decisão final de venda de impressão
0 (padrão): a troca decide.
1: uma fonte upstream decide.
tid String Incompatível.
pchain String Incompatível.
schain Cadeia de suprimentos Obrigatório em quase todos os casos.

É preferível fornecer schain usando Extensões de solicitação de lance ou Extensões de origem.

ext Extensões de origem Opcional.

Objeto de extensões de origem

Essa extensão é altamente recomendada porque afeta a forma como as medições de visibilidade são informadas ao cliente no DV3. Se o nome do parceiro da OMID NÃO estiver na lista de certificação da IAB, o MRC exige que informemos as métricas de visibilidade separadamente das métricas certificadas pelo MRC. Saiba mais

Campo Tipo Detalhes
omidpn String Identificador da integração do SDK do OM. É o mesmo que o parâmetro "name" do objeto parceiro OMID.
omidpv String Versão da integração do SDK da OM. É o mesmo que o parâmetro "versionString" do objeto de parceiro OMID.
schain Cadeia de suprimentos As novas integrações precisam usar o campo schain em Source.

Objeto "regs"

Campo Tipo Detalhes
coppa Número inteiro 0 (padrão): a COPPA não se aplica a esta solicitação.
1: esta solicitação está sujeita à COPPA.
ext Extensões de regs Opcional.

Objeto de extensões de regulamentações

Campo Tipo Detalhes
gdpr Número inteiro Indica se a solicitação de lance é da região do EEE.
0 (padrão): região fora do EEE.
1: região do EEE,
Consulte a Solução de provedor com consentimento para o GDPR para mais detalhes.
us_privacy String Siga a especificação técnica fornecida pelo IAB Tech Lab para implementar a string us_privacy.

Quando recebemos a string us_privacy na solicitação de lance e quando a string do IAB indica que um usuário não fez a desativação, o Display & Video 360 faz um lance para essas solicitações. Não vamos propagar o indicador do IAB para outros fornecedores. Quando a string do IAB indica que um usuário fez a desativação, o Google não faz um lance para essas solicitações.

Objeto de impressão

Campo Tipo Detalhes
id String Um identificador exclusivo para essa impressão no contexto da solicitação de lance. Normalmente, o valor começa com 1 e aumenta até n para n impressões.
metric Objeto Incompatível.
banner Banner Obrigatório para oportunidades de anúncios de banner.
video Vídeo Necessário para oportunidades de anúncios em vídeo.
audio Áudio Necessário para oportunidades de anúncios em áudio.
native Nativo Obrigatório para oportunidades de anúncios nativos.
pmp Pmp Transações de marketplace privado em vigor para esta impressão.
displaymanager String Nome do parceiro de mediação de anúncios, da tecnologia de SDK ou do player responsável por renderizar o anúncio (normalmente vídeo ou dispositivo móvel). Usado por alguns servidores de anúncios para personalizar o código de anúncio por parceiro. Recomendado para vídeo e/ou apps.
displaymanagerver String Versão do parceiro de mediação de anúncios, da tecnologia do SDK ou do player responsável pela renderização do anúncio (normalmente vídeo ou dispositivo móvel). Usado por alguns servidores de anúncios para personalizar o código de anúncio por parceiro. Recomendado para vídeo e/ou apps.
instl Número inteiro 0 (padrão): não intersticial.
1: o anúncio é intersticial ou em tela cheia.
tagid String Identificador do posicionamento ou da tag de anúncio específica usada para iniciar o leilão. Isso pode ser útil para depurar problemas ou para otimização pelo comprador.
bidfloor Ponto flutuante Lance mínimo para essa impressão expresso em CPM.
bidfloorcur String

Moeda especificada usando códigos alfa ISO-4217.

clickbrowser Número inteiro

Indica o tipo de navegador aberto ao clicar no criativo em um app.
0 (padrão): incorporado
1: nativo

O Safari View Controller em dispositivos iOS 9.x é considerado um navegador nativo para fins desse campo.

secure Número inteiro Se essa impressão exige um URL HTTPS seguro ou um URL HTTP não seguro.
0 (padrão):insecure
1: secure
iframebuster Matriz de strings
exp Número inteiro O vencimento do lance é definido pelo DV360 sem considerar o valor enviado por um parceiro nesse campo. Os eventos de impressão recebidos após a janela de obsolescência da impressão (geralmente uma hora) são descartados como obsoletos e não são considerados faturáveis pelo DV360.
rwdd Número inteiro Indica se o usuário recebe uma recompensa por visualizar o anúncio.
0 (padrão): não recompensado
1: recompensado

Normalmente, as implementações de anúncios em vídeo permitem que os usuários leiam uma matéria adicional de notícias sem custo financeiro, recebam uma vida extra em um jogo ou tenham uma sessão de música patrocinada sem anúncios. Normalmente, a recompensa é distribuída após a conclusão do anúncio em vídeo.

Objeto de extensão de impressão

Campo Tipo Detalhes
bcrid String Lista de IDs de criativos que precisam ser bloqueados.
Campo Tipo Detalhes
format Matriz format Uma lista de formatos compatíveis.
w Número inteiro

h e w são mesclados no campo format.

É recomendável usar format.
h Número inteiro

h e w são mesclados no campo format.

É recomendável usar format.
wmax Número inteiro Incompatível.
hmax Número inteiro Incompatível.
wmin Número inteiro Incompatível.
hmin Número inteiro Incompatível.
btype Matriz de números inteiros Uma lista de tipos de anúncios de banner na lista de bloqueio:

1: anúncios de texto HTML
2: anúncios de banner HTML
3: anúncios em JavaScript
4: anúncios de iframe

battr Matriz de números inteiros Aceita os seguintes valores:

1: reprodução automática de áudio
2: áudio iniciado pelo usuário
3: expansão automática
4: expansão iniciada por clique
5: expansão iniciada por rolagem
6: reprodução automática de vídeo no banner
7: vídeo no banner iniciado pelo usuário
8: pop-up(sobre/abaixo/ao sair)
9: provocativo ou sugestivo
10: "irritante", por exemplo, tremendo, piscando, animação extrema, smileys
11: pesquisas
12: somente texto
13: interativo para o usuário (jogos)
14: estilo de caixa de diálogo ou alerta do Windows
15: tem botão de ativar/desativar áudio
16: o anúncio pode ser ignorado
17: Flash

pos Número inteiro A posição do anúncio:

0 (padrão): desconhecido
1: acima da dobra
2: não compatível:provavelmente abaixo da dobra
3: abaixo da dobra
4: cabeçalho
5: rodapé
6: barra lateral
7: tela cheia

mimes Matriz de strings Incompatível.

O DV360 usa text/html para todos os criativos de banner.

topframe Número inteiro 0 (padrão): o banner é veiculado em um iframe.
1: Incompatível:o banner é veiculado no frame superior.
expdir Matriz de números inteiros 1: esquerda
2: direita
3: cima
4: baixo
5: tela cheia expansível
api Matriz de números inteiros Bibliotecas de APIs compatíveis

1: esquerda
2: direita
3: cima
4: baixo
5: tela cheia expansível

id String Um identificador do objeto de banner que precisa ser exclusivo na impressão.

Recomendado quando objetos banner são usados com um objeto de vídeo.

vcm Número inteiro

Relevante apenas para um banner usado com um objeto de vídeo.

0: o banner fica visível ao mesmo tempo que o criativo de vídeo.
1: o banner é uma tela final após o vídeo.

Objeto de formato

Campo Tipo Detalhes
w Número inteiro Largura em pixels independentes de dispositivo (DIPS).
h Número inteiro Altura em pixels independentes de dispositivo (DIPs).
wratio Número inteiro Incompatível.
hratio Número inteiro Incompatível.
wmin Número inteiro Incompatível.

Objeto de vídeo

Recomendamos especificar o posicionamento do vídeo na solicitação de lance. Um campo de posição ausente é classificado como uma posição desconhecida. Consulte o artigo sobre segmentação por posição para mais detalhes.

Campo Tipo Detalhes
mimes Matriz de strings É necessário pelo menos um tipo MIME.

video/flv ou video/x-f4v
video/mp4, video/x-mp4 ou application/mp4
video/webm ou video/x-webm
video/x-ms-wmv
video/3gpp
video/ogg ou application/ogg
application/javascript ou application/x-javascript

minduration Número inteiro A duração mínima do vídeo em segundos. O padrão é "sem mínimo".
maxduration Número inteiro A duração máxima de um vídeo em segundos. O padrão é sem limite.
protocols Matriz de números inteiros É necessário pelo menos um protocolo compatível.

1: VAST 1.0
2: VAST 2.0
3: VAST 3.0
4: VAST 1.0 Wrapper
5: VAST 2.0 Wrapper
6: VAST 3.0 Wrapper
7: VAST 4.0
8: VAST 4.0 Wrapper
9: DAAST 1.0
10: DAAST 1.0 Wrapper

w Número inteiro Largura do player de vídeo em pixels independentes do dispositivo (DIPS).
h Número inteiro Altura do player de vídeo em pixels independentes de dispositivo (DIPs).
startdelay Número inteiro Atraso inicial em segundos para posições de anúncios precedentes, intermediários ou finais.
placement Número inteiro É altamente recomendável especificar plcmt e/ou posicionamento do vídeo na solicitação de lance. Se os dois campos estiverem faltando, a classificação será "posição desconhecida".

0 (padrão): desconhecido
1: in-stream
2: em banner
3: no artigo
4: no feed
5: flutuante

Observação:para serem consideradas in-stream (posição ou tipo de posição 1), as posições/impressões de vídeo precisam estar definidas como "som ativado" e sinalizadas corretamente no método de reprodução (os valores 1, 3, 4 e 5 se qualificam).
plcmt Número inteiro É altamente recomendável especificar plcmt e/ou posicionamento do vídeo na solicitação de lance. Se os dois campos estiverem faltando, a classificação será "posição desconhecida".

0 (padrão): Unknown
1: In stream
2: Conteúdo complementar
3: Intersticial
4: Sem conteúdo/independente

Observação:para serem consideradas in-stream (posição ou tipo de posição 1), as posições/impressões de vídeo precisam estar definidas como "som ativado" e sinalizadas corretamente no método de reprodução (os valores 1, 3, 4 e 5 se qualificam).

Observação:se você fornecer plcmt e placement, plcmt terá precedência. Consulte o guia da IAB sobre a migração para plcmt.

Observação:plcmt: Accompanying Content (2) é considerado placement: In Article (3)
plcmt: No Content/Standalone (4) é considerado placement: In feed (4)
placement: In Banner não tem mapeamento em plcmt
linearity Número inteiro Incompatível.
skip Número inteiro Se o player de vídeo permitir que o anúncio seja pulado.

0 (padrão): não pulável
1: pulável

skipmin Número inteiro Incompatível.
skipafter Número inteiro Incompatível.
sequence Número inteiro Se várias impressões de anúncio forem oferecidas na mesma solicitação de lance, o número de sequência vai permitir a veiculação coordenada de vários criativos.
battr Matriz de números inteiros Atributos de criativos bloqueados.
maxextended Número inteiro Duração máxima do anúncio em vídeo estendido, se a extensão for permitida.

0 (padrão): a extensão não é permitida
-1: a extensão é permitida, e não há limite de tempo imposto
>0: o número de segundos de reprodução estendida aceitos além do valor maxduration.

minbitrate Número inteiro Taxa de bits mínima em Kbps.
maxbitrate Número inteiro Taxa de bits máxima em Kbps.
boxingallowed Número inteiro Indica se o letterbox de conteúdo 4:3 em uma janela 16:9 é permitido.

0: não permitido
1 (padrão): permitido

playbackmethod Matriz de números inteiros Métodos de reprodução que podem estar em uso. Se nenhum for especificado, qualquer método poderá ser usado.

0 (padrão): desconhecido
1: reprodução automática, som ativado
2: reprodução automática, som desativado
3: clique para reproduzir
4: passar o cursor do mouse
5: iniciar ao entrar na janela de visualização, som ativado
6: iniciar ao entrar na janela de visualização, som desativado

Observação:todas as impressões com o som desativado por padrão (método de reprodução 2, 6 ou 0) precisam sinalizar uma posição out-stream do tipo 2, 3, 4 ou 5 (oRTB 2.5) ou um subtipo de posição 2, 3 ou 4.
playbackend Número inteiro O evento que faz a reprodução terminar.

1: conclusão do vídeo ou encerramento pelo usuário
2: saída da janela de visualização ou encerramento pelo usuário
3: ao sair da janela de visualização, continua como uma janela flutuante até a conclusão ou o encerramento pelo usuário

delivery Matriz de números inteiros Métodos de exibição aceitos. Se nenhum for especificado, vamos considerar que todos são compatíveis.

1: Streaming
2: Progressive

pos Número inteiro Posição do anúncio na tela.

0 (padrão): desconhecido
1: acima da dobra
2: não compatível:provavelmente abaixo da dobra
3: abaixo da dobra
4: cabeçalho
5: rodapé
6: barra lateral
7: tela cheia

companionad Matriz de banners Anúncios complementares, se disponíveis.
api Matriz de números inteiros

0 (padrão): desconhecido
1: VPAID 1
2: VPAID 2
3: MRAID 1
4: ORMMA
5: MRAID 2
6: MRAID 3
7: OMID 1: necessário para ativar a medição usando OMID para o Active View.
8: SIMID 1

companiontype Matriz de números inteiros Incompatível.
maxseq Número inteiro É o número máximo de anúncios a serem retornados em um conjunto de anúncios em vídeo dinâmico.
poddur Matriz de números inteiros A duração máxima de um conjunto de anúncios em vídeo dinâmico em segundos.

Extensão compatível para objeto de vídeo

Campo Tipo Detalhes
rewarded Número inteiro Esse campo indica se as solicitações são premiadas ou não. Ele precisa ser enviado como um número inteiro.

0 (padrão): não premiado
1: premiado

Objeto de áudio

Campo Tipo Detalhes
mimes Matriz de strings É necessário pelo menos um tipo MIME.

audio/m4a, audio/mp4 ou audio/x-m4a
audio/mpeg ou audio/mp3
audio/ogg ou audio/x-ogg

minduration Número inteiro Duração mínima do anúncio em segundos.
maxduration Número inteiro Duração máxima do anúncio em segundos.
protocols Matriz de números inteiros

3: VAST 3.0
6: Wrapper VAST 3.0
7: VAST 4.0
8: Wrapper VAST 4.0

startdelay Número inteiro O atraso inicial em segundos para posições de anúncios precedentes, intermediários ou finais.

-2: anúncio final
-1: anúncio intermediário
0: anúncio precedente
>0: anúncio intermediário

sequence Número inteiro Incompatível.
battr Matriz de números inteiros Incompatível.
maxextended Número inteiro Incompatível.
minbitrate Número inteiro A taxa de bits mínima em Kbps.
maxbitrate Número inteiro A taxa de bits máxima em Kbps.
delivery Matriz de números inteiros Incompatível.
companionad Matriz de objetos de banner Qualquer slot de criativo complementar de banner.
api Matriz de números inteiros Lista de frameworks de API compatíveis com essa impressão.

7: Omid V1

companiontype Matriz de números inteiros Incompatível.
maxseq Matriz de números inteiros Incompatível.
feed Número inteiro Tipo de feed de áudio.

1: serviço de música
2: transmissão
3: podcast

stitched Número inteiro Incompatível.
nvol Número inteiro Incompatível.

Objeto nativo

Consulte as especificações de anúncios nativos do DV360 para mais detalhes.

Campo Tipo Detalhes
request String O objeto JSON nativo codificado por string.
ver String 1.0: Não compatível
1.1: Não compatível
1.2
api Matriz de números inteiros Lista de frameworks de API compatíveis com essa impressão.

7: Omid V1

battr Matriz de números inteiros Incompatível.

Objeto PMP

Campo Tipo Detalhes
private_auction Número inteiro 0 (padrão): todos os lances permitidos
1: somente ofertas
deals Matriz de objeto de negócio As ofertas a serem incluídas.

Objeto de negócio

Campo Tipo Detalhes
id String Um objeto PMP não pode conter mais de um objeto de transação por ID.
bidfloor Duplo Lance mínimo para essa impressão em CPM.

Obrigatório se at=3.

bidfloorcur String Moeda especificada usando códigos alfa ISO-4217.

Se não for especificado, o padrão será a moeda da solicitação de lance.

at Número inteiro O padrão corresponde a bid_request.at se não for especificado.

1: primeiro preço
2: segundo preço
3: preço fixo

wseat Matriz de strings Os IDs dos parceiros qualificados para a transação.

Não ter assentos implica não ter restrições de assentos.

wadomain Matriz de strings Os domínios de anunciantes permitidos para dar lances nessa transação.

Sem assentos, sem restrições de domínio.

guar Número inteiro Este campo indica se a transação é garantida. Ele precisa ser enviado como um número inteiro.

Uma exchange precisa estar na lista de permissões para que o DV360 aceite transações garantidas. Entre em contato para solicitar isso.

Se a sua exchange usa um mecanismo diferente para sinalizar transações garantidas com o DV360, entre em contato para discutir a mudança para essa extensão preferencial.

0 (padrão): não garantido
1: garantido

ext Extensões de oferta Opcional.

Extensão compatível para objeto de negócio

Campo Tipo Detalhes
guaranteed Número inteiro Este campo indica se a transação é garantida. Ele precisa ser enviado como um número inteiro.

Uma exchange precisa estar na lista de permissões para que o DV360 aceite transações garantidas. Entre em contato para solicitar isso.

Se a sua exchange usa um mecanismo diferente para sinalizar transações garantidas com o DV360, entre em contato para discutir a mudança para essa extensão preferencial.

0 (padrão): não garantido
1: garantido

Recomendamos usar deal.guar em vez deste campo.

Objeto do site

Campo Tipo Detalhes
id String O ID do site na troca.
name String Incompatível.
domain String O domínio do site.

Recomendamos enviar um URL completo em site.page em vez de preencher apenas site.domain.

cat Matriz de strings Incompatível.
sectioncat Matriz de strings Incompatível.
pagecat Matriz de strings Incompatível.
page String O URL completo em que a impressão será mostrada.

Recomendamos enviar o URL completo para fins de segmentação.

ref String O URL de referência que causou a navegação até a página atual.
search String Incompatível.
mobile Número inteiro Incompatível.
privacypolicy Número inteiro Incompatível.
publisher Objeto publisher Detalhes sobre o publisher do site.
content Objeto de conteúdo Detalhes sobre o conteúdo de um site.
keywords String (formato CSV) Incompatível.
ext Extensões de site Extensões para o objeto site.

Objeto de extensão de site

Campo Tipo Detalhes
inventorypartnerdomain String Usado para compartilhamento de inventário de smart TV. Consulte a explicação sobre os anúncios de apps de smart TV do IAB.

Objeto do app

Campo Tipo Detalhes
id String ID do aplicativo na troca.
name String Nomes de aplicativos, que podem ser apelidados a pedido dos editores.

Os nomes de apps para solicitações sem SDK (principalmente smart TVs) podem ser fornecidos diretamente pelo publisher na solicitação.

bundle String Obrigatório.

No iOS, ele precisa ser o ID numérico da loja de apps. Não aceitamos o ID do pacote de estilo DNS reverso.

Para apps de smart TV, recomendamos transmitir o identificador do app definido pela loja. Siga as diretrizes de ID atribuído à loja OTT/smart TV do IAB (em inglês) publicadas recentemente.

domain String O domínio, por exemplo, mygame.foo.com
storeurl String Obrigatório para a verificação do app-ads.txt e a validação da app store da smart TV.
cat Matriz de strings Incompatível.
sectioncat Matriz de strings Incompatível.
pagecat Matriz de strings Incompatível.
ver String Incompatível.
privacypolicy Número inteiro Incompatível.
paid Número inteiro Incompatível.
publisher Objeto publisher Informações sobre o publisher do app.
content Objeto de conteúdo Informações sobre o conteúdo do app.
keywords String (formato CSV) Incompatível.
ext Extensões de aplicativo Extensões para o objeto do app.

Objeto de extensão de app

Campo Tipo Detalhes
inventorypartnerdomain String Usado para compartilhamento de inventário de smart TV. Consulte a explicação sobre os anúncios de apps de smart TV do IAB.

Objeto de conteúdo

Recomendamos transmitir esses atributos quando disponíveis.

Campo Tipo Detalhes
id String Um ID que identifica exclusivamente o conteúdo.
episode Número inteiro Número do episódio do conteúdo (normalmente para conteúdo de vídeo).
title String Recomendado para solicitações de smart TV, vídeo e áudio.
series String Recomendado para solicitações de smart TV, vídeo e áudio.
season String Um rótulo para a temporada do conteúdo.
artist String O artista creditado pelo conteúdo.
genre String Gênero que melhor descreve o conteúdo. O DV360 recomenda fornecer esse indicador para solicitações de smart TV, vídeo e áudio.
O DV360 oferece suporte a algumas taxonomias de valores de gênero de vídeo para esse campo:
  • Lista de gêneros do Google (Baixar)
  • Categorias de TV/filmes/esportes do IAB (Download)
  • Taxonomia de gênero de vídeo da Gracenote da Nielsen
album String O álbum a que o conteúdo pertence, geralmente para áudio.
isrc String Código de gravação padrão internacional em conformidade com a ISO-3901.
producer Objeto produtor Detalhes sobre o produtor de conteúdo.
url String URL do conteúdo.
cat Matriz de strings Categorias de conteúdo do IAB que descrevem o conteúdo.
prodq Número inteiro Qualidade da produção:

0 (padrão): Unknown
1: Professional
2: Prosumer
3: User generated

videoquality Número inteiro Incompatível.
context Número inteiro Tipo de conteúdo:

1: vídeo
2: jogo
3: música
4: aplicativo
5: texto
6: outro
7: desconhecido

contentrating String Recomendado para áudio e vídeo/CTV, já que vamos começar a tomar decisões com base nesse atributo.
userrating String Número de estrelas, marcações com "Gostei" etc.
qagmediarating Número inteiro Classificação de mídia de acordo com as [diretrizes do QAG](http://www.iab.net/ne_guidelines).

1: todos os públicos-alvo
2: 12 anos ou mais
3: conteúdo adulto

keywords String (formato CSV) Incompatível.
livestream Número inteiro Se o conteúdo for de uma transmissão ao vivo.

0: não está ao vivo
1: o conteúdo está ao vivo

sourcerelationship Número inteiro

0: indireto
1: direto

len Número inteiro A duração do conteúdo em segundos.

Recomendado para solicitações de smart TV/vídeo e áudio.

language String (ISO-639-1-alpha-2) O idioma do conteúdo.
embeddable Número inteiro Indicador de se o conteúdo pode ser incorporado ou não (por exemplo, um player de vídeo incorporável).

0: não incorporável
1: incorporável

data Matriz de objetos de dados Outros dados.

Objeto do produtor

Campo Tipo Detalhes
id String Incompatível.
name String Incompatível.
cat Matriz de strings Incompatível.
domain String Domínio de nível mais alto do produtor.

Objeto de dados

Campo Tipo Detalhes
id String Um ID do provedor de dados.
name String Nome da troca para o provedor de dados.
segment Matriz de objetos de segmento Os valores reais dos dados.
ext Extensões de dados Extensões para o objeto "Data".

Extensões compatíveis para objeto de dados

Campo Tipo Detalhes
segtax Número inteiro ID da taxonomia. Consulte Taxonomias de segmento para mais detalhes.
segclass String A versão do classificador que produziu os IDs de segmento na taxonomia.

Objeto de segmento

Campo Tipo Detalhes
id String Um ID do segmento de dados específico do provedor de dados.
name String Nome do segmento de dados.
value String Valor do segmento de dados.

Objeto do publisher

Campo Tipo Detalhes
id String Obrigatório.
name String Incompatível.
cat Matriz de strings Incompatível.
domain String Incompatível.

Objeto de dispositivo

Campo Tipo Detalhes
ua String Obrigatório.
sua Objeto UserAgent Informações estruturadas do user agent.
geo Objeto geográfico A localização do dispositivo.
dnt Número inteiro A flag "Não rastrear" definida no cabeçalho do navegador.

0: o rastreamento não tem restrições
1: não rastrear

lmt Número inteiro O indicador "Limitar o rastreamento de anúncios" endossado comercialmente.

0: o rastreamento não tem restrições
1: o rastreamento precisa ser limitado de acordo com as diretrizes comerciais

ip String Obrigatório se for IPv4.

Se o endereço IP for truncado, ele precisará ser declarado no device.ext.truncated_ip.

ipv6 String Obrigatório se for IPv6.

Se o endereço IP for truncado, ele precisará ser declarado no device.ext.truncated_ip.

devicetype Número inteiro Altamente recomendado para todos os tipos de inventário. Usado para melhorar o reconhecimento do tipo de dispositivo.
make String
model String
os String O sistema operacional do dispositivo.

ios: em uma solicitação App, isso identifica o tráfego do iOS.
android: identifica um dispositivo Android se ua ou sua não identificarem o dispositivo.
[anything else]: usado em diagnósticos para isolar problemas.

Esse campo não diferencia maiúsculas de minúsculas.

osv String Incompatível.
hwv String A versão do hardware do dispositivo.
h Número inteiro Altura física da tela em pixels.
w Número inteiro Largura física da tela em pixels.
ppi Número inteiro Incompatível.
pxratio Duplo A proporção de pixels físicos para pixels independentes do dispositivo.
js Número inteiro Incompatível.
geofetch Número inteiro Incompatível.
flashver String Incompatível.
language String (ISO-639-1-alpha-2) O idioma do dispositivo.
carrier String Incompatível.
mccmnc String Incompatível.
connectiontype Número inteiro Tipo de conexão de rede
ifa String ID autorizado para o anunciante usar sem criptografia.
didsha1 String Incompatível.
didmd5 String Incompatível.
dpidsha1 String Incompatível.
dpidmd5 String Incompatível.
macsha1 String Incompatível.
macmd5 String Incompatível.
ext Extensões de dispositivo Extensões para o objeto de dispositivo.

Extensão compatível para objeto de dispositivo

Se ip for alterado ou truncado, recomendamos enviar as seguintes extensões para evitar que o tráfego seja declarado como inválido.

Campo Tipo Detalhes
truncated_ip Número inteiro Indica se o endereço IP no campo device.ip da solicitação de lance está truncado.

0: não truncado
1: truncado

O padrão não é truncado e é obrigatório se o endereço IP for truncado.

Se não for declarado, a solicitação de lance poderá ser classificada como tráfego inválido.

ifa_type String Indique a origem do campo device.ifa, se ele foi fornecido pelo próprio dispositivo ou gerado pelo editor ou pela SSP na cadeia de suprimentos.

aaid: Android TV
rida: Roku
afai: Amazon Fire
idfa: Apple tvOS
msai: Xbox/Microsoft
dpid: ID genérico da plataforma do dispositivo
ppid: ID fornecido pelo editor
sspid: ID fornecido pela SSP
sessionid: ID de sessão de curta duração (somente para fcapping)

attestation_token String (codificação base64) Um token de atestado baseado em dispositivo para trocas que oferecem suporte a esse nível de validação de dispositivo.
atts Número inteiro (Somente iOS) Um número inteiro transmitido para representar o status de autorização de rastreamento do app.

0: não determinado
1: restrito
2: negado
3: autorizado

cdep String Rótulo da descontinuação dos cookies de terceiros do Chrome.

Consulte Teste facilitado pelo Chrome e a especificação da comunidade do IAB

Objeto UserAgent

Campo Tipo Detalhes
browsers Matriz de objetos BrandVersion Cada objeto BrandVersion identifica um navegador ou um componente de software semelhante.
platform Objeto BrandVersion Identifica a plataforma.
mobile Número inteiro 0 (padrão): o agente prefere o conteúdo "desktop" ou "completo".
1: o agente prefere conteúdo para dispositivos móveis.
architecture String Arquitetura do dispositivo, por exemplo, "x86" ou "arm".
bitness String A quantidade de bits do dispositivo, por exemplo, "64" para arquitetura de 64 bits.
model String Modelo do dispositivo.
source Número inteiro A origem dos dados usados para criar esse objeto. Consulte Lista: origem do user agent. Recomendado ao transmitir um objeto UserAgent.

Objeto BrandVersion

Campo Tipo Detalhes
brand String Identificador da marca, por exemplo, "Chrome" ou "Windows". Obrigatório.
version Matriz de strings Uma sequência de componentes de versão, em ordem hierárquica decrescente (principal, secundária, micro e assim por diante).

Objeto geográfico

Campo Tipo Detalhes
lat Duplo Incompatível.
lon Duplo Incompatível.
type Número inteiro Incompatível.
accuracy Número inteiro Incompatível.
lastfix Número inteiro Incompatível.
ipservice Número inteiro Incompatível.
country String Incompatível.
region String Incompatível.
regionfips104 String Incompatível.
metro String Incompatível.
city String Incompatível.
zip String Incompatível.
utcoffset Número inteiro Incompatível.

Objeto do usuário

Campo Tipo Detalhes
id String Compatível se o Google hospedar a tabela de correspondência de ID.
buyeruid String É compatível se a SSP hospedar a tabela de correspondência de ID.
yob Número inteiro Recomendado para segmentação demográfica.
gender String Recomendado para segmentação demográfica.
keywords String (CSV) Incompatível.
customdata String Incompatível.
geo Objeto geográfico Incompatível.
data Matriz de objetos de dados Outros dados.
eids Matriz de objetos de ID estendido Instâncias de ID estendido fornecidas pela troca.
ext Extensões de usuário Extensões para o objeto do usuário.

Extensões compatíveis para o objeto de usuário

Campo Tipo Detalhes
consent String (base64 compatível com a Web) String de consentimento do IAB.

Contém metadados sobre quais informações o usuário consentiu em coletar e quais fornecedores podem usar essas informações.

O valor é uma string binária codificada em base64 segura para a Web usando um formato binário personalizado.

us_privacy String Se o usuário já viu a conformidade com a CCPA ou leis semelhantes.
consented_providers_settings.consented_providers Objeto externo (consented_providers_settings) que envolve uma matriz de números inteiros interna (consented_providers). Quando o consentimento do GDPR é coletado pela TCF, esse campo lista os provedores de tecnologia de publicidade que não participam da TCF e que têm o consentimento do usuário. Consulte a especificação técnica do consentimento adicional do Google.
eids Matriz de objetos de ID estendido Instâncias de ID estendido fornecidas pela troca.

Objeto de ID estendido

Campo Tipo Detalhes
source String O provedor do identificador.
uids Matriz de objetos UID de ID estendido Os identificadores reais

Objeto UID de ID estendido

Campo Tipo Detalhes
id String O próprio identificador.
atype Número inteiro O tipo de user agent associado a esse ID.

Objeto da cadeia de suprimentos

Campo Tipo Detalhes
complete Número inteiro 0 (padrão): a cadeia de suprimentos está incompleta.
1: a cadeia de suprimentos está completa até o editor.
ver String Obrigatório.
O valor é formatado como "major.minor". Por exemplo, a versão 1.0 é a string "1.0".
nodes Matriz Supply chain node Obrigatório.

Em uma cadeia de suprimentos completa, o primeiro nó representa o sistema de publicidade inicial e o ID do vendedor envolvidos na transação, ou seja, o proprietário do site, app ou outra mídia.

Em uma cadeia de suprimentos incompleta, ele representa o primeiro nó conhecido. O último nó representa a entidade que envia esta solicitação de lance.

Objeto de nó da cadeia de suprimentos

Campo Tipo Detalhes
asi String O nome de domínio canônico do sistema de SSP, troca, wrapper de cabeçalho etc. ao qual os bidders se conectam. Pode ser o domínio operacional do sistema, se for diferente do domínio corporativo principal, para facilitar pesquisas WHOIS e de IP reverso, estabelecendo uma propriedade clara do sistema delegado.

Esse valor precisa ser o mesmo usado para identificar vendedores em um arquivo ads.txt, se houver.

sid String O identificador associado à conta do vendedor ou revendedor no sistema de publicidade. Precisa conter o mesmo valor usado em transações (por exemplo, solicitações de lance OpenRTB) no campo especificado pela SSP/exchange.

No OpenRTB, geralmente é publisher.id. No OpenDirect, ele costuma ser o ID da organização do publisher.

Precisa ter no máximo 64 caracteres.

rid String O RequestId OpenRTB da solicitação emitida por este vendedor.
name String O nome da empresa (pessoa jurídica) que recebe o pagamento pelo inventário negociado com o seller_id especificado.

Esse valor é opcional e NÃO deve ser incluído se existir no arquivo sellers.json do sistema de publicidade.

domain String O nome de domínio comercial da entidade representada por este nó.

Esse valor é opcional e NÃO deve ser incluído se já existir no arquivo sellers.json do sistema de publicidade.

hp Número inteiro Indica se este nó vai participar do fluxo de pagamento do inventário.

1: o sistema de publicidade no campo asi paga ao vendedor no campo sid, que é responsável por pagar o nó anterior na cadeia.
0: esse nó não está envolvido no fluxo de pagamento do inventário.

Para a versão 1.0 de SupplyChain, essa propriedade sempre deve ser 1. É explicitamente necessário incluir esse campo, já que se espera que as versões futuras da especificação introduzam nós de tratamento que não sejam de pagamento.

Os implementadores precisam garantir que esse campo seja compatível e propagado ao construir objetos SupplyChain em solicitações de lance enviadas a um sistema de publicidade downstream.

Especificação de resposta do lance

Objeto BidResponse

Atributo Compatível Detalhes da implementação Sempre aprovado
ID Se ocorrer um erro de análise, esse valor poderá ser "0" em vez do ID da solicitação de bid. Sim
seatbid
bidid
cur Se ocorrer um erro de análise, ele não será transmitido. Para tráfego de solicitação de lance válido, "cur" é sempre fornecido. Sim
customdata
nbr Isso só será incluído se um problema for encontrado com a solicitação de lance. Os valores possíveis incluem:
2: solicitação inválida
12: violação de autorização do ads.txt
16: SupplyChain incompleta
17: nó da SupplyChain bloqueado
Observação:quando uma violação específica de (app-)ads.txt ou SupplyChain é detectada, um dos códigos 12, 16 ou 17 é preenchido em uma fração (1%) das respostas. O código 2 será preenchido para todas as outras solicitações inválidas.
As solicitações que incluem NBR são parecidas com esta:
{
  "id": "0",
  "nbr": 2,
  "ext": {
    "err": "Bid request body was empty.",
    "errHelp": "https://.../ortb-spec"
  }
}
ext Se houver um problema com a solicitação de lance, a extensão poderá conter informações para ajudar a diagnosticar o erro, quando compatível.

Extensões compatíveis com o objeto BidResponse

Atributo Detalhes da implementação
err

Uma descrição legível do erro com a solicitação de lance. Os casos de resposta incluem:

  • O corpo da solicitação de lance estava vazio.
  • A solicitação de lance não estava em uma moeda na lista de permissões para a troca específica.
  • A solicitação de lance não continha um tipo MIME aceito.
errHelp Um link para esta página.

Objeto Seatbid

Atributo Compatível Detalhes da implementação Sempre aprovado
lance sim
assento sim
grupo

Objeto de lance

Atributo Compatível Detalhes da implementação Sempre aprovado
ID sim
impid sim
preço sim
nurl
burl
lurl
adm
adid
adomain
bundle
iurl
cid sim
crid sim
tática
gato
attr
api
protocolo
qagmediarating
language
dealid
w
h
wratio
hratio
exp

Extensões compatíveis para o objeto de lance

Atributo Detalhes da implementação
apis O DV360 vai enviar seatbid.bid.apis se OMID e MRAID forem compatíveis. O DV360 vai definir OMID_1 e MRAID como uma matriz de números inteiros.

Opções de veiculação de anúncios

Na seção 4.3 da especificação OpenRTB, há duas opções de veiculação diferentes:

  • Marcação veiculada no aviso de vitória
  • Marcação veiculada no lance

O DV360 é compatível com as duas opções.

  • Para anúncios de banner, o DV360 sempre retorna a marcação no campo adm. A marcação veiculada na notificação de vitória é opcional.
  • Para anúncios em vídeo/áudio que usam o protocolo VAST, o DV360 permite retornar XML VAST no campo adm ou na resposta da notificação de vitória com base nos requisitos dos parceiros de troca.

Consulte a especificação do OpenRTB para conhecer as vantagens e desvantagens dessas duas opções.

Práticas recomendadas

É altamente recomendável usar o ID do parceiro do Display & Video 360 como ID da carteira. Não é recomendável usar um ID de assento específico da troca.

Verifique se os editores têm arquivos ads.txt ou aplicativos com arquivos app-ads.txt associados e se você está listado no arquivo como vendedor ou revendedor autorizado. Saiba mais.

Além disso, verifique se as informações consistentes são transmitidas nas solicitações de lance. Por exemplo, o app.bundle precisa ser consistente com as informações do dispositivo móvel e app.storeurl.

Smart TV

Siga as diretrizes de IFA OTT do IAB ao transmitir device.ifa e device.lmt. Também é necessário implementar device.ext.ifa_type para obedecer às diretrizes. Todos os nossos recursos de limite de frequência e segmentação por público-alvo de CTV vão exigir a presença de um IFA.

Também siga as diretrizes de ID atribuído à loja OTT/smart TV do IAB (link em inglês) publicadas recentemente. Elas definem como app.bundle deve ser transmitido para apps de smart TV, usando principalmente o ID definido pela app store.

Medição do Active View

O Active View é uma tecnologia do Google usada para medir se uma impressão estava visível e por quanto tempo. O Active View usa a OMID para anúncios de display e em vídeo. Para ativar a medição usando a OMID, as exchanges precisam adicionar os seguintes campos em solicitações OpenRTB para que o DV360 saiba se o cliente é compatível com a OMID.

  • Obrigatório: adicione uma estrutura de API (Video.api=7 para OMSDK) às solicitações de lances. Isso é obrigatório para que o Active View ative a medição usando a OMID.
  • Recomendado: adicionar omidpn e omidpv a Source.Ext é altamente recomendado porque isso afeta a forma como as medições de visibilidade são informadas no DV360 ao cliente. Se o nome do parceiro da OMID não estiver na lista de certificação do IAB, a MRC vai exigir que informemos as métricas de visibilidade separadamente das métricas certificadas pela MRC. Saiba mais.

Perguntas frequentes

O DV360 é compatível com extensões personalizadas de troca?
Sim. Além das extensões listadas nesta especificação, o Display & Video 360 também pode oferecer suporte a extensões personalizadas caso a caso. É recomendável especificar e testar a extensão personalizada durante o período de integração.
O DV360 aceita vídeos premiados?
Sim, envie a extensão de vídeo premiado.
Grande parte do meu inventário aparece como "Demografia desconhecida". Como posso melhorar a cobertura demográfica?
Preencha user.yob e user.gender nas solicitações de lance para o DV360 e aumente a cobertura.
O DV360 tem endpoints para cada região?
Não, usamos um único endpoint globalmente e encaminhamos automaticamente as solicitações para o data center mais próximo. Portanto, não há um endpoint específico da região que possamos fornecer.
Quais são os requisitos para solicitações de servidor para servidor (s2s)?
Entre em contato para pedir a inclusão na nossa lista de permissões. O user agent do cliente precisa ser encaminhado, e é necessário garantir que os cookies sejam desativados/ignorados na resposta a uma busca de VAST s2s.
O DV360 é compatível com a OMID?
Podemos medir a visibilidade usando a OMID, desde que ela seja declarada como ativada para OMID no momento da solicitação de lance. Os detalhes sobre isso estão resumidos nas páginas 24 e 25.
Qual versão do Native você aceita? Você tem algum requisito para anúncios nativos?
Só oferecemos suporte à versão 1.2 do Native. Especificação nativa.
O DV360 aceita solicitações de lance enviadas como GZIP?
O DV360 pode receber solicitações de lances compactadas com gzip e responder com respostas compactadas com gzip se o cabeçalho Accept-Encoding indicar que ele é compatível.
O DV360 aceita DBURL?
No momento, não.
O DV360 oferece suporte a notificações de vitória/perda?
No momento, não. Se você acha que seria útil para nós oferecer suporte a ele, entre em contato com mais detalhes.
O DV360 exige App.name para segmentação?
Não, o DV360 usa App.name para referência, mas não é necessário para segmentação. O App.bundle é usado para segmentação.
O DV360 pode aceitar vários tamanhos de anúncio enviados em uma única solicitação de lance?
Sim, vamos considerar todos os tamanhos de criativo qualificados em banner.format.
O DV360 aceita vários formatos na mesma solicitação de lance?
Temos suporte limitado para solicitações de lance multiformato, mas estamos trabalhando para melhorar. Oferecemos suporte a formatos de display e vídeo para intersticiais, mas não para display e nativo. Se você estiver enviando solicitações de lance de vários formatos, entre em contato para pedir um teste.
O DV360 aceita tipos de impressão mistos na mesma solicitação?
No momento, só aceitamos intersticiais em vídeo/banner. Estamos trabalhando em nativos/banner e vídeo/banner. Se houver outras combinações, entre em contato com nossa equipe.
Vários assentos podem enviar vários lances em uma ou mais dessas oportunidades de impressão na mesma solicitação?
Sim.
O DV360 tem uma solução ou necessidade específica em relação ao capping ou à exibição do mesmo anunciante para várias oportunidades de impressão semelhantes na mesma solicitação?
O DV360 impõe que um anunciante só pode fazer lances em até uma oportunidade de impressão por solicitação. Esperamos que as SSPs agrupem objetos de impressão de maneira significativa, por exemplo, todos na mesma página, todos no mesmo app etc.
O DV360 aceita várias impressões na mesma solicitação de lance?
No momento, o DV360 é compatível com vários objetos de áudio de impressão. No entanto, precisamos testar/ativar cada exchange que queira usar esse recurso. Consulte a especificação de solicitação de lance para mais informações. Estamos trabalhando para expandir esse recurso para outros formatos:
{
id: "2bbdc94f-7289-4fe2-9a5f-e2a530e06b38",
seatbid {
bid {
  id: "0",
  impid: "234232",
  price: 41.373926619828261,
  adid: "123",
  adm: "...",
  adomain: "xxx.com",
  cid: "0",
  crid: "123",
  dealid: "sample-deal-id-1",
  language: "xx",
},
bid {
  id: "1",
  impid: "234255",
  price: 2.34192037470726,
  adid: "234",
  adm: "...",
  adomain: "xyz.com",
  cid: "0",
  crid: "234",
  dealid: "sample-deal-id-2",
  language: "xx",
},
seat: "123456"
},
cur: "EUR"
}

Entre em contato

Se você tiver dúvidas ou problemas, entre em contato com nossa equipe de suporte da exchange.