Mar 23 2010

funzioni: _getVisitorCustomVar()

Se vi ricordate, qualche tempo fa abbiamo parlato della funzione _setCustomVar() e del fatto che essa sostituisce quasi totalmente la vecchia _setVar() perché è più flessibile e può memorizzare più dati, anche contemporaneamente. Uno dei parametri da passare alla funzione è lo “scopo”, un numero intero che rappresenta l’uso che si fa dello slot che decidiamo di usare tra i cinque disponibili.

Ecco, se usiamo la funzione per scrivere un valore riferito al visitatore, ovvero se usiamo uno scope con valore 1, allora abbiamo successivamente la possibilità di richiamare quel valore usando la funzione _getVisitorCustomVar(); l’unico parametro che accetta in ingresso è l’indice dello slot ove risiede la stringa che abbiamo scritto nel cookie del visitatore, per cui ad esempio se durante una precedente sessione di visita il visitatore si è loggato e abbiamo usato la funzione


pageTracker._setCustomVar(1,"condizione","loggato",1);

durante una visita successiva possiamo chiamare


pageTracker._getVisitorCustomVar(1); 

e vederci restituire in risposta la stringa “loggato” da utilizzare come meglio crediamo.

Premesso che non ho ancora usato questa semplice funzione, prevengo già una possibile domanda: non so se funziona anche con gli altri scopi, cioè con porzioni di cookie riferite alla sessione o alla pagina. A giudicare dalla documentazione – e ragionandoci un po’ su – direi di no, ma in questi casi non c’è niente di meglio di un bel test!

Condividi l'articolo:

3 Commenti

  1. …e come facciamo a leggere le variabili con l’uso async di push?

  2. non c’è il metodo diretto, bisogna infilare la vecchia funzione nella coda async, quindi così:

    
    _gaq.push(function() {
      var pageTracker = _gat._getTrackerByName();
      var visitorCustomVarSlot1 = pageTracker._getVisitorCustomVar(1);
      // il tuo codice per usare la variabile...
    });
    

  3. In effetti questo è l’unico modo, e funziona solo perchè la creazione di più oggetti di tracciamento fanno riferimento agli stessi cookie depositati nel browser. Era questo punto che mi mancava ma ho potuto verificarlo di persona in questi giorni.

Scrivi un Commento