Кейс: небольшой интернет-магазин с каталогом товаров и портфолио с фотографиями выполненных работ. Менеджеры по продажам активно пользуются сайтом при работе в офисе. Клиентам, пришедшим в офис, шоурум на экране показывают не только печатные материалы, но и товары и фото из портфолио с сайта. На сайте стоит Яндекс.Метрика и Google Analytics. Соответственно, работа менеджеров по продажам создавала большой "шум" в статистике посещаемости.
Было несколько мыслей о том, как исключить компьютеры менеджеров из учета системами веб-аналитики.
Первая - просто настроить фильтр по IP в Метрике и Гугл Аналитикс. Но выяснилось, что в офисах используются мобильные модемы и операторы сотовой связи просят ощутимые деньги просто за статические IP. Поэтому этот вариант отпал.
Вторым вариантом, который и был реализован, - с помощью PHP и coockies.
Идея: менеджерам по продажам была дана специальная ссылка на сайт компании вида site.ru/page.html?disable_manager=1. При переходе по ней сайт выдает браузеру менеджера coockie-файл сроком на 2 года. Если сайт видит наличие coockie, то скрипты веб-аналитики просто не подключаются.
Сайт сделан на Joomla, поэтому получение и запись coockie реализована с помощью её классов. При желании код легко адаптируется под другие CMS или нативный PHP.
Код вставляется напрямую в код шаблона - template.php.
<?php
//Даем менеджерам куку, чтобы не учитывать их посещения в веб-аналитике. Им не загружается код счетчика.
// Get input cookie object
$getCookie = $app->input->cookie;
// Get cookie data
$disable_manager = $getCookie->get($name = '_your_site_name_disable_manager'); // Ищем куки менеджера
$disable_manager_param = $app->input->get('disable_manager', '0', 'INT');
if ($disable_manager_param == 1){// Если параметр url есть - пишем куку на 2 года.
$time = time() + 63113852; // 2 year
$disable_manager = $getCookie->set($name = '_your_site_name_disable_manager', $value = '1', $time); //Срок действия 2 год
$disable_manager = $getCookie->get($name = '_your_site_name_disable_manager');
}
?>
Код счетчиков вставляем между следующими условиями:
<?php if (!$disable_manager or $disable_manager === null or $disable_manager === "" or $disable_manager === 0): ?>
//
// Здесь код счетчиков
//
<?php endif; ?>
Чтобы менеджеры были в курсе, что аналитика не следит за их действиями - выводим сообщение после открывающего тега <body>.
<?php if ($disable_manager == 1): ?>
<div class="alert alert-success text-center">Этот браузер на Вашем компьютере опознан как браузер сотрудника компании. Ваши действия на сайте через этот браузер не учитываются в системах web-аналитики.</div>
<?php endif; ?>