Как передавать заказы из CRM в Яндекс.Метрику: пошаговое руководство

Контент-маркетолог
Стаж 16 лет
Обновлено: 07.03.2025
Содержание
Навигация по статье
Что такое офлайн-конверсии и какие сложности бывают при их оцифровке
  1. Что такое офлайн-конверсии и какие сложности бывают при их оцифровке
  2. Зачем передавать заказы из CRM в Яндекс.Метрику
  3. Способы отправки заказов из CRM в Яндекс Метрику
  4. Кейс: как передавать заказы из CRM в Яндекс.Метрику
  5. Результаты, которых удалось достичь
  6. Рекомендации по настройке

В современном мире аналитики данных важно не только отслеживать онлайн-действия пользователей, но и учитывать офлайн-конверсии, такие как заказы, оплаты и отмены. В этой статье руководитель группы веб-аналитики Kokoc.com Александр Пелевин и веб-аналитик Никита Косцов рассказали, как настроить передачу данных из CRM-системы в Яндекс.Метрику с использованием API.

Что такое офлайн-конверсии и какие сложности бывают при их оцифровке

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

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

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

Сценарий может быть следующим: пользователь, авторизованный в сервисах Яндекс через Яндекс ID и на десктопе, и на смартфоне, заходит на сайт, Метрика присваивает ему ClientID. Далее этот же пользователь приходит в офлайн-точку, и благодаря Яндекс.Картам определяется его местоположение. Он оформляет заказ в магазине/офисе и в момент подтверждения его заказа идет сопоставление данных ClientID Яндекс.Метрики и Яндекс ID на смартфоне, после чего офлайн-конверсия присваивается источнику трафика на сайте.
Александр Пелевин
Руководитель группы веб-аналитики
Александр Пелевин

Читайте также:

Зачем передавать заказы из CRM в Яндекс.Метрику

С помощью Яндекс Метрики можно связывать действия клиентов на сайте и вне интернета и учитывать офлайн-конверсии. Они отслеживаются с помощью целей, для них рассчитываются целевые метрики (конверсия, количество целевых визитов).

Передача этих данных в Яндекс.Метрику позволяет:

  1. Оценить эффективность рекламных кампаний. Вы сможете получить полную картину эффективности рекламных кампаний и воронок продаж, какие объявления привели к реальным продажам, даже если заказ был оформлен офлайн.
  2. Оценить эффективность трафика. Офлайн-конверсии нужно учитывать и передавать, чтобы смотреть на трафик, который пришел с рекламы, но который мы не видим непосредственно в Метрике по различным рода причинам.
  3. Анализировать воронки продаж. Вы получите данные о том, на каком этапе клиенты чаще всего отказываются от покупки.
  4. Улучшить таргетинг. Данные о конверсиях помогут точнее настраивать рекламные кампании.

Способы отправки заказов из CRM в Яндекс Метрику

  1. Вручную через файлы CSV. Нужно подготовить CSV-файл с конверсиями, перейти в Метрику и загрузить файл на странице «Настройка» в блоке «Загрузка офлайн-конверсий».
  2. Через сервер (sftp или https). Подходит для покупок по телефону. Необходимо, чтобы был подключен коллтрекинг и чтобы все конверсии были размечены yclid.
  3. С помощью API Метрики. Подходит для покупок по телефону с выкупом товара. В Метрике должен быть включен учет офлайн-конверсий, а сами конверсии должны быть размечены ClientID/UserID/yclid.
  4. Из CRM-системы по API. Подходит для онлайн-заказов с сайта. Должна быть действующая интеграция между CRM и метрикой. Именно про этот способ мы и хотим поговорить подробно.

Как правило, интернет-магазины подключены к Битрикс24, amoCRM и другим известным на рынке системам. В Метрике есть подробная инструкция по передаче данных. Но часто бывает так, что клиент пользуется самописной кастомной системой, и эти инструкции не всегда актуальны.

Недавно отдел аналитики Kokoc.com провел блестящую работу по передаче офлайн-конверсий из кастомной CRM в Метрику. Решили поделиться нашими инсайтами и полезным опытом — это будет актуально для бизнесов, которые используют самописные CRM. Расскажем пошагово, что мы делали.

Читайте также:

Кейс: как передавать заказы из CRM в Яндекс.Метрику

В мае 2024 к Kokoc Group обратилась компания «Московские окна» — им требовался подрядчик по ведению рекламы в Яндекс.Директ. Уже в начале июне возникла масштабная задача — компания переходила на новый сайт, и нужно было настроить на нем не только события по конверсиям, но и передачу заказов из CRM в Яндекс.Метрику.

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

