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

JS-трекерEOL

В этой статье

Скрипт может быть запущен триггером Трекер. Блок срабатывает каждые 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.

Настройка 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, чтобы сайт был лучше для вас.