Plantilla de Yandex Metrica para GTM (07.2020)

Una pequeña revisión de mi plantilla personalizada de Yandex Metrica para Google Tag Manager.

Estos son los cambios más destacados:

  • Añadidas las opciones para indicar coste de objetivo (order_price y currency) en los eventos de hit, reachGoal, file y extLink
  • Reorganización de algunos bloques de campos (por ejemplo, los parámetros de sesión ahora se muestran ocultos por defecto para aquellos eventos que los admiten como opcionales; la configuración de comercio electrónico, parámetros de usuario y extensiones de fichero también se muestran ocultos por defecto en la inicialización de la etiqueta)
  • Solución de pequeños bugs
  • Optimización de código

Descarga de la plantilla personalizada

Plantilla de Yandex Metrica para GTM (09.2019)

He actualizado la plantilla personalizada de Yandex Metrica para Google Tag Manager que publiqué en junio. Si quieres leer el artículo original con la información y descripción completa de las características de la plantilla, lo tienes en este enlace:

https://www.antoniolite.com/2019/06/plantilla-de-yandex-metrica-para-gtm/

En lo que respecta a la actualización, estos son los cambios más destacados:

Inicialización de la etiqueta

Hay disponibles nuevos parámetros de configuración cuando se inicializa la etiqueta. Todos ellos son opcionales.

childIframe

Con este parámetro indicamos que queremos grabar el contenido que se esté mostrando en un iframe, siempre que la ventana principal y la página que carga el iframe esté bajo el mismo dominio.

trustedDomains

En relación al anterior, con este parámetro indicamos en la página que se carga en el iframe aquellos dominios de confianza que podrán grabar los contenidos con webvisor. Por ejemplo, si la ventana principal y la del iframe son son de distintos dominios o subdominios de un mismo dominio.

userParams

Podemos enviar parámetros de usuario con la inicialización de la etiqueta, y seguimos pudiendo enviar parámetros de usuario en cualquier momento con el método userParams.

triggerEvent

Con este parámetro, Metrica lanza un evento “yacounterXXXXXXinited” (donde XXXXXX es el ID de tu contador) para que sepamos cuándo está operativo nuestro contador de Metrica. Podemos vincular alguna función JavaScript / jQuery a este evento, como por ejemplo:

$(document).on('yacounterXXXXXXinited', function() {
  console.log('yaCounterXXXXXX ya está disponible');
});

Otros cambios

Hay otros cambios en la plantilla personalizada para Yandex Metrica:

  • Solucionado bug con el método setUserId
  • Solucionado bug al añadir extensiones de fichero para monitorizar
  • Mejoras en la interfaz de configuración de la etiqueta
  • Optimización de código

Descarga de la plantilla personalizada

Plantilla de Yandex Metrica para GTM

Las plantillas personalizadas son una de las últimas características que han aparecido en Google Tag Manager. Y de haber aparecido un par de meses antes, me hubieran ahorrado una cantidad de tiempo enorme implementando Yandex.Metrica en un proyecto reciente.

La plantilla sobre la que trata este artículo es una plantilla para implementar el código de seguimiento de Yandex.Metrica a través de Google Tag Manager. Su interfaz está en español y tiene casi todas las opciones y características que tiene disponibles Metrica para su código de seguimiento:

  1. Inicialización
  2. Hit / Página vista
  3. Objetivo
  4. Enlace saliente
  5. Descarga de fichero
  6. Parámetros de sesión
  7. ID de usuario
  8. Parámetros de usuario

Unos muy buenos recursos que me han ayudado son la Custom templates quick start guide, de Google; la Custom Templates Guide For Google Tag Manager, de Simo Ahava; y la Google Tag Manager Custom Template – Yandex Metrica, de David Vallejo (en inglés, disponible también en GoogleTagManagerTemplates de GitHub, donde supongo que se irá actualizando, además de recoger en ese repositorio otras muchas plantillas).

1. Inicialización

Método: init

Para inicializar el código de seguimiento de Metrica. Se pueden configurar las principales opciones y características sin tener que editar el contador en la administración de nuestra cuenta de Metrica. No obstante, hay algunas cosas que deberías dejar configuradas cuando crees el contador y otras que tendrás que hacer impepinablemente en la interfaz de Metrica.

Te recomiendo que en la configuración de tu contador dejes marcadas las opciones para la grabación de sesiones, envío de datos de comercio electrónico y divisa por defecto tal como lo necesites. Respecto a la grabación de sesiones, tienes que usar Session Replay 2.0, ya que esta plantilla no es compatible con el código anterior de Metrica. También has de indicar si quieres grabar las pulsaciones de teclado en la grabación de sesiones (siempre lo puedes desactivar de forma específica usando el CSS que indica Metrica para estos casos).

Para habilitar los informes de comercio electrónico en Metrica, tienes que habilitar esta opción en el código de seguimiento, y además incluir en el código de tu página el dataLayer (que puede ser el mismo que uses para Google Tag Manager / Google Analytics).

<script type="text/javascript">
window.dataLayer = window.dataLayer || [];
</script>

