Sep 28 2011

HelpSemaforoQuesto semaforo indica il livello difficoltà del post
semaforo verde - articolo per tutti

Integrazione Analytics – Custom Search Engine

autore: categoria: javascript tag:

Nel corso degli anni mi sono trovato molte volte di fronte alla domanda “come faccio a tracciare la ricerca interna se uso un Custom Search Engine di Google (sia con AdSense sia senza)?” Non è che non si potesse fare in termini assoluti, ma la risposta non era sempre scontata. Soprattutto qualche tempo fa, esisteva una versione del CSE con iframe, e come sapete Analytics con gli iframe ci va d’accordo solo prendendo le opportune precauzioni. Le cose erano migliorate quando Google aggiunse la possibilità di specificare un account ID nel Custom Search Engine, ma bisognava comunque specificare a mano il parametro che conteneva il termine ricercato, oltre che l’ID del profilo.

Ma chi meglio di Google, che controlla entrambi gli strumenti, potrebbe facilitarci la vita? detto fatto, oggi il blog ufficiale ci informa che l’integrazione è ancora più semplice: una volta creato un motore di ricerca personalizzato, sarà sufficiente entrare nel pannello di controllo, cliccare la voce “Google Analytics” e il sistema ci proporrà una lista di profili cui abbiamo accesso in GA. Una volta scelto il profilo corretto (sono selezionabili solo i profili in cui è stata attivata la tracciatura delle ricerche interne) sarà sufficiente recarsi nella scheda “Get code” e copiaincollare lo snippet di codice proposto, che somiglierà a questo (NON COPIATELO, è solo un esempio preso dal mio pannello di controllo!):


<div id="cse" style="width: 100%;">Loading</div>
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<script type="text/javascript"> 
  var _gaq = _gaq || [];
  _gaq.push(["_setAccount", "UA-XXXXXX-1"]);
  function _trackQuery(control, searcher, query) {
    var loc = document.location;
    var url = [
      loc.pathname,
      loc.search,
      loc.search ? '&' : '?',
      encodeURIComponent('s'),
      '=',
      encodeURIComponent(query)
    ];
    _gaq.push(["_trackPageview", url.join('')]);
  }
  google.load('search', '1', {language : 'it'});
  google.setOnLoadCallback(function() {
    var customSearchControl = new google.search.CustomSearchControl('012856240197711512811:voll0qwtfsi');
    customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
    customSearchControl.setSearchStartingCallback(null, _trackQuery);
    customSearchControl.draw('cse');
  }, true);
</script>
<link rel="stylesheet" href="http://www.google.com/cse/style/look/default.css" type="text/css" />

ATTENZIONE: questo NON sostituisce il codice di Analytics, ma è soltanto la parte che va inserita dove si vuole fare comparire il Custom Search Engine. Come vedete c’è l’oggetto _gaq.push, a noi tanto familiare, e ci sono le funzioni tipiche di GA. Fatta questa operazione il nostro profilo Analytics traccerà le ricerche fatte tramite il motore di ricerca personalizzato.

Condividi l'articolo:

3 Commenti

  1. Salve Marco,
    scusa il commento in un post così datato, ma torna di grande attualità col passaggio ad Universal Analytics. Nella pagina inglese: https://support.google.com/customsearch/answer/2715510?hl=en compare un bell’avviso in cui si dice che non è supportato il CSE con Universal Analytics. Effettivamente non stiamo vedendo alcun dato dalle ricerche sul sito.
    Hai soluzioni o chiarimenti da poter dare?

    Grazie e complimenti

  2. secondo me l’avviso è relativo al fatto che i dati inviati dalla configurazione originale del CSE non vanno bene per Universal. Credo che al momento si debba lavorare sui template e “forzare” i codici necessari

Trackbacks

  1. Lifting dell’interfaccia per la v5 • Google Analytics in 30 secondi

Scrivi un Commento