Saltar al contenido
Docs

Guía práctica

Envía eventos de espacio de trabajo y personalizados desde tu web con el script de seguimiento de Emailit y una clave de seguimiento pública. Instálalo, registra eventos, identifica a los visitantes y limita la clave a tus sitios.

Disponible enPay as you goProBusinessCustomActualizado el 20 oct 2026

El script de seguimiento envía eventos desde tu web: visualizaciones de productos, altas, artículos añadidos a un carrito. No necesita ninguna llamada de configuración; la clave de seguimiento forma parte de su URL. Esta página explica cómo crear una clave, añadir el script, registrar eventos y vincularlos a tus visitantes.

Antes de empezar

  • El script de seguimiento está incluido en los planes Pro, Business y Custom. En Pay as you go no puedes crear claves de seguimiento, y las peticiones del script devuelven 403, también con claves creadas antes de cambiar a Pay as you go.
  • Para crear claves de seguimiento en el panel, necesitas el rol Admin en el espacio de trabajo. Con la API, usa una clave con Full Access.
  • Necesitas poder editar el HTML de tu web o añadir una etiqueta HTML personalizada en tu gestor de etiquetas.

Crear una clave de seguimiento

Las claves de seguimiento son públicas: van en tus páginas web, así que cualquiera puede leerlas. Solo pueden enviar eventos de espacio de trabajo y personalizados, nunca leer datos, y puedes limitarlas a tus propios sitios.

  1. Abre el seguimiento. Ve a Email APIEvents, selecciona la pestaña Tracking y después Create tracking key.

  2. Ponle nombre a la clave. Introduce un Name que indique dónde se usa, como Online shop.

  3. Limítala a tus sitios. En Allowed origins, introduce tus sitios, uno por línea, por ejemplo https://shop.example.com o *.example.com. Déjalo vacío para aceptar cualquier sitio. Consulta Sitios permitidos.

  4. Créala. Selecciona Create. La pestaña Tracking muestra ahora el fragmento de código con tu clave ya incluida.

Añadir el script

Pega las dos etiquetas en todas las páginas, idealmente antes de </head>, con tu clave en lugar de TRACKING_KEY:

HTML
<script>window.emailit=window.emailit||function(){(window._emailitq=window._emailitq||[]).push(arguments)};</script>
<script async src="https://js.emailit.com/track/TRACKING_KEY/events.js"></script>

La primera etiqueta pone en cola las llamadas que se hacen antes de que se cargue el script, así que puedes llamar a emailit(...) de inmediato. El script se carga de forma asíncrona, nunca lanza errores en tu página y también funciona desde un gestor de etiquetas.

  • Si el script de formularios de Emailit también está en la página, mantén los dos. Comparten window.emailit.
  • Si tu web usa una Content Security Policy, permite https://js.emailit.com en script-src y connect-src.

Registrar eventos

JavaScript
// Custom event: any name after "c:", any properties
emailit("track", "c:product.viewed", { sku: "TS-42", price: 19.9 });

// Workspace event: checked against its definition
emailit("track", "w:customer.type", { segment: "b2b" });

El tipo tiene que empezar por c: o w:; el script ignora las demás llamadas. Las propiedades que no son un objeto se envían como {}. Puedes pasar un tercer argumento con occurred_at, una fecha y hora ISO 8601, para eventos que ocurrieron antes.

El script no registra por sí solo las visitas a páginas. Registra las páginas y las acciones que te interesan, por ejemplo un evento c:page.viewed en cada cambio de ruta de una aplicación de una sola página.

Comandos de tienda

Para las tiendas online, el script también tiene los comandos product, cart, purchase y page. Registran visualizaciones de productos, carritos y pedidos para Comercio electrónico y los envían al registro de eventos como los eventos de sistema product.viewed, cart.updated y order.placed. Comercio electrónico está en alfa y solo está abierto al equipo de Emailit; en los demás espacios de trabajo, estos comandos se rechazan. Consulta Conectar tu tienda.

Identificar a los visitantes

En cuanto sepas quién es el visitante, por ejemplo cuando inicia sesión o se suscribe, indícaselo al script:

JavaScript
emailit("identify", { email: "jane@example.com" });
// or, if you store Emailit contact IDs:
emailit("identify", { contact_id: "con_2wPq7Lm3XcN8bV1zKd4RtY6sHf9" });

Todos los eventos posteriores llevan ese email o ese ID de contacto, en esta página y en las visitas siguientes, para que Emailit pueda vincularlos al contacto. Cuando el visitante cierre sesión, olvídalo:

JavaScript
emailit("reset");

reset también crea un nuevo ID de visitante anónimo, para que la siguiente persona que use un ordenador compartido no se confunda con la anterior.

