Répondre

2

Vous ne pouvez pas avoir un cookie qui est envoyé à www.example.com et example.com mais pas othersubdomain.example.com.

Vous pouvez en théorie avoir un cookie qui est envoyé à example.com mais pas subdomain.example.com, mais cela ne fonctionne pas dans IE.

C'est pourquoi vous ne devriez pas utiliser une adresse non-www example.com lorsque vous prévoyez d'utiliser des sous-domaines avec leur propre contexte de sécurité. Il est préférable d'avoir seulement l'un des www.example.com et example.com comme l'URL «appropriée» de toute façon. Donc, configurez une redirection pour example.com pour aller à www.example.com, et les cookies ne seront pas partagés, sauf si vous avez délibérément défini domain=.example.com sur eux.

+0

fantastique merci –

+0

pour toute personne intéressée le code de la redirection a été RewriteEngine sur RewriteCond% {HTTP_HOST}^exemple \ .com RewriteRule^(. *) $ http://www.example.com/$1 [R = permanent, L] puis dans le script google analytics, vous devez mettre _gaq.push (['_ setDomainName', "www.example.com"]) ; –

3

Si vous rencontrez des problèmes avec Google Analytics, créez un cookie pour chaque domaine, y compris ceux de votre sous-domaine. Voici ma solution que j'ai posté ailleurs sur le sujet.


Par golly je pense avoir trouvé une solution temporaire au code cassé fourni par Google.

Si vous allez dans GA et obtenir le code non async et choisissez:

One domain with multiple subdomains 
Examples: apps.konoro.org 
    store.konoro.org 
    video.konoro.org 

Vous verrez que cela vous donne un exemple de code avec .konoro.org. Changez cela pour www.konoro.org et tous les cookies auront: .www.konoro.org (avec un point devant eux). Maintenant, si vous revenez à votre code asynchrone, il n'y a qu'une seule différence à part être asynchrone. Vous devez mettre ['_setDomainName', 'www.konoro.org'], comme deuxième option plutôt qu'après ['_trackPageview'].

Pour une raison quelconque, étant la deuxième option, cela fonctionne très bien.

Mon code final est:

var _gaq = _gaq || []; 
_gaq.push(
    ['_setAccount', 'UA-XXXXXXX-1'], 
    ['_setDomainName', 'www.konoro.org'], 
    ['_trackPageview'] 
); 

(function() { 
    var ga = document.createElement('script'); 
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 
    ga.setAttribute('async', 'true'); 
    document.documentElement.firstChild.appendChild(ga); 
})(); 
+0

Apparemment, il doit aller en second parce que le _trackPageview lance le suivi de sorte que vous ne pouvez plus passer des variables après ... –