Для настройки контекста мы настроили стандартные цели, колл-трекинг, бизнес-аналитик со стороны клиента запросил проброс офлайн-конверсий из CRM в Яндекс.Метрику. Мы созвонились с бизнес-аналитиком клиента и выяснили, что у них очень сложная воронка. Статусов по заказам как минимум 10, из них по желанию клиента 4 статуса должны передаваться в Метрику, а остальные 6 нет. Есть еще промежуточные статусы, которые должны передаваться не стандартным способом, а через дополнительный идентификатор JS-события.
Никита Косцов
Веб-аналитик Kokoc.com
Никита Косцов

В массовых CRM это делается довольно легко, но поскольку CRM клиента самописная, кастомная, пришлось углубляться и писать подробное ТЗ, в котором расписан процесс проброса пошагово. Покажем эти шаги.

Шаг 1: подготовка данных в CRM

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

  • id — уникальный идентификатор заказа в CRM.
  • client_uniq_id — идентификатор клиента на стороне CRM
  • client_type — тип клиента (например, CONTACT).
  • create_date_time — дата и время создания заказа.
  • order_status — статус заказа (например, «оплачен», «отменен»).
  • revenue — доход от заказа.
  • contactPhone — номер телефона клиента.
  • utm-метки (utm_source, utm_medium, utm_campaign и т.д.) — данные о рекламных каналах.

Важно было также прописать требования к выгружаемым данным:

  1. Данные из CRM должны быть доступны для скачивания по http(s) ссылке.
  2. Тело ответа должно иметь json формат.
  3. Для получения доступа к данным крайне желательно предусмотреть авторизацию с помощью логина и пароля. В этом случае вместе со ссылкой нужно предоставить логин и пароль. Для реализации авторизации можно создать приложение-endpoint. Пример такого приложения показан в файле rest_api_endpoint_from_crm_jsons.py либо другим удобным способом.
  4. Названия свойств элементов должны быть указаны в camelCase со строчной первой буквой.
  5. Допускается для отдельных сделок или товаров пропускать необязательные свойства, если значения этих свойств не определены.

Последним требованием была выгрузка по срокам — поскольку клиенту нужно было сравнивать количество сделок за предыдущие периоды, до перехода на новый сайт, то сделки, воронки и статусы выгружались с определенной даты, а именно с 01.01.2023 по 31.05.2024 и далее.

Поскольку есть две сущности — заказы и клиенты, то со стороны CRM данные отправляются в виде двух отдельных JSON-файлов.

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

order_status

goal_action_id

Вид контакта (столбец CRM) - не отправляется в метрику, служит фильтром для отправки со стороны CRM

Результат выполнения

(столбец CRM) - не отправляется непосредственно в метрику, служит фильтром для отправки

Заказ создан

IN_PROGRESS

-

окна без монтажа, заказ окон и дверей, скачать окно, отложенный спрос

новый,в работе, перезвонить, создан заказ, отказ

Заказ в другом статусе

Целевые контакты

(какой-то идентификатор JS-события, например, waiting)

окна без монтажа, заказ окон и дверей, скачать окно, отложенный спрос

новый, в работе, перезвонить, создан заказ, создан замер - только эти статусы

Заказ оплачен

PAID

-

окна без монтажа, заказ окон и дверей, скачать окно, отложенный спрос

Клиент оплатил заказ ИЛИ статус создан заказ в воронке “отложенный спрос”

Спам-заказ

SPAM

-

Любая нецелевая воронка

-

Заказ отменен

CANCELLED

-

окна без монтажа, заказ окон и дверей, скачать окно, отложенный спрос

Отказ - только данный статус

Подробная таблица с условиями отправки заказов из CRM в Яндекс.метрику

Шаг 2: настройка передачи данных через API Яндекс.Метрики