Los eventos con un email que no tiene ningún contacto se conservan, y aparecen en el contacto en cuanto exista. Un contact_id que no coincide con ningún contacto se quita del evento, sin error, para que no se pueda usar una clave pública para averiguar qué ID de contacto existen.

Cualquiera que tenga tu clave de seguimiento puede llamar a identify con cualquier dirección, así que Emailit no deja que los eventos del script actúen sobre las automatizaciones. Se registran, aparecen en el contacto y llegan a los webhooks, pero no inician, terminan ni hacen avanzar ejecuciones de automatizaciones. Envía desde tu servidor, con la API de eventos, los eventos que deban hacerlo. Cada evento del script que identifica a un contacto tiene identity_verified: es true solo cuando un enlace firmado de uno de tus emails identificó al visitante, lo que forma parte de la fase alfa de Comercio electrónico, y esos eventos sí actúan sobre las automatizaciones.

Qué envía el script

Además de tu tipo y tus propiedades, cada evento lleva:

Campo Contenido
anonymous_id Un ID de visitante aleatorio (anon_…), guardado en el almacenamiento local del navegador.
email, contact_id Lo que hayas pasado a identify, si has pasado algo.
context.page Los valores url, path, title y referrer de la página.
context.campaign Los parámetros UTM de la página (utm_source, utm_medium, utm_campaign, utm_term, utm_content), como source, medium, name, term y content.
context.locale, context.timezone El idioma y la zona horaria del navegador.

Emailit añade identity_verified a los eventos que identifican a un contacto (consulta Identificar a los visitantes) y guarda el agente de usuario (user agent) del navegador. No guarda direcciones IP, y el script no crea cookies. Guarda el ID de visitante en emailit:aid y la identidad en emailit:identity, en el almacenamiento local; si el almacenamiento local está bloqueado, solo se mantienen mientras la página está abierta.

Los eventos se acumulan durante un momento y se envían juntos, como máximo 20 cada vez. Cuando el visitante sale de la página, los que quedan se envían con sendBeacon.

Si en tu web necesitas consentimiento para la analítica, carga el script solo después de que el visitante lo acepte.

Sitios permitidos

allowed_origins limita qué sitios pueden enviar eventos con una clave. Cada entrada es de uno de estos tipos:

Entrada Coincide con
https://shop.example.com Exactamente ese origen: esquema, host y puerto.
shop.example.com Ese host con cualquier esquema o puerto.
*.example.com example.com y todos sus subdominios.

Una lista vacía acepta cualquier sitio. Emailit comprueba la cabecera Origin que los navegadores envían con cada petición, así que otras webs no pueden enviar eventos con tu clave. Pero un script que se ejecute fuera de un navegador puede poner cualquier cabecera, así que trata los eventos del navegador como datos no fiables y envía los pedidos y los pagos desde tu backend.

Eventos no válidos

A diferencia de la API, el endpoint del script guarda los eventos válidos de una petición aunque otros no lo sean. Los eventos no válidos se descartan, por ejemplo un evento w: con una propiedad del tipo incorrecto, o un evento de un tipo nuevo cuando el espacio de trabajo ya usa el número de tipos de eventos de su plan. Usa la depuración para ver el motivo.

Depuración

Activa los mensajes en la consola del navegador de cualquiera de estas formas:

  • Llama a emailit("debug", true).
  • Añade data-debug a la etiqueta script.
  • Abre la página con ?emailit_debug=1 en la URL.

Entonces la consola muestra cada evento y la respuesta de Emailit, con los motivos de los eventos rechazados.

Solución de problemas

Respuesta en la consola Causa Solución
403 Origin not allowed for this tracking key El sitio de la página no está en Allowed origins. Añádelo, por ejemplo https://example.com y también https://www.example.com, o usa *.example.com.
403 This tracking key is disabled La clave está desactivada. Actívala en la pestaña Tracking.
403 Website tracking is included with Pro and Business. El espacio de trabajo está en Pay as you go. Cambia a Pro o Business.
404 Unknown tracking key La clave de la URL del script se eliminó o se escribió mal. Vuelve a copiar el fragmento de código de la pestaña Tracking.
422 con todos los eventos en rejected Ninguno de los eventos era válido. Comprueba los motivos en rejected.
429 La clave envió demasiados eventos en poco tiempo. Envía menos eventos por visitante; por ejemplo, no envíes un evento por cada desplazamiento o movimiento del ratón.
Nada en absoluto Un bloqueador de anuncios o de rastreo detuvo el script, o el script no está en la página. Prueba en un navegador sin bloqueadores y comprueba que el fragmento de código está en la página.
Ámbitos, nombres y adónde van los eventos.
Define eventos y sus propiedades.
Crea, actualiza y elimina claves.
Para pedidos y pagos.

¿Te ha resultado útil esta página?

Gracias por tu opinión.

Gracias. Leemos todos los mensajes.