XMLHttpRequest () и отслеживание Google Analytics

Я реализовал вызов XMLHttpRequest () для отдельной html-страницы, которая просто имеет тег html, title и body, который является кодом отслеживания Google Analytics.

Я хочу отслеживать, когда кто-то делает запрос на отображение информации (например, номера телефона), чтобы попытаться понять, какая часть людей просматривает мой каталог, а не получает номер телефона, чтобы позвонить.

Это очень простой код:

var xhReq = new XMLHttpRequest();
xhReq.open("GET", "/registerPhoneClick.htm?id=" + id, false);
xhReq.send(null);
var serverResponse = xhReq.responseText

Но я не вижу "попадания" в Аналитике ... У кого-нибудь была такая проблема? Все, что делает код отслеживания аналитики, - это вызов:

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-XXXXXXX");
pageTracker._trackPageview();
} catch(err) {}</script>

На самом деле мой XmlHTTPRequest () вызывает htm-файл, в котором выполняется сценарий, для выполнения исходящего вызова в Google Analytics.

Есть ли причина, по которой XmlHTTPRequest () не выполняет это?

Передает ли XmlHTTPRequest () код клиенту перед выполнением?

Помоги пожалуйста


person sjw    schedule 01.05.2010    source источник


Ответы (2)


Запрос файла не означает, что он запускается автоматически. Вы просто получаете содержимое файла в виде строки.

Чтобы код был выполнен, он должен быть загружен как страница в браузере. Например, вы можете использовать iframe для его загрузки.

person Guffa    schedule 01.05.2010
comment
@sjw: Совершенно верно. Кроме того, если бы это было так, запрос этого кода не сработал бы. Вы можете использовать document.write только во время загрузки страницы, иначе он заменит текущую страницу. - person Guffa; 01.05.2010

Тем, у кого есть подобные проблемы, очевидно, что аналитика не будет отслеживать XMLHttpRequest (), поэтому, чтобы обойти это, я нашел этот пост: API отслеживания: базовая конфигурация, в котором объясняется, как просто регистрировать просмотр страницы с помощью javascript.

Я просто добавил в свой javascrip следующий код:

var pageTracker = _gat._getTracker("UA-XXXXX-XXX");
pageTracker._trackPageview("/home/landingPage");

Намного чище, проще и проще, чем то, что я пытался сделать изначально ...

person sjw    schedule 03.05.2010