Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hcodes/server_yametrika_nodejs
Серверное отслеживание посетителей с помощью Яндекс.Метрики для Node.js
https://github.com/hcodes/server_yametrika_nodejs
analytics javascript metrika nodejs tracking-api yandex
Last synced: about 2 months ago
JSON representation
Серверное отслеживание посетителей с помощью Яндекс.Метрики для Node.js
- Host: GitHub
- URL: https://github.com/hcodes/server_yametrika_nodejs
- Owner: hcodes
- License: other
- Created: 2014-01-03T09:52:31.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2023-07-18T21:22:49.000Z (over 1 year ago)
- Last Synced: 2024-10-07T11:46:56.915Z (3 months ago)
- Topics: analytics, javascript, metrika, nodejs, tracking-api, yandex
- Language: JavaScript
- Homepage: https://www.npmjs.org/package/yametrika
- Size: 119 KB
- Stars: 17
- Watchers: 4
- Forks: 3
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Серверное отслеживание посетителей с помощью Яндекс.Метрики для Node.js
[![NPM version](https://img.shields.io/npm/v/yametrika.svg)](https://www.npmjs.com/package/yametrika)
[![NPM Downloads](https://img.shields.io/npm/dm/yametrika.svg?style=flat)](https://www.npmjs.org/package/yametrika)
[![install size](https://packagephobia.com/badge?p=yametrika)](https://packagephobia.com/result?p=yametrika)В некоторых случаях требуется отслеживать действия на стороне сервера.
Например:
+ Слежка за поисковыми роботами
+ Редиректы
+ Загрузка файлов
+ Страницы с ошибками (403, 404, 500)
+ RSS
+ Время выполнения скриптов
+ Время запросов к базам данных
+ Треккинг AJAX-запросов
+ и пр.## Возможности
+ Загрузка страницы - hit()
+ Внешняя ссылка - extLink()
+ Загрузка файла - file()
+ Параметры визита - params()
+ Неотказ - notBounce()## Настройки счётчика Метрики
**В настройках счётчика во вкладке «Фильтры» / «Фильтрация роботов» необходимо выбрать опцию «Учитывать посещения всех роботов». В противном случае, статистика собираться не будет.**## Ограничения
Отчёты, которые будут недоступны в Метрике при серверной отправки:
+ Половозрастная структура
+ Пол и возраст
+ Разрешения дисплеев
+ Версия Flash
+ Вебвизор, аналитика форм
+ Карта кликовУникальные посетители считаются по user agent'у и IP-адресу.
## Установка
`npm install yametrika`## Использование
```js
var http = require('http');// Создаем счётчик, 12345 — номер счётчика
var counter = require('yametrika').counter({id: 12345});http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('okay');// Заполняем счётчик данными (referer, ip и ua) из запроса к серверу.
counter.req(req);// Страница https://example.com, с заголовком 'Main page'
// переход был с реферером https://othersite.com
counter.hit('https://example.com', 'Main page', 'https://othersite.com');
}).listen(8080);
```## Отправка хита
```js
/**
* @param {string} pageUrl - Адрес страницы.
* @param {string} [pageTitle] - Заголовок страницы.
* @param {string} [pageRef] - Реферер страницы.
* @param {Object} [userParams] - Параметры визитов.
* @param {string} [ut] - Для запрета индексирования 'noindex'
*
* @returns {Object} this
*/
counter.hit('https://mysite.org', 'Main page', 'https://google.com/...');// С запретом на индексирование и параметрами визитов
counter.hit('https://mysite.org', 'Main page', 'https://google.com/...', {level1: {level2: 1}}, 'noindex');
```## Достижение цели
```js
/**
* @param {string} target - Название цели.
* @param {Object} [userParams] - Параметры визитов.
*
* @returns {Object} this
*/
counter.hit();
counter.reachGoal('goalName');// или
// С параметрами визитов
counter.hit();
counter.reachGoal('goalName', {level1: {level2: 1}});
```
Вызов метода `hit()` перед `reachGoal()` необходим для корректной привязки цели к визиту.## Внешняя ссылка
```js
/**
* @param {string} url - Адрес страницы.
* @param {string} [title] - Заголовок страницы.
*
* @returns {Object} this
*/
counter.extLink('https://nodejs.org');
```## Загрузка файла
```js
/**
* @param {string} file - Ссылка на файл.
* @param {string} [title] - Заголовок страницы.
*
* @returns {Object} this
*/
counter.file('https://mysite.org/secret.zip');
```## Параметры визитов
```js
/**
* @param {...*} data - Параметры визитов.
*
* @returns {Object} this
*/
counter.params({level1: {level2: {level3: 1}}});// или
counter.params('level1', 'level2', 'level3', 1);
```## Не отказ
```js
/**
* @returns {Object} this
*/
counter.notBounce();
```## Полезные ссылки
+ [Версия для PHP](https://github.com/hcodes/server_yametrika/)
+ [Помощь Яндекс.Метрики](https://yandex.ru/support/metrika/)## Лицензия
MIT License