1.1.0 • Published 11 months ago

@astral/yandex-metrika v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
11 months ago

@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@gmail.com',
  ...
})

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' });
1.1.0

11 months ago

1.0.1

11 months ago

1.0.0

11 months ago

0.1.0

11 months ago