Esta es la segunda parte del artículo sobre Conversiones Avanzadas en Google Ads.
Las Conversiones Avanzadas es una herramienta de Google Ads que busca mejorar la forma en que se miden las conversiones a través del envío de datos personales (encriptados) de usuarios en las etiquetas de conversión.
Y si leíste la primera parte de esta guía es muy probable que sepas que esta herramienta tiene dos variantes: para sitios web y para generación de leads.
En este artículo nos concentraremos exclusivamente en el primer tipo.
Así que para agilizar la parte práctica y evitar ser redundante, voy a suponer que conoces el contexto de esta funcionalidad de Google Ads, cómo es afectado por el Consent Mode Avanzado, las combinaciones de datos personales a enviar y sus formatos obligatorios.
Ahora sí, arranquemos con el paso a paso práctico para configurar las Conversiones Avanzadas de sitio web.
Pasos Para Configurar las Conversiones Avanzadas de sitio web
Antes de seguir con las siguientes instrucciones , debes completar estas acciones:
- Activar las Conversiones Avanzadas en las conversiones donde quieras usar esta función.
- Confirmar que se cumple con las políticas de Google y las políticas de Procesamiento de Datos de Google Ads.
Paso 1 : Definir Parámetros a Enviar
La planificación es sumamente importante en este punto para no perder el tiempo y mantenernos enfocados.
Lo primero que debemos hacer es entender cuál es exactamente la conversión que el usuario debe completar en el sitio y cuándo debe hacerlo. Con esta información haremos todo.
Veámoslo por parte con ejemplos.
Primero: define cuál es la conversión
Dependiendo del tipo de acción que queremos registrar y asociar a una conversión, podremos disponer de cierto tipo de datos personales o de otros.
Por ejemplo:
En un comercio electrónico es muy probable que, al completar una compra, el usuario deba registrar sus datos de ubicación para el envío y/o facturación.
Recuerda que al tratarse del grupo “Datos de Ubicación” es un requisito obligatorio enviar la combinación: Nombre + Apellidos + Código Postal + País. Si alguno de estos datos faltan o el E-commerce no tiene opción de envío, sino sólo de retiro, entonces no podremos disponer de estos datos.
De la misma manera, en un sitio web cuya conversión implique el envío de un formulario de contacto con el nombre y el número de ‘WhatsApp’ del usuario, tendríamos problemas para hacer los datos coincidir, ya que Google solicita explícitamente la combinación: Número de Teléfono + Email y no Número de Teléfono + Nombre.
Como ves, es una cuestión de planificación.
En mi experiencia, en la mayoría de los casos, sean tiendas online o no, los usuarios proporcionan como mínimo sus correos electrónicos antes de una conversión.
Segundo: define cuándo debe hacerlo
Este punto está relacionado con la persistencia de los datos personales al momento de la activación de la etiqueta.
¿Qué quiero decir con esto?
Que debemos asegurarnos de que siempre que ocurra una conversión y se active una etiqueta, esta sea acompañada de los datos personales que queremos enviar.
Por ejemplo:
Gracias a un anuncio de Google Ads, ‘Usuario A’ visita ‘test.com’, una tienda de zapatillas.
Luego completa sus datos personales (Email + Número de Teléfono) en la página de pago ‘test.com/checkout/’.
Y, al finalizar, es redirigido a ‘test.com/thank-you-page’, la página de confirmación de la compra, donde se activa la etiqueta de conversión.
Aquí te dejo una ilustración de lo que pasaría si no incluímos ningún método de persistencia.

Google Ads va a detectar un error porque en el momento en el que se activó la etiqueta, los datos personales no estaban disponibles, sino que se “quedaron” en la página anterior.
En este caso lo que debemos hacer es persistir los datos ingresados en el paso de Checkout para que sigan “vivos” en el paso Confirmación, cuando el usuario selecciona “pagar”.
El proceso adecuado se vería más o menos así:

