Roometrics

Documentación

Guía de instalación y desarrollo

Todo lo que necesitas para poner Roometrics en tu web y mandar tus compras y conversiones, con o sin Google Tag Manager. Las visitas se miden solas desde que pegas el código. Lo demás es opcional, según lo que quieras medir.

Instalación

Pega estas dos líneas dentro del <head> de tu web. Tu clave (data-key) la tienes en el panel, en el botón "Código de instalación".

<script>window.roometrics=window.roometrics||function(){(window.roometrics.q=window.roometrics.q||[]).push(arguments)};</script>
<script defer data-key="cm10_TU_CLAVE" src="https://roometrics.es/a.js"></script>

La primera línea deja llamar a roometrics() en cualquier momento, incluso antes de que cargue el script. La segunda carga el script que mide, que pesa unos 2 KB. A partir de aquí, las visitas de tu web aparecen en el panel sin hacer nada más. Sin cookies y sin banner de consentimiento.

Detección automática de contactos

Roometrics detecta por su cuenta cinco acciones de tu web, sin que añadas ni una línea más de código. Está pensado para el caso más común de todos, una web que no vende online y en la que el éxito es que alguien llame, escriba o rellene el formulario. Con el código de instalación ya pegado, lo único que falta es encenderlo en el panel.

De cada acción se manda únicamente el tipo. Nunca el número de teléfono, ni la dirección de correo, ni el texto del botón, ni a dónde apunta el enlace, ni el nombre del formulario, ni un solo campo de lo que alguien escriba en él. Lo que se guarda es que hubo un clic, de qué clase, y en qué página, que es la misma información que ya lleva cualquier página vista. Sigue sin cookies y sin banner.

Evento Qué lo dispara y cómo se lee en el panel
auto.tel Clic en un enlace tel:, el botón de llamar de toda la vida. En el panel se lee "Clic en teléfono".
auto.email Clic en un enlace mailto:. En el panel se lee "Clic en correo".
auto.whatsapp Clic en un enlace de WhatsApp, tanto wa.me como api.whatsapp.com, web.whatsapp.com o whatsapp:. En el panel se lee "Clic en WhatsApp".
auto.download Clic en un enlace a un archivo pdf, doc, docx, xls, xlsx, csv, zip, mp3 o mp4. En el panel se lee "Descarga de archivo". Entra en la lista porque se detecta igual que las demás, aunque cuente más como interés que como contacto.
auto.form Envío de cualquier formulario de la web. En el panel se lee "Formulario enviado".

Se ven en la tarjeta de Eventos del panel, en la pestaña "Automáticos", con las veces que pasó y cuántos visitantes distintos lo hicieron. Esa pestaña aparece en cuanto se detecta el primer contacto, así que si acabas de encenderlo y todavía no ves ninguna, es que aún no ha pasado nada. Los eventos que mandas tú desde tu web se quedan en la pestaña "Propios", así que las dos cosas nunca se mezclan. Si pasas el ratón por encima del nombre verás el nombre técnico, que es el que hace falta para lo de más abajo.

Cómo se enciende

Nace apagada, y se enciende por sitio web, nunca por cuenta. En el panel, en el engranaje de Ajustes, pestaña "Detección automática", marca la casilla "Contar solos los contactos de mi web". Empieza a contar desde ese momento, no hay efecto retroactivo sobre lo que ya pasó. Al encenderla se guarda la fecha y quién lo hizo, porque es tu web y la decisión de medir esto es tuya. Si la apagas deja de guardarse al instante en todas tus páginas, sin que tengas que tocar el código, y lo ya medido se queda donde está.

Un objetivo "Contactos" que agrupe varias acciones

Aquí es donde esto vale de verdad. Un contacto es un contacto tanto si llegó por teléfono como por WhatsApp o por el formulario, así que lo interesante no es mirar tres números sueltos, es tener uno solo con su porcentaje sobre tus visitantes.

En la tarjeta de Objetivos pulsa "Crear", ponle el nombre que quieras verlo, por ejemplo Contactos, elige el tipo "Evento" y escribe este patrón.

auto.tel|auto.whatsapp|auto.form

La barra vertical significa "o", así que ese objetivo cuenta a quien haya hecho cualquiera de las tres cosas. Quita o añade las que quieras de la tabla de arriba, por ejemplo auto.tel|auto.email|auto.whatsapp|auto.form si el correo también te trae clientes. Escríbelo sin espacios alrededor de la barra y con el nombre técnico completo, con su auto. delante, porque el nombre tiene que ser exacto.

