Compter les impressions (Humains & Robots) ?

WRInaute discret
Bonjour,

Je crée actuellement un script PHP pour afficher des pubs (bannière) sur mon site. Je souhaite pourvoir compter le nombre d'affichages de ces bannières. Le problème est qu'avec un simple compteur lorsque Google Analytics me dit que j'ai eu 150 pages vues mon compteur est au alentour de 800.

J'ai donc mis en place un script PHP pour détecter les robots en fonction de leur user-agent (on en trouve un peu partout). Mais mon compteur affiche toujours 300 impressions pour 150 pages vues sous Google Analytics.

J'enregistre tous les user-agents (humains et robots) pour vérifier que mon script marche bien. A priori c'est le cas.

Je me demande donc d'où vient cette différence ?
Rechargement de page (actualiser) par le visiteur ? ou autre qui ne serait pas compter par GA.
GA loupe des impressions parce que le script est en pied de page ? contrairement aux bannières qui sont dans le contenu....

Si quelqu'un a une idée, Je suis preneur parce que là je suis bloqué et je n'ai pas trop d'idées.
 
WRInaute discret

Je cherche à faire un truc plus simple et bien spécifique. OpenX est une usine qui fait quelque chose comme 35Mo décompressé....
merci quand même.

La question est plutôt de savoir si GA compte les pages vues d'une certaine manière (par exemple, s'il ne compte pas 2 actualisation d'une page à moins 1s d'intervalle).
Ou si il y a des robots se faisant passer pour des humains avec leur user-agent ?

La solution est peut être de passer par un code Ajax...
 
WRInaute discret
GA ne compte que ceux qui ont javascript activé (les robots ne l'ont pas, les robots qui utilisent l'agent de msie6, plusieurs robots msn, les humains qui utilisent noscript -entre autres- non plus...)
Les scripts php comptent tout et, en fonction de l'audience, cela peut représenter 3 à 4 fois plus que GA.
Si des zombies visitent le site, cela peut représenter 10 à 100 fois plus que GA...
 
WRInaute accro
Tu as vérifié tous tes user-agents? Tu as vérifié qu'il n'y a pas des UAs/IPs non reconnus comme des robots qui ont consulté /robots.txt?

Tu n'as pas mis ton compteur sur plus de pages que tu n'as mis Analytics? Tu ne l'aurais pas mis dans des pages "encapsulées" par erreur? L'exemple typique c'est d'avoir un ErrorDocument 404 qui appelle le compteur, et avoir des images (scripts, feuilles de style, icônes...) qui n'existent pas: le compteur comptera ces accès, alors qu'Analytics ne pourra pas le faire (la page n'étant pas chargée comme du HTML, le JS n'est pas interprété dedans). Ne pas oublier le favicon dans l'histoire :)

Tu as comparé tes logs httpd avec ce que trouve ton compteur?

Jacques.
 
WRInaute discret
Tu as vérifié tous tes user-agents? Tu as vérifié qu'il n'y a pas des UAs/IPs non reconnus comme des robots qui ont consulté /robots.txt?

Oui j'ai vérifié tous les user-agent enregistrés comme humain et comme robot. Par contre, je ne sais pas comment vérifier ceux qui on consulté le robot.txt ?? (je ne peux pas insérer de code dedans ?)

Tu n'as pas mis ton compteur sur plus de pages que tu n'as mis Analytics? Tu ne l'aurais pas mis dans des pages "encapsulées" par erreur? L'exemple typique c'est d'avoir un ErrorDocument 404 qui appelle le compteur, et avoir des images (scripts, feuilles de style, icônes...) qui n'existent pas: le compteur comptera ces accès, alors qu'Analytics ne pourra pas le faire (la page n'étant pas chargée comme du HTML, le JS n'est pas interprété dedans). Ne pas oublier le favicon dans l'histoire :)

non ça c'est ok, mais merci pour le conseil.

Tu as comparé tes logs httpd avec ce que trouve ton compteur?
Comment vous vérifiez ceci ?
 
WRInaute accro
beal2912 a dit:
Oui j'ai vérifié tous les user-agent enregistrés comme humain et comme robot. Par contre, je ne sais pas comment vérifier ceux qui on consulté le robot.txt ?? (je ne peux pas insérer de code dedans ?)

Tu peux vérifier tes logs, ou tu peux générer le robot.txt via un script (en utilisant par exemple du rewriting pour faire l'association) et en profiter pour prendre des notes sur les IPs/UAs qui l'appellent.

beal2912 a dit:
Tu as comparé tes logs httpd avec ce que trouve ton compteur?
Comment vous vérifiez ceci ?

Ben tu regardes dans ton fichier de logs. Il s'appelle souvent httpd-access.log, mais si tu as des virtual hosts ça peut être différent, vois la config de ton serveur. Son emplacement est très variable. Ensuite tu peux y aller à grands coups de grep, sed, awk, sort, uniq ou perl pour en sortir des données, ou utiliser les softs existants pour ça.

Jacques.
 
WRInaute discret
Merci pour ta réponse Jacques, c'est intéressant mais un peu compliqué... Je pense que je vais partir sur l'indication de Dan_a qui m'a rappelé le 'Google fonctionne que si Javascript est activé'

Je pense donc faire un truc du Genre :

Requete Ajax sur ficher php qui positionne une variable de session à true.
-> Si ma variable n'existe pas alors je ne compte pas les impressions.

Je pense tester ça et voir si le résultat est plus proche de la réalité (GA).

Si oui je reviendrai poster le code :)

Merci pour votre aide
 
Discussions similaires
Haut