Сколько раз клиент посещает сайт застройщика перед звонком

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

Чтобы оценить, как долго клиент принимает решение о звонке, предлагаю покопаться в сырых данных Метрики и найти, с какого по счёту визита клиент таки звонит. Статья будет полезна тем, кто хочет начать работать с Logs API Метрики и Google BigQuery.

Сначала достанем нужные данные из Logs API: будем использовать новый сервис Renta. Данные застройщика с обычными рекламными каналами: контекст, медийка, таргет, фб, вк.

В Ренте легко доставать данные из разных систем и отправлять в свою базу данных

Выбираете номер счётчика;
источник Visits;
поля: ym:s:visitID, ym:s:clientID, ym:s:goalsID;
период наблюдения и время обновления данных

Данные отправим в BigQuery. Исходные данные выглядят так:

Первый столбец — уникальный ID визита, второй — ID пользователя, третий — какие цели, заданные в Метрике, достиг пользователь за этот визит. (Для отслеживания звонков нужен динамический колтрекинг и интеграция с Метрикой.)

Создадим первый запрос: оставим только пользователей кто звонил (в моём случае достиг цели с ID 34341129) и пронумеруем их визиты по дате. Поскольку Метрика присваивает номера визитам по порядку, поле «Дата и время» нам не понадобится — достаточно отсортировать от возрастанию visitID.

SELECT
      all.clientid AS clientid,
      all.visitid,
      goalsid,
      ROW_NUMBER() OVER (PARTITION BY all.clientid ORDER BY all.visitid) AS number_of_visit
    FROM (
      SELECT
        *
      FROM
        [Renta_dataset.ym_logs_XXXXX]) all
    INNER JOIN (
      SELECT
        clientid
      FROM
        [Renta_dataset.ym_logs_XXXXX]
      WHERE
        goalsID LIKE '%34341129%'
      GROUP BY
        clientid) clients_with_leads
    ON
      all.clientid = clients_with_leads.clientid
    ORDER BY
      all.clientid,
      number_of_visit

Замените [Renta_dataset.ym_logs_XXXXX] на название вашей таблицы в BigQuery, а в goalsID LIKE ’%34341129%’ укажите ваш ID цели в Метрике.

Получим такую таблицу:

Первый столбец — ID визита, второй — ID пользователя, кто хоть раз позвонил, третий — достигнутые цели за визит, четвёртый — порядковый номер визита пользователя

Теперь из предыдущего запроса нам надо найти номер визита, когда клиент позвонил впервые:

SELECT
    clientid,
    MIN(number_of_visit) as FirstCallVisitNumber
  FROM ( /*предыдущий запрос*/)
  WHERE
    goalsID LIKE '%34341129%'
  GROUP BY
    clientid

Получаем табличку: ID пользователя с номером визита его первого звонка:

Почти всё — считаем количество пользователей для каждого Номера визита пользователя, когда он первый раз позвонил

SELECT
  FirstCallVisitNumber,
  COUNT(clientid) AS clients
FROM (/*предыдущий запрос*/)
GROUP BY
  FirstCallVisitNumber
ORDER BY
  FirstCallVisitNumber
Результат запроса

Из BigQuery легко отправить данные в Google Data Studio, чтобы сделать простенькую визуализацию:

В моём примере — на данных московского застройщика — 70% пользователей звонит после первого визита на сайт, почти 90% — не позже второго. Я повторил упражнение для нескольких других застройщиков — результаты похожи.

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

Поделиться
Отправить
Запинить
2017  
Популярное