Сейчас в сети: 715
Учитесь работать в Google Analytics вместе с нами!
star_border

События и виртуальные страницы в Google Analytics

Установка целей в Google Analytics не всегда простое занятие. А все из-за того, что на некоторых сайтах не меняется URL после выполнения нужных действий (нажатие на кнопку, заполнение формы и т.д.).


Для этих целей рекомендуется использовать установку событий или виртуальных страниц (Google Analytics).


Для Universal Analytics: события и виртуальные страницы.


У каждого из этих способов есть свои плюсы и минусы. Например, виртуальные страницы можно использовать для отчета «визаулизация последовательностей», а события нельзя. Но виртуальные страницы генерируют лишние просмотры страниц, которые могут искажать статистику. Обычно, я использую события.


Попробую простыми словам и на конкретном примере показать, что и как нужно использовать, чтобы все работало :-)


Пример – нажатие на кнопку «подтвердить» (успешное оформление заказа).

Подтверждение заказа.png

 

 

После нажатия на эту кнопку url страницы не меняется (остается прежним), поэтому его нельзя использовать в качестве цели. Нам нужно будет добавить в код кнопки событие или виртуальную страницу.


Чтобы посмотреть код кнопки необходимо нажать кнопку F12 (браузер Google Chrome). Откроется панель веб-разработчика. Далее, необходимо выбрать это (см. ниже) :-)

Ответить на сообщение - Сообщество AdWords.png

 

Далее, необходимо кликнуть по нашей кнопке. Должен открыться её код.

 

Подтверждение заказа1.png

 

<input id="readyButton" type="submit" value="Подтвердить" class="default_green_button checkout_last" data-locked="0">


Поздравляю, вы нашли код кнопки! Вы можете попросить вашего программиста добавить в код событие или виртуальную страницу, либо найти данный код в файлах сайта и изменить его самостоятельно.


1. Добавляем событие:
<input id="readyButton" type="submit" value="Подтвердить" class="default_green_button checkout_last" data- locked="0" onClick="_gaq.push(['_trackEvent', 'Knopka', 'Podtverdit']);"> - для Google Analytics.


<input id="readyButton" type="submit" value="Подтвердить" class="default_green_button checkout_last" data- locked="0" onClick="ga('send', 'event', 'Knopka', 'Podtverdit');" > - для Universal Analytics.


2. Или виртуальную страницу:


<input id="readyButton" type="submit" value="Подтвердить" class="default_green_button checkout_last" data- locked="0" onClick="_gaq.push(['_trackPageview','/virtual/podtverdit/']);"> - для Google Analytics


<input id="readyButton" type="submit" value="Подтвердить" class="default_green_button checkout_last" data- locked="0" onClick="ga('send', 'pageview', '/virtual/podtverdit');"> - для Universal Analytics


Настройка целей для Google Analytics и Universal Analytics абсолютна идентична.


1. Настройка событий:

 

Подтверждение заказа2.png

2. Настройка цели для виртуальной страницы:

Подтверждение заказа3.png

 

UPD №1 от Владимира Ковтуна (konvut): "Вообще, ничто не мешает вставить как события, так и виртуальные просмотры. Тогда будут доступны и воронки продаж, и полезные данные по событиям."

 

Пример для Google Analytics: 

 

либо так

onClick="_gaq.push(['_trackPageview','/virtual/podtverdit']); _gaq.push['_trackEvent','Knopka','Podtverdit']);"

 

либо так

onClick="_gaq.push(['_trackPageview','/virtual/podtverdit'], ['_trackEvent','Knopka','Podtverdit']);"

 

Пример для Universal Analytics: onClick="ga('send', 'pageview', '/virtual/podtverdit'), ga('send', 'event', 'Knopka', 'Podtverdit');" 

 

UPD №2 от Павла Романовского (demureless) для тех, кому важно отслеживать достижение цели только в случае успешного заполнения формы:

 

"Чтобы "сигнал" поступал только при корректно заполненной форме при наличии обязательных полей, а не просто случайному нажатию, вешайте событие на onsubmit формы,
будет что то типа

<form action="/cart" method="post" class="order-form" onsubmit="_gaq.push(['_trackEvent', 'cart','sale']);return true;">
данные вашей формы
</form>

 

UPD №3 от Павла Романовского (demureless): в событиях  - можно еще передавать ценность. выглядеть будет так
onClick="_gaq.push(['_trackEvent', 'Knopka', 'Kupit','название товара',1000]);"
вместо названия товара и 1000 - CMS вашего сайта может(должна) подставлять стоимость товара и название. Так вы получите:


