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.
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>
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 ;
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());
?>
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 ;-)