Salesforce Administrateur Certifié logoDeveloppeur Salesforce certifié

Adrien Bayles Expert Webmarketing & CRM

Placer un Cookie de tracking dans le navigateur de vos visiteurs

Notez ce Tuto: 
Average: 4.6 (7 votes)

A l'heure où le Do Not Track est à la mode, de plus en plus d'internautes sont soucieux de conserver leur anonymat sur internet (et on les comprend !). Aussi, avant d'appliquer, assurez vous de respecter les règles de confidentialité telles qu'elles sont décrites sur votre site. La législation pouvant changer d'un pays à l'autre, et les tendances évoluant dans le temps, restez à jour ! Enfin, si votre site est hébergé en France, n'oubliez pas qu'il est obligatoire de déclarer à la CNIL toute base de données contenant des données "personnelles" (permettant d'identifier des personnes), sous peine d'amende.

Implémenter le cookie

Une fois que vous aurez pris les précautions nécessaires, et averti le monde de vos agissements, vous pourrez vous consacrer à la partie croustillante du tuto ! Le code suivant permet d'enregistrer l'url de référence et l'url de la première page vue dans un cookie, qui sera placé dans le navigateur de vos visiteurs.

Placez ce script dans la partie <head> de vos pages, sur toutes les pages de votre site susceptibles d'être atteintes directement par les internautes (donc hors pages à accès restreint) :

 /*Custom Tracking*/
 $cookie_domain = 'adrienbayles.fr'; //le nom de domaine auquel est rattaché le cookie
    $GLOBALS['base_url'] = 'http://adrienbayles.fr'; //l'url de la racine de votre site
    //Si le cookie n'existe pas , le créer
    if (!isset($_COOKIE['refUrl'])) {
        //Si on connaît le referrer
        if(!empty($_SERVER['HTTP_REFERER'])){
            //place la valeur du referrer dans une variable PHP
            $refUrl = urlencode(urldecode($_SERVER['HTTP_REFERER'])); 
        }
        else{
            $refUrl = 'Direct'; //pas de referrer -> 'Direct'
        }  
        //enregistre la valeur dans le cookie (nom du cookie, valeur associée, durée de vie du cookie (ici, un  an), chemin sur lequel le cookie sera disponible, nom de domaine sur lequel porte le cookie)
        setcookie('refUrl',$refUrl, time()+(3600*24*365), '/', $cookie_domain);
    }else{
$refUrl = $_COOKIE['refUrl']; } //Cookie de la première page vue if (!isset($_COOKIE['firstUrl'])) { $firstUrl = urlencode($GLOBALS['base_url'] . urldecode($_SERVER['REQUEST_URI'])); //enregistre la valeur dans le cookie pour une durée d'un an setcookie('firstUrl',$firstUrl, time()+(3600*24*365), '/', $cookie_domain); }else{ $firstUrl = $_COOKIE['firstPageUrl']; }

La fonction urlencode() est là pour empêcher certains caractères d'être interprétés. La fonction urldecode() permet dans le doute, de ne pas encoder deux fois de suite le même caractère (dans quel cas, un "&" encodé en "%26" donnera "%2526", "%25" étant le caractère "%" encodé à son tour).

Le modèle suivi ici est celui du 1st Click Attribution, qui attribuera 100% de vos conversions à la première source de traffic de vos visiteurs. Pour adopter le modèle contraire du Last Click, il suffit de réduire la durée de vie du cookie pour qu'il expire bien avant un an. Par exemple, une heure devrait faire l'affaire.

Récupérer les URLs stockées dans les cookies

Il reste enfin à appeler ces variables et de les placer dans les champs cachés de votre formulaire. Par exemple, en les ajoutant à un formulaire d'inscription  :


Ajouter un commentaire