Donde la carpeta azul representa algún método de almacenamiento del navegador, como una Cookie, el uso de las propiedades: “sessionStorage” y “localStorage” o, incluso, el objeto “Datalayer”.
A pesar de que los datos del usuario ya no están presentes en la página de ‘Confirmación’ , este método ‘mantiene’ los datos ingresados en la página anterior y , por lo tanto , podemos disponer de ellos en nuestras etiquetas.
Paso 2: Extraer los datos personales que nos interesan
En este paso, tienes toda la libertad del mundo para elegir la forma de recolectar la información de los usuarios.
Sea que decidas extraerlo del DOM con un selector css o a través de algún método de almacenamiento que haya hecho este trabajo por ti, lo importante es que cada parámetro o dato sea almacenado en una variable de forma individual.
Es decir, si queremos extraer el mail y el número de teléfono de un formulario, deberíamos terminar con dos variables. Una retorna el mail y una retorna el número de teléfono.
Importante: Recuerda que no es necesario cifrar ni estandarizar los datos personales * que extraemos porque Google hará esto automáticamente. Sin embargo, sí es necesario que enviemos la información en el formato solicitado.
*Esto incluye únicamente: “Email”, “Número de Teléfono”, “Dirección Postal”, “Nombre” y “Apellidos”. Los parámetros “Región”, “País”, “Ciudad” y “Código Postal” solo serán normalizadas, pero no encriptadas.
Paso 3: Definir la variable “User-Provided Data” en Google Tag Manager
¡Muy bien, ya estamos avanzando! Solo faltan 2 pasos más después de este.
En este punto, ya hemos:
- Identificado los datos que queremos enviar junto a nuestras etiquetas de conversión.
- Los hemos recolectado con sus respectivas variables.
- Nos hemos asegurado de que los mismos se encuentran disponibles al momento de la activación.
El paso siguiente será crear la variable responsable de transportar los datos personales que nos interesa enviar junto con las etiquetas.
Seguimos con los ejemplos:
Supongamos que quiero usar la combinación “Número de Teléfono” + “Email” para complementar las etiquetas de conversión que se activan con el envío de un formulario de contacto.
He extraído cada dato en variables dinámicas llamadas “user email” y “user phone_number”.
Vamos a Configurarlo de forma Manual
1.En tu contenedor de Google Tag Manager > sección “Variables” > “Nueva”
Haz click en cualquier espacio de esta pantalla.

2. Selecciona en “Utilidades” > “Datos proporcionados por los usuarios” o “User-Provided Data” dependiendo del idioma de tu contenedor.

3. En la opción “Manual Configuration” debes coincidir el nombre de cada parámetro con la variable que devuelve su valor en la lista desplegable de cada caso.
En este ejemplo , sólo mandaremos la combinación “Número de Teléfono” + “Email”

Pero, si deseas, puedes experimentar con los otros parámetros que explicamos en la primera parte, donde te conté las bases de las Conversiones Avanzadas.
Como ves, cada parámetro, tendrá su lista desplegable.

5. Otorga a tu variable un nombre relevante (como “User Data” , por ejemplo) y guárdala.
Paso 4: Asociar variable con etiquetas de conversión
Modifica cada una de tus etiquetas de conversión para incluir la variable con los datos personales.
Puedes habilitar esta opción donde se muestra en la siguiente pantalla y al desplegarse la lista de opciones, deberás seleccionar la variable que creaste en el paso anterior.

Paso 5: Verificar implementación
Con el navegador
Si no lo has hecho, esta es una gran oportunidad para revisar mi artículo sobre la Configuración del Consent Mode Avanzado , específicamente la ruta:
“Si los permisos han sido otorgados” > “La etiqueta de conversión” > “¿Cómo Podemos Comprobarlo?”.
Y si lo hiciste, sabes que la variable “User Data”, sólo será enviada con las conversiones SI el usuario lo ha permitido.
En la sección “¿Cómo Podemos Comprobarlo?”, que te menciono más arriba, te explico paso a paso cómo revisar el parámetro “em” (responsable por enviar la variable “User Data”) usando tu navegador para leer las solicitudes que hacen las etiquetas a los servidores de Google.
En resumen, una configuración correcta se vería de la siguiente manera:

