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.