@astral/yandex-metrika
v1.1.0
Published
Библиотека для взаимодействия с Яндекс.Метрикой
Downloads
34
Readme
@astral/yandex-metrika
Библиотека для взаимодействия с Яндекс.Метрикой
Table of contents
Installation
npm i --save @astral/yandex-metrika
yarn add @astral/yandex-metrika
Добавление скрипта в html
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
Methods
init
Инициализация сервиса метрики.
import { YandexMetrika } from '@astral/yandex-metrika';
const yandexMetrika = new YandexMetrika();
yandexMetrika.init({
enabled: process.env.IS_PRODUCTION,
counterID: 'XXXXXX',
onEror: sentry.captureException
})
По-умолчанию установлены параметры:
clickmap: true;
trackLinks: true;
accurateTrackBounce: true;
webvisor: true;
reachGoal
Метод достижения цели.
yandexMetrika.reachGoal({
extra: { customParam: 'value' },
target: 'XXXXXX',
onSuccess: () => console.info('success')
})
addUserInfo
Метод, позволяющий к счетчику добавить произвольные пользовательские данные.
yandexMetrika.addUserInfo({
userID: 'id',
email: '[email protected]',
...
})
addParams
Метод, позволяющий передать произвольные параметры визита.
yandexMetrika.addParams({
param1: 'value1',
param2: 'value2',
...
})
Custom reachGoal
type SuccessSignGoalParams = {
signID: string;
status: string;
};
class Metrics extends YandexMetrics {
constructor() {
super();
}
/**
* @description Цель, указывающее на успешное подписание
*/
successSignGoal = (params: SuccessSignGoalParams) => {
this.reachGoal('sign-target', params);
};
}
const metrics = new Metrics();
metrics.successSignGoal({ signID: '123', status: 'success' });