Сегментирование аудитории блога: отслеживание персонала

Сегментирование аудитории блога: персоналПерсонал — это одна из самых нецелевых групп аудитории, которая оказывает поистине драматическое влияние на статистику любого сайта, будь то блог или любой другой интернет-проект. Драматичность объясняется в первую очередь нетипичностью шаблонов поведения данной аудитории на сайте. Основные цели этой группы могут быть любыми, но только не теми, для которых сайт создавался. Поэтому её поведение разительно отличается от поведения любой целевой группы.
Что нужно персоналу, на какие статистические параметры он оказывает самое существенное влияние, как его отследить и «вычеркнуть» из статистики; а также, какие подводные камни могут ждать нас на этом пути — попробуем разобраться более детально.

Кого и зачем мы ловим

Если говорить о блоге, то к персоналу следует отнести самого автора (или нескольких — если блог многопользовательский), а также всех, кто обеспечивает работоспособность блога: программистов, дизайнеров, кодеров, сеошников, редакторов и прочий технический персонал, обилие которого зависит от масштабов проекта.
В общем случае — для любого интернет-проекта — помимо офисного планктона сюда следует отнести и внешних сотрудников: представителей веб-студий, рекламных агентств, модераторов рекламных площадок, консультантов и вообще всех тех, для кого вы являетесь клиентом или работодателем.

Эта дружная команда ваших «помощников» достаточно активно ведёт себя на сайте и в состоянии существенно повлиять на основные статистические параметры.

  • Преувеличение прямого трафика. Обычно доля прямого трафика служит показателем известности бренда (предполагается, что пользователь знает название домена, вбиваемого в адресную строку, или сайт заложен у него в закладках).
  • Преуменьшение показателя конверсии. Персонал делает заказы или другие целевые действия на сайте только для тестирования функциональности. А это происходит достаточно редко.
  • Преувеличение среднего времени нахождения на сайте. Персонал может часами изучать сайт, открывая по нескольку страниц в браузере. Это нетипичное поведение может неверно истолковываться, как повышенное внимание к сайту и заинтересованность в его материалах.
  • Преувеличение количества просмотренных страниц за сессию. Автор-перфекционист может часами вылизывать очередной пост, прикидывая как он будет выглядеть после публикации.
  • Искажение показателя отказов. Множество открытых в браузере страниц, которые время от времени обновляются (причём с разрывом сессии), могут ложно свидетельствовать о высоком показателе отказов. И можно придумать массу сценариев поведения, которые, наоборот, будут его занижать.
  • Искажение навигационных путей и конверсионных воронок. Один программист, тестирующий страницу подтверждения заказа, может сломать мозг целой бригаде аналитиков, пытающихся понять, как кто-то мог вообще тут оказаться, прошмыгнув мимо корзины.

И это далеко не все последствия, которые можно ожидать от деятельности команды проекта. Естественно, для сайтов, сделанных по принципу «пустил и забыл» всё это не столь важно. Но если ваш проект небольшой и молодой, или, наоборот, серьёзный и давний, то трафик, генерящийся персоналом, может составлять существенную долю в его посещаемости и, следовательно, может сильно зашумлять статистические показатели.

Как отследить персонал

По каким признакам, мы можем отнести посетителя сайта к персоналу? Есть несколько решений.

Отслеживание по IP-адресу. Это классический метод, основанный на предположении, что все сотрудники посещают сайт из офисной сети, имеющий статический IP-адрес. Обычно этот адрес присваивается шлюзу, за которым скрыта корпоративная (офисная) сеть. Значит, любой посетитель, имеющий IP-адрес, принадлежащий выделенному диапазону адресов корпоративной сети может считаться персоналом.

Метод является настолько классическим, что стал просто антикварным. Он хорошо работал, когда все компьютеры были настольными, а доступ в интернет предоставлялся по выделенным каналам. Современная же инфраструктура сетей предполагает активное использование мобильного доступа и мобильных устройств. Это означает, что статического IP-адреса может просто не существовать. Кроме того, сотрудник с ноутбуком может проводить часть времени в офисе, а часть — за его пределами, используя для доступа в интернет общедоступные (а не выделенные) каналы.

Отслеживание по специфическому контенту. В этом случае признаком принадлежности к персоналу считается посещение посетителем особых зон (страниц) сайта или интрасети, либо посещение страниц сайта со специфическими параметрами.

В качестве специфического контента могут выступать страницы, принадлежащие различным корпоративным сервисам: системе управления контентом, веб-интерфейсу почты, бухгалтерии, закрытому корпоративному форуму, системе документооборота и т.п.
Также могут быть использованы специальные «скрытые» страницы, ссылки на которые могу знать только сотрудники компании и её партнёры. Стимулом для посещения таких страниц являются специальные приглашения, рассылаемые по корпоративным спискам всем сотрудникам компании, её партнёрам и подрядчикам.

В качестве специфических параметров могут использоваться UTM-метки (типа utm_source=internal&utm_medium=internal&utm_term=internal) либо другие специальные параметры, добавляемые к стандартным URL’ам (типа staff=yes). Выбор того или иного варианта зависит от возможностей системы управления контентом и фантазии аналитика.