Filtros y objetivos, lógicamente, los tienes que seguir creando desde la interfaz de Metrica, así como exclusión de visitas propias o la activación y gestión de las notificaciones que puedes tener sobre el estado del sitio web configurado.

Sobre el debug de Yandex.Metrica, lo puedes activar en las opciones de inicialización, pero solo funcionará si el contenedor de GTM está en modo de vista previa.


2. Hit / Página vista

Método: hit

Para enviar páginas vistas / páginas virtuales. El único parámetro obligatorio es el de la URL de la página que envías.


3. Objetivo

Método: reachGoal

Envia información sobre la consecución de un objetivo. Previamente lo has tenido que definir en la interfaz de Metrica. Cuidado con el nombre del objetivo, ha de coincidir con lo que hayas puesto en Metrica. Importe y divisa son opcionales, en las divisas he añadido Euro, Dólar americano, Rublo y Libra esterlina (puedes añadir lo que necesites editando la plantilla o vía variable de GTM).

Si se trata de un objetivo de comercio electrónico (venta), puedes enviar el ID del objetivo usando el dataLayer, no hace falta usar reachGoal. En este caso, no se usa el nombre del objetivo, si no el ID numérico del objetivo (lo obtienes igualmente de la interfaz de Metrica).


4. Enlace saliente

Método: extLink

Si has configurado el código de seguimiento para que registre enlaces salientes, puede que no uses esta opción, aunque la tienes disponible para enviar a Metrica datos de enlaces externos que puedas usar vía ajax o técnicas similares. El único parámetro obligatorio es la URL del enlace externo. Si no pasas el título de la página, Metrica registrará document.title como valor por defecto.


5. Descarga de fichero

Método: file

Como el método anterior, si has configurado el registro de descarga de ficheros en el código de seguimiento de Metrica, puede que no necesites esta opción. En la configuración del código de seguimiento puedes añadir extensiones de fichero que quieras registrar de forma automática, si la que necesites no está incluida en las numerosas extensiones de fichero que registra Metrica por defecto.


6. Parámetros de sesión

Método: params

Los parámetros de sesión están disponibles como opciones en los métodos init, hit, reachGoal, file y extLink. Puedes usar hasta 10 niveles en los parámetros de sesión, aunque tendrás que echarle algo de imaginación para usar más de 2 niveles con la tabla que te permite crear GTM.


7. ID de usuario

Método: setUserID

Fácil. Enviar el ID de usuario interno que utilices en tu sitio web. Puedes enviarlo en cualquier momento durante una sesión para asociar el clientID de Metrica con el ID de usuario que especifiques.


8. Parámetros de usuario

Método: userParams

Metrica permite pasar parámetros de usuario y recomienda pasar datos de usuario que no cambien de una sesión a otra y que no contengan datos personales como el nombre del usuario. Para comprender un poco mejor la diferencia entre parámetros de usuario y parámetros de sesión, puedes echar un ojo a esta página donde explican cómo se procesan y almacenan los datos.

¿Y el resto de métodos?

Del resto de métodos (getClientID, addFileExtension y notBounce), el único que no está disponible en esta plantilla es getClientID. Los otros dos, addFileExtension y notBounce he decidido incluirlos como opciones en la configuración para la inicialización del código de seguimiento y se ejecutan, en caso de estar configurados, en el momento de inicializar el código de Yandex Metrica.

Problema de vulnerabilidad en plugins y temas de WordPress

Hace unos días nos enterábamos de que había una grave vulnerabilidad (Cross-Site Scripting) en algunos de los plugins más populares para WordPress:

  • Jetpack
  • WordPress SEO (Yoast)
  • Google Analytics (Yoast)
  • All In one SEO
  • UpdraftPlus
  • WPTouch
  • Download Monitor
  • P3 Profiler
  • iThemes Exchange

Estos son algunos de los que más pueden sonar, pero ahora mismo hay más de 37.000 plugins disponibles en wordpress.org, más los cientos o miles que puede haber en sitios como Codecanyon. Y esto son solo los plugins.

El problema de seguridad viene del uso que los desarrolladores de plugins y plantillas han ido haciendo de un par de funciones de WordPress (add_query_arg() y remove_query_arg()), así que las miles de plantillas que hay en wordpress.org, Themeforest o sitios similares también se pueden ver afectadas.

Los dos plugins de SEO del listado de arriba son dos plugins que suelo instalar en todos los sitios de WordPress con los que trabajo (uno u otro, obviamente), y que también recomiendo a alumnos y clientes. Claro, que también recomiendo que tanto WordPress como los plugins y plantillas que se usen siempre se mantengan actualizados, y sigo viendo sitios que están corriendo con la versión 3.5 —o anterior— de WordPress, y si así anda la versión de WordPress, imagínate cómo están los plugins.

Si mantienes sitios con WordPress —y sobre todo si has tenido problemas con ellos últimamente—, te interesará echar un vistazo a los artículos que han ido publicando estos días sitios como Sucuri, WP Tavern o Envato:

Ya sabes… actualizaciones y copias de seguridad periódicas, que son gratis. Y borra todo aquello que no necesites realmente para que funcione tu sitio en WordPress.