Sep 09 2008
funzioni: _setDomainName()
La funzione _setDomainName(stringa) serve a impostare o forzare il dominio nei cookie di GA; questa informazione scritta nel cookie è infatti la sola che Google Analytics usa per determinare su quale dominio stia avvenendo la visita dell’utente. _setDomainName può assumere tre soli valori, cioè “auto”, “none” o il nome del dominio, e per definizione – ovvero quando non è invocata esplicitamente – è impostata su “auto”: questo fa si che GA scriva nel cookie il dominio estrapolandolo dall’oggetto location del DOM (Document Object Model).
Un esempio tipico in cui è necessario utilizzare questa funzione è la tracciatura di un dominio e un sottodominio nello stesso profilo, poniamo www.miosito.it e sub.miosito.it. Per prima cosa bisogna aggiungere al codice di monitoraggio la seguente riga
pageTracker._setDomainName(".miosito.it");
facendo bene attenzione al punto prima del dominio (è all’incirca equivalente a dire *.miosito.it), dopodiché è consigliato impostare un filtro per discernere le pagine all’interno dei report. Essendo i domini tracciati come fossero una sola cosa, infatti, le visite corrispondenti a www.miosito.it/index.asp e sub.miosito.it/index.asp verrebbero sommate a livello di pageview. Il filtro è questo:

