web-dev-qa-db-fra.com

Pourquoi ai-je 'Stockage non disponible. Abandonner le coup. avec Google Analytics?

Je suis en train de configurer le nouveau code de suivi Google Analytics.

<script>
      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
      (i[r].q=i[r].q||[]).Push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

      ga('create', 'MYUACODE', 'MYDOMAIN');
      ga('send', 'pageview', {
          'page': '/setup',
          'title': 'Setup Page'
        });

    </script>

J'ai ceci dans ma balise HEAD comme Google vous le dit. De toute évidence, MYUACODE et MYDOMAIN sont les véritables variables de ma page :)

Toutefois, lorsque j'utilise Google Chrome et que j'active l'extension de débogage Google Analytics, le message suivant s'affiche:

Registered new plugin: "linker"       analytics_debug.js:5
Creating new tracker: t0              analytics_debug.js:5
New visitor. Generating new clientId  analytics_debug.js:5
Storage not available. Aborting hit.  analytics_debug.js:5

Il semble se déclencher correctement et commence à configurer les éléments, mais il indique ensuite Stockage non disponible et il semble que rien ne soit jamais parvenu à Google.

Maintenant, si je supprime tout ce code et que je reviens au code d'origine de Google Tracking, tout fonctionne correctement. Je n'arrive tout simplement pas à faire en sorte que ce nouveau style se déclenche correctement.

Des pensées? Aidez-moi? Merci d'avance

28
keranm

J'ai eu le même message d'erreur. Cela semble lié à l'impossibilité de définir le cookie correctement. Dans mon cas, cela est arrivé lorsque je testais localhost et que je n'avais pas défini mon cookieDomain sur aucun. 

Vous voudrez peut-être essayer quelque chose comme ce qui suit et voir si cela fonctionne. Je ne suis pas sûr que la méthode de transmission de votre domaine fonctionne.

ga('create', 'MYUACODE', {
  'cookieDomain': 'none'
});
36
Alex T

Google Analytics avait l'habitude de générer le code de suivi avec le nom d'hôte codé en dur dans la méthode create, ce qui pouvait provoquer cette erreur lors des tests sur un autre nom d'hôte. Maintenant, quand GA génère le code de suivi qu'il utilise

ga('create', 'UA-XXXXXXXX-X', 'auto');

qui détermine automatiquement la valeur cookieDomain. La modification du nom d'hôte codé en dur en 'auto' dans cet appel de méthode a résolu ce problème sur plusieurs sites sur lesquels l'ancien code de suivi avait été généré.

13
seangrieve

En fait, la plupart des options présentées fonctionneront. Cependant, ils devraient tous être appliqués dans différents scénarios. Veuillez vous référer à Domaines et cookies de GoogleA - Suivi Web (analytics.js) pour obtenir la liste complète.

J'ai traité la situation de mon client un peu différemment pour traiter les variantes de langue, l'une d'entre elles étant située sur un domaine distinct. Ci-dessous, vous verrez le domaine suivi de l'appel de création de suivi:

  1. en.client.en, ga ('create', 'UA-XXXXXXXX-X', 'client.en');
  2. fr.client.com, ga ('create', 'UA-XXXXXXXX-X', 'client.com');
  3. de.client.com, ga ('create', 'UA-XXXXXXXX-X', 'client.com');
  4. xx.client.com, ga ('create', 'UA-XXXXXXXX-X', 'client.com');

La raison pour laquelle je n'ai pas utilisé

ga ('créer', 'UA-XXXXXXXX-X', 'auto')

ou "none" pour le paramètre de domaine était dû au fait que cette configuration est peu susceptible de suivre les sous-domaines. Mon client voudra probablement voir les conversions par pays/langue. Ainsi, le compte aura la vue groupée (configurée ci-dessus), ainsi que des vues individuelles filtrées par sous-domaine (pays/langue). Dans la documentation Google, il est clairement indiqué sous Configuration automatique du domaine de cookie:

Analytics.js ne réussira pas à écrire un cookie sur co.uk mais réussira sur Example.co.uk. Puisqu'un cookie a été écrit avec succès sur un domaine de niveau supérieur , Www.example.co.uk sera ignoré.

et sous Configuration des cookies sur localhost (où cookieDomain est défini sur 'none'):

Remarque: Ceci définira un domaine de cookie d'hôte uniquement. Le cookie ne sera pas propagé à des sous-domaines. Cependant, Internet Explorer ne suit pas Ce modèle.

J'espère que cela t'aides.

5
MXMLLN

Une autre option consiste à ajouter un domaine à votre fichier hôte, puis à l'utiliser au lieu de localhost. Le mien ressemble à:

127.0.0.1 localhost mytest.com

Utilisez mytest.com au lieu de localhost et vous pourrez vérifier vos informations sans avoir à ajouter d'options à l'appel à la méthode ga create.

1
Derick

Jouer avec 'MYDOMAIN' a résolu le problème pour moi

ga('create', 'MYUACODE', 'MYDOMAIN');

j'ai enlevé 'MYDOMAIN' du tout et l'ai laissé comme

ga('create', 'MYUACODE');

redémarré la page, puis ajouté à nouveau , 'MYDOMAIN'n et cela a fonctionné

La deuxième fois que j'ai eu à faire face au problème, le problème de changer 'MYDOMAIN' pour le domaine sur lequel je chargeais la page (du domaine de production à mon domaine d'hébergement) a été résolu.

1
Kirill Oficerov

Je pense que le problème était avec une autre extension en chrome. Utiliser un profil vide (--user-data-dir =/tmp/foo) a résolu le problème pour moi.

0
user492922