Почему я получаю "Хранение недоступно". Прервать удар. с помощью Google Analytics?
Я настраиваю новый код отслеживания 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>
У меня есть это внутри моего тега HEAD, поскольку Google говорит вам сделать
Очевидно, что MYUACODE и MYDOMAIN являются реальными переменными на моей странице:)
Однако, когда я запускаю это с помощью Google Chrome, и я включаю расширение отладки Google Analytics, я получаю следующее сообщение:
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
Кажется, что он правильно запускается и начинает настройку элементов, но затем он говорит Хранение недоступно, и, похоже, он ничего не доходит до Google.
Теперь, если я удалю весь этот код и вернусь к исходному коду Google Tracking, он отлично работает, я просто не могу заставить этот новый стиль правильно срабатывать.
Любые мысли? Помогите?
Спасибо заранее
Ответы
Ответ 1
У меня было такое же сообщение об ошибке. Кажется, это связано с тем, что вы не можете правильно настроить cookie. В моем случае это случилось, когда я тестировал локальный хост, и я не установил, что мой cookieDomain ни к чему.
Вы можете попробовать что-то вроде следующего и посмотреть, работает ли оно. Я не уверен, есть ли способ передачи вашего домена, который у вас есть.
ga('create', 'MYUACODE', {
'cookieDomain': 'none'
});
Ответ 2
Google Analytics используется для генерации кода отслеживания с именем хоста, жестко закодированным в методе create
, что может вызвать эту ошибку при тестировании на другом имени хоста. Теперь, когда GA генерирует код отслеживания, он использует
ga('create', 'UA-XXXXXXXX-X', 'auto');
который автоматически определяет значение cookieDomain. Изменение жестко заданного имени хоста на 'auto'
в этом вызове метода устранило эту проблему для меня на нескольких сайтах, на которых был создан старый код отслеживания.
Ответ 3
На самом деле большинство представленных вариантов будут работать. Однако все они должны применяться в разных сценариях. Для полного списка см. Домены и куки GoogleA - Веб-отслеживание (analytics.js).
Я обработал ситуацию с клиентом несколько иначе, чтобы иметь дело с языковыми вариантами, один из которых был в отдельном домене. Ниже вы увидите домен, за которым следует вызов создания трекера:
- ru.client.en, ga ('create', 'UA-XXXXXXXX-X', 'client.en');
- fr.client.com, ga ('create', 'UA-XXXXXXXX-X', 'client.com');
- de.client.com, ga ('create', 'UA-XXXXXXXX-X', 'client.com');
- xx.client.com, ga ('create', 'UA-XXXXXXXX-X', 'client.com');
Причина, по которой я не использовал
ga ('create', 'UA-XXXXXXXXX-X', 'auto')
или "none" для параметра домена было связано с тем, что эта конфигурация вряд ли будет отслеживать субдомены. Мой клиент, вероятно, захочет просмотреть конверсии по странам/языку. Таким образом, учетная запись будет иметь сгруппированный вид (сконфигурированный выше), а также отдельные представления, отфильтрованные поддоменом (страна/язык). В документации Google это четко указано в разделе "Конфигурация домена cookie":
Analytics.js не сможет написать файл cookie на co.uk, но будет успешным example.co.uk. Поскольку cookie был успешно написан на более высоком уровне домена, www.example.co.uk будет пропущен.
и в разделе "Настройка файлов cookie на localhost" (где cookieDomain установлен в "none" ):
Примечание. Это установит только домен cookie для хоста. Печенье не будет propgate к любым подобластям. Однако Internet Explorer не следует этот шаблон.
Надеюсь, что это поможет.
Ответ 4
Игра с "MYDOMAIN" разрешила проблему для меня
ga('create', 'MYUACODE', 'MYDOMAIN');
я удалил "MYDOMAIN" и оставил его как
ga('create', 'MYUACODE');
перезапустил страницу, затем снова добавил , 'MYDOMAIN'
n, и это сработало
Во второй раз, когда я столкнулся с проблемой, она решила проблему изменить "MYDOMAIN" на домен, в который я загружал страницу (из производственного домена в домен моего хостинга)
Ответ 5
Другой вариант - добавить домен в файл хоста, а затем использовать его вместо localhost. Моя выглядит:
127.0.0.1 localhost mytest.com
Используйте mytest.com вместо localhost, и вы сможете проверить свою информацию, и вам не придется добавлять какие-либо опции в вызов метода ga create.
Ответ 6
Я думаю, проблема была в другом расширении в хроме. Использование пустого профиля (--user-data-dir =/tmp/foo) разрешило проблему для меня.