Блог Яндекс.Метрики

июль 2016
ClickHouse - прошлое, настоящее и будущее. Слушайте подкаст SDCast
21 июля 2016, 19:01

Недавно Яндекс открыл в общий доступ аналитическую СУБД ClickHouse, на которой работает в том числе и Яндекс.Метрика. Новость вызвала волну обсуждений и вопросов. На многие из них в подкасте Software Development Podcast отвечает Виктор Тарнавский, руководитель Яндекс.Метрики. 

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

Послушать и скачать подкаст можно здесь.

Нет комментариев
ClickHouse,СУБД,подкаст,база данных
Практикум. Параметры посетителей: передача данных онлайн
28 июля 2016, 16:00

По умолчанию Метрика собирает множество данных о посетителях сайта — их пол, интересы, историю визитов и другие сведения. А у вас как у владельца бизнеса есть масса другой полезной информации о клиентах: наличие карты лояльности, марка автомобиля или срок действия полиса. Если эти знания совместить с данными, которые уже есть в отчётах, можно выделять самые разные группы посетителей для анализа и прицельной рекламы. Например, сравнить поведение клиентов с дисконтной картой и без. И клиентам с карточкой, которые давно не заходили на сайт, точечно предложить специальную скидку.     

Чтобы добавить собственные данные о клиентах в отчёты, нужно настроить передачу в Метрику параметров посетителей: их можно отправлять онлайн (пока посетитель на сайте) или офлайн, загружая csv-файл.

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

Передаём в отчёты данные из собственной базы 

Для примера возьмём интернет-магазин, у которого есть два типа покупателей — «обычные» и «vip». Данные о статусе клиента хранятся в собственной базе сайта. После того, как посетитель авторизуется на сайте, на каждой странице вместо ссылки «Войти» он будет видеть своё имя или логин, а рядом — свой особый статус, если он у него есть: Василий / VIP.

Чтобы отправлять в Метрику статус клиента, на все страницы сайта нужно добавить код, который будет вызывать специальный метод userParams — он и будет передавать данные о статусе.

Для «особых» клиентов метод будет принимать вот такой вид:

yaCounterXXXXXX.userParams({     
            vip_status: true
});

А так метод будет выглядеть, когда на сайте авторизуется «обычный» посетитель:

yaCounterXXXXXX.userParams({
            vip_status: false
});

В интерфейсе Метрики ничего настраивать не нужно. Новый параметр автоматически станет доступен в любом отчёте в качестве условия сегментации, как только значение параметра хотя бы один раз будет передано в Метрику:



А проверить, что данные передаются корректно, можно в специальном отчёте «Параметры посетителей» (в разделе «Содержание»):



Если у «обычного» клиента появится особый статус, то при его следующей авторизации на сайте метод userParams просто отправит в Метрику изменившиеся данные. При этом новый статус распространится на всю историю визитов этого посетителя — как если бы он был vip-клиентом изначально.
 

Онлайн-события: как отправлять только нужные данные

С помощью метода userParams можно передавать любые данные из вашей собственной базы, которые отображаются в браузере посетителя. Этот же метод позволяет работать с данными, которые появляются прямо в момент взаимодействия с сайтом (например, нажатие на кнопку), и тут важно не запутаться: такие данные могут относиться и к посетителю, и к конкретному визиту. И если событие визита передавать в качестве параметра посетителя, в отчётах будут собираться некорректные данные. Чтобы этого избежать, полезно помнить про уровни данных, с которыми работает Метрика.

Базовый уровень — это просмотр страницы. Следующий уровень — визит, то есть несколько просмотров от одного посетителя за один раз. А все визиты одного посетителя Метрика провязывает в единую историю посещений, которая составляет уровень посетителя.

Каждому уровню данных соответствуют свои атрибуты. О просмотре страницы известно, когда он был сделан и откуда перешёл посетитель. Среди характеристик визита — его дата/время, длительность, география, браузер и другие данные. А про посетителей Метрика знает, например, их пол, долгосрочные интересы, дату первого визита и время с последнего визита.

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

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


Примеры передачи событий

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

yaCounterXXXXXX.userParams({
            status: "client"
});

yaCounterXXXXXX.userParams({
             status: "partner"
});


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

yaCounterXXXXXX.userParams({
            pet: "собака"
});


3. Предположим, что компания по доставке еды хочет отдельно анализировать доход от посетителей в разных районах города. При этом известно, что клиенты обычно заказывают доставку на один и тот же адрес — так что район можно вынести на уровень посетителя:

yaCounterXXXXXX.userParams({
            delivery: "арбат"
});

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

В следующих практикумах мы подробно поговорим про загрузку данных офлайн и разберём частые вопросы по обоим способам работы с параметрами посетителей.  

28 комментариев
параметры посетителей
Цикл вебинаров "Знакомство с Яндекс.Метрикой"
29 июля 2016, 19:09

Каждый день в нашу службу поддержки поступают вопросы о регистрации счетчика, настройке целей и формировании отчетов.
Мы решили запустить серию вебинаров по Яндекс.Метрике. Весь август мы будем рассказывать о начале работы с Метрикой, основных настройках и возможностях.

Первый вебинар состоится уже 5 августа, в 12:00 (по московскому времени). Зарегистрироваться на него и другие вебинары можно здесь.

На следующих вебинарах цикла вы узнаете о том, как настроить цели в Яндекс.Метрике, познакомитесь с отчетами и попробуете настроить их под свои нужды:
12 августа, "Настройка целей в Яндекс.Метрике"
19 августа, "Знакомство с интерфейсом Яндекс.Метрики"
26 августа, "Как настроить Яндекс.Метрику "под себя": дашборды, отчеты, сегменты"

Ждем вас в эфире!

22 комментария
вебинар,настройка счетчика,цели