Новые и вернувшиеся пользователи в Яндекс.Метрике

08 марта, 2023

Постоянно сомневаетесь в том, кто в вашем счетчике является новым пользователем, а кто вернувшимся? В этом материале поставим финальную точку в решении данного вопроса для Яндекс.Метрики.

Но для того, чтобы это сделать, нам необходимо обратиться в официальную справку Яндекса за разъяснением терминологии. Что такое "новый", "вернувшийся" и просто "пользователь" в Яндекс.Метрике?

Итак, Посетитель - пользователь интернета, который зашел на сайт в определенный период времени. Под определенным периодом времени подразумевается тот диапазон дат, который вы выбрали в отчете Яндекс.Метрике. Например, с 1 по 7 марта 2023 года:

Отчет "Посещаемость"

Яндекс.Метрика считает и различает посетителей по уникальным идентификаторам пользователей (ClientID). Под уникальными идентификаторами пользователей подразумевается комбинация браузера и устройства. Если один и тот же пользователь будет заходить на ваш сайт из разных браузеров (например, Google Chrome и Opera) - неважно, установленных на одном и том же или на разных компьютерах, мобильных телефонах или планшетах - Метрика будет регистрировать нового посетителя для каждого нового браузера.

С установленным счетчиком Яндекс.Метрики у пользователей, которые посещают ваш сайт впервые, в браузере создается файл cookie с именем _ym_uid. По этому файлу Метрика узнает этого пользователя и отличает одного посетителя от другого:

Файл cookie _ym_uid в браузере

Уникальный идентификатор создается случайным образом и определяет браузер, в котором посетитель просматривает сайт. Если вы заходили на один и тот же сайт с двух разных браузеров, в Яндекс.Метрике будет зафиксировано два разных значения ClientID.

Но само значение в _ym_uid - это не просто набор произвольных цифр. В одной его части зашифрована дата первого посещения пользователя вашего сайта. Вы можете убедиться в этом на собственных данных. Для этого перейдите на сайт, откройте консоль разработчика и вкладку Console. Введите команду document.cookie и нажмите Enter.

document.cookie

С помощью этой команды вы получаете доступ к кукам непосредственно из браузера. Найдите строку, содержащую _ym_uid и скопируйте значение после знака равно. В моем примере _ym_uid=1656397803203381660. Это значение можно найти и по-другому. Перейдите на вкладку Application - Сookies - домен вашего сайта и в строке поиска введите _ym_uid.

Файл cookie на вкладке Application

Именно _ym_uid содержит ClientID Яндекс.Метрики, по которому аналитика различает пользователей. Эта метка создается сразу же после того, как посетитель впервые зайдет к вам на сайт.

Скопировав идентификатор, выделите из него только первые 10 цифр. В моем примере - 1656397803. Это значение - дата вашего первого посещения в Unix формате, то есть количество секунд, которое прошло с 1 января 1970 года. Чтобы преобразовать это значение в понятную дату, перейдите на любой сайт конвертера Unix Time Stamp Converter (например, unixtimestamp.com) и в поле Enter a Timestamp вставьте 10-значное число и нажмите кнопку Convert. Вы получите удобочитаемую дату вашего первого посещения:

1656397803 - это 28 июня 2022 года

Для моего примера: 1656397803 - это 28 июня 2022 года. Таким образом, первая часть файла куки _ym_uid, состоящая из 10 цифр, это реальная дата первого посещения пользователем сайта, а вторая часть - рандомно сгенерированное число. И комбинация из этих двух составляющих в результате дает уникальный идентификатор пользователя, который в Яндекс.Метрике никогда не повторяется.

Таким образом, уникальный идентификатор пользователя (ClientID) для Яндекс.Метрики - это метка, состоящая из случайного числа и даты первого посещения пользователем сайта в Unix формате (количество секунд с 1 января 1970 года 00:00:00 UTC), которая сохраняется в основном файле cookie (_ym_uid). Она создается сразу же после того, как посетитель впервые зайдет к вам на сайт.

Зная ClientID конкретного посетителя (по крайней мере, свой точно!), вы можете посмотреть историю его заходов и все действия, которые он совершал на вашем сайте. Для этого перейдите в интерфейс Яндекс.Метрики, откройте раздел Посетители и клиенты (или просто Посетители), а затем задайте условие Люди, у которых - ClientID, вставив полное значение уникального идентификатора:

Посетители и клиенты - Поиск по ClientID

Отфильтровав данные по ClientID, вы сможете найти все визиты конкретного пользователя и его действия.

Фильтр по ClientID

Кроме того, если вы таким способом нашли свой профиль, то вы можете сравнить дату первого посещения с той датой, которую вам показал конвертер Unix Time Stamp. Для моего ClientID дата первого посещения была 28 июня 2022 года. Эта же дата отображается в левой части карточки профиля в строке Первый визит:

Карточка профиля пользователя

Идентификатор ClientID используется также для передачи параметров посетителей, для отслеживания офлайн-конверсий и при настройке сквозной аналитики.

Но какое отношение имеет все вышеописанное для новых и вернувшихся пользователей? Поскольку ClientID хранится внутри куки _ym_uid, то он существует только на том устройстве и браузере, где установлен данный файл. В связи с этим Яндекс.Метрика по умолчанию не может определить уникальных пользователей с разных устройств и браузеров, потому для каждого такого посещения создается новый cookie файл (новый ClientID), и система считает такого посетителя новым.

Таким образом, Новый пользователь в Яндекс.Метрике - это тот, кто первый раз зашел на ваш сайт, и кому во время этого визита в браузере присвоился/создался уникальный идентификатор ClientID. Другими словами, новым пользователем считается тот посетитель вашего сайта, у которого номер визита равен 1. Это легко проверить, перейдя в любой отчет Яндекс.Метрики и создав два сегмента сравнения:

  1. Визиты, в которых - Номер визита = 1
  2. Визиты, в которых - Новый посетитель

Сравнение сегментов новых посетителей

Как видите, данные по посетителям одинаковые.

А если пользователь зайдет на сайт повторно, то Метрика определит, что он уже не является новым пользователем, а будет считаться вернувшимся. Соответственно, Вернувшийся пользователь в Яндекс.Метрике - это тот, кто повторно зашел на сайт и у кого номер визита больше 1.

Подтвердить это можно аналогичным образом - перейдите в любой отчет Яндекс.Метрики и создайте два сегмента сравнения:

  1. Визиты, в которых - Номер визита > 1
  2. Визиты, в которых - Вернувшийся посетитель

Сравнение сегментов вернувшихся посетителей

И здесь данные по посетителям двух сегментов одинаковые.

Остается нерешенным лишь один вопрос - когда вы выставляете диапазон дат в отчете и начинаете анализировать данные по посетителям, куда будет относится пользователь, у которого первый визит был раньше, чем заданный интервал дат в самом отчете? К новому пользователю или к вернувшемуся?

Давайте проверим это эмпирически. Для этого найдем собственную карточку пользователя по ClientID благодаря файлу cookie _ym_uid (см. выше) и узнаем дату первого посещения. Предположим, это будет мой уникальный идентификатор пользователя для сайта yadashboard.com:

  • ClientID - 16697937521051801624;
  • Дата первого посещения (визита) - 30 ноября 2022 года.

Дата первого посещения - 30 ноября 2022 года

Теперь перейдем в отчет по посещаемости и выставим дату в отчете - 30 ноября 2022 года. В этот день на сайте Яндекс.Метрика зафиксировала 16 пользователей:

16 посетителей за выбранную дату

Чтобы в отчете оставить данные только по нашему пользователю, используйте условие для людей, у которых - ClientID:

Данные по конкретному пользователю за 30 ноября 2022 г.

С учетом дополнительного критерия по ClientID, мы получили одного посетителя и пять его визитов за 30 ноября 2022 года. А теперь добавим дополнительный критерий и сравним сегменты:

  1. Визиты, в которых - Новый посетитель
  2. Визиты, в которых - Вернувшийся посетитель

И тогда получается достаточно любопытная статистика:

Сравнение сегментов по новому посетителю и вернувшемуся (30 ноября 2022 г.)

Пользователь и там и там - 1, поскольку уникальный идентификатор пользователя не изменялся. А вот количество визитов разделилось:

  • 1 визит относится к сегменту нового посетителя;
  • 4 визита относится к сегменту вернувшегося посетителя.

Как такое возможно? Вспоминаем принцип работы Яндекс.Метрики - если пользователь зайдет на сайт впервые, то в его браузере будет создан файл cookie _ym_uid и зафиксирован первый визит. Однако чуть позже (в тот же день) он может зайти на сайт повторно. В этом случае файл куки у пользователя уже есть, поэтому для Яндекс.Метрики он будет являться не новым, а уже вернувшимся. И тогда просто будет создан новый визит (второй, третий и четвертый). Это и было сделано мной 30 ноября 2022 года. Тогда я зашел 5 раз на сайт за один день. Первый визит относился к новому посетителю, а все последующие визиты - к вернувшемся.

Но теперь возникает еще один вопрос - а если поставить другую дату, не равную первому посещению. Например, 1 марта 2023 года. Что будет в этом случае? К какому типу будет относится пользователь - к новому или вернувшемуся?

Это тоже легко проверить с помощью отчетов Метрики. Во-первых, снова зайдем в отчет Посетители и клиенты и откроем эту дату там:

Визит 1 марта 2023 года

Как видите, 1 марта 2023 года я совершил на сайте yadashboard.com только один визит и он был 126 по счету (номер визита - 126), начиная с даты первого посещения (30 ноября 2022 г.). А поскольку все визиты, которые не равны первому, относятся к вернувшимся, мы предполагаем, что в данный день я как пользователь будут относится именно к этому типу, то есть буду не новым посетителем, а вернувшимся.

Вновь зайдем в любой отчет Яндекс.Метрики и добавим два сегмента для сравнения:

  1. Визиты, в которых - Новый посетитель
  2. Визиты, в которых - Вернувшийся посетитель

Сравнение сегментов по новому посетителю и вернувшемуся (1 марта 2023 г.)

Наше предположение подтвердилось - для сегмента Новый посетитель Метрика зафиксировала 0 посетителей и 0 визитов. А вот для сегмента Вернувшийся посетитель она отобразила по 1.

Еще одна проверка - это использовать API Метрики и добавить в запросе параметр ym:s:isNewUser, который показывает, является ли визит первым визитом посетителя, то есть новым. Это можно сделать как с помощью API отчетов, так и через Logs API. Выполнив запрос с фильтром по Client ID, я получил такой результат:

Пример запроса в Colab (API отчетов)

Данные снова подтвердились. Поскольку ym:s:isNewUser = 0, то за выбранный диапазон дат мой визит не является первым и новым, следовательно он - вернувшийся. Ну и на всякий случай я выгрузил для вас статистику, начиная с 29 ноября 2022 года, когда мой профиль еще не был создан в Яндекс.Метрике и не было файла cookie в моем браузере, по 1 марта 2023 года, чтобы показать, для какой даты пользователь будет являться новым, а для какой вернувшимся.

Поскольку 29 ноября данных в Метрике еще не было, то вся статистика ведется именно с 30.11.2022:

Таблица с данными (30 ноября 2022 - 1 марта 2023)

  • index - номер строки;
  • ym:s:date - дата;
  • ym:s:visits - суммарное количество визитов;
  • ym:s:users - количество уникальных посетителей;
  • ym:s:newUsers - является ли визит первым визитом посетителя (1 - да, 0 - нет).

Как видите, какой бы вы диапазон дат в отчете бы не выбрали, пользователь будет новым только в тот день, в который его номер визита и значение ym:s:newUsers равно 1. Во все остальные интервалы времени пользователь уже не является новым, а становится вернувшимся.

Ситуация, когда значение метрик новых посетителей и посетителей совпадает, говорит о том, что пользователи повторно не возвращаются на сайт. В зависимости от специфики сайта - это может быть поводом для его оптимизации. Иногда в Метрике отображается два разных профиля в отчете Посетители и клиенты, но с одинаковым ClientID. В этой статье описаны причины такого поведения.

И, конечно же, не забудьте, что Яндекс.Метрика пользователей считает по уникальным идентификаторам. И поэтому суммарное количество пользователей за выбранный диапазон дат (например, с 1 по 7 марта) не будет равно такому же значению, если вы будете считать их за каждый день по отдельности, а потом суммировать полученное значение. В отчете по посещаемости это особенно заметно:

Количество пользователей за каждый день не равно общему значению в Итого и средние

Так же, как это рассчитывается и отображается в Google Analytics.

Еще в отчете о посещаемости есть показатель Доля новых посетителей:

Доля новых посетителей

Он рассчитывается как отношение общего количества новых посетителей к общему количеству посетителей за выбранный период. Чтобы понять, как рассчитывается это значение, вы можете добавить в отчет сравнение сегментов:

  1. Визиты в которых - Новый посетитель
  2. Не добавлять никаких условий

Сравнение двух сегментов

Тогда вы увидите, как в одном столбце будет отображаться количество новых пользователей, а рядом справа - общее количество пользователей. Отношение новых к общему и есть доля новых.

Получайте бесплатные уроки и фишки

По контекстной, таргетированной рекламе и аналитике