а) товар + цена
б) сумма и ассортимент всех брошенных корзин

 

UPD №4 от Петра Аброськина:

 

Иногда возникает задача одновременного отслеживания цели в Google (Universal) Analytics и Яндекс Метрике. Для этих задач можно использовать следующий пример кода.

 

- для виртуальных страниц (Метрика + Universal Analytics): 

 

onClick="yaCounterXXXXXX.reachGoal('cart'); ga('send', 'pageview', '/virtual/cart');"

 

- для виртуальных страниц (Метрика + Google Analytics): 

 

onClick="yaCounterXXXXXX.reachGoal('cart'); _gaq.push(['_trackPageview','/virtual/cart']);"

 

XXXXXX - номер вашего счетчика в Метрике. Настройка цели в Метрике ставится на событие.

 

UPD №5 от Павла Романовского (demureless):

 

Как правильно оформить 2 кода на сайте одновременно и сделать, чтобы событие уходило в 2 аккаунта.

 

 

Должно выйти как то так. Плюс документация по теме, раздел One Push, Multiple Commands

 

<script type="text/javascript">

  var _gaq = _gaq || [];
   _gaq.push(
['_setAccount', 'UA-25837780-3'],
['_trackPageview'],
['b._setAccount', 'UA-48884258-1'],
['b._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); })(); </script>

 

 

Если вдруг понадобиться , то для отслеживаемых элементов добавите через точку запятой вызов для второго аккаунта (выделил жирным и на примере Вашей кнопки)

 

<input type="submit" class="button" value="Заказать!" data-result-text="добавлено" data-type="zoomin" onclick="_gaq.push(['_trackPageview','/virtual/podtverdit/']);_gaq.push(['b._trackPageview','/virtual/podtverdit/']);">

 

Если кто хочет дополнить статью, то, пжл, сделайте это. Я добавлю все полезные комментарии в текст статьи.

 

 

Petr Abroskin

Head of Performance Marketing в Яндекс. Опыт работы с контекстной рекламой и системами веб-аналитики более 8 лет. Являюсь соавтором внутренних методик и стандартов качества в агентстве ArrowMedia. Выступаю консультантом и провожу обучающие семинары по Google Analytics / Яндекс Метрике / Яндекс Директ / Google AdWords.

Комментарии
Вера
января 2014

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

Petr Abroskin Выпускник Сообщества
января 2014 - последнее изменение января 2014

Вера, 

 

Что вы имеете в виду? Виртуальные страницы или события? :-)  Про виртуальные события я не слышал... 

 

За сессию зафиксируется одно выполнение цели в любом случае. Неважно, событие это будет или виртуальная страница или простая страница, заданная в качестве цели.

 

Такова логика роботы целей в Google Analytics. Если пользователь совершит 2 покупки в рамках одной сессии, то в Analytics запишется только 1 выполнение цели.

 

Но, если использовать события, то есть возможность увидеть реальное количество выполненых целей в отчетах по событиям. т.е. из примера выше, цель зафиксируется одна, а событий по клику на кнопку "подвердить" будет 2.

 

А, вообще, лучшими решением для интернет-магазинов будет установка электронной торговли. Там транзакций тоже 2 будет + много интересных и полезных отчетов. Возможно, скоро я о них напишу отдельную статью.

Вера
января 2014

Безусловно, виртуальные просмотры

Petr Abroskin Выпускник Сообщества
января 2014

Ок. Ответил вам выше. Но преимущество виртуальных страниц в том, что вы можете использовать их в отчете "визуализация последовательностей", а события нет.

 

Поэтому для всех клиентов, кому важно отследить воронку продаж, рекомендую ставить вызов виртуальных страниц вместо событий. Если интернет-магазин, то еще + электронную торговлю. Странно, что кто-то называет это дурным тоном. :-) Разные задачи, требуют разных решений.

 

 

Владимир Ковтун Ведущий участник
января 2014

Petr Abroskin написано:

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


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

 

Petr Abroskin Выпускник Сообщества
января 2014

Вот интересный опыт. Спасибо, Владимир!

 

Я в своей практике одновременно их никогда не использовал. Не подскажешь код, которым можно объеденить эти 2 функции? Просто в строчку написать 2 вызова?

Владимир Ковтун Ведущий участник
января 2014

Пример:

