Перейти к основному содержимому

Утилиты для отправки аналитики

Пакет предоставляет утилиты для отправки аналитических данных в объект dataLayer и ОКО.


dataLayerPush

Функция dataLayerPush отправляет данные события в глобальный объект dataLayer. Данные передаются в виде объекта, который копируется перед отправкой, чтобы избежать изменений в процессе работы.

Функция проверяет наличие window.dataLayer.push перед отправкой данных.

Пример использования

import { dataLayerPush } from '@sima-land/isomorph/utils/web/analytics';
import { call } from 'typed-redux-saga/macro';

/**
* Отправляет события о новом пользователе.
* @param userId ID пользователя.
*/
export function* sendNewUserAnalytics(userId: number) {
// Отправка события в dataLayer
yield* call(dataLayerPush, { event: 'new_user', uid: userId });
}

okoPush

Функция okoPush отправляет данные события в глобальный объект oko, если он существует на странице. Данные передаются в виде объекта типа OkoEvent, который копируется перед отправкой, чтобы избежать изменений в процессе работы.

Функция проверяет наличие window.oko.push перед отправкой данных.

Тип OkoEvent

export type OkoEvent = Record<string, any>;

OkoEvent представляет собой объект произвольной структуры, используемый для передачи данных событий в ОКО.

Пример использования

import { okoPush } from '@sima-land/isomorph/utils/web/analytics';
import { call } from 'typed-redux-saga/macro';

/**
* Отправляет события о новом пользователе.
* @param userId ID пользователя.
*/
export function* sendOkoUserAnalytics(userId: number) {
// Отправка события в okoPush
yield* call(okoPush, { event: 'new_user', uid: userId });
}