Google Analytics и загрузка страницы с помощью GET-запроса ajax

У меня есть мобильный сайт, который полностью работает с использованием AJAX, и хэш-код, в основном, каждый щелчок страницы является ссылкой, такой как

<a href='http://some-domain.com/my-page-122.php" hash-id='122'>linkage</a>

Это означает, что сама страница существует и на ней есть страница аналитики Google, ОДНАКО, по запросу ajax, я только прошу загрузить certein <div> на указанной странице, используя jQuery load(), поэтому мой вопрос: поскольку страница вызывается целиком с помощью кода Google Analytics и всего остального, она все равно будет записывать ее как просмотр страницы, даже если на страницу будет вставлена ​​только часть?

Причина, по которой я спрашиваю, заключается в том, что этот сайт получает около 500 уникальных посетителей в день, и мы хотим изменить его на эту новую форму AJAXy, так что не записывать аналитику - это большая проблема.

2 ответа

Решение

Если вы используете JQuery, вы можете привязать к глобальному AjaxComplete Событие для запуска PageView каждый раз, когда завершается Ajax-вызов:

jQuery(document).ajaxComplete(function(e, xhr, settings){
  var d = document.location.pathname + document.location.search + document.location.hash;
  _gaq.push(['_trackPageview', d]);
});

Если вы обновляете Anchor каждый раз, когда вы делаете Ajax-вызов, это приведет к запуску полного пути, включая якорную часть URL.

Обратите внимание, что если вы загружаете контент с помощью .load в нем есть код отслеживания Google Analytics, он будет запускать этот код и запускать второй просмотр страницы. Таким образом, вы хотите убедиться, что вы не включили GATC в контент ajax, чтобы избежать двойных просмотров страниц.

Аналитика не будет записывать это автоматически. Предполагая, что вы используете асинхронный код, вы можете записать столько просмотров страниц, сколько захотите, записав в массив gaq явно заданный URL:

_gaq.push(['_setAccount', 'UA-12345-1']);
_gaq.push(['_trackPageview', '/home/landingPage']);

В этом случае вы можете создать любой URL, который вы хотите, где у них есть /home/ LandingPage. Обратите внимание, что если _gaq уже был правильно создан, а _setAccount уже выдвинут, вам нужно всего лишь нажать _trackPageview.

Кроме того, событие может быть в коде, возвращаемом вашим AJAX, или в событии щелчка вашей кнопки или в любом другом случае, когда запускается запрос AJAX.

См. http://code.google.com/apis/analytics/docs/gaJS/gaJSApiBasicConfiguration.html.

Другие вопросы по тегам