2015-05-13 5 views
1

Я использую AJAX (метод POST) для моего поиска по сайту. Вот мой вызов AJAX:Как отслеживать поиск по сайту AJAX с помощью Google Analytics?

$.ajax({ 
    url: 'ajax.php', 
    type: 'POST', 
    dataType: 'json', 
    data: { 
     search_phrase: search_phrase 
    }, 
    success: function(data) { ... 

Моя цель - использовать Google Analytics для начала отслеживания условий поиска. Любая идея, как это можно сделать?

ответ

3

В вашем успехе обратного вызова подать virtual pageview с помощью Google Analytics. Переписать страницу страницы для просмотра страницы, чтобы включить параметр запроса (в отличие от ответа KayKay в Я предполагаю, что Universal Analytics):

success: function(data) { 
    ga('send', 'pageview', 'search.php?q=mykeyword'); 
    ......... 

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

Это будет считать каждый поиск как просмотр страницы, но поскольку поиск заменяет содержимое, которое имеет смысл ИМО.

Настройте внутренний поиск по сайту в своих представлениях для работы с (в моем примере) параметром «q» (и нажмите «удалить параметр поиска из url»).

Если вы не хотите прикасаться к своей функции ajax, вы можете использовать global ajax event handlers из jQuery, но это немного сложнее настроить.

+0

Спасибо за ваш ответ. Я показываю результаты поиска на своей домашней странице, поэтому не использую search.php. Это похоже на вас? 'ga ('send', 'pageview', '? q =' + search_term)' – henrywright

+0

Да - неважно, как называется страница, важно то, что параметр запроса присутствует (и что вы видите данные настроен для его использования для внутреннего поиска). –

+1

Если я не хочу записывать каждый поиск в виде просмотра страницы, могу ли я использовать для этого вместо этого тип атаки «event»? – henrywright

1

Вы можете вызвать событие Google Analytics при отправке вызова ajax. Это делается, как показано на the documentation с помощью:

_gaq.push(['_trackEvent', 'YourAjaxCallName', 'The posted value as a string']); 
+0

Я думаю, что синтаксис отправки виртуальных просмотров страниц изменился? – henrywright

Смежные вопросы