Donde:
- En naranja: El parámetro “em” será la representación de la variable “User Data” y, si el sitio usa Consent Mode, recuerda que sólo estará disponible si los permisos de las Cookies de “Marketing” han sido aceptadas por el usuario.
- En verde: El valor “tv.1” marcará el comienzo del resto de los valores.
- En azul: El signo “~” funciona como el separador entre cada parámetro que enviemos.
- En rojo: Verás la abreviación del nombre en inglés de cada parámetro:
- “em” para Email.
- “pn” para Número de Teléfono.
- “ln” para Apellidos.
- “fn” para Nombre.
- “co” para País.
- “pc” para Código Postal.
- “ct” para Ciudad.
- “sa” para Dirección Postal.
- “rg” para Región.
- En negro: Estarán una serie de letras y números representando el valor de cada parámetro, una vez cifrado. Ten en cuenta que, en el ejemplo, he modificado los valores por un tema de tamaños, es posible que en tu caso la serie sea más larga.
Con la herramienta de Diagnóstico de etiquetas
Después de 48 horas de haber publicado el contenedor con las modificaciones de las etiquetas, podrás acceder al informe de diagnóstico en Google Ads para asegurarte de que no existan problemas.
Esto lo encontrarás seleccionando la conversión para la cual habilitaste la opción de “Conversiones Avanzadas” en la sección “Conversiones” y selecciona “Diagnóstico”.
Es importante haber recibido al menos 20 conversiones en los últimos 7 días para recibir alertas sobre el estado de la implementación de cada etiqueta.
Bonus Track: ¿Cómo cifrar valores antes de enviarlos a Google Ads?
Puede pasar que el negocio para el cual estás realizando estas configuraciones tenga como política interna no compartir datos sensibles * de los usuarios sin cifrar por ningún medio.
* “Email”, “Número de Teléfono”, “Nombre” y “Apellidos”.
Esto te haría el responsable de ‘hashear’ los valores antes de enviarlos a Google Ads.
Las instrucciones para lograr esto van a depender del escenario en el que te encuentres:
- Escenario A: Los datos del usuario se recolectan en la misma página donde sucede la conversión. En este caso, dispararemos la etiqueta de conversión cuando se active el Datalayer con los datos cifrados.
- Escenario B: Los datos del usuario se recolectan en una página diferente a aquella donde sucede la conversión. En este caso, vamos a necesitar usar algún método de almacenamiento del navegador para persistir nuestros datos hasta el momento en el que se active la etiqueta de conversión.
Si el registro de los datos y la conversión suceden en la misma página
Para esto , asegúrate de seguir las instrucciones de los pasos 1 y 2 exactamente como lo dice la guía.
Al llegar al paso 3 , haremos los siguiente:
Busca e instala la plantilla de etiqueta ‘Event Parameter Hasher’
Está disponible en la galería de plantillas comunitarias y desarrollada por ‘gtm-templates-pmeyerdk’ (de Peter Meyer).
Esta etiqueta genera un Datalayer con datos hasheados usando el protocolo SHA256.

Genera un Datalayer para cifrar los valores y asignale un activador
Usando la plantilla que acabas de importar , crea una nueva etiqueta.

- Event Name: Define el nombre del evento asociado al Datalayer que va a representar tu conversión. Este será el futuro activador de tu etiqueta de conversión en Google Ads.
- Parameter Key: Define un nuevo nombre para representar la versión hasheada de la variable. Asegúrate de que el nombre sea claramente distinto al original.
- Parameter Value: Coloca la versión original de la variable.
- Hash Value: Siempre marcaremos esto como ‘true’ para aplicar el cifrado.
Como activador , asigna aquel que represente la conversión que quieres registrar en Google Ads. Para este ejemplo será el envío de un formulario.
Importante: Antes de cifrar los valores con la etiqueta , debes normalizarlos. Esto significa mandar los datos en minúsculas, sin espacios y mantener los números de teléfono bajo el formato E.164
Extrae los valores cifrados del Datalayer
Crea tantas variables como valores hayas cifrado en el Datalayer. Usa el tipo ‘variable de capa de datos’.
La variable responsable por extraer el valor cifrado del Datalayer con el mail del usuario se vería así , por ejemplo :

Agrupa los valores cifrados en una única variable
Crea una variable llamada ‘hashed_user_provided_data’ del tipo ‘JavaScript Personalizado’ de esta manera:

Este es el código
function () {
return {
"sha256_email_address": {{hashed_email}},
"sha256_phone_number" : {{hashed_phone_number}},
}}
Define la variable ‘User-Provided Data’ con código
Sigue las instrucciones del Paso 3 , pero asegúrate de seleccionar ‘Code’ en la opción ‘Type’ (en lugar de ‘Manual Configuration’) y como fuente de datos la variable recién creada ‘hashed_user_provided_data’.

