mercoledì 8 giugno 2011

Come tracciare i click su AdSense con Google Analytics

Sintesi: Molti utenti continuano a chiedersi perchè Analytics non offra la possibilità di tracciare i click su AdSense. Esistono delle alternative, vediamo come implementarle nei Blog
Torniamo ai quesiti che risalgono al 2005, quando scrissi uno dei miei primi codici  per il monitoraggio dei clic per un noto sito di calcio. In risposta alle e-mail che ho ricevuto riguardo il monitoraggio dei click sulle unità pubblicitarie di Google AdSense, posso citare alcuni esempi già presenti sul web.

Si tratta di impostare un Goal su Analytics che svolga le funzioni di monitoraggio sui click per gli IFrame e  quindi inserire codice Javascript nelle pagine web.

figura 1 - Google Analytics: Obiettivi

Supponiamo l'utilizzo di un file javascript esterno, da inserire nelle nostre pagine (esempio):
<script src="/astrack.js" type="text/javascript"></script>



Ecco il contenuto del file:

/******************************************************************************
save this file as astrack.js and place 
<script src="/astrack.js" type="text/javascript"></script>
at the end of your page code (after the last AdSense ad unit)

You must already have the UrchinTracker installed to use this.
 
Modified with permission from Jim Rotherford's Adsense Pepper
(http://www.digitalmediaminute.com/) 

© SeoBook.com. For updates see http://www.seobook.com/archives/001370.shtml 
You are allowed to use this but you should keep this copyright notice here

******************************************************************************/
function as_click () {
 urchinTracker ('/asclick');
}

// incredibly funky onload add-event scripting, for all browsers

   if(typeof window.addEventListener != 'undefined')
   {
    //.. gecko, safari, konqueror and standard
    window.addEventListener('load', adsense_init, false);
   }
   else if(typeof document.addEventListener != 'undefined')
   {
    //.. opera 7
    document.addEventListener('load', adsense_init, false);
   }
   else if(typeof window.attachEvent != 'undefined')
   {
    //.. win/ie
    window.attachEvent('onload', adsense_init);
   }

   //** remove this condition to degrade older browsers
   else
   {
    //.. mac/ie5 and anything else that gets this far

    //if there's an existing onload function
    if(typeof window.onload == 'function')
    {
     //store it
     var existing = onload;

     //add new onload handler
     window.onload = function()
     {
      //call existing onload function
      existing();

      //call adsense_init onload function
      adsense_init();
     };
    }
    else
    {
     //setup onload function
     window.onload = adsense_init;
    }
   }
function adsense_init () {

 if (document.all) {  //ie

  var el = document.getElementsByTagName("iframe");
 
  for(var i = 0; i < el.length; i++) {
   if(el[i].src.indexOf('googlesyndication.com') > -1) {

    el[i].onfocus =  as_click;
   }
  }
 
 } else {   // firefox
 
  window.addEventListener('beforeunload', doPageExit, false);
  window.addEventListener('mousemove', getMouse, true);
 
 }
  
}

//for firefox
var px;
var py;

function getMouse(e) {
 px=e.pageX;
 py=e.clientY;
}

function findY(obj) {
 var y = 0;
 while (obj) {
  y += obj.offsetTop;
  obj = obj.offsetParent;
 }
 return(y);
}

function findX(obj) {
 var x = 0;
 while (obj) {
  x += obj.offsetLeft;
  obj = obj.offsetParent;
 }
 return(x);
}

function doPageExit(e) {

 ad = document.getElementsByTagName("iframe");
 for (i=0; i<ad.length; i++) {
  var adLeft = findX(ad[i]);
  var adTop = findY(ad[i]);
  var inFrameX = (px > (adLeft - 10) && px < (parseInt(adLeft) + parseInt(ad[i].width) + 15));
  var inFrameY = (py > (adTop - 10) && py < (parseInt(adTop) + parseInt(ad[i].height) + 10));
  
  if (inFrameY && inFrameX) {

   urchinTracker('/asclick');
  
  }
 }

}

//end for firefox
Il monitoraggio si potrà impostare come in figura 1.
L'implementazione del codice e la creazione del Goal ( obiettivo ) sono abbastanza semplici da utilizzare.

Per completezza di informazione, indico alcuni link dove è possibile reperire le informazioni necessarie per questo "esperimento" ( le informazioni contenute in questi siti web risalgono anche al 2005).

Esistono, inoltre, alcuni strumenti di statistica per i siti web, che consentono un monitoraggio dei click sui link in uscita ( in alcuni casi troverete la voce External link / AdSense click ).
Ne cito uno come esempio: ADDFREE Stats.

Tutto sommato, questi servizi sono abbastanza fedeli per quanto riguarda il numero di click ricevuti; ma i reports di AdSense sono tutt'altra cosa.

Se vi interessa: provateli, e se volete condividere i risultati vi invito a commentare questo post.

0 commenti:

Posta un commento

Twitter Delicious Facebook Digg Stumbleupon Favorites More