Después rellena "Valor de cada conversión". Es lo que vale para tu negocio cada vez que alguien te contacta. Si de cada diez contactos cierras una venta de 500 euros, cada contacto vale 50, así que escribe 50. Desde ese momento la tarjeta de Objetivos añade una columna de Valor y "23 contactos" pasa a leerse "23 contactos, 1.150 euros", que ya es una cifra con la que decidir cuánto puedes gastar en traer visitas.

Ese dinero es una estimación tuya, calculada como los visitantes que cumplen el objetivo por el valor que le has puesto, y se enseña solo en la tarjeta de Objetivos. No se suma nunca a los ingresos del panel, que son dinero cobrado de verdad. Mezclar las dos cosas haría que el panel te mienta sobre lo que has facturado.

Lo que no se cuenta

Lo que pasa dentro de un iframe. Si tu pasarela de pago, tu formulario o tu chat están embebidos con un iframe, eso es otra página distinta y el código de la tuya no la alcanza. Ahí no se detecta nada, y para medirlo hay que instalar el código dentro de esa otra página o mandar el evento tú.

Los formularios que no se envían de verdad. Muchos formularios modernos no hacen un envío, mandan los datos por su cuenta con JavaScript y enseñan un mensaje de gracias sin cambiar de página. Como no hay envío, no hay nada que detectar. Si es tu caso, llama a roometrics('contacto') cuando se complete, o crea un objetivo de tipo página sobre tu página de gracias.

Los botones que no son enlaces. Se detecta el clic en un enlace con su dirección puesta. Un botón que llama o abre WhatsApp por JavaScript, sin ser un enlace, no se ve.

Un clic no es una llamada. Un clic en tu teléfono desde un ordenador cuenta igual, aunque ahí no llame nadie. Lo que se mide es la intención de contactar, no la conversación. En móvil se parece mucho más a la realidad. Y si la misma persona pincha tres veces son tres veces, por eso la tabla enseña las veces y los visitantes en columnas separadas, y el objetivo cuenta visitantes.

Un clic en un archivo no es una descarga. Se mira la extensión del enlace, no lo que hace el navegador después. Un pdf que se abre en una pestaña en vez de bajarse cuenta igual.

Todos los formularios comparten nombre. El de contacto y el de la newsletter cuentan los dos como "Formulario enviado", porque distinguirlos exigiría mandar algo del formulario y eso es justo lo que no se hace. Si necesitas separarlos, dispara tu propio evento con el nombre que quieras.

Si ya lo medías tú, se cuentan las dos cosas. Cuando tu web ya dispara su propio roometrics('llamada') en ese mismo enlace, tendrás tu evento en la pestaña "Propios" y el automático en la de "Automáticos". No se suman en ninguna cifra del panel, pero al crear un objetivo elige uno de los dos y no los metas juntos en el mismo patrón, o contarías a esa gente por partida doble.

Al encenderlo puede subirte la duración media. Un clic cuenta como actividad dentro de la sesión, así que una visita que termina pulsando tu teléfono dura un poco más que antes. Las páginas vistas, las visitas y el rebote no se mueven.

Estos eventos no llevan importe

Un evento automático es un conteo y nada más. No lleva importe, ni moneda, ni número de pedido, ni productos, y el servidor los descarta aunque lleguen. Es a propósito. Tu clave de instalación está a la vista en el HTML de tu web, y si un contacto detectado solo pudiera traer dinero dentro, cualquiera podría inventarte la facturación.

Si vendes online y quieres ingresos reales, sigue mandando tu compra desde la página de gracias como se explica en Ingresos, con roometrics('compra', { revenue: 59.9, id: 'PED-1042' }). La forma de ver euros en un contacto es el valor por conversión del objetivo, que es tu estimación y vive aparte de lo cobrado.

Medir eventos

Un evento es una acción que quieres contar, como una compra, un alta o el envío de un formulario. Se registra llamando a roometrics() con el nombre que le des.

roometrics('compra');

El nombre admite letras, números, espacios y los signos _ . -, hasta 50 caracteres. Puedes llamar a roometrics() desde donde quieras de tu web, por ejemplo en el clic de un botón o cuando se completa un formulario.

Ingresos

Si la acción tiene un importe, pásalo en revenue y aparecerá en tus ingresos y repartido por campaña.

roometrics('compra', { revenue: 59.9 });

El importe va en euros por defecto. Si cobras en otra moneda, añade currency con su código de tres letras y lo convertimos al cambio del día.

roometrics('compra', { revenue: 79, currency: 'USD' });

Para no contar dos veces la misma compra, por ejemplo si el cliente recarga la página de gracias, pásale un identificador único de la venta en id. Un id repetido se ignora sin romper nada.

