Google Analytics : traquer les clics sortants avec jQuery

Le script ci-dessous permet de traquer les clics vers des liens externe à votre site internet.

En complément, je vous laisse le code permettant de traquer les ouvertures d’image en PNG ainsi que les téléchargements de fichier zip.

jQuery('a').click(function(){
    var linktype = '';
    // Get click href attribut
    var hreflink = jQuery(this).attr('href');
    var myClass = jQuery(this).attr("class");
    
    // Debug
    console.log('Link clicked : ' + hreflink);
    console.log('Class clicked : ' + myClass);

    linktype = hrefType(hreflink);

    // Debug
    console.log('Link type : ' + linktype);

    if( typeof gtag == "undefined" ){
        // Debug
        console.log('GA not loaded');
    }else{
        if(linktype == 'external'){
            gtag ('event', 'clic', {
                'event_category': 'Outlink',
                'event_label': hreflink,
                'transport_type': 'beacon'
              });
        }else if(linktype == 'internal_image'){
            //Debug
            console.log('Click on image');
            gtag ('event', 'clic', {
                'event_category': 'Images',
                'event_label': hreflink,
                'transport_type': 'beacon'
            });
        }else if(linktype == 'internal_download'){
            //Debug
            console.log('Click on file');
            gtag ('event', 'Download', {
                'event_category': hreflink.substr(hreflink.length - 3),
                'event_label': hreflink,
                'transport_type': 'beacon'
            });
        }
    }    
});

function hrefType(link){
    var url = link;
    var sourceString = url.replace('http://','').replace('https://','').replace('www.','').split(/[/?#]/)[0];

    if(sourceString.charAt(0) == ''){
        return "Anchor";
    }

    if(sourceString !== window.location.host){
        return 'external';
    }

    if(sourceString == window.location.host){

        if(link.substr(link.length - 3) == 'png'){
            return 'internal_image';
        }else if(link.substr(link.length - 3) == 'zip'){
            return 'internal_download'
        }

        return 'internal';
    }

    return 'unknow';
}
Catégories Wordpress


Related Posts


PRTG : surveiller les requêtes WMI

Sur une infrastructure conséquente avec beaucoup de capteurs WMI, il est possible d'avoir  des erreurs d'interrogations avec un retour PE015. Dans cet article, je vais vous expliquer comment surveille

Connexion aux serveurs hôte de session Bureau à distance par le Broker

Problème Si vous avez suivi l'article : Mise en place d’une ferme RDS sous Windows 2012R2 / 2016, la configuration de connexion client se fait à l'aide d'un Round Robin sur les DNS. Que se passe t il,

DNS : redirecteur conditionnel

Présentation Dans cet article, je vais vous expliquer et vous montrer comment mettre en place un redirecteur conditionnel sur un serveur DNS Windows. Pour rappel, la redirection DNS permet au service