Книга веб-аналитики | Web Analytics Book

Янв/10

26

_initData() — использовать правильно или не использовать совсем

На одном из проектов возникла проблема в работе Google Analytics с куками и их обменом между сайтами. Они вроде бы передавались с одного на другой, но в итоге почему-то на втором сайте создавались новые.

Оказалось что решение проблемы лежит на поверхности. Как известно, вызов pageTracker._initData() в новом коде Google Analytics является устаревшим и на текущий момент не используется. Однако на некоторых проектах, код на которых размещался давно, эта строка оказалась прописана.

Оказалось что если _initData() вызывается в коде GA раньше чем _setAllowHash() или _setDomainName(), то просто создаются новые куки, что приводит к сбою в правильной работе этого кода.

Поэтому на текущий момент есть два варианта решения этой проблемы:
1) не использовать _initData() в коде GA и если где-то используется этот вызов, то удалить его
2) поправить код как указано в примере ниже

Неправильно:
var pageTracker = _gat._getTracker(“UA-xxxxxxx-x”);
pageTracker._initData();
pageTracker._setDomainName(“poddomen.site.ru”);
pageTracker._setAllowHash(false);
pageTracker._setAllowLinker(true);
pageTracker._trackPageview();

Правильно:
var pageTracker = _gat._getTracker(“UA-xxxxxxx-x”);
pageTracker._setDomainName(“poddomen.site.ru”);
pageTracker._setAllowHash(false);
pageTracker._setAllowLinker(true);
pageTracker._initData();
pageTracker._trackPageview();


Комментариев нет.

Оставить комментарий!

<<

>>

Поиск

© webanalyticsbook.ru, 2010.
При использовании материалов, ссылка на сайт обязательна.