Top.Mail.Ru
JS-трекер
8 800 555-89-02
Документация
CTRL+K
Standalone2403
SaaS

JS-трекер

В этой статье

Скрипт может быть запущен триггером Трекер. Блок срабатывает каждые 5 минут (параметр невозможно изменить) и собирает статистику о действиях посетителей на сайте, в код которого встроен сниппет. Информация автоматически подгружается пакетно в систему Proceset, где объединяется с данными из других систем. Количество элементов в пакете – 1 (отправка каждого события происходит сразу). На основании полученной статистики можно проводить аналитику по выделению сценариев или процессов.

Работа трекера состоит из 3 компонентов:

  • Snippet — небольшой фрагмент кода, в котором содержатся настройки подключения трекера
  • Трекер — блок-триггер, который осуществляет сбор данных и их передачу на сервер
  • Модуль трекинга на платформе Proceset — модуль, осуществляющий прием данных от трекера

Данные с сайта копятся в локальном хранилище и передаются JS-трекером каждые 15 секунд. В случае, если сервер не принимает отправленные данные от трекера, эти и все следующие собираемые с сайта данные будут храниться в буфере размером 1 Мб до момента, пока сервер не станет вновь доступным. После того как события будут успешно переданы, буфер очищается.

В левой панели представлены параметры блока:

  • имя веб-приложения
  • UUID
  • адрес сервера сбора аналитики
  • встраиваемый код (snippet)

Трекер

Если при настройке блока добавить имя веб-приложения, оно также отобразится во встраиваемом коде. Встраиваемый код можно просмотреть и скопировать, но он недоступен для редактирования. Для выполнения скрипта скопируйте встраиваемый код и вставьте его в код сайта, с которого необходимо получать события.

Заметка
  • В системе не может быть двух одинаковых UUID: они уникальны для каждого трекера.
  • Для корректной работы скрипта имя веб-приложения и UUID должны совпадать в блоке и на сайте.

Список возвращаемых полей по умолчанию:

ПолеТипОписание
eventИнформация о событии
event.namestringИмя события
event.propsarray (string)Словарь с пользовательскими данными
event.timenumberВременная метка вызова метода (количество миллисекунд, прошедших с 1 января 1970 года 00:00:00 по UTC)
event.elementИнформация о DOM-элементе, на котором сработало событие: кнопка, ссылка, поле и др.
event.element.idstring
null
Идентификатор элемента (берется только атрибут id)
event.element.namestring
null
Имя/данные элемента. Вычисляется индивидуально для каждого типа элемента
event.element.webctrl_selectorstring
null
Способ идентификации элемента на странице https://docs.uipath.com/studio/docs/about-selectors#webctrl
personИнформация о пользователе
person.user_idstring
null
Идентификатор зарегистрированного пользователя
person.anonymous_idstringСгенерированный анонимный UUID v4 идентификатор
person.idsarray (string)Словарь идентификаторов, полученных из сторонних трекеров, подключенных к странице
appИнформация о сайте, подключающем трекер
app.namestringИмя приложения. Указывается в конфигурационном файле, по умолчанию используется текущий домен
libИнформация о трекере
lib.versionstringНомер версии трекера
campaignUTM-метки, полученные из url
campaign.sourcestring
null
Источник перехода, рекламная площадка
campaign.mediumstring
null
Тип рекламы
campaign.namestring
null
Название рекламной кампании
campaign.termstring
null
Ключевая фраза
campaign.contentstring
null
Дополнительная информация по объявлению
pageИнформация о web-странице
page.titlestringЗаголовок вкладки браузера
page.referrerstringurl, с которого произошел переход на текущую страницу
page.urlstringurl текущей страницы
page.pathstringЧасть url между хостом и параметрами
screenИнформация об экране
screen.widthnumberШирина экрана в пикселях
screen.heightnumberВысота экрана в пикселях
navigatorСостояние и особенности (свойства) пользовательского агента
navigator.user_agentstringСтрока агента пользователя для данного браузера
navigator.languagestringПредпочитаемый пользователем язык, как правило, это язык пользовательского интерфейса браузера
time_zonestringВременная зона

Сбор кастомных событий

Кастомные события автоматически собираются с помощью параметра interceptor. В качестве значения параметра передается массив объектов.

Чтобы JS-трекер собирал кастомные события, дополните встраиваемый код:

{
    action: "Click" | "FieldChange",
    interceptor: (target: EventTarget) => {
        eventName: string,
        elementName: string,
        element: Element,
        eventProps: object
    } | null
}

Где:

  • action — тип события, по которому будет вызван interceptor
  • interceptor — обработчик события. Принимает элемент, по которому произошло событие, и возвращает структуру, описывающую кастомное событие. Также в коде можно указать null, если событие следует проигнорировать

В зависимости от того, какие данные необходимо получать, у параметра могут быть указаны следующие поля:

  • eventName
  • elementName
  • element
  • eventProps

Настройка сбора активности системы Proceset

Для настройки приема данных с JS-трекера, встроенного в Proceset нужно построить скрипт и добавить uuid (сгенерированный блоком Трекер) в файл конфигурации модуля трекинга com.infomaximum.subsystem.automationwebhook.json. Файл расположен на сервере Proceset в каталоге: C:\ProgramData\Infomaximum\config\com.infomaximum.subsystem. automationwebhook.json.

Пример настройки файла com.infomaximum.subsystem.automationwebhook.json для обмена данными с JS-трекером:

{
    "monitoring": {"uuid": "7317172d2fca45ec890caf4127480484",}
}

Параметры конфигурационного файла:

  • monitoring — блок настроек, предназначенный только для передачи статистики от системы Proceset (JS-трекера, встроенного в систему). Настраивается только для передачи информации о пользователях Proceset:
    • uuid (обязательный параметр) — идентификатор данных Трекера. Используется в качестве публичного ID данных. Данный uuid используется для сопоставления конфигурации Трекера и ID скрипта, в котором будут обрабатываться данные

Настройка cors_policy для междоменного обмена данным

В случаях, когда JS-трекер находится в домене отличном от того, на котором располагается Proceset, необходимо настроить политику cors, предоставляющую доступ к этому домену. Для этого необходимо в конце конфигурационного файла Proceset com.infomaximum.subsystem.frontend.json добавить перед последней фигурной скобкой:

"cors_policy": "*"

Файл расположен на сервере Proceset в каталоге: C:\ProgramData\Infomaximum\config\com.infomaximum.subsystem.frontend.json.

Несовместимость типов при получении Null в активности

При возникновении несовместимости типов при получении Null в активности, собираемой JS-трекером, необходимо привести колонки целевой таблицы в скрипте к типу Nullable. Если таблица была создана ранее, то можно воспользоваться следующим способом устранения данной проблемы:

  1. Создайте блок «SQL-запрос» в целевом скрипте.
  2. Введите SQL-запрос ALTER TABLE NAME_TABLE(название таблицы) MODIFY COLUMN person_user_id Nullable(String).
  3. Измените тип целевой колонки.
  4. Удалите блок «SQL-запрос», созданный в п. 1 и 2.
  5. Используйте обновленную таблицу с типом колонок Nullable и ранее созданным скриптом.

Способ подходит для решения любой подобной ситуации, связанной с несовместимостью типов.

Была ли статья полезна?

Да
Нет
Предыдущая
Пример скрипта
8 (800) 555-89-028 (495) 150-31-45team@infomaximum.com
Для бизнеса
© 20102024. ООО «Инфомаксимум»
Мы используем файлы cookies, чтобы сайт был лучше для вас.