Для передачи данных используется API Яндекс.Метрики. Вот основные шаги:

  1. Создание атрибутов. В Метрике необходимо создать атрибуты, которые будут соответствовать полям из CRM (например, «статус заказа», «идентификатор клиента»).
  2. Формирование запроса. Данные передаются методом POST в формате JSON.
  3. Пример тела запроса для заказов:

    {

    "orders": [

    {

    "client_type": "CONTACT",

    "client_uniq_id": "997490",

    "create_date_time": "2025-02-04",

    "currency": "RUB",

    "goals": null,

    "id": "ХХ31218472",

    "order_status": "IN_PROGRESS"

    },

    {

    "client_type": "CONTACT",

    "client_uniq_id": "997469",

    "create_date_time": "2025-02-08",

    "currency": "RUB",

    "goals": null,

    "id": "11930396",

    "order_status": "PAID",

    "revenue": 103518.0

    },

    Пример тела запроса для клиентов:

    {

    "contacts": [

    {

    "client_ids": [

    "1738665738410315049"

    ],

    "create_date_time": "2025-02-04",

    "name": "Заказ окон и дверей",

    "phones": [

    "4991668958"

    ],

    "uniq_id": "997490"

    },

    {

    "client_ids": [

    "1738604159123409313"

    ],

    "create_date_time": "2025-02-04",

    "name": "Заказ окон и дверей",

    "phones": [

    "9686373811"

    ],

    "uniq_id": "997497"

    },

  4. Отправка данных. Запрос отправляется на endpoint API Яндекс.Метрики. Ответ сервера будет содержать информацию об успешности обработки данных.

Шаг 3: управление статусами заказов

Статусы заказов играют ключевую роль в аналитике. В CRM должны быть настроены следующие статусы:

  • Заказ создан (IN_PROGRESS): Заказы, которые находятся в работе.
  • Заказ оплачен (PAID): Заказы, которые были успешно оплачены.
  • Заказ отменен (CANCELLED): Заказы, от которых клиент отказался.
  • Спам-заказ (SPAM): Нецелевые заказы.

Каждый статус передается в Яндекс.Метрику с соответствующим идентификатором цели. Это позволяет аналитикам видеть, на каком этапе воронки находятся заказы.

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

Читайте также:

Бизнес-аналитик получает актуальные данные из CRM в Яндекс.Метрике для анализа статусов заявок, а также может оценить эффективность продаж и рекламных кампаний, основываясь на данных о целевых контактах, созданных и оплаченных заказах, а также отмененных и спам-заявках.

Рассмотрим пример использования: клиент оформил заказ на сайте, но оплатил его через менеджера. В CRM заказ получил статус «Оплачен». Данные о заказе передаются в Яндекс.Метрику, где аналитик видит, что этот заказ был связан с рекламной кампанией в Яндекс.Директе. Это позволяет оценить ROI кампании и принять решение о ее оптимизации.

Результаты, которых удалось достичь

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

До настройки в Метрику пробрасывались только часть статусов заказов, и на момент написания ТЗ для нового сайта требовалось доработать воронку со всеми статусами:

Воронка заказов в Метрике
Воронка заказов в Метрике

После внедрения ТЗ заказы стали показываться в разных статусах:

Статусы заказов в Метрике
Статусы заказов в Метрике

Присоединяйтесь к нашему Telegram-каналу!
Перейти

А что же с бизнесовой точки зрения? Спросим Алену Присенко, руководителя группы контекстной рекламы Kokoc.com:

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

Рекомендации по настройке

  1. Периодичность обновления. Данные должны обновляться ежедневно, чтобы аналитика оставалась актуальной.
  2. Проверка данных. Убедитесь, что все поля заполнены корректно, особенно даты и идентификаторы.
  3. Использование yclid. Для точной привязки заказов к рекламным кампаниям используйте параметр yclid, который передается из Яндекс.Директа. Однако данный параметр может быть заменен на ClientID Яндекс.Метрики.

Оценить статью
1 ответов

Комментарии

Написать комментарий
Популярные статьи автора
Узнайте стоимость продвижения сейчас
Выберите удобный способ связи:
Выберите удобный способ связи:
Введите Ваш номер телефона:
Введите адрес Вашего сайта:
Введите Ваше имя:
Нажимая кнопку «Получить предложение» вы соглашаетесь с Политикой конфиденциальности.
Введите Ваш Email:
Введите адрес Вашего сайта:
Введите Ваше имя:
Нажимая кнопку «Получить предложение» вы соглашаетесь с Политикой конфиденциальности.
Оперативно отвечаем в рабочее время: с 10:00 до 19:00
Оперативно отвечаем в рабочее время: с 10:00 до 19:00
Вы уже проголосовали
+7 (495) 772 97 91
Возьмем ТОП вместе?
Нажимая кнопку «Оставить заявку» вы соглашаетесь с Политикой конфиденциальности.
Цена лидов в различных нишах
Тематика Стоимость лида (Москва/Россия)
Отдых 500
Мебель 350
Оборудование 500
Бансковские услуги 500
Безопасность 500
Организация мероприятий, концерты, праздники 500
Недвижимость 500
Строительство и отделка 500
Грузоперевозки 500
Доставка еды 350
Юридические услуги 500
Бухгалтерские услуги 500
Пластиковые окна 500
Детские товары 350
Автозапчасти 350
Образование 500
Возьмем ТОП вместе?
Нажимая кнопку «Оставить заявку» вы соглашаетесь с Политикой конфиденциальности.
Оставить заявку сейчас
Выберите интересующую услугу *
Нажимая кнопку «Оставить заявку» вы соглашаетесь с Политикой конфиденциальности.
Подпишитесь на рассылку
Не пропустите самое интересное из мира SEO и Digital. Только актуальные и самые крутые статьи.
Заявка успешно отправлена!
Наши сотрудники уже приступили к анализу Вашего сайта. Наш менеджер свяжется с вами в течение дня, спасибо!
А что ответит ваш SEO-шник? «Пройти тест и получить 30% скидку» 1Вам доступен бонус и скидка