Script pour tracker les clics Adsense

Publié par mook

Script permettant le tracking de clics Adsense à l'aide de PHP et jQuery

L'objectif de ce script est de recueillir des informations sur les clics effectués sur ses blocs d'annonces Adsense sur son site. Il permet de customiser le suivi des clics Adsense à sa propre guise et sans limites. Il est simple d'utilisation et à mettre en place sur son site.

Pré-requis

  1. La bibliothèque jQuery qui est téléchargeable ici : http://code.jquery.com/jquery-1.4.4.min.js
  2. Une base de données pour y créer une table historique où nous allons y stocker les informations sur les clics
  3. Un site hébergé sur un serveur qui permet l’exécution de scripts PHP.

Méthodologie

  1. Créer et nommer les blocs à tracker (#adsense)
  2. Création de la table historique dans la base de données (#historique)
  3. Créer le script PHP qui va insérer les données dans la base de données (#tracker.php)
  4. Créer le script JavaScript qui va suivre les clics sur les annonces Adsense

1/ Créer les blocs d'annonces à tracker et les identifier

Nous mettons en place les blocs en HTML à l'aide d'attributs ID . Dans cet exemple, il n'y a qu'un bloc d'annonces que l'on appelle "adsense". Il va recevoir le code Adsense qui permet l'affichage des annonces. On lui applique un style "#adsense" en CSS pou lui attribuer les bonnes dimensions, ici ça sera le grand rectangle 336X280. Ce qui donne au final : 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>mapage</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.min.js"></script>
<style>
#adsense{
width:336px;
height:280px;
}
</style>
</head>
<body>
<div id="adsense"><!-- ici code adsense --></div>
<div id="reponse"><!--réponses du script tracker.php pour les tests--></div>
</body>
</html>

2/ Créer la table historique qui va recenser les informations sur les clics

Cette table va nous permettre d'y insérer les informations sur les clics effectués sur les blocs Adsense de notre page. On va y insérer la date et l'heure du clic, l'adresse IP du visiteur, l'url où le clic a eu lieu et le nom du bloc Adsense. Notre table sera donc de la sorte :

CREATE TABLE  `historique`
( `id` INT( 10 ) NOT NULL AUTO_INCREMENT ,
 `date` DATETIME NOT NULL ,
 `ip` VARCHAR( 100 ) NOT NULL ,
 `url` LONGTEXT NOT NULL ,
 `bloc` VARCHAR( 100 ) NOT NULL ,
 PRIMARY KEY ( `id` ) ) ENGINE = MYISAM ;

3/ Créer le script PHP qui va faire les insertions dans la base données

Ce script va nous permettre tout simplement d'insérer les informations dans la table historique. Il aura donc pour but, de se connecter à la base de données et par un INSERT d'insérer les données passées dans la table historique créée plus haut. On va appeler ce script tracker.php.

<?php
/*Connexion à la base de données*/
mysql_connect("serveur","nom d'utilisateur","mot de passe") or die(mysql_error());
mysql_select_db("nom de la base de données") or die(mysql_error());

/*Date et heure du jour*/
$date = date("Y-m-d H:i:s",time());

/*Réception des variables passées*/
$ip = $_GET["ip"];
$url = $_GET["url"];
$bloc = $_GET["bloc"];

/*Insertion dans la table historique*/
mysql_query("INSERT INTO historique (date, ip, url, bloc)
VALUES ('".$date."','".$ip."','".addslashes($url)."','".$bloc."');") or die(mysql_error());
?>

4/ Créer le script JavaScript qui va suivre les clics

Le but de se script est de détecter un clic qui a lieu sur le bloc d'annonces. S'il détecte un clic, il fait appelle au script PHP pour que ce dernier mette à jour la table historique. On va utiliser la fonction load(); de jQuery.

<script type="text/javascript">
$(document).ready(function(){
$("#adsense").click(function(){
var ip = "<?php echo $_SERVER['REMOTE_ADDR']; ?>"; //récupération de l'ip du visiteur
var url = document.location.href; //récupération de l'url de la page
var bloc = "adsense"; //nom du bloc adsense 
$("#reponse").load("tracker.php?ip="+ip+"&url="+url+"&bloc="+bloc+""); //passage des informations au script PHP
});
});
</script>

Voilà, c'est fini ! Ah non, j'oubliais ! Pour lire les infos contenu dans la table historique vous faites un simple SELECT pour lire toutes les lignes de la tables. ex : mysql_query("select * from historique order by id asc");

Pour finir, ce script est perfectible et peut être amélioré avec l'ajout d'autres informations sur le visiteur qui a effectué un clic. Je vous laisse le plaisir de le faire.

NB : Ce script est libre et gratuit. En retour, si vous l'utilisez, je vous remercie de faire un lien vers cette page pour le faire connaitre et me remercier de cette aide ;-)

10
Sur le même thème

SQL, comment faire une jointure sur 3 tables ?

Comment ajouter un bouton Twitter sur son site ou son blog ?

SQL, comment afficher des résultats sans doublons ?

PHP, comment envoyer un mail au format texte ?

SQL, comment afficher les données d'une table ?

SQL, comment vider une table d'une base de données ?

SQL, comment supprimer une table d'une base de données ?

Ajouter des colonnes à une table existante en SQL

Créer une table sous SQL

Comment créer un flux RSS automatique avec PHP et mySQL ?

LES ARTICLES POPULAIRES
LES ARTICLES A DECOUVRIR