_gaq.push(['_trackPageview','/order_done.com'],['_trackEvent','order','done']);

 

Можно их поменять местами, разницы никакой. Для ua точно так же.

Petr Abroskin Выпускник Сообщества
января 2014 - последнее изменение января 2014

Владимир, спасибо еще раз!

 

Внес в основной текст. Теперь статья, сделанная для новичков, становится полезной и для более опытных участников :-) Иногда, простые и полезные решения ускользают от внимания...

Владимир Ковтун Ведущий участник
января 2014

Petr Abroskin написано:

 

 

Пример для Universal Analytics: onClick="ga('send', 'pageview', '/virtual/podtverdit'), ('send', 'event', 'Knopka', 'Podtverdit']);"  


Так работать не будет. Нужно так:

onClick="ga('send', 'pageview', '/virtual/podtverdit'), ga('send', 'event', 'Knopka', 'Podtverdit');"  

 

То есть вызывать нужно последовательно.

Для ga.js точно так же, просто я записал в более короткой форме.

Petr Abroskin Выпускник Сообщества
января 2014

Владимир,

 

Спасибо за уточнение.

 

Но вроде я записал точно так, как было написано в комментарии выше. 

 

Получается, что вариант для ga.js такой onClick="_gaq.push(['_trackPageview','/virtual/podtverdit'], _gaq.push['_trackEvent','Knopka','Podtverdit']);" ?

 

Или будет работать и этот? onClick="_gaq.push(['_trackPageview','/virtual/podtverdit'], ['_trackEvent','Knopka','Podtverdit']);"

Владимир Ковтун Ведущий участник
января 2014

Ещё раз:

 

Для ga.js:

либо так

onClick="_gaq.push(['_trackPageview','/virtual/podtverdit']); _gaq.push['_trackEvent','Knopka','Podtverdit']);"

 

либо так

onClick="_gaq.push(['_trackPageview','/virtual/podtverdit'], ['_trackEvent','Knopka','Podtverdit']);"

 

Для universal.js

onClick="ga('send', 'pageview', '/virtual/podtverdit'), ga('send', 'event', 'Knopka', 'Podtverdit');"  

 

Petr Abroskin Выпускник Сообщества
января 2014

Супер. Значит все правильно записал в этот раз.

Petr Abroskin Выпускник Сообщества
января 2014

Хоть в комментариях к данной статье не было дополнения от demureless, но я решил его добавить из другой темы. :-)

 

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

 

 

Petr Abroskin Выпускник Сообщества
января 2014

UPD №3 - "в событиях можно еще передавать ценность" (далее в тексте).

demureless Ведущий участник
февраля 2014 - последнее изменение февраля 2014

2 Petr, вкралась опечатка. "]" не нужна, вот в этом месте.
upd: и у меня не открывается картинка, пишу текстом
<input id="readyButton" type="submit" value="Подтвердить" class="default_green_button checkout_last" data- locked="0" onClick="ga('send', 'event', 'Knopka', 'Podtverdit']);" > - для Universal Analytics.

Petr Abroskin Выпускник Сообщества
февраля 2014

demureless В каком именно? :-)

 

Картинка не открывается у меня.

Mikhail M Ведущий участник
февраля 2014

Петр, опечатка с квадратной скобкой так и осталась - вот скрин, хотя Павел выше уже и без скрина описал Веселый

q1.png

Petr Abroskin Выпускник Сообщества
февраля 2014

demurelessMikhail MСпасибо! Исправил.

 

А картинка все равно не открывается. Странно. :-)

 

 

Petr Abroskin Выпускник Сообщества
марта 2014

Добавил 4UPD. Как одновременно отслеживать цели в Google (Universal) Analytics и Яндекс Метрике. 

Анна С
апреля 2014

Добрый день!

 

У меня сейчас настроино события, на нажатия кнопки, при этом урл не меняется. Я хочу сделать визуализацию последовательности с помощью виртуальных страниц. Подскажите, из-за виртуальных страниц не вырастит количество просмотров страниц в GA? 

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

 

Заранее спасибо!

Petr Abroskin Выпускник Сообщества
апреля 2014

Добрый вечер!

 

1. Количество просмотров страниц вырастет, т.к. будут просмотры виртуальных страниц

2. По GTM есть отличный блог - http://prometriki.ru/otveti-na-voprosi-vebinara-po-google-tag-manager/ Там есть ответ на ваш вопрос.

Vikarius O
мая 2014