Asocia la variable ‘User-Provided Data’ a etiquetas de conversión
Sigue las instrucciones del Paso 4 y no olvides vincular el activador de las etiquetas de conversión al nombre del evento que definiste para el Datalayer encargado del cifrado de tus valores.
En nuestro caso , el nombre que determinamos fue ‘conversion_upd’ por lo que nuestra etiqueta de Google Ads se vería así:

Y el activador así:

¡Listo!
Ahora estás listo para verificar tu implementación como en el Paso 5.
Visualmente , esta implementación podría ser resumida de esta manera:

Donde:
- En el Paso A: Cuando el usuario selecciona el botón ‘enviar’, se genera un Datalayer.
- En el Paso B: El Datalayer cifra los valores ‘user_email’ y ‘user_phone_number’ (extraídos previamente en el Paso 2) y , además , genera un evento ‘conversion_upd’ para notificar que ha sido ejecutado.
- En el Paso C: La etiqueta de conversión de Google Ads que contiene los datos cifrados del usuario (extraídos del Datalayer) es activada al ‘escuchar’ que el evento ‘conversion_upd’ sucedió.
Si el registro de los datos y la conversión suceden en páginas distintas
En este escenario , vamos a repetir lo mismo que el escenario anterior pero deberemos involucrar un método de almacenamiento entre el Paso B y el Paso C que nos ayude a mantener los datos del usuario “vivos” hasta que se logre la conversión. Lo llamaremos Paso B.2.
Visualmente , esta implementación podría ser resumida de esta manera:

Donde:
- En el Paso A: Cuando el usuario selecciona el botón ‘enviar’, se genera un Datalayer.
- En el Paso B: El Datalayer cifra los valores ‘user_email’ y ‘user_phone_number’ (extraídos previamente en el Paso 2) y , además , genera un evento ‘registro_upd’ para notificar que ha sido ejecutado.
- En el Paso B.2: El ‘escuchar’ la notificación del evento ‘registro_upd’, ejecutamos un código que toma los valores cifrados del Datalayer y los almacena en la memoria del navegador siempre que la pestaña se mantenga abierta (método: sessionStorage).
Importante: Elegí usar el “sessionStorage” de forma arbitraria para demostrar el papel de un método de almacenamiento en este escenario ficticio. Dependiendo de tu caso , puede que haga más sentido usar otro método (como cookies o el “localStorage”)
- En el Paso C: La etiqueta de conversión de Google Ads que contiene los datos cifrados del usuario (extraídos de la memoria del navegador) es activada al momento de la conversión.
Completa los siguientes pasos exactamente igual al escenario anterior:
- Busca e instala la plantilla de etiqueta ‘Event Parameter Hasher’
- Genera un Datalayer para cifrar los valores y asignale un activador. A diferencia del escenario anterior, en este caso el activador está asociado al registro de los datos de los usuarios. Esto puede ser un botón o la completación de algún paso.
Para los fines de este ejemplo (y no confundirte con el escenario anterior), sustituiremos el nombre del evento generado por el Datalayer de “conversion_upd” a “registro_upd”.

- Extrae los valores cifrados del Datalayer.
Almacena los valores cifrados en la memoria del navegador
Llamaremos a esta etiqueta “set_session_storage” y será del tipo “HTML personalizado”.
Con esta etiqueta podremos almacenar en la variable “em_h” el valor del email cifrado y en la variable “ph_h” el valor del teléfono cifrado.

Aquí tienes el código
<script>
sessionStorage.setItem("em_h", {{hashed_email}} );
sessionStorage.setItem("ph_h", {{hashed_phone_number}} );
</script>
El activador de nuestro ejemplo será este:

Verifica que los valores se han guardado correctamente
Primero, replica la acción que cause que el Datalayer con los valores cifrados se active.
Segundo, usa la “herramienta para desarrolladores” de tu navegador, siguiendo la ruta “Application” > “Session Storage” > tu dominio.
Obviamente, este paso dependerá del método de almacenamiento que hayas elegido.

Agrupa los valores cifrados en una única variable
Crea una variable llamada ‘hashed_user_provided_data’ del tipo ‘JavaScript Personalizado’ para recuperar los valores cifrados y guardados en la memoria del navegador.

