es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo hacer que Google Funding Choices funcione con PreBid.js?

Estamos utilizando tanto GFC como nuestra plataforma de consentimiento y PreBid del lado del cliente junto con Google DFP.
La implementación parece correcta y la mayoría de las veces vemos las ofertas aparecer correctamente junto con los tokens de consentimiento, sin embargo, en algunas ocasiones obtenemos el siguiente mensaje de error de prebid:

ERROR: CMP no encontrado. Cancelando la subasta según la configuración de consentimiento de gestión. undefined.

Cargamos ambos scripts de forma asíncrona, pero cargamos el script de Google primero y luego Prebid.js justo después.

Sospechamos que la implementación de Google no crea los objetos __tcfapi o __cmp de inmediato en el ámbito global, y si no están presentes, PreBid cancela la subasta y no realiza las ofertas.

¿Alguien más se ha encontrado con este problema y puede verificarlo? ¿Existe alguna forma de evitar que esto ocurra sin retrasar la carga de la página o los anuncios? Si no es así, ¿existe alguna forma de registrar un controlador de errores en prebid?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Solución para el Error de PreBid.js con la Plataforma de Consentimiento GFC y Google DFP

    Descripción del Problema

    Estamos utilizando tanto GFC como nuestra plataforma de consentimiento, como PreBid del lado del cliente junto con Google DFP. La mayoría de las veces vemos que las ofertas aparecen correctamente junto con los tokens de consentimiento, pero en algunas ocasiones, obtenemos el siguiente mensaje de error de PreBid:

    ERROR: CMP no encontrado. Cancelando la subasta según la configuración de consentimientoManagement. undefined.

    Cargamos ambos scripts de forma asíncrona, pero cargamos el script de Google primero y luego Prebid.js justo después de eso. Sospechamos que la implementación de Google no crea los objetos __tcfapi o __cmp de inmediato en el ámbito global. Si no están presentes, PreBid cancela la subasta y no lanza las ofertas.

    Solución Posible

    Una posible solución es retrasar la carga de Prebid.js hasta que se haya obtenido el consentimiento. Este retraso se podría lograr estableciendo una cookie o un valor de localStorage cuando el usuario brinda su consentimiento, lo que luego desencadenaría la carga de Prebid.js. Este enfoque debería evitar el error y asegurar que los tokens de consentimiento estén disponibles cuando PreBid intente lanzar ofertas.

    Otra posible solución es registrar un controlador de errores en PreBid. Esto se puede hacer utilizando el siguiente código:

    pbjs.onEvent('auctionCanceled', function() {
      // manejar el error aquí
    });
    

    La función onEvent registra un callback que se llamará cuando se desencadene un evento con el nombre dado (auctionCanceled en este caso). Esto le permitirá manejar cualquier error que ocurra durante el proceso de subasta, incluido el error de CMP no encontrado.

    Conclusión

    Parece que retrasar la carga de PreBid.js hasta que se haya obtenido el consentimiento es la solución más directa a este problema. Sin embargo, registrar un controlador de errores en PreBid también será útil para asegurar que cualquier error que ocurra durante el proceso de subasta se maneje correctamente.

Comments are closed.