Веб-аналитика: различия между версиями
(→Полный список событий) |
|||
(не показано 36 промежуточных версий 7 участников) | |||
Строка 1: | Строка 1: | ||
− | + | [[Категория:Плагины]][[Категория:Статистика и отчёты]] | |
+ | '''Веб-аналитика''' — функция системы бронирования билетов онлайн {{NameSystemLink}} для отслеживания действий пользователя во время процесса поиска и бронирования авиабилетов. | ||
− | + | ==Описание== | |
+ | Для отслеживания действий пользователя во время процесса поиска и бронирования авиабилетов, | ||
+ | в {{NameSystemLink}} используется система событий, позволяющая передавать данные в различные сервисы веб-аналитики, | ||
+ | такие как '''Яндекс.Метрика''', '''Google Analytics''', а также обеспечивает возможность настроить передачу данных в любые другие сервисы. | ||
− | + | ==Принцип работы== | |
− | + | При совершении пользователем определённых действий, в системе вызываются специальные javascript-события на объекте <code>document</code>. | |
+ | В объект события также передаются дополнительные данные (если имеются), которые характеризуют действия пользователя. | ||
− | + | Например, при смене типа маршрута на форме поиска, срабатывает событие <code>analytics.searchForm.tripType.value</code> | |
− | + | и в объект события передаётся javascript-объект со свойством <code>value</code>, содержащим тип выбранного маршрута (''OW'', ''RT'' или ''CR''). | |
− | + | ||
− | + | == Отслеживание событий == | |
− | + | ||
− | + | [[Файл:Идентификатор_цели.jpeg|thumb|300px|Идентификатор цели]] | |
− | + | ||
− | + | Для передачи информации в сервисы веб-аналитики вызванные действиями пользователя javascript-события необходимо «отследить», | |
− | + | получить из них желаемую информацию и сделать соответствующие обращения к сервисам веб-аналитики. | |
− | + | ||
− | + | Пример достижения целей в сервисе '''Яндекс.Метрика''': | |
− | + | ||
− | + | <source lang="javascript" style="width: 40%"> | |
− | + | $(document).on('analytics.checkout.booking.book', function (event, data) { | |
− | + | if (typeof yaCounterXXXXXX !== 'undefined') { | |
− | + | yaCounterXXXXXX.reachGoal('ИДЕНТИФИКАТОР_ЦЕЛИ_X'); | |
− | + | } | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
}); | }); | ||
− | </ | + | |
+ | $(document).on('analytics.checkout.booking.buy', function (event, data) { | ||
+ | if (typeof yaCounterXXXXXX !== 'undefined') { | ||
+ | yaCounterXXXXXX.reachGoal('ИДЕНТИФИКАТОР_ЦЕЛИ_Y', data); | ||
+ | } | ||
+ | }); | ||
+ | </source> | ||
+ | |||
+ | Где ''XXXXXX'' — номер счетчика Яндекс.Метрики, ''ИДЕНТИФИКАТОР_ЦЕЛИ_X'' и ''ИДЕНТИФИКАТОР_ЦЕЛИ_Y'' — | ||
+ | идентификаторы двух разных целей в Яндекс.Метрике, а <code>data</code> — дополнительные параметры, которые в данном случае передаются | ||
+ | как [https://yandex.ru/support/metrika/data/visit-params.xml Параметры визита]. | ||
+ | |||
+ | Пример вызова события в сервисе '''Google Analytics''': | ||
+ | |||
+ | <source lang="javascript" style="width: 40%"> | ||
+ | $(document).on('analytics.checkout.booking.book', function (event, data) { | ||
+ | ga('send', { | ||
+ | hitType: 'event', | ||
+ | eventCategory: 'ПРОИЗВОЛЬНОЕ_НАЗВАНИЕ_КАТЕГОРИИ_X', | ||
+ | eventAction: 'ПРОИЗВОЛЬНОЕ_НАЗВАНИЕ_ДЕЙСТВИЯ_X', | ||
+ | eventLabel: data | ||
+ | }); | ||
+ | }); | ||
+ | |||
+ | $(document).on('analytics.checkout.booking.buy', function (event, data) { | ||
+ | ga('send', { | ||
+ | hitType: 'event', | ||
+ | eventCategory: 'ПРОИЗВОЛЬНОЕ_НАЗВАНИЕ_КАТЕГОРИИ_Y', | ||
+ | eventAction: 'ПРОИЗВОЛЬНОЕ_НАЗВАНИЕ_ДЕЙСТВИЯ_Y', | ||
+ | eventLabel: data | ||
+ | }); | ||
+ | }); | ||
+ | </source> | ||
+ | |||
+ | == Полный список событий == | ||
+ | |||
+ | {| class="wikitable" style="width:60%" | ||
+ | !width="17%" style="padding: 10px;"| Код события | ||
+ | !width="18%" style="padding: 10px;"| Параметры | ||
+ | !width="11%" style="padding: 10px;"| Описание | ||
+ | |- | ||
+ | | analytics.searchForm.directFlights.active | ||
+ | | <code>value</code>: <code>true</code> или <code>false</code> | ||
+ | | Опция «Только прямые» / «Без пересадок” | ||
+ | |- | ||
+ | | analytics.searchForm.tripType.value | ||
+ | | <code>value</code>: <code>OW</code>, <code>RT</code>, <code>CR</code> | ||
+ | | Выбор типа маршрута | ||
+ | |- | ||
+ | | analytics.searchForm.additionalParameters.fastFlights.active | ||
+ | | <code>value</code>: <code>true</code> или <code>false</code> | ||
+ | | Опция «Только короткие (до 2 часов)”, в блоке «Еще параметры” | ||
+ | |- | ||
+ | | analytics.searchForm.additionalParameters.maxRouteTime.value | ||
+ | | <code>value</code>: число, количество часов | ||
+ | | «Время в пути”, в блоке «Еще параметры” | ||
+ | |- | ||
+ | | analytics.searchForm.additionalParameters.maxPrice.value | ||
+ | | <code>value</code>: число, максимальная стоимость перелёта | ||
+ | | Поле «Цена билетов”, в блоке «Еще параметры” | ||
+ | |- | ||
+ | | analytics.searchForm.additionalParameters.carriers.value | ||
+ | | <code>value</code>: строка, список авиакомпаний | ||
+ | | Поле «Авиакомпании”, в блоке «Еще параметры” | ||
+ | |- | ||
+ | | analytics.searchForm.serviceClass.value | ||
+ | | <code>value</code>: строка, класс обслуживания | ||
+ | | Выбор класса обслуживания | ||
+ | |- | ||
+ | | analytics.searchForm.vicinityDates.active | ||
+ | | <code>value</code>: <code>true</code> или <code>false</code> | ||
+ | | Опция «Искать ±3 дня» (окружные даты) | ||
+ | |- | ||
+ | | analytics.searchForm.validationError | ||
+ | | - | ||
+ | | Ошибка валидации формы поиска | ||
+ | |- | ||
+ | | analytics.searchForm.search | ||
+ | | - | ||
+ | | Запуск поиска | ||
+ | |- | ||
+ | | analytics.searchForm.scheduleSearch | ||
+ | | - | ||
+ | | Запуск поиска по расписанию | ||
+ | |- | ||
+ | | analytics.searchResults.compareTable.active | ||
+ | | <code>value</code>: <code>true</code> или <code>false</code> | ||
+ | | Открытие / закрытие блока со сравнительной таблицей перелётов | ||
+ | |- | ||
+ | | analytics.searchResults.fastSearchForm.active | ||
+ | | <code>value</code>: <code>true</code> или <code>false</code> | ||
+ | | Открытие / закрытие блока с формой поиска на результатах поиска | ||
+ | |- | ||
+ | | analytics.searchResults.sort.value | ||
+ | | <code>value</code>: строка, тип сортировки | ||
+ | | Выбор типа сортировки перелётов | ||
+ | |- | ||
+ | | analytics.searchResults.displayType.value | ||
+ | | <code>value</code>: <code>list</code>, <code>tile</code> | ||
+ | | Переключатель формата отображения перелётов (список/карточки) | ||
+ | |- | ||
+ | | analytics.searchResults.flight.select | ||
+ | | - | ||
+ | | Кнопка покупки перелёта на результатах поиска | ||
+ | |- | ||
+ | | analytics.searchResults.showAllFlights | ||
+ | | - | ||
+ | | Кнопка показа всех перелётов (под поисковой выдачей) | ||
+ | |- | ||
+ | | analytics.searchResults.fareFamilies.load | ||
+ | | - | ||
+ | | Кнопка «Выбрать другой тариф”, процесс поиска семейств тарифов на результатах поиска | ||
+ | |- | ||
+ | | analytics.searchResults.fareFamilies.select | ||
+ | | - | ||
+ | | Кнопка покупки перелёта в попапе выбора семейства тарифов на результатах поиска | ||
+ | |- | ||
+ | | analytics.searchResults.filter.value | ||
+ | | <code>name</code>: название фильтра, <code>value</code>: значение фильтра | ||
+ | | Фильтры поисковой выдаче | ||
+ | |- | ||
+ | | analytics.searchResults.resultsError | ||
+ | | - | ||
+ | | При поиске произошла ошибка | ||
+ | |- | ||
+ | | analytics.searchResults.noFlights | ||
+ | | - | ||
+ | | Поиск не дал результатов (нет рейсов) | ||
+ | |- | ||
+ | | analytics.checkout.customer.needNewAccount.active | ||
+ | | <code>value</code>: <code>true</code> или <code>false</code> | ||
+ | | Опция создания нового аккаунта | ||
+ | |- | ||
+ | | analytics.checkout.customer.visa.active | ||
+ | | <code>value</code>: <code>true</code> или <code>false</code> | ||
+ | | Опция внесения данных о визе | ||
+ | |- | ||
+ | | analytics.checkout.customer.meal.value | ||
+ | | <code>value</code>: строка, код типа питания | ||
+ | | Выбор типа питания | ||
+ | |- | ||
+ | | analytics.checkout.customer.loyaltyCard.active | ||
+ | | <code>value</code>: <code>true</code> или <code>false</code> | ||
+ | | Опция внесения карты лояльности | ||
+ | |- | ||
+ | | analytics.checkout.promocode.active | ||
+ | | <code>value</code>: <code>true</code> или <code>false</code> | ||
+ | | Попап с внесением промокода | ||
+ | |- | ||
+ | | analytics.checkout.promocode.apply | ||
+ | | - | ||
+ | | Внесение промокода | ||
+ | |- | ||
+ | | analytics.checkout.fareRules.load | ||
+ | | - | ||
+ | | Загрузка тарифных правил | ||
+ | |- | ||
+ | | analytics.checkout.booking.book | ||
+ | | - | ||
+ | | Бронирование успешно завершено | ||
+ | |- | ||
+ | | analytics.checkout.payment.gateway.value | ||
+ | | <code>value</code>: число, ID платежного шлюза в Nemo | ||
+ | | Выбор платежного шлюза | ||
+ | |- | ||
+ | | analytics.checkout.booking.cancel | ||
+ | | - | ||
+ | | Аннуляция заказа | ||
+ | |- | ||
+ | | analytics.checkout.booking.buy | ||
+ | | - | ||
+ | | Переход к оплате заказа | ||
+ | |- | ||
+ | | analytics.checkout.booking.paid | ||
+ | | - | ||
+ | | Заказ был полностью оплачен и пользователь открыл страницу с заказом. [http://support.nemo.travel/ru/%D0%92%D0%B5%D0%B1-%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D1%82%D0%B8%D0%BA%D0%B0#.D0.9E.D1.82.D1.81.D0.BB.D0.B5.D0.B6.D0.B8.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F_.D1.81.D0.BE.D0.B1.D1.8B.D1.82.D0.B8.D1.8F_.22.D0.97.D0.B0.D0.BA.D0.B0.D0.B7_.D0.B1.D1.8B.D0.BB_.D0.BF.D0.BE.D0.BB.D0.BD.D0.BE.D1.81.D1.82.D1.8C.D1.8E_.D0.BE.D0.BF.D0.BB.D0.B0.D1.87.D0.B5.D0.BD.22 Подробнее] | ||
+ | |- | ||
+ | | analytics.checkout.services.disableExtservices.active | ||
+ | | <code>value</code>: <code>true</code> или <code>false</code> | ||
+ | | Опция отказа от дополнительных услуг | ||
+ | |- | ||
+ | | analytics.checkout.services.alphaInsurance.active | ||
+ | | <code>value</code>: <code>true</code> или <code>false</code> | ||
+ | | Опция активации АльфаСтрахования | ||
+ | |- | ||
+ | | analytics.checkout.services.alphaInsurance.value | ||
+ | | <code>value</code>: строка, коды выбранных продуктов | ||
+ | | Выбор продукта (-ов) АльфаСтрахования | ||
+ | |- | ||
+ | | analytics.checkout.services.ervInsurance.active | ||
+ | | <code>value</code>: <code>true</code> или <code>false</code> | ||
+ | | Опция активации ERV Страхования | ||
+ | |- | ||
+ | | analytics.checkout.services.ervInsurance.value | ||
+ | | <code>value</code>: строка, коды выбранных продуктов | ||
+ | | Выбор продукта (-ов) ERV Страхования | ||
+ | |- | ||
+ | | analytics.checkout.services.ervInsurance.supplementary.value | ||
+ | | <code>value</code>: строка, коды выбранных продуктов | ||
+ | | Выбор дополнительного (-ых) продукта (-ов) ERV Страхования | ||
+ | |- | ||
+ | | analytics.checkout.services.servicePack.value | ||
+ | | <code>value</code>: число, ID выбранного сервисного пакета в Nemo | ||
+ | | Выбор сервисного пакета | ||
+ | |- | ||
+ | | analytics.checkout.booking.returnComplete | ||
+ | | - | ||
+ | | Завершение процесса возврата | ||
+ | |- | ||
+ | | analytics.checkout.booking.exchangeComplete | ||
+ | | - | ||
+ | | Завершение процесса обмена | ||
+ | |} | ||
+ | |||
+ | == Пример интеграции с сервисом Яндекс.Метрика == | ||
+ | |||
+ | [[Файл:Код_счетчика_метрики.jpeg|thumb|300px|Код счетчика]] | ||
+ | |||
+ | Для отслеживания действий пользователей на сайте с помощью сервиса Яндекс.Метрика, необходимо: | ||
+ | * Зарегистрироваться в сервисе и получить код счетчика метрики ('''флаг "Асинхронный код" должен быть отключен'''). | ||
+ | * Полученный код необходимо поместить в код страницы между тегами <code><body></body></code>, '''как можно ближе к открывающему тегу''' <code><body></code>. В рамках Nemo CMS данный код может быть размещен в одном из шаблонов сайта, в разделе настроек ''Управление сайтом → Nemo CMS → Шаблоны''. | ||
+ | * В настройках счетчика в панели администрирования сервиса Яндекс.Метрика добавить необходимые цели, указав произвольное название цели. В качестве значения «Тип условия» | ||
+ | выбрать «JavaScript-событие» и указать произвольный «Идентификатор цели», который в дальнейшем будет использован в коде | ||
+ | отслеживания событий. | ||
+ | * Добавить в шаблон, в который ранее был добавлен счетчик Яндекс.Метрики, код отслеживания нужных событий. Код отслеживания событий при этом должен располагаться в шаблоне ниже кода счетчика Яндекс.Метрики: | ||
+ | <source lang="javascript" style="width: 40%"> | ||
+ | function yandexScripts($) { | ||
+ | $(document).on('analytics.searchForm.tripType.value', function (event, data) { | ||
+ | if (typeof yaCounterXXXXXX !== 'undefined') { | ||
+ | yaCounterXXXXXXXX.reachGoal('идентификатор_цели_смены_типа_маршрута', data); | ||
+ | } | ||
+ | }); | ||
+ | |||
+ | $(document).on('analytics.checkout.booking.book', function (event, data) { | ||
+ | if (typeof yaCounterXXXXXX !== 'undefined') { | ||
+ | yaCounterXXXXXXXX.reachGoal('идентификатор_цели_бронирования', data); | ||
+ | } | ||
+ | }); | ||
+ | }; | ||
+ | |||
+ | if (typeof require == 'function') { | ||
+ | require(['jquery'], yandexScripts); | ||
+ | } | ||
+ | else { | ||
+ | yandexScripts($); | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | === Отслеживания события "Заказ был полностью оплачен" === | ||
+ | |||
+ | Отслеживание события "Заказ был полностью оплачен" должно происходить с помощью определенного кода: | ||
+ | |||
+ | <source lang="javascript" style="width: 40%"> | ||
+ | function yandexScripts($) { | ||
+ | $(document).on('analytics.checkout.booking.paid', function (event, data) { | ||
+ | if (typeof yaCounterXXXXXXXX !== "undefined") { | ||
+ | yaCounterXXXXXXXX.reachGoal('aидентификатор_цели_оплаты'); | ||
+ | } | ||
+ | else { | ||
+ | var interval = setInterval(function () { | ||
+ | if (typeof yaCounterXXXXXXXX !== "undefined") { | ||
+ | clearInterval(interval); | ||
+ | yaCounterXXXXXXXX.reachGoal('aидентификатор_цели_оплаты'); | ||
+ | } | ||
+ | }, 200); | ||
+ | } | ||
+ | }); | ||
+ | }; | ||
+ | |||
+ | if (typeof require == 'function') { | ||
+ | require(['jquery'], yandexScripts); | ||
+ | } | ||
+ | else { | ||
+ | yandexScripts($); | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | == Пример интеграции с сервисом Google Analytics == | ||
+ | |||
+ | [[Файл:Создание_цели_google.jpeg|thumb|300px|Создание цели в сервисе Google Analytics]] | ||
+ | |||
+ | Для отслеживания действий пользователей на сайте с помощью сервиса Google Analytics, необходимо: | ||
+ | * Зарегистрироваться в сервисе и получить код аналитики. | ||
+ | * Полученный код необходимо поместить в код страницы между тегами <code><body></body></code>, '''как можно ближе к открывающему тегу''' <code><body></code>. В рамках Nemo CMS данный код может быть размещен в одном из шаблонов сайта, в разделе настроек ''Управление сайтом → Nemo CMS → Шаблоны''. | ||
+ | * В панели администрирования сервиса Google Analytics добавить необходимые цели, указав тип цели как «Событие», категорию события «analytics», а действие событие установить равным коду события из Nemo (например, <code>analytics.checkout.booking.buy</code>). | ||
+ | * Добавить в шаблон, в который ранее был добавлен код аналитики, код отслеживания нужных событий. Код отслеживания событий при этом должен располагаться в шаблоне ниже добавленного кода аналитики: | ||
+ | <source lang="javascript" style="width: 40%"> | ||
+ | function googleScripts($) { | ||
+ | $(document).on('analytics.searchForm.tripType.value', function (event, data) { | ||
+ | ga('send', { | ||
+ | hitType: 'event', | ||
+ | eventCategory: 'analytics', | ||
+ | eventAction: 'analytics.searchForm.tripType.value', | ||
+ | eventLabel: data | ||
+ | }); | ||
+ | }); | ||
+ | |||
+ | $(document).on('analytics.checkout.booking.book', function (event, data) { | ||
+ | ga('send', { | ||
+ | hitType: 'event', | ||
+ | eventCategory: 'analytics', | ||
+ | eventAction: 'analytics.checkout.booking.book', | ||
+ | eventLabel: data | ||
+ | }); | ||
+ | }); | ||
+ | |||
+ | $(document).on('analytics.checkout.booking.buy', function (event, data) { | ||
+ | ga('send', { | ||
+ | hitType: 'event', | ||
+ | eventCategory: 'analytics', | ||
+ | eventAction: 'analytics.checkout.booking.buy', | ||
+ | eventLabel: data | ||
+ | }); | ||
+ | }); | ||
+ | }; | ||
+ | |||
+ | if (typeof require == 'function') { | ||
+ | require(['jquery'], googleScripts); | ||
+ | } | ||
+ | else { | ||
+ | googleScripts($); | ||
+ | } | ||
+ | </source> | ||
− | + | == Точность == | |
− | + | Данные в системе бронирования практически никогда полностью не совпадают с данными, учтенными в системах веб-аналитики. Системы веб-аналитики отображают приблизительную картину. Для точного учета продаж следует использовать отчеты системы бронирования. | |
− | + | ==См. также== | |
+ | * [[Модуль метрики]] |
Текущая версия на 13:19, 5 декабря 2019
Веб-аналитика — функция системы бронирования билетов онлайн 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) {
if (typeof yaCounterXXXXXX !== 'undefined') {
yaCounterXXXXXX.reachGoal('ИДЕНТИФИКАТОР_ЦЕЛИ_X');
}
});
$(document).on('analytics.checkout.booking.buy', function (event, data) {
if (typeof yaCounterXXXXXX !== 'undefined') {
yaCounterXXXXXX.reachGoal('ИДЕНТИФИКАТОР_ЦЕЛИ_Y', data);
}
});
Где XXXXXX — номер счетчика Яндекс.Метрики, ИДЕНТИФИКАТОР_ЦЕЛИ_X и ИДЕНТИФИКАТОР_ЦЕЛИ_Y —
идентификаторы двух разных целей в Яндекс.Метрике, а data
— дополнительные параметры, которые в данном случае передаются
как Параметры визита.
Пример вызова события в сервисе Google Analytics:
$(document).on('analytics.checkout.booking.book', function (event, data) {
ga('send', {
hitType: 'event',
eventCategory: 'ПРОИЗВОЛЬНОЕ_НАЗВАНИЕ_КАТЕГОРИИ_X',
eventAction: 'ПРОИЗВОЛЬНОЕ_НАЗВАНИЕ_ДЕЙСТВИЯ_X',
eventLabel: data
});
});
$(document).on('analytics.checkout.booking.buy', function (event, data) {
ga('send', {
hitType: 'event',
eventCategory: 'ПРОИЗВОЛЬНОЕ_НАЗВАНИЕ_КАТЕГОРИИ_Y',
eventAction: 'ПРОИЗВОЛЬНОЕ_НАЗВАНИЕ_ДЕЙСТВИЯ_Y',
eventLabel: 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.validationError | - | Ошибка валидации формы поиска |
analytics.searchForm.search | - | Запуск поиска |
analytics.searchForm.scheduleSearch | - | Запуск поиска по расписанию |
analytics.searchResults.compareTable.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.searchResults.resultsError | - | При поиске произошла ошибка |
analytics.searchResults.noFlights | - | Поиск не дал результатов (нет рейсов) |
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.booking.paid | - | Заказ был полностью оплачен и пользователь открыл страницу с заказом. Подробнее |
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>
, как можно ближе к открывающему тегу<body>
. В рамках Nemo CMS данный код может быть размещен в одном из шаблонов сайта, в разделе настроек Управление сайтом → Nemo CMS → Шаблоны. - В настройках счетчика в панели администрирования сервиса Яндекс.Метрика добавить необходимые цели, указав произвольное название цели. В качестве значения «Тип условия»
выбрать «JavaScript-событие» и указать произвольный «Идентификатор цели», который в дальнейшем будет использован в коде отслеживания событий.
- Добавить в шаблон, в который ранее был добавлен счетчик Яндекс.Метрики, код отслеживания нужных событий. Код отслеживания событий при этом должен располагаться в шаблоне ниже кода счетчика Яндекс.Метрики:
function yandexScripts($) {
$(document).on('analytics.searchForm.tripType.value', function (event, data) {
if (typeof yaCounterXXXXXX !== 'undefined') {
yaCounterXXXXXXXX.reachGoal('идентификатор_цели_смены_типа_маршрута', data);
}
});
$(document).on('analytics.checkout.booking.book', function (event, data) {
if (typeof yaCounterXXXXXX !== 'undefined') {
yaCounterXXXXXXXX.reachGoal('идентификатор_цели_бронирования', data);
}
});
};
if (typeof require == 'function') {
require(['jquery'], yandexScripts);
}
else {
yandexScripts($);
}
Отслеживания события "Заказ был полностью оплачен"
Отслеживание события "Заказ был полностью оплачен" должно происходить с помощью определенного кода:
function yandexScripts($) {
$(document).on('analytics.checkout.booking.paid', function (event, data) {
if (typeof yaCounterXXXXXXXX !== "undefined") {
yaCounterXXXXXXXX.reachGoal('aидентификатор_цели_оплаты');
}
else {
var interval = setInterval(function () {
if (typeof yaCounterXXXXXXXX !== "undefined") {
clearInterval(interval);
yaCounterXXXXXXXX.reachGoal('aидентификатор_цели_оплаты');
}
}, 200);
}
});
};
if (typeof require == 'function') {
require(['jquery'], yandexScripts);
}
else {
yandexScripts($);
}
Пример интеграции с сервисом Google Analytics
Для отслеживания действий пользователей на сайте с помощью сервиса Google Analytics, необходимо:
- Зарегистрироваться в сервисе и получить код аналитики.
- Полученный код необходимо поместить в код страницы между тегами
<body></body>
, как можно ближе к открывающему тегу<body>
. В рамках Nemo CMS данный код может быть размещен в одном из шаблонов сайта, в разделе настроек Управление сайтом → Nemo CMS → Шаблоны. - В панели администрирования сервиса Google Analytics добавить необходимые цели, указав тип цели как «Событие», категорию события «analytics», а действие событие установить равным коду события из Nemo (например,
analytics.checkout.booking.buy
). - Добавить в шаблон, в который ранее был добавлен код аналитики, код отслеживания нужных событий. Код отслеживания событий при этом должен располагаться в шаблоне ниже добавленного кода аналитики:
function googleScripts($) {
$(document).on('analytics.searchForm.tripType.value', function (event, data) {
ga('send', {
hitType: 'event',
eventCategory: 'analytics',
eventAction: 'analytics.searchForm.tripType.value',
eventLabel: data
});
});
$(document).on('analytics.checkout.booking.book', function (event, data) {
ga('send', {
hitType: 'event',
eventCategory: 'analytics',
eventAction: 'analytics.checkout.booking.book',
eventLabel: data
});
});
$(document).on('analytics.checkout.booking.buy', function (event, data) {
ga('send', {
hitType: 'event',
eventCategory: 'analytics',
eventAction: 'analytics.checkout.booking.buy',
eventLabel: data
});
});
};
if (typeof require == 'function') {
require(['jquery'], googleScripts);
}
else {
googleScripts($);
}
Точность
Данные в системе бронирования практически никогда полностью не совпадают с данными, учтенными в системах веб-аналитики. Системы веб-аналитики отображают приблизительную картину. Для точного учета продаж следует использовать отчеты системы бронирования.