Validador de bid response OpenRTB

Confira uma resposta de lance em busca de campos ausentes, preços mal tipados e macros esquecidas.

O Validador de bid response OpenRTB roda inteiramente no seu navegador, então respostas com ids de acordo e preços reais são conferidas no seu dispositivo.

Validar uma requisição de lance

Sobre Validador de bid response OpenRTB

A resposta de lance é a metade curta da conversa OpenRTB, e quase tudo o que dá errado nela é estrutural e não engenhoso: um lance sem impid que o ligue a uma impressão, um preço enviado como string, um criativo que nunca declara o domínio do anunciante, ou um aviso de vitória que esquece a macro de preço de leilão e por isso reporta um preço de fechamento errado. Este validador percorre a resposta como um exchange faria, separando os campos que a especificação exige daqueles que compradores e publishers rejeitam na prática. Cada achado traz um caminho JSON e aponta o lance específico.

Recursos

Como usar Validador de bid response OpenRTB

  1. Cole o JSON que o seu bidder devolveu
  2. Escolha a versão do protocolo que o exchange usa
  3. Resolva primeiro os erros e depois os avisos
  4. Use o caminho JSON de cada achado para localizar o lance afetado

Exemplo

Entrada

{ "id": "1", "seatbid": [{ "bid": [{ "id": "b1", "impid": "1", "price": "2.15" }] }] }

Saída

error seatbid[0].bid[0].price — price has to be a number, not a string

Um preço entre aspas é o motivo mais comum de um lance ser descartado em silêncio.

Erros comuns e solução de problemas

Perguntas frequentes

Quais campos são obrigatórios em uma resposta de lance OpenRTB?
A resposta precisa de um id que devolva o da requisição. Cada lance precisa de id, um impid correspondente a uma impressão, um preço e o criativo como adm ou nurl. O resto é opcional na especificação, mas não na prática.
O que significa o campo nbr?
Motivo de não lance. É um código inteiro que explica por que nenhum lance foi devolvido — 2 para requisição inválida, 8 para usuário não reconhecido — e permite ao exchange reportar por que um bidder passa.
Por que nurl precisa da macro AUCTION_PRICE?
Porque o exchange substitui nela o preço de fechamento quando o lance vence. Sem a macro, o aviso de vitória dispara sem preço e seus logs registram o lance em vez do que você pagou.
Qual a diferença entre adm e nurl?
adm traz o criativo embutido na resposta; nurl é uma URL que o exchange chama para buscá-lo ao vencer. Hoje o criativo embutido domina porque elimina uma ida e volta.
mtype substitui algo da 2.5?
Ele torna explícito o que antes era deduzido. Na 2.5 o tipo de mídia vinha do objeto que a impressão carregava, o que quebrava com impressões multiformato; na 2.6 o lance declara sem ambiguidade.

Ferramentas relacionadas

Todas as ferramentas de ArrayKit