Архитектура
Обработка входящих запросов
Коммуникация сервисов
Руководство пользователя
Получение данных из сервисов
Использование Панели управления
Использование инструментов из комплекта
Работа с Theia
Мониторинг Netdata
Работа с Jupyter
Работа с ClickHouse
Основные принципы
Модификация схемы
Подключение к VPN
Справочная информация
HTTP Redirect
Каналы получения данных
WebSocket
Загрузка больших файлов
JSON-RPC 2.0 RST
API сервисов
Director API
Front API
RockMe Framework (TypeScript)
Переменные окружения
Маппинг путей
Сетевая инфраструктура
Схема хранилища ClickHouse
Создание сервисов
Python + Band Framework
Организация сервиса
Коммуникация с другими сервисами
Работа с ClickHouse
Другие возможности
TypeScript + Rockme Framework
Организация сервиса
Туториалы
Получение данных из других сервисов
Сбор сырых данных Google Analytics
Создание динамического Calltracking
Построение истории отдельного пользователя
Классические модели атрибуции
Вероятностное прохождение воронки
Атрибуция по индексу активности
Воронки
Реализация Cookie-Sync
Сегментация пользователей
X
Выберите раздел

Построение сессий в WebSDK

Все происходящие события группируются в сессии/визиты (периоды активности). Сессия начинается в момент появления первого события, заканчивается по тайм-ауту в 30 минут, который доступен к настройке. Временем завершения сессии является время последнего события. Сессии инициируются не только просмотрами страниц, но и другой активностью, пусть даже движение мыши. Это позволяет гораздо точнее оценивать количество взаимодействий с ресурсом.

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

Событие 'session'

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

Виды сессий

  1. Органика organic
  2. Рекламная кампания campaign
  3. Социальные сети social
  4. Реферальная ссылка referal
  5. Внутренняя сессия internal
  6. Прямой вход / Приложения direct/external

Рекламная кампании

Сессия будет рекламной, если в параметрах есть хоть одна из этих меток: utm_*, yclid, gclid, openstat. Также визит может быть классифицирован как рекламный на основе referrer, например, c doubleclick.net

{
  //...
  "name": "session",
  "sess": {
    "pageNum": 1,
    "eventNum": 1,
    "type": "campaign",
    "marks": {
      "has_gclid": "0",
      "utm_campaign": "feb_camp",
      "utm_content": "ad_1",
      "utm_medium": "cpc",
      "utm_source": "vk"
    },
    "hasMarks": true,
    "num": 2,
    "start": 1537242940499
  }
  //...
}

Органика

Если источник - поисковая система, но отсутствуют рекламные метки, сессия будет отнесена к органическим

{
  //...
  "name": "session",
  "sess": {
    "pageNum": 1,
    "eventNum": 1,
    "type": "organic",
    "marks": { },
    "engine": "yandex",
    "refHost": "yandex.ru",
    "hasMarks": false,
    "keyword": "Sometime has keyword",
    "num": 2,
    "start": 1537242940499
  }
  //...
}

Соцсети

Критерии: источником является социальная сеть, а также отсутствуют рекламные метки.

{
  //...
  "name": "session",
  "sess": {
    "pageNum": 1,
    "eventNum":1,
    "type": "social",
    "marks": { },
    "engine": "vk",
    "refHost": "away.vk.com",
    "hasMarks": false,
    "num": 2,
    "start": 1537242940499
  }
  //...
}

Реферальная ссылка

Все остальные сайты

{
  //...
  "name": "session",
  "sess": {
    "pageNum": 1,
    "eventNum": 1,
    "type": "referral",
    "marks": { },
    "engine": "",
    "refHost": "2gis.ru",
    "hasMarks": false,
    "num": 2,
    "start": 1537242940499
  }
  //...
}

Внутренние сессии

Сессии присваивается internal, когда источником является сам сайт. Происходит это, когда браузер запущен, юзер сидит в другом приложении. Или вообще его нет рядом период, длительностью с таймаут сессии (значение по умолчанию - 30 мин).

{
  //...
  "name": "session",
  "sess": {
    "pageNum": 0,
    "eventNum": 1,
    "type": "internal",
    "marks": { },
    "hasMarks": false,
    "num": 2,
    "start": 1537242940499
  }
  //...
}

Приложения (мессенджеры, почта, переходы из закладок, etc...)

Под direct обычно подразумевают вход через самостоятельный ввод адреса или переход из закладок, ввиду отсутствия referer, но это сильно вряд ли. Времена изменились, ни кто даже не подумает посмотреть адрес сайта, не говоря уже о запомнить Правильно трактовать такие визиты, как переходы из других приложений, будь то на десктопе или мобильном телефоне, например, месседжеров, почтовых клиентов. Справедливости ради, на Android иногда видно, какое приложение является источником.

{
  //...
  "name": "session",
  "sess": {
    "pageNum": 1,
    "eventNum": 1,
    "type": "direct",
    "marks": { },
    "hasMarks": false,
    "num": 2,
    "start": 1537242940499
  }
  //...
}

Отличия от Google Analytics и Yandex.Metrika

В отличие от GA, в Rockstat есть внутренние сессии. Пример: посетитель пришел на сайт, но потом его кто-то отвлек от компьютера, и он отошел. За это время сессия завершилась по тайм-ауту, затем он вернулся и продолжил с того места, где остановился. В этой ситуации GA засчитает еще один визит с канала как предыдущий. YM также имеет внутренние сессии, но алгоритм инициализации отличается.