Cómo incluir eventos de Google Analytics en los Widgets de WordPress

Cómo incluir eventos de Google Analytics en los Widgets de WordPress

En un artículo anterior explicábamos la manera de añadir eventos de Google Analytics para medir el uso de los botones sociales de cada artículo publicado en WordPress. Para ello nos valíamos del filtro the_content, pero ¿y si los botones los tenemos en un widget en la barra lateral? ¿y si lo que queremos medir son los clics en otros enlaces, como los de las nubes de etiquetas, o los típicos módulos de últimos artículos, o artículos más vistos?

Poder identificar estos clics será muy útil para diferenciar qué tráfico llega a los artículos a través de esos widgets y ver si realmente son eficaces o si podemos quitarlos porque no los usa nadie. Sin embargo the_content no nos servirá para esto, y WordPress no dispone de algo similar para los widgets.

Afortunadamente existe un plugin que, entre sus funciones, nos añade el filtro widget_content, de manera que con ayuda de este plugin y una sustitución similar a la que ya vimos, podremos incluir los eventos desde el fichero functions.php, sin tener que tocar el código de WordPress ni de el tema.

Widget LogicEl plugin en cuestión es Widget Logic, y su principal función es poder indicar condiciones bajo las que se mostrará cada widget, de manera que incluyamos diferentes contenidos en la home, en la página de un artículo, o en las páginas estáticas, por ejemplo. O incluso diferentes contenidos dependiendo del rol del usuario que nos visita.

Naturalmente lo primero será instalar el plugin Widget Logic. Después debemos activar el filtro widget_content, pues por defecto se instala desactivado. Para ello vamos a Apariencia -> Widgets y, en la parte inferior, encontraremos las opciones de Widget Logic. Marcamos la casilla de Añadir el filtro widget_content y guardamos. Ya estamos listos para programar una función que inserte dinámicamente los eventos que queramos en cualquier punto de cualquier widget.
Widget_logic
En este caso lo que vamos a hacer es identificar cualquier enlace interno que haya en cualquier widget, capturar la URL a la que apunta, e insertar un evento de categoría = Sidebar, y Acción = la URL capturada.

El código de la función es el siguiente:

/*Añade eventos de Google Analytics en los enlaces de la barra lateral*/
function eventos_widgets($content) {
	$original = '#(href=("|')http://tudominio.es((/[a-zA-Z0-9_-]+)*)("|'))#';
	$coneventos = 'onclick="javascript:_gaq.push(['_trackEvent','Sidebar', '$3']);" $1';
	$content = preg_replace($original, $coneventos, $content);
	return $content;
}
add_filter('widget_content', 'eventos_widgets');

En el nos ayudamos de las expresiones regulares para poder seleccionar cualquier enlace y para pasar como parámetro del evento sólo el contenido del directorio, sin el nombre del dominio.

En la imagen se puede ver el resultado, tras unos días funcionando en lucesyfotos.es.

Eventos Sidebar

Sobre Oscar G. Peinado

Ingeniero Técnico Industrial. Máster en Analítica Web por KSchool. Posgrado en SEO & SEM por INESDI. Certificado en Google Analytics (GAIQ). Vinculado al medio online desde 2006. Más de 17 años como analista para revistas como MacWorld y PC World, de la que fue director del laboratorio, y responsable de contenidos, analítica web y SEO de PC World Digital.

6 Comentarios

  1. Un post muy útil.
    Imagino que para google analytics universal sólo habrá que cambiar los parámetros a ‘onclick=”javascript: ga(‘send’, ‘event’, ‘category’, ‘action’, ‘label’)’.

    Gracias y un saludo

    Responder
    • Imaginas bien guiogl, no tienes más que cambiar la función de Google Analytics por la de Universal Analytics, pasarle sus parámetros, y debe funcionar exactamente igual.

      Responder
  2. ¡Genial! me estaba volviendo loco para hacerlo. Es justo lo que necesitaba.

    Responder
  3. Un plugin estupendo para incluir eventos de google analytics en los widgets de wordpress que añade el filtro widget_content, sin tener que tocar el código de WordPress ni de el tema.

    Responder

Trackbacks/Pingbacks

  1. @ogpeinado - RT @la_metrica: Cómo incluir eventos de Google Analytics en los Widgets d http://t.co/mnUwQerikO
  2. @laitziar - RT @KPIs_land: Los chicos de @la_metrica tienen nuevo post: "Cómo incluir eventos de Google Analytics en los Widgets de Wordpress"…
  3. @nievesro7 - Cómo incluir eventos de Google Analytics en los Widgets de Wordpress http://t.co/VhlZ4PLiLa
  4. @jorgealvarez - RT @KPIs_land: Los chicos de @la_metrica tienen nuevo post: "Cómo incluir eventos de Google Analytics en los Widgets de Wordpress"…
  5. @ADVANTOsl - RT @KPIs_land: Los chicos de @la_metrica tienen nuevo post: "Cómo incluir eventos de Google Analytics en los Widgets de Wordpress"…
  6. @jmlametrica - RT @la_metrica: Cómo incluir eventos de Google Analytics en los Widgets d http://t.co/mnUwQerikO
  7. @piyayo5 - RT @la_metrica: Cómo incluir eventos de Google Analytics en los Widgets d http://t.co/mnUwQerikO
  8. @AlejandrOV_ - Cómo incluir eventos de Google Analytics en los Widgets de Wordpress http://t.co/XH7SoWxQSJ
  9. @alexanderpv - #AnalíticaWeb #Wordpress #Widget | Cómo incluir eventos de Google Analytics en los Widgets de Wordpress http://t.co/DEPZKVEvTq

Deja un comentario