roometrics('compra', { revenue: 59.9, id: 'PED-1042' });

Productos

Puedes mandar el detalle de lo vendido en items. Es el mismo formato de productos que usa Google Analytics, así que si ya lo tienes montado en tu tienda, sirve igual.

roometrics('compra', {
  revenue: 258,
  id: 'PED-1042',
  items: [
    { item_name: 'Zapatillas', price: 129, quantity: 2 }
  ]
});

Cada producto lleva su nombre en item_name (o su código en item_id), su price y su quantity. Hasta 20 productos por compra. Aquí solo van productos, nunca datos personales de tus clientes.

Enviar eventos desde Google Tag Manager

Si usas Google Tag Manager, puedes mandar las compras y conversiones sin tocar el código de tu web cada vez. Tu web va dejando información de lo que pasa en la capa de datos (el dataLayer), una lista donde apunta cosas como una compra con su importe y sus productos. Google Tag Manager lee de ahí.

Paso 1. Asegúrate de que el código de instalación de arriba está en tu web, o mételo en una etiqueta de HTML personalizado en Google Tag Manager que se dispare en todas las páginas. La primera línea es la que deja llamar a roometrics().

Paso 2. Crea una etiqueta de HTML personalizado que llame a roometrics() leyendo de la capa de datos. Por ejemplo, para una compra:

<script>
  roometrics('compra', {
    revenue: {{DLV - ecommerce.value}},
    id: {{DLV - ecommerce.transaction_id}},
    items: {{DLV - ecommerce.items}}
  });
</script>

Los {{DLV - ...}} son variables de la capa de datos que creas en Google Tag Manager, en Variables, Nueva, Variable de la capa de datos, apuntando al nombre que use tu web (por ejemplo ecommerce.value).

Paso 3. Dispara esa etiqueta con el evento de compra de tu capa de datos. Crea un activador de tipo Evento personalizado con el nombre del evento que empuja tu web, por ejemplo purchase.

Importante. No añadas el activador "Cambio en el historial" para contar páginas vistas. El código de Roometrics ya detecta por su cuenta la navegación dentro de una web de una sola página y lleva una guarda para no contar dos veces la misma carga. Si añades ese activador, cada página se cuenta por duplicado.

Para comprobar que la instalación funciona, entra en tu web, mira el panel y confirma que tu visita aparece en "ahora mismo". Después haz la acción que estés midiendo, por ejemplo una compra de prueba, y comprueba que sale en la tarjeta de Eventos con su importe.

Atribución de campañas entre días

Por defecto Roometrics atribuye las ventas a la campaña del mismo día, sin cookies. Si quieres atribuir una venta a la campaña que trajo a esa persona días antes, hay que recordar el origen en su navegador, y eso solo se puede hacer con su consentimiento de marketing.

Cuando tu gestor de cookies confirme ese consentimiento, avisa a Roometrics con esta línea.

roometrics('_consent', { marketing: true });

Si el visitante no da consentimiento, no se guarda nada en su navegador y todo sigue sin cookies, con atribución del mismo día. Cuando sí lo da, Roometrics guarda solo la campaña de origen, sin ningún identificador de persona, durante 90 días.

Cómo ponerlo en Google Tag Manager

Crea una etiqueta de HTML personalizado con esa línea dentro de una etiqueta <script>. No hace falta que la etiqueta espere a nada, porque la primera línea del código de instalación deja llamar a roometrics() desde el primer momento.

Lo importante es el activador. Tiene que cubrir dos situaciones, no solo una. La primera es alguien que acepta las cookies en ese momento. La segunda, que se escapa con facilidad, es alguien que ya las aceptó días atrás y vuelve pinchando en tu anuncio. A esa persona no le sale el banner, así que no hay ningún evento de aceptación, y si tu activador solo escucha ese evento su campaña de origen no se guarda nunca.

Si tu gestor de cookies está integrado con el modo de consentimiento de Google, en los ajustes avanzados de la etiqueta marca que requiere el consentimiento ad_storage. Y para el activador usa el de vista de página con el disparo en DOM ready, no el de todas las páginas.

El motivo es de tiempos y se ve en cuanto lo pruebas. Muchos gestores de cookies todavía no han dejado escrito el estado del consentimiento cuando el contenedor de Google Tag Manager acaba de cargar, así que una etiqueta que dispara en ese momento se encuentra sin consentimiento aunque la persona ya lo hubiera dado en una visita anterior. Con DOM ready le das al gestor el margen que necesita.

