web-dev-qa-db-fra.com

Comment suivre les clics sortants dans Google Analytics

Je sais qu'il y a plusieurs façons de m'aider à savoir combien de fois cet utilisateur a cliqué sur les liens sortants, mais la situation est assez compliquée.

C'est un site Web d'école, KENT SCHOOL DISTRICT et la page d'accueil du site Web comporte une barre latérale gauche avec des raccourcis (liens). Le site Web est construit dans School Wires (système de gestion de contenu) et les fils de l’école ne nous ont pas fourni le code pour les raccourcis vers le site.

Sous le responsable du site, nous avons l'onglet Raccourcis du site (voir ci-dessous). enter image description here

Fondamentalement, nous ne faisons aucun codage en dur pour les raccourcis.

Jusqu'ici j'ai essayé:

  1. J'avais d'abord envisagé d'utiliser EVENT TRACKING 'onClick' dans mon tag d'ancrage, mais dès que j'ai découvert que le site Web de mon école n'utilisait pas de liens codés en dur, j'ai abandonné cette idée.

Ma question est la suivante: est-il possible que je puisse suivre les liens sortants? En gros, je veux compter combien de fois ce raccourci sur la barre latérale gauche a cliqué?

1
akki0996

À l'aide de GTM, vous pouvez créer un écouteur de clic de lien qui se déclenche sur toutes les pages, puis créer une balise "Lien sortant" à déclencher à chaque clic sur un lien. Vous pouvez également collecter l'attribut href du lien à transmettre à votre événement. Voilà en quelques mots, mais vous trouverez plus de détails ici si vous aimez: http://cutroni.com/blog/2013/10/07/auto-event-tracking-with-google-tag-manager/ . Vous pouvez faire tout cela sans avoir à toucher le code HTML.

3
nyuen

Je vois que vous utilisez jQuery sur votre site web. Bien qu’il soit impossible d’écrire des attributs sur les liens, vous pouvez inclure cet extrait de code JavaScript qui enregistrera un événement Google Analytics avant d’envoyer l’utilisateur au lien.

function logeventga(category, action, label, value, callback, nonAction){
    var event = {
        'eventCategory': category,
        'eventAction': action
    };
    if (label) event['eventLabel'] = label;
    if (value) event['eventValue'] = value;
    if (callback) event['hitCallback'] = callback;
    if (nonAction) event['nonInteraction'] = 1;
    if (typeof ga == 'function' && ga.hasOwnProperty('loaded') && ga.loaded === true) {
        ga('send', 'event', event);
    } else if (callback) {
        callback.call();
    }
}

$(document).ready(function(){
    $('#div-id a').click(){
        var href = $(this).attr('href');
        logeventga('external-link','click',href,null,function(){
            document.location=href;
        });
        return false;
    }
});

Quelques notes sur son fonctionnement:

  • Vous devez attendre que l'enregistrement des événements soit terminé avant de permettre à l'utilisateur de quitter la page, sinon l'événement risque de ne pas être enregistré. Google Analytics possède une fonction de rappel qui est déclenchée lorsque l'événement est enregistré. Vous pouvez utiliser cette fonction de rappel pour amener l'utilisateur à la nouvelle page une fois l'événement consigné en définissant document.href. Le return false du gestionnaire d'événements click empêche l'utilisateur d'être envoyé immédiatement après le clic.
  • Certains utilisateurs bloquent Google Analytics avec Adblock ou un logiciel similaire. Dans ces cas, vous ne voulez pas que votre JavaScript échoue et que l'utilisateur ne puisse pas utiliser le lien. La logeventga détecte les cas de non-chargement de Google Analytics et déclenche immédiatement la fonction de rappel.
  • Vous devrez remplacer $('#div-id a') par le sélecteur jQuery approprié qui trouve vos liens. S'il y a des div avec un identifiant, vous pouvez simplement remplacer div-id par l'identifiant actuel.
  • Ma fonction logeventga suppose que vous utilisiez la nouvelle analyse universelle qui utilise la fonction ga. Si vous utilisez les appels d'analyse de style ancien avec _gaq, vous devrez modifier un peu le code.
1
Stephen Ostermiller

Ce code fonctionne tickety-boo pour moi:

// Track external links - http://www.axllent.org/docs/view/track-outbound-links-with-analytics-js/
function _gaLt(event){
  var el = event.srcElement || event.target;
  while(el && (typeof el.tagName == 'undefined' || el.tagName.toLowerCase() != 'a' || !el.href)){ el = el.parentNode; }
  if(el && el.href){
    var link = el.href;
    if(link.indexOf(location.Host) == -1 && !link.match(/^javascript\:/i)){
      var hitBack = function(link, target){ target ? window.open(link, target) : window.location.href = link; };
      var target = (el.target && !el.target.match(/^_(self|parent|top)$/i)) ? el.target : false;
      ga("send","event","Outgoing Links",link,document.location.pathname + document.location.search,{"hitCallback": hitBack(link, target)});
      event.preventDefault ? event.preventDefault() : event.returnValue = !1;
    }
  }
}
var w = window;
w.addEventListener ? w.addEventListener("load",function(){document.body.addEventListener("click",_gaLt,!1)},!1) : w.attachEvent && w.attachEvent("onload",function(){document.body.attachEvent("onclick",_gaLt)});

http://www.axllent.org/docs/view/track-outbound-links-with-analytics-js/

0
Ken Sharp