Изменения

Перейти к навигации Перейти к поиску

Веб-аналитика

9339 байт добавлено, 17:09, 31 марта 2017
Нет описания правки
Для отслеживания действий пользователя во время процесса поиска и бронирования авиабилетов,в Nemo используется система событий, которые происходят позволяющая передавать данные в системе {{NameSystem}} и передачи их в системы вебаналитики нужно разместить в разделе различные сервисы веб-аналитики,такие как '''Яндекс.Метрика''', '''Управление сайтом → Настройка внешнего видаGoogle Analytics''' коди в теории, который будет отправлять данные о взаимодействии с элементами интерфейсав любые другие сервисы.
=Механизм работы событий = События ==Для облегчения интеграции с сервисами веб-аналитики в Немо заданы специальные события, которые срабатывают в зависимости от действий пользователя на сайте.В системе Немо реализованы следующие события:<pre>analyticsStartSearch - запуск поискаanalyticsScheduleSearch - запуск поиска по расписаниюanalyticsSelectFlight - выбор перелета на странице с результатами поискаanalyticsSelectFareFamily - выбор семейства тарифов в всплывающем окнеanalyticsServicesPage - переход к странице с дополнительными услугамиanalyticsBooking - успешное завершение бронированияanalyticsPaymentAttempt - переход к оплатеanalyticsReturnComplete - выполненный возвратanalyticsCancellation - нажатие на кнопку аннуляции заказа</pre>
== Пример использования ==При совершении пользователем определённых действий, в системе вызываются определённые javascript-события на объекте <code>document</code>.В объект события также передаются дополнительные данные (если имеются), которые характезируют действия пользователя.Например, при смене типа маршрута на форме поиска, срабатывает событие <code>analytics.searchForm.tripType.value</code>и в объект события передаётся javascript-объект со свойством <code>value</code>, содержащим тип выбранного маршрута (''OW'', ''RT'' или ''CR'').
Пример кода для интеграции с сервисом Яндекс.Метрика= Отслеживание событий =
<syntaxhighlight lang="javascript" line enclose="div" style="font-size[[Файл:9pt;background: #F9F9F9; border: 1px dashed #2F6FAB; padding: 10px 5px; margin: 10px 0;">Идентификатор_цели.jpeg|thumb|300px|Идентификатор цели]]
Для передачи информации в сервисы веб-аналитики, вызванные действиями пользователя javascript-события необходимо “отследить”,получить из них желаемую информацию и сделать соответствующие обращения к сервисам аналитики. Пример достижения целей в сервисе '''Яндекс.Метрика''': <source lang="javascript" style="width: 40%">$(document).on('analytics.checkout.booking.book', function CMSScripts(event, data) { yaCounterXXXXXX.reachGoal('ИДЕНТИФИКАТОР_ЦЕЛИ_X');}); $(document).on('analytics.checkout.booking.buy', function (event, data) { yaCounterXXXXXX.reachGoal('ИДЕНТИФИКАТОР_ЦЕЛИ_Y', data);});</source> Где ''XXXXXX'' — номер счетчика Яндекс.Метрики, ''ИДЕНТИФИКАТОР_ЦЕЛИ_X'' и ''ИДЕНТИФИКАТОР_ЦЕЛИ_Y'' —идентификаторы двух разных целей в метрике, а <code>data</code> — дополнительные параметры, которые в данном случае передаютсякак [https://yandex.ru/support/metrika/data/visit-params.xml Параметры визита]. = Полный список событий = {| 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.search.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.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.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.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>* В настройках счетчика добавить необходимые цели, указав произвольное название цели, в качестве значения "Тип условия" выбрать "JavaScript-событие" и указать произвольный "Идентификатор цели", который в дальнейшем будет использован в коде отслеживания событий* Добавить на страницу код отслеживания нужных событий (код должен располагаться ниже кода счетчика):<source lang="javascript" style="width: 40%">function yandexScripts($) { $(document).on('analyticsStartSearchanalytics.searchForm.tripType.value', function (event, data) { yaCounterXXXXXXyaCounterXXXXXXXX.reachGoal('TARGET_NAME1идентификатор_цели_смены_типа_маршрута', data);
});
  $(document).on('analyticsScheduleSearchanalytics.checkout.booking.book', function (event, data) { yaCounterXXXXXXyaCounterXXXXXXXX.reachGoal('TARGET_NAME2идентификатор_цели_бронирования', data);
});
... $(document).on('analyticsCancellationanalytics.checkout.booking.buy', function (event, data) { yaCounterXXXXXXyaCounterXXXXXXXX.reachGoal('TARGET_NAME3aидентификатор_цели_оплаты', data);
});
};
if (typeof require == 'function') {
require(['jquery'], CMSScriptsyandexScripts);
}
else {
CMSScriptsyandexScripts($);
}
</syntaxhighlightsource>  где XXXXXX - это номер вашего счетчика заведенного, а TARGET_NAME1 - идентификатор цели в сервисе Яндекс.Метрика. {{Attention|Замените '''XXXXXX''' на номер счетчика в Яндекс Метрике!}} Подробнее про метод reachGoal() можно узнать в [http://yandex.ru/support/metrika/objects/reachgoal.xml документации Яндекс.Метрики]
61
правка

Навигация

'