Основным недостатком этого способа является то, что его эффективность сильно зависит от дисциплинированности сотрудников. Нужно уговорить каждого зайти по специальной ссылке 1) с каждого используемого компьютера (ноутбука, планшета, смартфона); 2) и с каждого установленного браузера (а у любого технаря их обычно штук 5 на устройстве). Но это единственный способ классификации в случаях, когда весь персонал проекта использует мобильный доступ, что в последнее время встречается, пожалуй, чаще, чем выделенные линии.

Как вычеркнуть персонал из публичной жизни

Итак, у нас есть два признака, по которым мы можем практически однозначно отнести посетителя сайта к категории сотрудников: IP-адрес и факт посещения специфического URL’а. Теперь задача состоит в том, как вычленить их неблаговидную деятельность из статистики посещения фронтенда (публичной части) сайта.

В рамках Google Analytics эту задачу можно решить тремя основными способами:

  • создать исключающий фильтр по IP-адресам;
  • пометить персонал с использованием специального пользовательского параметра (Custom Dimension);
  • вести списки уникальных идентификаторов персонала (ClientId), фиксируемых с помощью те же пользовательских параметров.

Первый способ подразумевает создание специального фильтра, исключающего из статистики все посещения пользователей с конкретными IP. (Про этот способ написано так много, что я считаю неприличным не только его объяснять, но даже давать ссылку на документацию 🙂 ).

Этот способ имеет ряд особенностей. Их нельзя однозначно назвать ни недостатками, ни достоинствами — всё зависит от конкретных возможностей и конкретных аналитических задач — поэтому будем называть их именно особенностями.

  1. IP-адрес как параметр может использоваться только в фильтрах на уровне представления (профиля). Его нет в доступных настройках сегментов или отчётов (в том числе и во внутренних фильтрах отчётов). Исключив IP с помощью фильтра из какого-нибудь представления, у нас не будет возможности проверить, правильно мы это сделали или нет.
    Поэтому использовать этот инструмент нужно аккуратно. Есть смысл создавать специальное резервное представление с «сырыми» данными, к которому не применяются никакие фильтры. В сложных случаях с многочисленными IP и подсетями целесообразно также создать отдельное представление, наоборот, включающее только персонал — для контроля правильности реализации фильтров.
  2. Длина регулярного выражения, которое используется в фильтрах Google Analytics, не может превышать 255 символов. В тех случаях, когда корпоративная сеть состоит из сотен IP-адресов из разных подсетей, придётся разбивать регулярные выражения по нескольким фильтрам. И это может стать достаточно нудной задачей. Но зато, создав один раз набор исключающих фильтров, их затем можно легко подключать к нужному представлению (профилю).
    Хуже дело обстоит с включающими фильтрами — если их несколько, то для каждого придется делать отдельное включающее представление, поскольку несколько включающих фильтров в одном представлении работают только через логическое «И» — IP проверяется на одновременное соответствие всем фильтрам сразу. Этим невозможно управлять и это, конечно, весьма неудобно.
  3. Фильтрация по IP не может использоваться для ретроспективного анализа. Действие фильтров на статистику работает с момента их включения. К более ранним данным их применить нельзя.
  4. Этот способ может затруднить отладку аналитических решений персоналом, поскольку его действия не отображаются в статистике.

Второй способ состоит в том, что каждому посетителю специфического URL’а приписывается значение специального пользовательского параметра (Custom Dimension) с помощью конструкций вида:

ga('set', 'dimension2', 'SecretPage');

или

ga('set', 'dimension2', 'AdminZone');

Для этого предварительно нужно определить пользовательский параметр dimension2 со следующими настройками: Name=Staff и Scope=User. Тогда для различных классификационных признаков можно использовать и разные значения этого параметра: например, посетителям скрытой страницы можно присваивать значение SecretPage, а посетителям системы управления контентом — значение AdminZone. Здесь следует заметить, что для тех сотрудников, которые одновременно посещали и скрытую страницу и систему управления контентом, в качестве значения параметра Staff останется последнее присвоенное.

В дальнейшем мы можем настроить пользовательские сегменты (Custom Segments), отфильтровывающие трафик по этому параметру:

Сегмент для включение персонала:

Filter {Users} {Include} Staff matches regex: "SecretPage|AdminZone"

Сегмент для исключения персонала:

Filter {Users} {Exclude} Staff matches regex: "SecretPage|AdminZone"