"Чтобы "сигнал" поступал только при корректно заполненной форме при наличии обязательных полей, а не просто случайному нажатию, вешайте событие на onsubmit формы,
будет что то типа

<form action="/cart" method="post" class="order-form" onsubmit="_gaq.push(['_trackEvent', 'cart','sale']);return true;">
данные вашей формы
</form>

 

--------------------------------------

Это как раз мой случай. У меня два обязательных поля - Имя и емэйл и кнопка "Отправить заявку". В случае успешной отправки, появляются слова благодарности вместо полей формы. УРЛ не меняется естественно. Не совсем понимаю, чему в данном примере соответствуют 'cart' и 'sale' и что должно быть в моем случае? И что будет являться целью при настройке?

demureless Ведущий участник
мая 2014

вместо 'cart' и 'sale'  , может быть что угодно, например 'mail' и 'send' 
Или любое другое, то что Вы без труда распознаете в аналитике, и на что в последствии настроите цель

Vikarius O
мая 2014

то есть это соответствие "категории" и "действию" в настройках цели?

Petr Abroskin Выпускник Сообщества
мая 2014

Да. Это так )

Timur G
мая 2014

Здравствуйте, 

Подскажите пожалуйста, как можно настроить форму на onsubmit для unversal analytics?


В целях, на сайте, я создал новую цель:
Категория равно form

Действие равно not_in_top

Ярлык равно vspl_forma

 

onsubmit="ga('send', 'event', 'form', 'not_in_top', 'vspl_forma');return true;"

Но всеравно в аналитике нет изменений после отправки форм. + я добавил в счетчик 

ga('send', 'event'); и без него тоже пробовал.

 

Что я делаю не так? Подскажите пожалуйста.

Благодарю,

Тимур.

Petr Abroskin Выпускник Сообщества
мая 2014

Здравствуйте!

 

Нужно проверить с помощью Tag Assistant отправляется ли событие. По идее, все верно, если вы это событие в form используете.

 

Пробел между предпоследней точкой с запятой и return true есть? (Не уверен, что это влияет, но все же сделайте).

 

А с Onclick работает? onClick="ga('send', 'event', 'Knopka', 'Podtverdit');"

Pluvi P
мая 2014

А как насчет настройки цели в popup? Есть ли разница? У меня интернет магазин, оформление заказа вылазит в pop-up, использую universal, но цель не выполняется.
Код кнопки:

<td class="empty">&nbsp;</td> 
            <td><div class="Buttons"> 
                <div class="button red send" onclick="ga('send', 'event', 'Продажа', 'Оформление заказа');"><i><b>Заказать</b></i></div> 
                <div class="button gray cancel"><i><b>Отмена</b></i></div> 
            </div></td> 

 В аналитикс:

Категория: Продажа

Действие: Оформление заказа

demureless Ведущий участник
мая 2014

Pluvi P
у нас тоже на поп ап - все работает

Pluvi P
мая 2014

2 demureless
Как я уже сказал, у меня не работает

Pluvi P
мая 2014

Попробовал поменять название каталога и действия на Prod_Cart и Order_Confirm, ничего не дало. Может все таки проблема в коде страницы? http://plyvi.com.ua/ помогите, пожалуйста, разобраться.

demureless Ведущий участник
мая 2014

Да вроде как улетают события в GA. Расскажите где смотрите.

ad82.png

Чтобы уже совсем по феншуй было - разместить код GA - до закрывающего тега head

Pluvi P
мая 2014

2 demureless

 

Вы были правы, наданном этапе данные ухадят, просто была задержка в аналитиксе.

За отзывчивость, Спасибо!

Владимир Г
июня 2014

Всем Доброго времени.

 

Подскажите.

 

При помощи GTM настроил, при нажати кнопок, просмотр виртуальных страниц. В отчётах analytics, в режиме реального времени просмотр таких страниц фиксируется.

 

1.PNG

 

Настроил цель - посещение одной из этой виртуальной страницы. 

 

2.PNG

 

Но достижение цели не происходитПечальный. В чем может быть проблема?

Petr Abroskin Выпускник Сообщества
июня 2014

Здравствуйте!

 

Попробуйте вместо "равно" поставить "регулярное выражение" и проверить.

Владимир Г
июня 2014

Поставил, цель не фиксирует.

Mikhail M Ведущий участник
июня 2014

Владимир, а когда цель настроена была? Может просто прошло недостаточно времени? Если настроили ее только недавно, то рекомендуется подождать до суток - может быть задержка с поступлением данных в аккаунт.

