В некоторых случаях требуется отслеживать действия на стороне сервера.
Например:
- Слежка за поисковыми роботами
- Редиректы
- Загрузка файлов
- Страницы с ошибками (403, 404, 500)
- RSS
- Время выполнения скриптов
- Время запросов к базам данных
- Треккинг AJAX-запросов
- и пр.
- Загрузка страницы - hit()
- Внешняя ссылка - extLink()
- Загрузка файла - file()
- Параметры визита - params()
- Неотказ - notBounce()
В настройках счётчика во вкладке «Фильтры» / «Фильтрация роботов» необходимо выбрать опцию «Учитывать посещения всех роботов». В противном случае, статистика собираться не будет.
Отчёты, которые будут недоступны в Метрике при серверной отправки:
- Половозрастная структура
- Пол и возраст
- Разрешения дисплеев
- Версия Flash
- Вебвизор, аналитика форм
- Карта кликов
Уникальные посетители считаются по user agent'у и IP-адресу.
npm install yametrika
varhttp=require('http');// Создаем счётчик, 12345 — номер счётчикаvarcounter=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.comcounter.hit('https://example.com','Main page','https://othersite.com');}).listen(8080);/** * @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');/** * @param {string} target - Название цели. * @param {Object} [userParams] - Параметры визитов. * * @returns {Object} this */counter.hit();counter.reachGoal('goalName');// или// С параметрами визитовcounter.hit();counter.reachGoal('goalName',{level1: {level2: 1}});Вызов метода hit() перед reachGoal() необходим для корректной привязки цели к визиту.
/** * @param {string} url - Адрес страницы. * @param {string} [title] - Заголовок страницы. * * @returns {Object} this */counter.extLink('https://nodejs.org');/** * @param {string} file - Ссылка на файл. * @param {string} [title] - Заголовок страницы. * * @returns {Object} this */counter.file('https://mysite.org/secret.zip');/** * @param {...*} data - Параметры визитов. * * @returns {Object} this */counter.params({level1: {level2: {level3: 1}}});// илиcounter.params('level1','level2','level3',1);/** * @returns {Object} this */counter.notBounce();MIT License