Google Analytics - Не удалось установить пользовательскую переменную! - PullRequest
2 голосов
/ 14 декабря 2010

Я пытаюсь установить пользовательскую переменную в форме контакта, которая отслеживает, когда отправка формы прошла успешно. Однако на моей странице аналитики Google пользовательская переменная не отображается в Visitor -> Custom Variable. Я понимаю, что для его обновления требуется несколько часов, но прошла неделя. Итак, я предполагаю, что это не сработало. Я использую async _gaq.push () для достижения этой цели. По сути, я устанавливаю пользовательскую переменную после вызова функции ajax для отправки контактной формы и в функции обратного вызова в случае успеха я устанавливаю следующее:

_gaq.push(['_setCustomVar', 1, 'contact', 'success', 3]);

Это мой аналитический код Google в голове.

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-xxxxx-x']); //my google analytic api key
_gaq.push(['_trackPageview']);
(function() {
     var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 })();

На самом деле лучше задать вопрос: нужно ли вызывать _gaq.push(['_trackPageview']); после _gaq.push(['_setCustomVar', 1, 'contact', 'success', 3]);, чтобы он "зарегистрировал" вызов _setCustomVar, и можно ли мне вызывать _gaq.push(['_trackPageview']); более одного раза после того, как DOM загружается с помощью javascript (может быть отключена функция события или обратного вызова ajax). Спасибо, ребята.

Ответы [ 2 ]

4 голосов
/ 14 декабря 2010

setCustomVar должен быть установлен до запроса, отправленного в Google.Это не устанавливает его собственный запрос;он просто ставит в очередь переменную, которая будет отправлена ​​в любое время в течение этого сеанса страницы.

Если установлено после просмотра страницы, и страница изменяется до того, как какие-либо запросы будут отправлены в Google Analytics (например, при вызове просмотра страницы или отслеживании событий), тогда Google никогда не получит данныеваша пользовательская переменная.

Итак, если вы не можете установить переменную до начального просмотра страницы, вам нужно либо сгенерировать 2-й просмотр страницы.Или вы можете позвонить в службу отслеживания событий Google Analytics, которая также может перенести вашу пользовательскую переменную в Google Analytics.

Итак, вам нужно установить другой вызов непосредственно после вашего setCustomVar, чтобы сделать что-то вроде этого:

_gaq.push(['_setCustomVar', 1, 'contact', 'success', 3]);
_gaq.push(['_trackEvent', 'contact', 'success',"", 0, true]);
0 голосов
/ 14 декабря 2010

Вы пробовали просто _setVar?Мы все еще используем старый метод отслеживания, но этот код мы используем:

try {
var pageTracker = _gat._getTracker("UA-xxxxxxx-x");
pageTracker._setVar('custom value goes here');
pageTracker._trackPageview();
} catch(err) {}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...