Aquí tienes el código
function () {
var hashed_email = sessionStorage.getItem("em_h");
var hashed_phone = sessionStorage.getItem("ph_h");
return {
"sha256_email_address": hashed_email,
"sha256_phone_number" : hashed_phone,
}}
Esta variable será tu nueva variable “User-Provided Data”.
Continua con los siguientes pasos del escenario anterior
- Define la variable ‘User-Provided Data’ con código.
- Asocia la variable ‘User-Provided Data’ a etiquetas de conversión.
Errores frecuentes de las Conversiones Avanzadas de sitio web
Si has llegado hasta este punto, te darás cuenta que este tipo de implementación tiene sus desafíos.
Aquí abajo te cuento los errores más comunes con los que te puedes topar y qué hacer al respecto.
Faltan campos de datos de usuario
Significa que tus etiquetas están enviando una variable ‘User Data’, pero su contenido está vacío.
Si usas tu navegador para verificar el valor de “em” en la solicitud, seguramente verías: “tv.1”
Solución
Revisa cada una de tus etiquetas y asegúrate de que los valores están disponibles al momento de la activación en todos los escenarios en los que se disparan las etiquetas de conversión, incluyendo distintos navegadores y dispositivos.
No normalizar los datos del usuario.
En aquellos casos donde somos nosotros mismos quienes hacemos el cifrado (como en el ‘Bonus Track’), también debemos encargarnos de que los valores estén normalizados antes de cifrarlos. Es decir , deben estar en minúsculas, sin espacios y los números de teléfono deben seguir el formato E.164 .
Cuando dejamos el cifrado en las manos de Google , la normalización se hace en automático.
Faltan datos proporcionados por el usuario
Este es el error más frecuente y se refiere a que en todas o algunas de las etiquetas no se están enviando parámetros obligatorios como el correo electrónico o la combinación “Nombre + Apellidos + Código Postal y País”.
Solución
Intenta lo propuesto en la solución anterior y, además, verifica que tanto el Código Postal como el País se envían como texto y sin espacios al principio o al final.
Códigos de Error
Si después del parámetro hay un código en lugar de la serie cifrada, por ejemplo: “em:tv.1~em.eX” en lugar de “em:tv.1~em.bdjadjhasbdasbdasbd” dependiendo del código (representado por “X”) podemos intuir el error.
- e0 : Significa que hay un error de formato en el valor que se envía. Es importante que sigas al pie de la letra los detalles de los formatos detallados en la documentación oficial y resumidos en este artículo. El parámetro que suele presentar más errores del tipo “e0” suele ser el número de teléfono.
- e1:Significa que el navegador no es compatible. Esto puede suceder en versiones antiguas, aunque no es un error común.
- e2: Hay un problema en cifrado de los valores. Si has enviado los códigos cifrados es probable que esto esté de tu lado y debas hacer alguna modificación, pero si has enviado los valores sin cifrar y ves este error, el problema está del lado de Google y debería desaparecer solo.
- e3: La página web no es segura. Verás este error si el sitio web que aloja las etiquetas no tiene un certificado SSL y usa el protocolo “http” en su lugar.
Para más información puedes revisar el artículo oficial de Google sobre el tema.
Para Cerrar
En pocas palabras lo más importante al configurar las Conversiones Avanzadas es:
- Es clave enfocarnos en la planificación de los parámetros a enviar para las Conversiones Avanzadas del sitio web, en especial qué información es necesaria y cuándo debe estar disponible. Tómate el tiempo que sea necesario en este primer paso.
- De ser el caso, debemos persistir los datos correctamente para que estén disponibles al activar la etiqueta de conversión. Solo así funcionarán las Conversiones Avanzadas.
- En Google Tag Manager, se debe configurar la variable “User-Provided Data” para transportar estos datos y asociarla con las etiquetas de conversión.
- Verificar la implementación es crucial, ya sea a través del navegador o la herramienta de diagnóstico de etiquetas de Google Ads. Solo así sabrás si tu esfuerzo valió la pena o si debes corregir algo del proceso.
- Es importante estar atento a posibles errores comunes, como campos de datos de usuario vacíos o datos faltantes en las etiquetas.
- Ten paciencia y pon en práctica todo, solo así lograrás aprender de los errores en el proceso. Ánimo.
Déjame tus dudas sobre las Conversiones Avanzadas en sitios Web en los comentarios y nos seguimos leyendo por aquí.