e scrive al posto dell’URI della richiesta (index.asp) la stringa completa host-URI (www.miosito.it/index.asp).
L’ultima modalità di chiamata a _setDomainName() è “none” e va usata nel caso in cui si voglia disabilitare il tracciamento tra domini differenti o in quello molto più frequente in cui si voglia farlo avendone però il preciso controllo, quindi usandolo in congiunzione alle funzioni _setAllowLinker(), Link() e Linkbypost() che vedremo prossimamente.
Ciao Marco,
ti faccio i miei complimenti per questo spendido blog, una risorsa unica nel suo genere. Complimenti!!
S.
e io ti ringrazio di cuore
Ciao Marco,
avrei bisogno un chiarimento.
Ho letto sulla guida di analytics ufficiale l’impostazione dei sottodomini e poi il tuo post. C’è una differenza sul punto aggiunto prima del dominio nel _setDomainName. Tu lo raccomandi ma non mi è chiaro perchè e perchè invece la guida di analytics non lo indica.
Grazie mille in anticipo.
e grazie per il tuo blog che mi facilita la vita…
Elena
Come non detto…ho appena confrontato la guida in Italiano con quella in inglese (in inglese viene richiesto il .nomedominio.it in italiano no)
però é sempre piacevole trovare “le pecche”…:-(
Ciao Marco, complimenti di rito per il blog, di assoluta eccellenza, e domanda: possibile che l’inserimento del filtro “distinzione pagine sottodomini” incida sul tracciamento degli obiettivi? Come devono essere definite le pagine obiettivo e gli step del funnel (URL assoluta/URL relativa) per poter essere riconosciuti? Da quando ho attivato la combinazione setDomainName() e questo filtro gli obiettivi (che si trovano in pagine sul dominio principale in protocollo htttps://) non vengono più rilevati…
di solito imposto gli obiettivi come regular expression, quindi non fa differenza se c’è il filtro o no, però effettivamente negli altri due casi, sovrascrivendo l’URI della richiesta, potrebbe sorgere qualche problema.
Non lavori su risorse gratuite? Strano che non hai citato il problema con l’obiettivo adsense… oggi ho sclerato un po’ e mi son messo a googlare…
https://www.google.com/adsense/support/bin/answer.py?hl=it&answer=99906
Non ti faccio i complimenti per il blog… perchè è un sito in più che mi demotiva a leggere in inglese… però devo dire che hai un perfetto italiano.
Saluti.
non ho capito la questione delle risorse gratuite. Quanto alla modifica per Adsense, quando ho scritto questo post non esisteva ancora l’integrazione. Il resto lo prendo come un complimento: se demotivo la tua lettura inglese deve essere perché i miei articoli sono esaustivi ed originali
Certo, intendevo quello, ma non son avezzo far complimenti vista la scarsa qualità che trovo in italia, ma questa è davvero un ottima risorsa.
Per risorse gratuite intendevo “siti che vivono da adsense”, nient’altro.
Buon lavoro.
Nella documentazione sia italiana che inglese del monitoraggio su più domini si indica che la seguente istruzione deve essere su entrambi i domini:
pageTracker._setDomainName(“none”);
http://www.google.com/support/analytics/bin/answer.py?hl=en&answer=55503
ho trovato però questo documento che indica la presenza solo sul dominio secondario:
http://code.google.com/apis/analytics/docs/tracking/gaTrackingSite.html#multipleDomains
inoltre aggiunge una funzione non indicata nel primo doc:
pageTracker._setAllowHash(false);
sono alternativi?
nessuno specifica inoltre se le funzioni di Link() e Linkbypost() devono essere utilizzate anche per il rientro dal dominio secondario al dominio primario.
“you’ll need to add the _link function to any links between the domains”, quindi si, anche nei link di ritorno.
La differenza nei codici è perché nel secondo esempio c’è di mezzo anche un sottodominio, mentre nel primo no.
se viene cliccato un dominio che ha una redirect 301 sul mio comporta qualche problema?
che io sappia i 301 sono trasparenti, e si portano pure dietro il referrer originario. quindi no.
Scusa Marco,
sto cercando di capire per bene il funzionamento del tutto, e non ho mai sbattuto il naso in queste cose.
1) Dopo avere introdotto le modifiche che hai segnalato qui: http://www.goanalytics.info/regalo-di-natale-da-google-analytics/ (paragrafo “Nuovo processo di creazione del codice di monitoraggio”) il tuo post è comunque consistente?
2) Se avessi un sito con un codice di monitoraggio, direi “base”; e dovessi tracciare un sottodominio creato di recente, deduco dal tuo post che non dovrei quindi creare un nuovo profilo, bensì aggiornare il codice di monitoraggio del dominio principale (con quello in cui è presente la funzione SetDomainName) ed includere lo stesso codice anche nel sottodominio. Ricollegandomi alla domanda 1, ha ancora senso creare il filtro o, date gli ultimi sviluppi, GA stesso si occuperà automaticamente delle differenziazioni dei sottodominî in fase di reportistica?
Grazie e scusa il disturbo,
~P
è consistente per la teoria, ma in pratica è il processo di creazione che si occupa di aggiungere la riga. Restano però casi “strani” da gestire a mano.
Il processo di creazione dello script NON si occupa di creare l’eventuale filtro, che resta di tua competenza. Quindi si, devi farlo a mano.
Ho un sito con dominio X che è una sorta di carrello elettronico, a lui si riferiscono i siti A e B.
Il problema è che se passo da A a X viene scritto il Cookie con il referal di A se poi accedo DIRETTAMENTE a X per utilizzare un carrello di B mi utilizza i cookie di A sull’account di GA di B, quando invece mi aspetterei il referal che mi ha portato direttamente a X (molto spesso direct).
da cosa può dipendere? il codice è secondo specifiche e SetDomainName è ha non per entrambi i siti.
Naturalmente questo succede se uso lo stesso PC con lo stesso browser…
Grazie per una eventuale risposta
direct non è un referral, e non sovrascrive mai un referral ai fini della conversione. Si veda http://www.goanalytics.info/tabelle-di-conversione-delle-sorgenti/
ok, grazie per la precisazione, ma ciò non toglie che mi converte i referral di A nell’account GA di B.
è forse perchè in X dovrei forzare il dominio B con _setDomainName() come suggerito dall’articolo “vedo il mio stesso sito nei referrer”?
Grazie per la pazienza…
Ciao Marco,
a proposito delle discussioni sopra, a me non ben chiaro un punto. Io ho diversi domini di primo livello, uno mirror degli altri, e vorrei far confluire i dati in un unico profilo google analytics. Allora aggiunto al codice la funzione: _gaq.push(['_setDomainName', 'none']);
_gaq.push(['_setAllowLinker', true]);, ma temo che non sia efficace. Dove sto sbagliando? Quali sono le implicazioni sul settaggio degli obiettivi?
Fammi sapere:-). Grazie in anticipo.
Anna
guarda, qua c’è un riassunto utile
http://code.google.com/apis/analytics/docs/tracking/gaTrackingSite.html già aggiornato al codice asincrono (almeno nelle parti di approfondimento)