Site Admin
Para que sirve: googletag.enableServices();
Para que sirve esta función dentro del llamado de la publicidad de GPT de Google: googletag.enableServices();


googletag.enableServices() es una llamada de la librería Google Publisher Tag (GPT) que finaliza la configuración de los servicios de anuncios y los habilita para que puedan solicitar y renderizar creatividades. En términos prácticos:

¿Qué hace exactamente?

Inicializa los servicios que agregaste a tus slots (por ejemplo, googletag.pubads()).

Congela la configuración: a partir de este punto, muchas opciones de GPT (p. ej., collapseEmptyDivs, enableSingleRequest, setTargeting a nivel de servicio) deben haber sido definidas antes de llamar a enableServices().
Permite que empiece el ciclo de carga: después de enableServices(), cuando llamas a googletag.display('id-del-div') o googletag.pubads().refresh(), GPT ya puede solicitar y renderizar anuncios.


Piensa en enableServices() como el “listo, arranca” del stack de GPT: primero configuras slots y servicios; luego habilitas; después muestras/recargas.

Código: Seleccionar todo

<script>
  // Asegura que el código se ejecute cuando GPT esté listo
  googletag = window.googletag || {cmd: []};

  googletag.cmd.push(function() {
    // 1) Definir slots y agregar servicios
    var slotTop = googletag.defineSlot('/1234567/home_top', [728, 90], 'div-gpt-ad-top')
      .addService(googletag.pubads());

    var slotBox = googletag.defineSlot('/1234567/home_box', [[300, 250], [300, 600]], 'div-gpt-ad-box')
      .addService(googletag.pubads());

    // 2) Configurar el servicio de anuncios (ANTES de enableServices)
    googletag.pubads().enableSingleRequest();
    googletag.pubads().collapseEmptyDivs();
    googletag.pubads().setTargeting('seccion', 'home');

    // 3) Habilitar los servicios -> cierra la configuración
    googletag.enableServices();
  });
</script>

<!-- 4) Luego ya puedes mostrar -->
<div id="div-gpt-ad-top"></div>
<div id="div-gpt-ad-box"></div>
<script>
  googletag.cmd.push(function() {
    googletag.display('div-gpt-ad-top');
    googletag.display('div-gpt-ad-box');
  });
</script>

Buenas prácticas

  • Define todos tus slots y configura pubads() antes de enableServices().
  • Llama a métodos como:
    • googletag.pubads().enableSingleRequest()
    • googletag.pubads().collapseEmptyDivs()
    • googletag.pubads().setTargeting(...)
    • googletag.pubads().setRequestNonPersonalizedAds(...)
    • googletag.pubads().setPrivacySettings(...)
  • siempre antes de googletag.enableServices().
  • Usa googletag.cmd.push(fn) para asegurar que el código corra cuando GPT esté listo.

Después de enableServices(), ya puedes usar googletag.display() (o refresh) para disparar la carga/render de los anuncios.


Errores comunes
  • Llamar enableServices() demasiado pronto: si lo haces antes de configurar pubads() (SRA, colapso de divs, targeting), esos ajustes podrían no aplicarse.
  • Agregar servicios después: una vez habilitados los servicios, no puedes seguir añadiendo servicios a los slots (como .addService(googletag.pubads())); hazlo antes.
  • Confundir enableServices() con display():
enableServices() no muestra el anuncio; solo habilita, display('div-id') es lo que inicia la solicitud del anuncio para ese contenedor.
Der Forumsadministrator
Responder