Google ha lanzado First Party Mode, una solución que nos permite gestionar etiquetas de herramientas como Google Analytics o Google Ads desde nuestro propio dominio, reforzando el control sobre los datos y aumentando la compatibilidad con navegadores estrictos o bloqueadores de anuncios. En este artículo, exploraremos qué es esta herramienta, cómo funciona y en qué escenarios es más recomendable implementarla.
Además compararemos sus funcionalidades con Google Tag Manager Server Side y veremos en qué casos es más recomendable una configuración u otra.
ÍNDICE
- ¿Qué es First Party Mode?
- ¿Cómo funciona?
- ¿Para qué sirve? ¿Qué ventajas aporta?
- ¿Pero eso no lo hacía Google Tag Manager Server Side? ¿Cuál es la diferencia?
- ¿En qué casos es recomendable entonces? ¿Me interesa?
¿Qué es First Party Mode?
El modo propio o First Party Mode (FPM) es una función que ofrece Google para sus servicios de etiquetado (Google Tag y Google Tag Manager) y permite a los propietarios de sitios web utilizar su infraestructura propia first party para alojar y servir etiquetas de Google, como Google Analytics y Google Ads.
En lugar de que las solicitudes de etiquetas se envíen directamente a los dominios de Google, First Party Mode las redirige a través de un subdirectorio del propio dominio del sitio web.
Es decir, First Party Mode permite que tu sitio web actúe como un intermediario entre el navegador del usuario y los servidores de Google.
Si nuestro sitio web es misitio.com, en lugar de que el navegador cargue la etiqueta de Google desde googletagmanager.com, la cargaría desde misitio.com/metrics o cualquier otra ruta que elijamos.
Aunque la petición final acaba llegando a los servidores de Google, este paso ocurre ya en el lado del servidor y de forma transparente para el navegador del usuario, de forma que a todos los efectos, del lado del cliente todo permanece dentro del mismo dominio.
¿Cómo funciona?
No es necesario dar de alta ningún servicio adicional desde el lado de Google, pero sí disponer de una infraestructura web compatible (CDN o balanceador de carga) y configurarla de forma que identifique las peticiones a una ruta concreta de nuestro dominio y las redirija internamente a los servidores de Google.
Los pasos a seguir, resumidos, serían los siguientes:
Paso 1. Configuración de la ruta
Lo primero es reservar una ruta en nuestro dominio para servir las etiquetas, por ejemplo, misitio.com/metrics. Es importante que sea una ruta que no esté ya en uso para otros fines, dado que para estos dejará de funcionar.
Paso 2. Redirección del tráfico
La parte más compleja será configurar la infraestructura web (CDN, balanceador de cargas, servidor web…) para que las solicitudes a la ruta First Party Mode se reenvíen al servidor de Google correspondiente. El proceso exacto dependerá de la infraestructura concreta, pero en general se compone de estos dos pasos:
- Crear entradas DNS: en la configuración DNS del dominio propio será necesario crear una entrada CNAME que apunte al subdominio fps.goog de Google. Por ejemplo, para misitio.com, la entrada CNAME sería de fps.misitio.com a G-XXYYZZ.fps.goog (donde G-XXYYZZ sería el ID de la etiqueta de Google a redirigir).
- Configurar reglas de enrutamiento: en la parte de nuestra infraestructura web que se encargue del enrutado de las peticiones (CDN o balanceador de carga; de no disponer de un servicio de este tipo es posible que sea necesario contratarlo previamente), crear las reglas necesarias para reenviar todas las solicitudes a la ruta FPM hacia la entrada CNAME creada. (ej. misitio.com/metrics → fps.misitio.com).
Estas reglas deben asegurarse de que se reenvíen las cookies y las cadenas de consulta, y que el encabezado Host se modifique para que coincida con el servidor de Google al que se redirige la solicitud.
Paso 3. Actualización de las etiquetas
El último paso será modificar las etiquetas del sitio web para que las referencias a dominios de Google pasen a apuntar a la ruta creada. Así, en nuestro ejemplo, este script de GTM:
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXYYZZ);</script>
<!-- End Google Tag Manager -->
Pasaría a ser:
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'/metrics/?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXYYZZ);</script>
<!-- End Google Tag Manager -->
La documentación oficial proporciona información más detallada, incluidos ejemplos y facilidades para infraestructura concreta de Cloudflare o Google Cloud.
¿Para qué sirve? ¿Qué ventajas aporta?
Configurarlo de esta manera nos puede aportar, potencialmente, ciertas ventajas. Las posibilidades incluyen:
Mayor control de datos y privacidad
Al hacer que las solicitudes de etiquetas pasen primero por nuestra propia infraestructura, podemos aprovechar para implementar medidas adicionales de privacidad, como la ofuscación completa de la IP del usuario. Esto nos da un mayor control sobre los datos que realmente llegan a enviarse a Google. Un poco como lo que podemos hacer con Google Tag Manager Server-side, pero a un nivel más sencillo.
Mejora en la precisión de los datos
O dicho en román paladino: mayor posibilidad de evitar adblockers. Seamos claros, esta es la principal razón 😅.
El hacer que las solicitudes no se hagan a servidores externos y fácilmente identificables ayuda a que sea menos probable que determinados plugins o configuraciones de navegadores las bloqueen automáticamente, incluso aunque exista consentimiento expreso del usuario (que ese es un tema separado y, evidentemente, obligatorio respetar en cualquier caso). Con ello, aumentará el volumen y calidad de datos de medición recibidos.
Fortalecimiento de la seguridad
Normalmente, la necesidad de las etiquetas de realizar conexiones externas directas a dominios de Google nos fuerza a crear excepciones en caso de tener Políticas de Seguridad de Contenido (CSP) estrictas en nuestra infraestructura web. Con First Party Mode no será necesario hacerlo, evitando potenciales problemas de seguridad y la ocasional pelea con algún sysadmin ☺️.
Mayor duración de las cookies
Al mantener las etiquetas en el dominio en el que nos encontramos, First Party Mode permite que sus cookies relacionadas sean propias o first-party, asociadas a ese mismo dominio.
Al evitar que se consideren cookies de terceros, tendrán menos restricciones en cuanto a su duración, disponibilidad o posible bloqueo o eliminación, especialmente en el caso de navegadores más estrictos con las cookies de terceros como los de Apple.
¿Pero eso no lo hacía Google Tag Manager Server Side? ¿Cuál es la diferencia?
Efectivamente, soluciones de Server Side Tag Management como Google Tag Manager Server Side ofrecen ventajas similares y no tiene sentido combinarlas. A la hora de elegir una u otra habría que fijarse en estas diferencias clave:
- Infraestructura y coste. First Party Mode se integra con infraestructura web ya existente, mientras que Server Side Tag Manager requiere el alta de un servidor dedicado, además de costes de implantación y migración probablemente mayores.
- Control. Server Side Tag Manager proporciona un nivel de control mucho mayor sobre las solicitudes enviadas, desde filtrar o modificar parte de los datos a transformar completamente la petición en otra, duplicarla o enviarla a un destino diferente. First Party Mode únicamente las reenvía a Google, sin más filtros que los que nos proporcione el propio CDN o equilibrador de carga (ej. eliminar direcciones IP).
- Características. La posibilidad de redirigir peticiones de etiquetas a través de dominios propios es solo una función opcional de entre las muchas que ofrece un setup Server Side. La elección de First Party Mode solo tiene sentido si es lo único que nos interesa.
- Ámbito de aplicación. First Party Mode es una característica exclusiva para etiquetas de Google (GTM y gtag, lo cual a su vez cubre Analytics, Ads y Floodlight). Para otros proveedores o servicios será necesario considerar Server Side u otras alternativas.
En decir, First Party Mode es una opción interesante si nos interesan exclusivamente sus ventajas asociadas, pero no el resto de las características adicionales de una configuración Server Side.
¿En qué casos es recomendable entonces? ¿Me interesa?
En resumen, puede ser recomendable valorar la adopción de First Party Mode en empresas y casos que cumplan alguno de estos supuestos:
- Alta prioridad en la precisión de los datos (visión lo más completa posible del comportamiento del usuario). Lo de saltarse adblockers y generar cookies que duren más, vaya. Que la mayor cantidad y calidad de información recopilada, por volumen o por importancia, sea la suficiente para justificar la inversión.
- Alta prioridad en la privacidad de los datos, por motivos regulatorios o por manejo de información sensible. En un caso así, cualquier funcionalidad que aporte mayor control sobre lo que realmente se envía a servidores externos será interesante. Sin embargo, dado lo limitado de las opciones de filtrado y anonimización, aquí puede ser más interesante ir directamente a por un Server Side completo, si la inversión lo permite.
- Políticas de seguridad de contenido (CSP) estrictas. Si la necesidad de permitir conexiones externas a Google supone un problema a nivel de políticas internas de seguridad, una solución así puede solventarlo sin que se vean afectadas.
Y que además, cumplan estos requisitos:
- No existe ya un setup de etiquetado Server Side, ni especial interés en adoptarlo a corto plazo. De lo contrario tendría más sentido aprovecharlo para obtener los mismos resultados.
- No existen etiquetas de otros proveedores ajenos a Google (Analytics, Ads, Floodlight) o no son prioritarias. Si queremos aplicar una solución similar a un setup con múltiples servicios de analítica y publicidad, entonces una implementación centralizada en Server Side tendrá más sentido.
- Se dispone de la infraestructura base necesaria, o el presupuesto para contratarla, y los recursos técnicos necesarios para configurarla: CDN, equilibrador de carga… lo que sea que reciba y gestione todas las peticiones web y tenga la capacidad de redirigirlas selectivamente. Y preferiblemente tecnología basada en Google Cloud o Cloudflare, que son los proveedores directamente soportados.
Más información
- Documentación oficial y guía de implementación (Google)
- Cómo hacer lo mismo, pero con Server Side (Google)
- First-Party Mode For Google Tags (Simo Ahava)
- Google Tag Manager First-Party Mode Guide (Measure School)