Этот способ имеет следующие особенности.

  1. Не влияет на статистику. Пользовательские сегменты (Custom Segments) можно включать и отключать по мере необходимости. Это даёт возможность проводить сравнительный анализ действий персонала и обычной аудитории, что позволяет оценить, насколько активность персонала зашумляет статистику и влияет на итоговые показатели. Чтобы понять, стоит ли вообще уделять этой проблеме особое внимание или нет.
  2. Требует доработки аналитической отчётности. Поскольку сегменты не включаются в стандартные отчёты автоматически, их часто забывают применять, что приводит к сдвигу статистических оценок и неправильной интерпретации результатов. Для автоматизации учёта (устранения) активности персонала необходимо создать специальные пользовательские отчёты и использовать там внутренние фильтры, аналогичные сегментам.
  3. Использование пользовательских параметров также не позволяет проводить ретроспективный анализ действий персонала. Пользовательские параметры (Custom Dimensions) работают только с момента их определения и применения. К более ранним данным их применить нельзя.
  4. Этот способ невозможно комбинировать с первым способом стандартными средствами Google Analytics. То есть нельзя приписать посетителю с нужным IP нужное значение пользовательского параметра.
    В принципе это сделать возможно, но только с помощью отдельного внешнего сервиса, определяющего IP-адреса посетителей и передающего их трекеру Google Analytics в качестве параметра.

Третий способ использует дополнительную информацию о посетителях — уникальный идентификатор клиента (ClientId). Суть этого способа состоит в следующем.

Как правило, при первичной настройке Google Analytics рекомендуется организовать сбор информации об уникальных идентификаторах посетителей. Эти действия в практике веб-аналитики стали своего рода «домашним заданием», поскольку позволяют сразу поднять аналитические возможности Google Analytics от уровня сессий до уровня отдельных посетителей.
Для этого в стандартный сниппет GA, размещаемый на сайте, нужно добавить фрагмент кода следующего вида:

ga(function(tracker) {
var dimensionValue1 = tracker.get('clientId');
tracker.set('dimension1',dimensionValue1);
});

Теперь, с помощью элементарных фильтров и стандартных отчётов можно получить значения ClientId посетителей, заходивших на специфические страницы. Для этого предварительно нужно определить пользовательский параметр dimension1 со следующими настройками: Name=ClientId и Scope=User.  А затем настроить пользовательские сегменты, отфильтровывающие трафик по списку полученных значений ClientId.

Filter {Users} {Include} ClientID matches regex: "1858417449\.1366847396|827032734\.1370511848|1870698343\.1374253929"

К особенностям данного способа следует отнести следующие.

  1. Не требует вмешательства в код отслеживания, настройки дополнительных пользовательских пареметров и т.п., поскольку списки можно получать фильтрацией нужного контента в стандартных отчётах. Например, чтобы «поймать» самого себя — достаточно просто зайти на любую страницу с вымышленным параметром типа ?staf=ok, а через пару минут посмотреть в GA, какой был ClientId у посетителя, зашедшего на эту страницу с этим параметром.
  2. Способ обладает «условной» ретроспективой при условии, что сбор ClientId, как и положено, налажен сразу при первичной настройке Google Analytics. Пока дело дойдёт до исключения из анализа действий персонала — может пройти несколько месяцев, но это не страшно, поскольку персонал может быть исключён из рассмотрения с самого начала сбора статистики.
  3. Если количество сотрудников велико, то и списки их идентификаторов (и соответствующие регулярные выражения) могут получаться достаточно длинными. Это неудобно, но не смертельно, поскольку длина регулярных выражений в настройках сегментов может достигать десятков тысяч символов; к тому же их можно разносить по нескольким фильтрам.
  4. Нужно постоянно мониторить появление новых потенциальных членов списка и обновлять соответствующие сегменты. Автоматизировать этот процесс не получится, а вот забыть про него — получается достаточно легко.
    Отслеживание по ClientId можно комбинировать с отслеживанием по пользовательским параметрам — получить идентификаторы пользователей, отфильтрованных по значению пользовательского параметра достаточно легко.
    Комбинация с фильтрами по IP может осуществляться так же легко. Достаточно создать специальное представление с фильтром, включающим только корпоративные IP, и получать там список ClientId всех посетителей.
  5. Характерной особенностью данного способа является влияние сэмплинга на точность получаемых данных. Если посещаемость сайта такова, что Google Analytics начинает использовать сэмплирование результатов, то велика вероятность, что точные списки ClientId получить не удастся. Для исключения влияния сэмплинга придётся в отчётах использовать меньшие временные интервалы и затем объединять полученные списки в один общий.

Рекомендации по использованию

Первый способ — фильтрация персонала по корпоративным IP-адресам — подходит в первую очередь для проектов, у которых доля мобильного персонала невелика. Чем выше эта доля, тем ниже точность данного способа.

Второй способ — отслеживание персонала по специальному пользовательскому параметру — самый универсальный и годится для всех типов проектов. Но он плохо интегрируется с фильтрами по IP. Эффективность же использование только скрытых страниц для идентификации персонала сильно зависит от его (персонала) дисциплинированности.

Третий способ — отслеживание персонала по уникальным идентификаторам — особенно удобен для небольших проектов типа этого блога. Для больших проектов списки ClientId могут превышать десятки тысяч, что делает их весьма неудобными с точки зрения использования и регулярного обновления.

Другие посты сериала «Сегментирование аудитории блога»

  1. Сегментирование аудитории: Предварительный анализ
  2. Сегментирование аудитории: Отслеживание персонала — настоящий пост

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *