Hay un número enorme de plugins para integrar Google Analytics en WordPress. Y cuando digo enorme quiero decir indecente. Y todo para una funcionalidad aparentemente tan simple como añadir un código a la cabecera de la web.
Así que es normal que quien lo hace por primera vez se sienta confundido. Rara es la semana en que no recibo al menos uno o dos mensajes preguntándome cuál es el mejor plugin para insertar Analytics en WordPress. Así que aquí dejo la respuesta larga y espero que le sirva a mucha gente.
Tabla de contenidos
Google Analytics en WordPress sin plugins
En primer lugar, y relacionado con esto, hay otra pregunta que también recibo de forma recurrente: ¿puedo poner el código de Analytics directamente en el header de la plantilla? O, dicho de otro modo: ¿realmente es necesario un plugin para esto?
Y la respuesta es que ni sí ni no, sino todo lo contrario. Se puede insertar directamente el código, claro que sí. Aunque, como ya he dicho varias veces, mejor no hacerlo directamente en la plantilla, ya que en caso de actualización perderías los cambios: para esas cosas hay que utilizar un child theme o tema hijo.
Más aún, mejor ni siquiera tocar ningún archivo. Si quieres insertar el código de Analytics directamente en la cabecera de tu web, y quieres hacerlo bien, lo mejor es «engancharlo» directamente en un hook:
add_action ('wp_head', function () {
$id = 'UA-XXXXXX-XX';
$codigo = '
';
echo $codigo;
});
Sustituyendo tu código en $id y poniendo la función en functions.php o, mejor aún, en tu plugin de funciones personalizadas, queda listo. Pero, ¿es la mejor solución?
A priori puede parecer que sí: un código propio es siempre más eficiente que un plugin ya que no incluye todo el código destinado a «universalizarlo», a guardar las opciones en la base de datos y, sobre todo, no tiene que realizar consultas a la base de datos ya que ya le has dado directamente tu dato en el código.
Sin embargo en este caso hay otras cosas a tener en cuenta. Por ejemplo, que esa función imprimirá el código de Analytics siempre. Y cuando digo siempre quiero decir incluso cuando seas tú quien entre a la web, lo cual no es lo más adecuado.
Eso se puede solucionar fácilmente con un condicional usando la función current_user_can(), y puedes hacerlo así. Pero también hay que pensar que hay plugins bien hechos que, además aportan algún extra.
Y ahí precisamente está la diferencia: como digo, incluir el código en la cabecera es algo trivial y para eso no necesitas ningún plugin, haciendo inservibles la mayoría de plugins del repositorio, pero también hay un par de joyitas que, además de eso, nos ofrecen funcionalidades adicionales muy interesantes.
Google Analytics by MonsterInsights
Google Analytics by MonsterInsights clama ser el mejor plugin de Google Analytics para WordPress, y por la cantidad de instalaciones activas que tiene (supera el millón) está claro que mucha gente también lo crea. Yo no, al menos no en su versión free.
El motivo de su éxito radica seguramente en que prioriza la experiencia de usuario, hacer que Analytics se integre en WordPress de forma sencilla, cómoda y sobre todo práctica. Tan sencillo como simplemente introducir tu número de seguimiento, tan cómodo y tan práctico como tener las estadísticas de Analytics directamente en tu WordPress.
De hecho, ésta ha sido la funcionalidad que le ha dado éxito, y si en versiones más o menos antiguas añadía un widget de estadísticas en el dashboard de WordPress con una gráfica general, ahora lo ha potenciado y ha habilitado una página completa (Insights > Escritorio) mostrando estadísticas por días, países, páginas, fuentes de tráfico…
Sin duda ésa es la gran ventaja de este plugin, que te ahorrará viajes a Analytics sólo para ver el día a día de la web.
¿Estás construyendo tu tienda online o eres implementador WordPress?
¿Necesitas plugins de calidad y con soporte para implementar funcionalidades concretas?
Consigue todos los plugins a la venta en la sección de plugins de esta web y todos los que siga añadiendo. Acceso a los 96 plugins (y subiendo) con soporte directo del desarrollador, actualizaciones y uso ilimitado: úsalos en tantas webs como lo necesites.
Complete Analytics Optimization Suite (CAOS)
Aunque yo, sinceramente, aprecio otros aspectos más técnicos. Por ejemplo una mayor eficiencia en la carga de la web. Y sí, el plugin que utilices para Google Analytics puede influir en eso.
Porque Analytics carga el script necesario directamente desde los servidores de Google: éste concretamente, como puedes ver más arriba en el propio código.
Eso quiere decir que cada vez que el seguimiento de Analytics se carga (lo que sucede en cada página de tu web, con cada visitante) tu servidor tiene que hacer una conexión a los servidores de Google y solicitar el código JavaScript que realiza las mediciones. Algo poco eficiente.
Tan poco eficiente que el propio Google le pone pegas cuando realizas mediciones con PageSpeed Insights. Es curioso ver cómo te pide que cachees un recurso que él mismo se empeña en servirte en vino cuando te proporciona el código de inserción de Analytics:
Y precisamente eso es lo que nos soluciona Complete Analytics Optimization Suite, un plugin que descarga en tu servidor el código de Analytics, lo cachea, y se ocupa de actualizarlo descargándolo regularmente desde el servidor de Google para que se apliquen las posibles actualizaciones.
Y ¿qué consigues con todo esto? Pues un pequeño extra de eficiencia en cada carga de página, que a poco que tengas unas miles de páginas vistas es algo muy de agradecer.
Google Analytics y WordPress con ecommerce
Caso aparte es cuando tienes un ecommerce en la web: ya no basta entonces con cualquier plugin, ya que Analytics cuenta con estadísticas avanzadas de conversiones para comercio electrónico que hay que implementar de forma especial (no vale con el código básico de seguimiento).
También contamos para ello con plugins específicos, por supuesto. Ahí van un par de recomendaciones en función de qué sistema de ecommerce utilices. Recuerda que, para que este tipo de plugins funcionen, debes tener habilitada la recepción de datos de comercio electrónico en Analytics, en Vista > Configuración de comercio electrónico.
WooCommerce Google Analytics Integration
WooCommerce Google Analytics Integration es sin duda el plugin idea para habilitar las funciones especiales de Analytics para comercio electrónico cuando vendes con WooCommerce.
Es sencillo de configurar, eficaz y eficiente, e incluso te permite que utilices un plugin diferente para el código básico gracias a una opción que te permite habilitar o no el seguimiento básico.
Con este plugin comenzar a captar los datos de ventas, conversiones, atribución, etc, es cosa de dos minutos (literalmente).
EDD Google Analytics Universal Ecommerce
Para el otro gran sistema de comercio electrónico en WordPress, Easy Digital Downloads (que no todo en esta vida es WooCommerce), tenemos también un plugin que permite habilitar el seguimiento especial para comercio electrónico: EDD Google Analytics Universal Ecommerce.
Al contrario que el plugin anterior, éste no es capaz de trabajar por sí solo y necesita la presencia de otro plugin que inserte el código básico de Analytics. Es decir, EDD Google Analytics Universal Ecommerce por sí sólo no va a habilitar la recepción de datos, necesitas insertar el código de Analytics en la cabecera por algún otro medio.
Conclusión
Como ves, opciones no faltan. Una cosa aparentemente sencilla como insertar un pequeño trozo de código en la cabecera de una web presenta un montón de alternativas, las que te he presentado aquí son sólo las que veo más interesantes en función de lo que obtener además de la simple inserción del código.
Como siempre, para cualquier duda o pregunta tienes a tu disposición los comentarios y el formulario de contacto.
Jesus dice
Buenas tardes,
La joya es este post al cual seguramente has dedicado muchas horas.
Gracias
Buen finde
Enrique Ros dice
Hola Jesús
Muchas gracias a ti por tu amable comentario. Sí me lleva trabajo escribir estos posts, pero como son cosas de mi día a día la mayor parte de la información ya está en la cabeza y prácticamente se trata sólo de transcribir 🙂
Un saludo y feliz finde.
María dice
Estupendo muchas gracias!
Enrique Ros dice
A ti 🙂
Alberto dice
Hola Enrique:
Muchas gracias como siempre por tus aclaraciones. Como buen seguidor de tus artículos, he creado un tema hijo de Flatsome para mi web. Y hoy me he metido en Analytics para comenzar a medir (siguiendo tus consejos y los de Lord Kelvin). Ahora bien, el código de Analytics ya no lo puedo meter en el header.php, ya que al ser un tema hijo no aparece por defecto.
Soluciones que se me ocurren:
1. Copiar del tema padre al hijo el header.php, y una vez en el hijo, copiar el script.
2. Como el functions.php sí que lo tengo por defecto en el hijo, pegar el código que nos ofreces (y sustituir el código real de Analytics).
El resultado, ¿sería el mismo?
Un saludo y gracias.
Enrique Ros dice
Hola Alberto
Muchas gracias a ti por tu comentario 🙂 Pues mira, puedes hacer ambas cosas y, a efectos prácticos, el resultado es el mismo, aunque la diferencia es que si copias el header.php en la plantilla hijo, si el tema padre (Flatsome en este caso) publica alguna actualización que incluya cambios en header.php, éstos no se aplicarán a tu web, ya que estarás utilizando la versión no actualizada que hay en tu tema hijo. Para cualquier cambio es preferible, siempre que se pueda, utilizar hooks.
Ahora bien, ¿hay algún motivo especial por el que quieras insertar el código directamente en el tema? Sé que es más eficiente, ya que te ahorras al menos una consulta a la base de datos (la que haga el plugin en demanda de tu número de Analytics), y siempre soy partidario de utilizar códigos personalizados antes que plugins por esta razón.
Sin embargo en este caso los plugins ofrecen ventajas adicionales que afectarán a las estadísticas, como evitar que se registren estadísticas de tus propias visitas, por ejemplo (aunque esto también puedes evitarlo mediante los filtros de Analytics) o, en el caso de CAOS, el hecho de cachear localmente el código.
Y merece mucho la pena, porque en este caso concreto de CAOS la velocidad obtenida por tener el código cacheado es mayor que la que pierde en solicitar el número a MySQL, ya que estamos hablando de una conexión a un host externo (el servidor de Google) frente a una consulta a una base de datos local, que es mucho más rápido.
Un saludo.
Johan Montilla dice
Muchas gracias Enrique por tu post, la verdad es que hay tantas opciones que uno aveces No sabe cual de todas elegir.