Прежде всего, _setCustomVar
должно стоять перед _trackPageview
.
Теперь к вашей проблеме:
Это происходит потому, что пользовательские переменные уровня пользователя хранятся в файле cookie. Поскольку оба ваших трекера используют один и тот же файл cookie, второй трекер будет отправлен с переменными, установленными на первом трекере.
У вас есть 3 варианта.
1) Используйте Universal Analytics
Правильный путь здесь — использовать Universal Analytics. Мультитрекинг официально не поддерживается в Classic, потому что он глючит, как вы, наверное, заметили. А вещи легко сломать.
В Universal все специальные параметры оцениваются на стороне сервера, поэтому эта настройка поддерживается. Данные для пользовательских параметров не сохраняются в файлах cookie.
например: при условии, что вы настроили измерение 1 на UA-XXXXXXX-1
и измерение 2 на UA-XXXXXXX-2
через интерфейс администратора.
ga('create', 'UA-XXXXXXX-1', 'auto');
ga('send', 'pageview', {
'dimension1': 'cv1'
});
ga('create', 'UA-XXXXXXX-2', 'auto', {'name': 'newTracker'});
ga('newTracker.send', 'pageview', {
'dimension2': 'cv2'
});
Больше информации:
2) Сохранить классическую аналитику, но использовать customVars на уровне сеанса.
Если вы окончательно не можете перейти на Universal Analytics и хотите продолжать использовать Classic, вы можете обойти эту проблему, просто используя пользовательские переменные уровня сеанса. Чтобы заставить его работать, вам нужно всего лишь изменить область пользовательского Var, как показано ниже (с 1 на 2).
В отличие от пользовательских переменных с областью действия пользователя, CV с областью действия сеанса не сохраняются в файле cookie. Так вы обойдете эту проблему. Недостатком является то, что значение будет действительным только для этого сеанса, а не для будущих сеансов того же пользователя.
_gaq.push(['_setAccount', 'UA-XXXXXXX-1']);
_gaq.push(['_setCustomVar', 1, 'customVar1', 'cv1', 2]);
_gaq.push(['_trackPageview']);
_gaq.push(['second._setAccount', 'UA-XXXXXXX-2']);
_gaq.push(['second._setCustomVar', 2, 'customVar2', 'cv2', 2]);
_gaq.push(['second._trackPageview']);
3) Сохраняйте классические и пользовательские резюме, но используйте разные файлы cookie для каждого трекера.
Вы можете настроить GA для создания 2 наборов файлов cookie, по одному для каждого трекера, один в корневом домене и один в поддомене.
Если ваш сайт: http://www.example.net, настройте трекеры следующим образом:
_gaq.push(['_setAccount', 'UA-XXXXXXX-1']);
_gaq.push(['_setDomainName', 'example.net']);
_gaq.push(['_setCustomVar', 1, 'customVar1', 'cv1', 1]);
_gaq.push(['_trackPageview']);
_gaq.push(['second._setAccount', 'UA-XXXXXXX-2']);
_gaq.push(['second._setDomainName', 'www.example.net']);
_gaq.push(['second._setCustomVar', 2, 'customVar2', 'cv2', 1]);
_gaq.push(['second._trackPageview']);
Это ОБЯЗАТЕЛЬНО должно быть сделано на всех страницах вашего сайта. Не только этот. Это гарантирует, что каждый трекер использует свой изолированный набор файлов cookie, а customVars не будет передаваться от одного к другому.
Обратите внимание, что если к вашему сайту можно получить доступ без www.
. например: http://example.net/ это не удастся, и обходного пути нет. Вы не можете создать 2 набора файлов cookie с одинаковым именем в одном и том же домене и пути. Вы просто не можете.
Кроме того, если вы используете _gaq.push(['_setDomainName', 'none']);
или _gaq.push(['_setAllowHash', false]);
, описанный выше прием не сработает, и файлы cookie будут конфликтовать. Ваши данные будут странными. Просто не делай этого. Вы были предупреждены.
Я не могу не подчеркнуть, что это предоставляется без гарантий, и если ваши данные сломаются, это будет на вас. Несколько трекеров сложны, и поэтому они никогда официально не поддерживались.
Больше информации:
person
Eduardo
schedule
12.05.2014