Y comprueba el caso de quien acepta por primera vez. Esa persona todavía no ha aceptado cuando ocurre DOM ready, así que su campaña de origen solo se guardará si la etiqueta dispara en el momento en que pulsa aceptar. En vista previa, entra con una dirección con parámetros utm_, deja el banner sin tocar, confirma que la etiqueta no se ha activado, y entonces pulsa aceptar. Si aparece activada, ya está todo. Si no aparece, añade un segundo activador con el evento que lanza tu gestor al aceptar, porque si no perderás justo a quien llega de campaña por primera vez.

Deja sin marcar la casilla de compatibilidad con document.write. Esa opción es para etiquetas antiguas y esta no la necesita. Además es peligrosa aquí, porque esta etiqueta está pensada para dispararse tarde, cuando alguien acepta las cookies, y escribir en la página después de que haya cargado la deja en blanco.

Comprueba que el bloqueo es real antes de darlo por bueno. Abre el modo de vista previa de Google Tag Manager y mira la etiqueta antes de aceptar las cookies. Tiene que aparecer como no activada por falta de consentimiento. Si dispara igualmente, tu gestor de cookies no está integrado con el modo de consentimiento de Google, esa casilla no está bloqueando nada, y estarías guardando el origen en el navegador de personas que no han consentido. En ese caso usa la opción de abajo.

Si tu gestor no usa el modo de consentimiento, pon dos activadores en la misma etiqueta. Uno con el evento que lanza tu gestor al aceptar, y otro de todas las páginas con la condición de que la cookie de consentimiento ya exista y valga aceptado.

Dispararla de más no molesta. Roometrics guarda la campaña de origen una sola vez, así que las llamadas siguientes no hacen nada. Y ten en cuenta que solo guarda algo si la página por la que entró esa persona llevaba parámetros utm_, que es precisamente lo que se quiere recordar. Para probar que funciona, entra en tu web con una dirección como tuweb.com/?utm_source=prueba&utm_medium=cpc, acepta las cookies, y comprueba que aparece en la tarjeta de atribución del panel.

Es la duda más habitual con quien hace campañas, así que la dejamos clara. El banner de cookies y el Consent Mode v2 los pide Google para sus propias herramientas, Google Ads y Google Analytics, que miden con cookies. Roometrics mide sin cookies, así que no necesita banner ni Consent Mode, y no interfiere con las señales de Google.

Puedes tener las dos cosas a la vez sin que choquen. Google Ads sigue funcionando igual con Roometrics instalado que sin él, porque Roometrics no toca el Consent Mode, no manda señales a Google y no pone ni lee cookies. Y como Roometrics no depende del banner, cuenta también a los visitantes que lo rechazan, que en Google Analytics desaparecen. Sueles ver más visitas reales en Roometrics justo por eso.

Un límite honesto. Roometrics no alimenta a Google Ads. No mejora el modelado de conversiones de Google ni le envía datos. Si quieres que Google Ads vea tus conversiones para pujar mejor, eso necesita el tag de Google con el Consent Mode. Lo que te da Roometrics es tu propia vista de qué campaña te trae ventas, con etiquetas UTM y sin cookies.

Consejo práctico. Si ya usas un gestor de cookies por Google u otras herramientas, marca el script de Roometrics como "sin cookies" o "no requiere consentimiento" para que el gestor no lo bloquee. Así Roometrics carga y mide para todos desde el primer segundo, acepten o no el banner.

Objetivos y embudos

Los objetivos y los embudos se crean desde el panel, no desde el código. Un objetivo es lo que para ti cuenta como éxito, llegar a una página como /gracias o disparar uno de tus eventos como compra. Un embudo son varios pasos en orden, y te dice en cuál se queda la gente por el camino.

Un objetivo puede llevar además un valor por conversión, y entonces la tarjeta muestra una columna de Valor con lo que han supuesto esas conversiones. Y un patrón de tipo Evento admite varias alternativas separadas por la barra vertical, para contar en un solo objetivo a quien haya hecho cualquiera de ellas. Las dos cosas están explicadas con un ejemplo en Detección automática de contactos.

Referencia rápida

roometrics(nombre, opts). El nombre es obligatorio. opts es opcional y admite estos campos.

Campo Qué es
revenueImporte de la venta (número).
currencyMoneda en tres letras. Por defecto EUR.
idIdentificador único de la venta, para no contarla dos veces.
itemsLista de productos, formato de Google Analytics, hasta 20.

El nombre especial _consent no es un evento. roometrics('_consent', { marketing: true }) activa la atribución entre días para ese visitante.

¿Te ayudo a montarlo?

Si prefieres no pelearte con esto, escríbeme a contacto@roometrics.es y lo dejamos funcionando juntos.