Détecter l’origine géographique d’un visiteur pour mieux rentabiliser son site

Détecter l’origine géographique d’un visiteur pour mieux rentabiliser son site

Il est parfois avantageux de détecter, du moins approximativement, l’origine géographique d’un visiteur afin d’afficher un contenu spécifique qui risque de lui être plus pertinent, ou au niveau marketing, choisir les publicités appropriées pour mieux rentabiliser son site et optimiser ses revenus.

Avec un site francophone, il y a de grandes chances que la majorité de votre trafic provienne de la France, mais il ne faut pas pour autant négliger les visiteurs du Québec, de la Belgique, la Suisse et les autres. Si vous utilisez Google Adsense, celui-ci le fait pour vous automatiquement et dessert des publicités avec des annonceurs propres à chacun. Par contre, ce n’est pas toujours le cas avec la plupart les autres programmes d’affiliation, de partenariat ou les autres régies publicitaires.

Comment desservir la publicité optimale pour chacun? Comment savoir quand afficher, par exemple, des produits de Amazon.ca plutôt que Amazon.fr?

Il existe un service gratuit de géolocalisation du nom de GeoLite Country, par Maxmind. Cette compagnie a aussi un service payant pour ceux qui ont des besoins de précision accrus, mais dans notre cas, alors qu’on cherche simplement à optimiser nos revenus, une précision de 99.5% au lieu de 99.8% suffit largement à nos besoins pour détecter un pays. Le API de GeoLite Country peut être employé par divers langages de programmation, mais PHP étant ma préférence, celui qui nous intéresse est GeoIP PHP API.

Pour commencer, allez télécharger le fichier geoip.inc dans leur répertoire. Ensuite, téléchargez la base de donnée binaire GeoIP.dat qui contient l’association des adresses IP avec les pays. Veuillez noter que ce fichier est mise à jour plusieurs fois par année, c’est donc suggéré de rafraîchir votre copie au moins annuellement.

Il suffit ensuite de placer ces deux fichiers dans votre compte FTP et de faire appel au fichier geoip.inc lorsque que vous voulez déterminer l’origine géographique du visiteur, de la façon suivante:

include($_SERVER["DOCUMENT_ROOT"] . "/geoip.inc");
$gi = geoip_open($_SERVER["DOCUMENT_ROOT"] . "/GeoIP.dat", GEOIP_STANDARD);
$country_code = geoip_country_code_by_addr($gi, $_SERVER["REMOTE_ADDR"]);
geoip_close($gi);

Évidemment, si vous avez placé les fichiers ailleurs, veuillez ajustez l’adresse des fichiers en conséquence. Si vous nécessitez la valeur de cette variable pour la plupart de vos pages, ça serait une bonne idée de placer cette fonction dans un fichier de configuration qui est appelé à tout coup, du genre init.php ou config.php. Vous avez maintenant accès à la localisation du visiteur grâce à la variable $country_code qui contient le code du pays dans un format standard ISO, par exemple, FR pour la France, CA pour le Canada, BE pour la Belgique et CH pour la Suisse.

Voici un exemple d’utilisation:

if ($country_code == "CA") { 
echo "Insérer la bannière Amazon.ca";
}
else if ($country_code == "FR") { 
echo "Insérer la bannière Amazon.fr";
}
else { // dans tout les autres cas
echo "Insérer la bannière Amazon.fr";
}

Même avec Google Adsense, on peut s’en servir pour évaluer des critères différents (channel, en anglais), vous pouvez créer une bannière pour la colonne droite de votre site avec un critère colonne-droite-fr et un autre critère colonne-droite-ca, afin d’évaluer votre revenu selon l’origine de votre trafic, ou possiblement remplacer Google Adsense par un autre programme qui performe mieux que celui-ci auprès de ce trafic ciblé.

Les possibilités sont très variées, à vous de profiter pleinement de la géolocalisation gratuite!

One thought on “Détecter l’origine géographique d’un visiteur pour mieux rentabiliser son site

  1. Merci Webmart pour cet article.
    Pour ma part, cela va me servir pour offrir une solution de rechange à mes amis chinois qui ne peuvent pas observer des photos importées depuis picasaweb (bloqué).

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *