Сессионные данные общие на все события, у сессии есть только название. Даже data нет
{
//...
"name": "session"
//...
"sess": {
// подробнее в разделе общей структуры данных и разделе про сессии
}
//...
}
Просмотры страниц могут дополняться информацией о странице, вроде типа страницы или категории. Дополнительную информацию необходимо передавать самостоятельно.
{
//...
"name": "page",
//...
"data": {
"category": "content page",
"name": "delivery"
}
//...
"perf": {
// подробнее в разделе с общей структурой данных
}
//...
}
Содержит данные производительности сети и браузера, которые находятся в perf
общей структуры данных
{
//...
"name": "page_loaded",
//...
"perf": {
// подробнее в разделе с общей структурой данных
}
//...
}
Вызывается при переходе на другую страницу или закрытии браузера/вкладки
{
//...
"name": "page_unload",
//...
"perf": {
// подробнее в разделе с общей структурой данных
}
//...
}
{
//...
"name": "link_click",
//...
"data": {
"target": {
"tag": "span",
"type": "",
"name": "",
"ph": "",
"cls": "phonablet-hide",
// класс элемента
"id": "",
"href": "",
"text": "Меню"
},
"href": "https://www.example.com/link/#header-menu",
"text": "Текст ссылки",
// Ссылка уводит посетителя на другой сайт
"outbound": true | false
}
//...
}
{
//...
"name": "element_click",
//...
"data": {
"target": {
"tag": "input",
// наименование наиболее глубокого в иерархии html-тега, на который пришелся клик
"type": "text",
"name": "",
"ph": "Введите город прибытия",
// наименование плейсхолдера элемента
"cls": "SearchWidget-input -to",
// наименование класса
"id": "",
"href": "",
"text": ""
}
}
//...
}
Три события с одинаковым набором параметров:
field_focus
- каретка поставлена в поле вводаfield_change
- в поле поменялись данныеfield_blur
- каретка покинула поле ввода{
//...
"name": "field_change",
//...
"data": {
// Название события DOM.
"event": "change",
// element tag: html тэг элемента формы
"etag": "input",
// element type: атрибут type элемента формы
"etype": "text",
// element name: атрибут name элемента формы
"ename": "delivery_address", // Название поля формы
// element placeholder: атрибут placeholder (значение пока ничего не вписано)
"eph": null,
// element class: атрибут class элемента формы (css)
"ecl": "select2-selection form-field",
// element id: атрибут id элемента формы
"eid": "",
// form method: http метод отправки формы
"fmthd": "post",
// form action: url, куда будет отправлена форма
"fact": "/checkout/purchase",
// form name: атрибут name элемента формы
"fname": "order-form",
// form class: атрибут class элемента формы (css)
"fcls": "",
// element id: атрибут id элемента формы
"fid": "order-form",
}
//...
}
Если форма отсутствует
{
//...
"name": "field_change",
//...
"data": {
// Название события DOM.
"event": "change",
// element tag: html тэг элемента формы
"etag": "input",
// element type: атрибут type элемента формы
"etype": "text",
// element name: атрибут name элемента формы
"ename": "delivery_address", // Название поля формы
// element placeholder: атрибут placeholder (значение пока ничего не вписано)
"eph": "",
// element class: атрибут class элемента формы (css)
"ecl": "select2-selection form-field",
// element id: атрибут id элемента формы
"eid": "",
// if form not present
"ferr": "Form element absent"
}
//...
}
Это одни из самых важных автоматических событий, по ним можно понимать, где произошел затык
{
//...
"name": "form_submit",
//...
"data": {
// DOM событие отправки формы
"event": "submit",
// адрес назначения формы
"fact": "/cart",
// form class: атрибут class элемента формы (css)
"fcls": "cart-submit",
// element id: атрибут id элемента формы
"fid": "cart-submit",
// form method: http метрод отправки формы
"fmthd": "post",
// form name: атрибут name элемента формы
"fname": "cart"
}
//...
}
TODO: описать form_invalid
Событие прокрутки на определенную позицию страницы.
Сами данные скрола находятся в scroll
общей структуры данных
и добавляются ко всем событиям на основе действий пользователя.
{
//...
"name": "scroll"
//...
"scroll": {
// подробнее в разделе общей структуры данных
}
//...
}
Внутри Rockstat находится счетчик браузерных событий, который аккумулирует статистику и раз в 5 секунд (значение параметра по умолчанию) отправляет данные на сервер. Дополнительно содержит счетчик, который инкрементируется в конце каждого периода. Если активности нет, на сервер ничего не отправится, но счетчик прибавит единицу.
{
//...
"name": "activity",
//...
"data": {
// Номер итерации обработки активности
"iteration": 65,
// Номер итерации содержащей действия (другие 61 были без активности пользователя и не отправлялись)
"active": 4,
// Интервал отправки данных об активности, секунд
"interval": 5,
// Событий движения мыши
"mousemove": 62,
// Событий нажатия кнопки мыши
"mousedown": 2,
// Событий отпускания кнопки мыши
"mouseup": 2,
// Событий кликов
"click": 2,
// Событий прокрутки (именно на уровне мыши/трекпада)
"wheel": 23,
// Событий скролла станицы
"scroll": 22
// и другие
}
//...
}
Полный список отслеживаемых событий браузера:
touchmove
, touchstart
, touchleave
, touchenter
, touchend
, touchcancel
, click
,
mouseup
, mousedown
, mousemove
, mousewheel
, mousewheel
, wheel
, scroll
,
keypress
, keydown
, keyup
, resize
, focus
, blur
Суть событий описана на developer.mozilla.org/en-US/docs/Web/Events