Владимир Г
июня 2014

Так я проверяю все в режиме реального времени. Еще такой нюанс, также при помощи ГТМ настроены события - клики по кнопкам, которые также есть достижением цели. Эти цели фиксируются. 

То есть, если пользователь нажимает на кнопку1, фиксируется цель1 - клик по кнопке1, также вызывается просмотр виртуальной страницы с урлом, в моем случае - /zakaz_now/. Но цель с достижением данного урла не фиксируется. 

Владимир Г
июня 2014

Всем спасибо, разобрался.

Ramil R
июня 2014

Добрый день!

 

Подскажите пожалуйста, каким образом установить цель на кнопку совместно( событие) на гугл аналитикс и метрику? на метрику уже установил и не знаю как теперь на гугл добавить?!

приведенный пример выше "UPD №4 от Петра Аброськина" 

-не совсем понятен, как я понимаю указа пример, только для виртуальной стр.

Anton T
июня 2014

Попробуйте так:

onClick="yaCounterXXXXXX.reachGoal('cart'); ga('send', 'event', 'Knopka', 'Podtverdit']);"

Ramil R
июня 2014

Как я понимаю, вы указали для Universal Analytics.

А для Google Analytics нужно так:

 

onClick="yaCounterXXXXXX.reachGoal('cart'); _gaq.push(['_trackEvent', 'Knopka', 'Podtverdit']);"

 

Anton T
июня 2014

Да все верно.

Ramil R
июня 2014

не работает ...(((  может кто подскажет, что не так?

главное метрика - работает, а гугл нет...

 

<input type="submit" class="bigselect sub_green" value="Отправить" name="submit" onclick="yaCounterХХХХХХ.reachGoal('cart'); return true; _gaq.push(['_trackEvent', 'Ekspress', 'Podtverdit']);" "setplh()"="">

Artem T
июня 2014

Подскажите пожалуйста, а как добавить событие в последовательности достижения цели (Google Analytics)?

 

Столкнулся с тем, что мне нужно указать для первого шага в последовательности событие, а не адрес страницы.
Пример:
Нажатие на кнопку "В корзину" (Событие) → Корзина (Адрес страницы) → Оформление заказа (Адрес страницы) → Спасибо за покупку (Адрес страницы)

Petr Abroskin Выпускник Сообщества
июня 2014 - последнее изменение июня 2014

Добрый день, коллеги!

to Артем: к сожалению, события нельзя поставить в последовательности (по крайней мере я об этой возможности не знаю). Чтобы использовать последовательности, можно события заменить на виртуальные страницы. Если покажете свой код, то я подскажу как это сделать.

 

to Ramil:

 

- а точно у вас Google Analytics стоит, а не Universal?

- событие как настраиваете? Категория - Ekspress Действие - Podtverdit

- попробуйте заменить ваш код:

 

onclick="yaCounterХХХХХХ.reachGoal('cart'); return true; _gaq.push(['_trackEvent', 'Ekspress', 'Podtverdit']);" "setplh()"="">

 

 

на этот

 

onclick="yaCounterХХХХХХ.reachGoal('cart');  _gaq.push(['_trackEvent', 'Ekspress', 'Podtverdit']); return true;" "setplh()"="">

Artem T
июня 2014

Вот ссылка на конкретный товар. http://www.planeta-sport.ru/catalog/palatka_fox_challenger_3_mesh.html

 

На счет виртуальных страниц мысли были, но пока с этим не сталкивался. Если подскажите, буду очень благодарен.

Petr Abroskin Выпускник Сообщества
июня 2014

Artem,

 

Я не вижу вообще событий у вас на страницы. Если он есть, то напишите его здесь, пжл.

 

Кроме того, кода Analytics нет на страницы оформления заказа http://www.planeta-sport.ru/personal/order/make/

 

Посмотрите в статье UPD №1 от Владимира Ковтуна.  Там описан случай, как сразу и событие и виртуальную страницу использовать.

Artem T
июня 2014

По поводу кода на странице оформления заказа, это да. Это исправляем Веселый

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

 

За статью спасибо сейчас почитаю.

Artem T
июля 2014

Добрый день, Petr Abroskin.

Не могли бы вы подсказать в чем может быть проблема? Мы настроили виртуальные страницы. Как отдельные цели они вроде бы срабатывают, правда не могу понять всегда ли, а вот в последовательности они совсем не работают. Вот моя последовательность. zxc.png