Веб-аналитика: различия между версиями
Строка 4: | Строка 4: | ||
Для отслеживания действий пользователя во время процесса поиска и бронирования авиабилетов, | Для отслеживания действий пользователя во время процесса поиска и бронирования авиабилетов, | ||
в {{NameSystemLink}} используется система событий, позволяющая передавать данные в различные сервисы веб-аналитики, | в {{NameSystemLink}} используется система событий, позволяющая передавать данные в различные сервисы веб-аналитики, | ||
− | такие как '''Яндекс.Метрика''', '''Google Analytics''', а так же в любые другие сервисы. | + | такие как '''Яндекс.Метрика''', '''Google Analytics''', а так же с возможностью настроить передачу в любые другие сервисы. |
− | == | + | ==Принцип работы== |
+ | |||
+ | При совершении пользователем определённых действий, в системе вызываются специальные javascript-события на объекте <code>document</code>. | ||
+ | В объект события также передаются дополнительные данные (если имеются), которые характеризуют действия пользователя. | ||
− | |||
− | |||
Например, при смене типа маршрута на форме поиска, срабатывает событие <code>analytics.searchForm.tripType.value</code> | Например, при смене типа маршрута на форме поиска, срабатывает событие <code>analytics.searchForm.tripType.value</code> | ||
и в объект события передаётся javascript-объект со свойством <code>value</code>, содержащим тип выбранного маршрута (''OW'', ''RT'' или ''CR''). | и в объект события передаётся javascript-объект со свойством <code>value</code>, содержащим тип выбранного маршрута (''OW'', ''RT'' или ''CR''). | ||
Строка 17: | Строка 18: | ||
[[Файл:Идентификатор_цели.jpeg|thumb|300px|Идентификатор цели]] | [[Файл:Идентификатор_цели.jpeg|thumb|300px|Идентификатор цели]] | ||
− | Для передачи информации в сервисы веб-аналитики, вызванные действиями пользователя javascript-события необходимо | + | Для передачи информации в сервисы веб-аналитики, вызванные действиями пользователя javascript-события необходимо «отследить», |
получить из них желаемую информацию и сделать соответствующие обращения к сервисам аналитики. | получить из них желаемую информацию и сделать соответствующие обращения к сервисам аналитики. | ||
Строка 45: | Строка 46: | ||
| analytics.searchForm.directFlights.active | | analytics.searchForm.directFlights.active | ||
| <code>value</code>: <code>true</code> или <code>false</code> | | <code>value</code>: <code>true</code> или <code>false</code> | ||
− | | | + | | Опция «Только прямые» / «Без пересадок” |
|- | |- | ||
| analytics.searchForm.tripType.value | | analytics.searchForm.tripType.value | ||
| <code>value</code>: <code>OW</code>, <code>RT</code>, <code>CR</code> | | <code>value</code>: <code>OW</code>, <code>RT</code>, <code>CR</code> | ||
− | | | + | | Выбор типа маршрута |
|- | |- | ||
| analytics.searchForm.additionalParameters.fastFlights.active | | analytics.searchForm.additionalParameters.fastFlights.active | ||
| <code>value</code>: <code>true</code> или <code>false</code> | | <code>value</code>: <code>true</code> или <code>false</code> | ||
− | | | + | | Опция «Только короткие (до 2 часов)”, в блоке «Еще параметры” |
|- | |- | ||
| analytics.searchForm.additionalParameters.maxRouteTime.value | | analytics.searchForm.additionalParameters.maxRouteTime.value | ||
| <code>value</code>: число, количество часов | | <code>value</code>: число, количество часов | ||
− | | | + | | «Время в пути”, в блоке «Еще параметры” |
|- | |- | ||
| analytics.searchForm.additionalParameters.maxPrice.value | | analytics.searchForm.additionalParameters.maxPrice.value | ||
| <code>value</code>: число, максимальная стоимость перелёта | | <code>value</code>: число, максимальная стоимость перелёта | ||
− | | Поле | + | | Поле «Цена билетов”, в блоке «Еще параметры” |
|- | |- | ||
| analytics.searchForm.additionalParameters.carriers.value | | analytics.searchForm.additionalParameters.carriers.value | ||
| <code>value</code>: массив, список авиакомпаний | | <code>value</code>: массив, список авиакомпаний | ||
− | | Поле | + | | Поле «Авиакомпании”, в блоке «Еще параметры” |
|- | |- | ||
| analytics.searchForm.serviceClass.value | | analytics.searchForm.serviceClass.value | ||
| <code>value</code>: строка, класс обслуживания | | <code>value</code>: строка, класс обслуживания | ||
− | | | + | | Выбор класса обслуживания |
|- | |- | ||
| analytics.searchForm.vicinityDates.active | | analytics.searchForm.vicinityDates.active | ||
| <code>value</code>: <code>true</code> или <code>false</code> | | <code>value</code>: <code>true</code> или <code>false</code> | ||
− | | | + | | Опция «Искать ±3 дня» (окружные даты) |
|- | |- | ||
| analytics.searchForm.search.validationError | | analytics.searchForm.search.validationError | ||
Строка 101: | Строка 102: | ||
| analytics.searchResults.sort.value | | analytics.searchResults.sort.value | ||
| <code>value</code>: строка, тип сортировки | | <code>value</code>: строка, тип сортировки | ||
− | | | + | | Выбор типа сортировки перелётов |
|- | |- | ||
| analytics.searchResults.displayType.value | | analytics.searchResults.displayType.value | ||
Строка 117: | Строка 118: | ||
| analytics.searchResults.fareFamilies.load | | analytics.searchResults.fareFamilies.load | ||
| - | | - | ||
− | | Кнопка | + | | Кнопка «Выбрать другой тариф”, процесс поиска семейств тарифов на результатах поиска |
|- | |- | ||
| analytics.searchResults.fareFamilies.select | | analytics.searchResults.fareFamilies.select | ||
Строка 129: | Строка 130: | ||
| analytics.checkout.customer.needNewAccount.active | | analytics.checkout.customer.needNewAccount.active | ||
| <code>value</code>: <code>true</code> или <code>false</code> | | <code>value</code>: <code>true</code> или <code>false</code> | ||
− | | | + | | Опция создания нового аккаунта |
|- | |- | ||
| analytics.checkout.customer.visa.active | | analytics.checkout.customer.visa.active | ||
| <code>value</code>: <code>true</code> или <code>false</code> | | <code>value</code>: <code>true</code> или <code>false</code> | ||
− | | | + | | Опция внесения данных о визе |
|- | |- | ||
| analytics.checkout.customer.meal.value | | analytics.checkout.customer.meal.value | ||
Строка 141: | Строка 142: | ||
| analytics.checkout.customer.loyaltyCard.active | | analytics.checkout.customer.loyaltyCard.active | ||
| <code>value</code>: <code>true</code> или <code>false</code> | | <code>value</code>: <code>true</code> или <code>false</code> | ||
− | | | + | | Опция внесения карты лояльности |
|- | |- | ||
| analytics.checkout.promocode.active | | analytics.checkout.promocode.active | ||
Строка 173: | Строка 174: | ||
| analytics.checkout.services.disableExtservices.active | | analytics.checkout.services.disableExtservices.active | ||
| <code>value</code>: <code>true</code> или <code>false</code> | | <code>value</code>: <code>true</code> или <code>false</code> | ||
− | | | + | | Опция отказа от дополнительных услуг |
|- | |- | ||
| analytics.checkout.services.alphaInsurance.active | | analytics.checkout.services.alphaInsurance.active | ||
| <code>value</code>: <code>true</code> или <code>false</code> | | <code>value</code>: <code>true</code> или <code>false</code> | ||
− | | | + | | Опция активации АльфаСтрахования |
|- | |- | ||
| analytics.checkout.services.alphaInsurance.value | | analytics.checkout.services.alphaInsurance.value | ||
Строка 185: | Строка 186: | ||
| analytics.checkout.services.ervInsurance.active | | analytics.checkout.services.ervInsurance.active | ||
| <code>value</code>: <code>true</code> или <code>false</code> | | <code>value</code>: <code>true</code> или <code>false</code> | ||
− | | | + | | Опция активации ERV Страхования |
|- | |- | ||
| analytics.checkout.services.ervInsurance.value | | analytics.checkout.services.ervInsurance.value | ||
Строка 215: | Строка 216: | ||
* Зарегистрироваться в сервисе и получить код счетчика метрики | * Зарегистрироваться в сервисе и получить код счетчика метрики | ||
* Полученный код необходимо поместить в код страницы между тегами <code><body></body></code> | * Полученный код необходимо поместить в код страницы между тегами <code><body></body></code> | ||
− | * В настройках счетчика добавить необходимые цели, указав произвольное название цели, в качестве значения | + | * В настройках счетчика добавить необходимые цели, указав произвольное название цели, в качестве значения «Тип условия» |
− | выбрать | + | выбрать «JavaScript-событие» и указать произвольный «Идентификатор цели", который в дальнейшем будет использован в коде |
отслеживания событий | отслеживания событий | ||
* Добавить на страницу код отслеживания нужных событий (код должен располагаться ниже кода счетчика): | * Добавить на страницу код отслеживания нужных событий (код должен располагаться ниже кода счетчика): |
Версия 11:22, 3 апреля 2017
Веб-аналитика — функция системы бронирования билетов онлайн Nemo.travel для отслеживания действий пользователя во время процесса поиска и бронирования авиабилетов.
Содержание
Описание
Для отслеживания действий пользователя во время процесса поиска и бронирования авиабилетов, в Nemo.travel используется система событий, позволяющая передавать данные в различные сервисы веб-аналитики, такие как Яндекс.Метрика, Google Analytics, а так же с возможностью настроить передачу в любые другие сервисы.
Принцип работы
При совершении пользователем определённых действий, в системе вызываются специальные javascript-события на объекте document
.
В объект события также передаются дополнительные данные (если имеются), которые характеризуют действия пользователя.
Например, при смене типа маршрута на форме поиска, срабатывает событие analytics.searchForm.tripType.value
и в объект события передаётся javascript-объект со свойством value
, содержащим тип выбранного маршрута (OW, RT или CR).
Отслеживание событий
Для передачи информации в сервисы веб-аналитики, вызванные действиями пользователя javascript-события необходимо «отследить», получить из них желаемую информацию и сделать соответствующие обращения к сервисам аналитики.
Пример достижения целей в сервисе Яндекс.Метрика:
$(document).on('analytics.checkout.booking.book', function (event, data) {
yaCounterXXXXXX.reachGoal('ИДЕНТИФИКАТОР_ЦЕЛИ_X');
});
$(document).on('analytics.checkout.booking.buy', function (event, data) {
yaCounterXXXXXX.reachGoal('ИДЕНТИФИКАТОР_ЦЕЛИ_Y', data);
});
Где XXXXXX — номер счетчика Яндекс.Метрики, ИДЕНТИФИКАТОР_ЦЕЛИ_X и ИДЕНТИФИКАТОР_ЦЕЛИ_Y —
идентификаторы двух разных целей в метрике, а data
— дополнительные параметры, которые в данном случае передаются
как Параметры визита.
Полный список событий
Событие | Параметры | Описание |
---|---|---|
analytics.searchForm.directFlights.active | value : true или false
|
Опция «Только прямые» / «Без пересадок” |
analytics.searchForm.tripType.value | value : OW , RT , CR
|
Выбор типа маршрута |
analytics.searchForm.additionalParameters.fastFlights.active | value : true или false
|
Опция «Только короткие (до 2 часов)”, в блоке «Еще параметры” |
analytics.searchForm.additionalParameters.maxRouteTime.value | value : число, количество часов
|
«Время в пути”, в блоке «Еще параметры” |
analytics.searchForm.additionalParameters.maxPrice.value | value : число, максимальная стоимость перелёта
|
Поле «Цена билетов”, в блоке «Еще параметры” |
analytics.searchForm.additionalParameters.carriers.value | value : массив, список авиакомпаний
|
Поле «Авиакомпании”, в блоке «Еще параметры” |
analytics.searchForm.serviceClass.value | value : строка, класс обслуживания
|
Выбор класса обслуживания |
analytics.searchForm.vicinityDates.active | value : true или false
|
Опция «Искать ±3 дня» (окружные даты) |
analytics.searchForm.search.validationError | - | Ошибка валидации формы поиска |
analytics.searchForm.search | - | Запуск поиска |
analytics.searchForm.scheduleSearch | - | Запуск поиска по расписанию |
analytics.searchResults.compareTable.active | value : true или false
|
Открытие / закрытие блока со сравнительной таблицей перелётов |
analytics.searchResults.fastSearchForm.active | value : true или false
|
Открытие / закрытие блока с формой поиска на результатах поиска |
analytics.searchResults.fastSearchForm.active | value : true или false
|
Открытие / закрытие блока с формой поиска на результатах поиска |
analytics.searchResults.sort.value | value : строка, тип сортировки
|
Выбор типа сортировки перелётов |
analytics.searchResults.displayType.value | value : list , tile
|
Переключатель формата отображения перелётов (список/карточки) |
analytics.searchResults.flight.select | - | Кнопка покупки перелёта на результатах поиска |
analytics.searchResults.showAllFlights | - | Кнопка показа всех перелётов (под поисковой выдачей) |
analytics.searchResults.fareFamilies.load | - | Кнопка «Выбрать другой тариф”, процесс поиска семейств тарифов на результатах поиска |
analytics.searchResults.fareFamilies.select | - | Кнопка покупки перелёта в попапе выбора семейства тарифов на результатах поиска |
analytics.searchResults.filter.value | name : название фильтра, value : значение фильтра
|
Фильтры поисковой выдаче |
analytics.checkout.customer.needNewAccount.active | value : true или false
|
Опция создания нового аккаунта |
analytics.checkout.customer.visa.active | value : true или false
|
Опция внесения данных о визе |
analytics.checkout.customer.meal.value | value : строка, код типа питания
|
Выбор типа питания |
analytics.checkout.customer.loyaltyCard.active | value : true или false
|
Опция внесения карты лояльности |
analytics.checkout.promocode.active | value : true или false
|
Попап с внесением промокода |
analytics.checkout.promocode.apply | - | Внесение промокода |
analytics.checkout.fareRules.load | - | Загрузка тарифных правил |
analytics.checkout.booking.book | - | Бронирование успешно завершено |
analytics.checkout.payment.gateway.value | value : число, ID платежного шлюза в Nemo
|
Выбор платежного шлюза |
analytics.checkout.booking.cancel | - | Аннуляция заказа |
analytics.checkout.booking.buy | - | Переход к оплате заказа |
analytics.checkout.services.disableExtservices.active | value : true или false
|
Опция отказа от дополнительных услуг |
analytics.checkout.services.alphaInsurance.active | value : true или false
|
Опция активации АльфаСтрахования |
analytics.checkout.services.alphaInsurance.value | value : строка или массив, коды выбранных продуктов
|
Выбор продукта (-ов) АльфаСтрахования |
analytics.checkout.services.ervInsurance.active | value : true или false
|
Опция активации ERV Страхования |
analytics.checkout.services.ervInsurance.value | value : строка или массив, коды выбранных продуктов
|
Выбор продукта (-ов) ERV Страхования |
analytics.checkout.services.ervInsurance.supplementary.value | value : строка или массив, коды выбранных продуктов
|
Выбор дополнительного (-ых) продукта (-ов) ERV Страхования |
analytics.checkout.services.servicePack.value | value : число, ID выбранного сервисного пакета в Nemo
|
Выбор сервисного пакета |
analytics.checkout.booking.returnComplete | - | Завершение процесса возврата |
analytics.checkout.booking.exchangeComplete | - | Завершение процесса обмена |
Пример интеграции с Яндекс.Метрикой
Для отслеживания действий пользователей на сайте с помощью Яндекс.Метрики, необходимо:
- Зарегистрироваться в сервисе и получить код счетчика метрики
- Полученный код необходимо поместить в код страницы между тегами
<body></body>
- В настройках счетчика добавить необходимые цели, указав произвольное название цели, в качестве значения «Тип условия»
выбрать «JavaScript-событие» и указать произвольный «Идентификатор цели", который в дальнейшем будет использован в коде отслеживания событий
- Добавить на страницу код отслеживания нужных событий (код должен располагаться ниже кода счетчика):
function yandexScripts($) {
$(document).on('analytics.searchForm.tripType.value', function (event, data) {
yaCounterXXXXXXXX.reachGoal('идентификатор_цели_смены_типа_маршрута', data);
});
$(document).on('analytics.checkout.booking.book', function (event, data) {
yaCounterXXXXXXXX.reachGoal('идентификатор_цели_бронирования', data);
});
$(document).on('analytics.checkout.booking.buy', function (event, data) {
yaCounterXXXXXXXX.reachGoal('aидентификатор_цели_оплаты', data);
});
};
if (typeof require == 'function') {
require(['jquery'], yandexScripts);
}
else {
yandexScripts($);
}