Comprueba una respuesta de puja en busca de campos ausentes, precios mal tipados y macros olvidadas.
Validador de respuesta de puja OpenRTB
Comprueba una respuesta de puja en busca de campos ausentes, precios mal tipados y macros olvidadas.
El Validador de respuesta de puja OpenRTB funciona por completo en tu navegador, así que las respuestas con identificadores de acuerdo y precios reales se comprueban en tu dispositivo.
La respuesta de puja es la mitad corta de la conversación OpenRTB, y casi todo lo que falla en ella es estructural y no ingenioso: una puja sin impid que la ate a una impresión, un precio enviado como cadena, un creativo que nunca declara su dominio de anunciante, o un aviso de victoria que olvida la macro del precio de subasta y por tanto informa de un precio de cierre equivocado. Este validador recorre la respuesta como haría un exchange, separando los campos que exige la especificación de aquellos que rechazan compradores y editores en la práctica. Cada hallazgo lleva una ruta JSON y señala la puja concreta.
Características
Comprueba los campos obligatorios en respuesta, seatbid y puja
Errores, avisos y notas separados, cada uno con su ruta JSON
Comprobación de tipos en precio, dimensiones, adomain y campos de identificador
Tratamiento consciente de la versión para mtype, que llegó en OpenRTB 2.6
Señala avisos de victoria sin macro de precio y URL de notificación inseguras
Valida respuestas sin puja y sus códigos nbr
Detecta identificadores de puja duplicados y varias pujas a la misma impresión
Tablas de referencia de motivos de no puja y tipos de medio
Cómo usar Validador de respuesta de puja OpenRTB
Pega el JSON que ha devuelto tu bidder
Elige la versión del protocolo que usa el exchange
Resuelve primero los errores y luego los avisos
Usa la ruta JSON de cada hallazgo para localizar la puja afectada
error seatbid[0].bid[0].price — price has to be a number, not a string
Un precio entrecomillado es el motivo más habitual de que una puja se descarte en silencio.
Errores comunes y solución de problemas
La puja es válida aquí pero el exchange la descarta igual. — Los exchanges añaden sus propios requisitos: un identificador de seat que reconozcan, categorías de una taxonomía concreta o un creativo ya aprobado. Consulta su guía de integración junto a esto.
Un aviso sobre adomain en un anuncio propio. — Rellénalo igualmente. Los editores bloquean por dominio de anunciante, y una puja sin él se descarta a menudo antes de considerar nada más.
Se señala mtype en una integración 2.5. — Llegó en OpenRTB 2.6 y un exchange 2.5 lo ignora. Cambia el selector de versión al protocolo que use realmente el exchange; enviarlo no hace daño.
Un array seatbid vacío solo genera un aviso. — Porque es legal aunque poco útil. La forma limpia de declinar es un HTTP 204, o una respuesta con un código nbr para que el exchange registre por qué has pasado.
Preguntas frecuentes
¿Qué campos son obligatorios en una respuesta de puja OpenRTB?
La respuesta necesita un id que devuelva el de la petición. Cada puja necesita id, un impid que corresponda a una impresión, un precio y el creativo como adm o nurl. Lo demás es opcional en la especificación, aunque no en la práctica.
¿Qué significa el campo nbr?
Motivo de no puja. Es un código entero que explica por qué no se devolvió puja —2 para petición inválida, 8 para usuario no reconocido— y permite al exchange informar de por qué un bidder pasa.
¿Por qué nurl necesita la macro AUCTION_PRICE?
Porque el exchange sustituye en ella el precio de cierre cuando la puja gana. Sin la macro, el aviso de victoria se dispara sin precio y tus registros anotan la puja en lugar de lo que has pagado.
¿Qué diferencia hay entre adm y nurl?
adm lleva el creativo en línea dentro de la respuesta; nurl es una URL que el exchange llama para obtenerlo al ganar. Hoy predomina el creativo en línea porque elimina un viaje de ida y vuelta.
¿mtype sustituye a algo de la 2.5?
Hace explícito lo que antes se deducía. En 2.5 el tipo de medio venía del objeto que llevaba la impresión, lo que se rompía con impresiones multiformato; en 2.6 la puja lo declara sin ambigüedad.