
Статья подготовлена по состоянию на 29.09.2025. Проверяйте актуальность информации в официальной документации Яндекс Метрики и CRM-систем, так как форматы API и правила работы со сквозной аналитикой могут изменяться.
Этот материал — подробная инструкция, как связать поведение пользователя на сайте (Яндекс Метрика), заявки и продажи в CRM, а также рекламные кампании через UTM-метки.
чёткий план внедрения с чек-листами и типовыми ошибками;
готовые сниппеты кода для сбора ClientID (идентификатора посетителя Метрики) и отправки в CRM;
специфику импорта офлайн-данных (заявки/заказы) в Метрику: сроки, форматы, статусы;
рекомендации по UTM-разметке, макросам Директа, отчётам для контроля качества данных.
Цель сквозной аналитики — увидеть путь пользователя:
клик по объявлению → визиты на сайте → лид/сделка в CRM → выручка/маржа.
Ключ к связке — общий идентификатор:
ClientID — уникальный ID посетителя браузера (cookie _ym_uid). Рекомендуется как основной идентификатор, его можно получить через getClientID API Метрики.
UserID — внутренний ID авторизованного пользователя (опционально).
yclid — ID клика из Яндекс Директа.
Сроки привязки:
офлайн-данные добавляются к сессиям в пределах 21 дня от визита;
заказы можно обновлять до 111 дней после визита.
Сайт: собираем ClientID и (при необходимости) UserID.
Формы: добавляем скрытые поля и передаём идентификаторы в CRM.
CRM/ETL: ежедневно формируем JSON/CSV с заказами и загружаем их в Метрику через API.
Отчёты: проверяем данные в «Источниках заказов из CRM» и «Источниках, расходах и ROI».

<script> (function () { var COUNTER_ID = 12345678; // замените на ID вашего счётчика
function readYmUidFromCookie() { var m = document.cookie.match('(?:^|;)\\s*_ym_uid=([^;]*)'); return m ? decodeURIComponent(m[1]) : null; }
function setField(id, val) { var el = document.getElementById(id); if (el && val) { el.value = val; } }
function setClientIdSafe(clientId) { if (!clientId) clientId = readYmUidFromCookie(); setField('ym_client_id', clientId); }
if (typeof ym === 'function') { try { ym(COUNTER_ID, 'getClientID', function(clientId) { setClientIdSafe(clientId); }); } catch (e) { setClientIdSafe(null); } } else { setTimeout(function () { setClientIdSafe(null); }, 800); } })();</script>
order_id — ID заказа;
client_crm_id — ID клиента;
create_date_time — дата/время создания заказа (часовой пояс счётчика);
order_status — статус заказа;
revenue / final_order_price — выручка;
cost — себестоимость (опционально);
список товаров (рекомендуется);
идентификаторы: ClientID (лучше всего), либо email/phone (в хеше), либо UserID.
Метрика поддерживает: PAID, IN_PROGRESS, CANCELLED, SPAM, OTHER.
Сопоставьте их со своими CRM-статусами через API /schema/order_statuses.
добавление заказов — до 21 дня от визита;
обновление заказов — до 111 дней.
Получите OAuth-токен и доступ к счётчику.
Ежедневно формируйте JSON/CSV и отправляйте:POST https://api-metrika.yandex.net/cdp/api/v1/counter/{counterId}/data/orders/json
Для офлайн-конверсий целей используйте метод offline_conversions/upload.
Если CRM выгружает только файлы → используйте коннектор, который:
забирает файл,
проверяет данные,
отправляет их в Метрику через API.
Базовый набор: utm_source, utm_medium, utm_campaign, utm_content, utm_term.
Шаблон для Директа:?utm_source=yandex&utm_medium=cpc&utm_campaign={campaign_id}&utm_content={ad_id}&utm_term={keyword}
Советы:
используйте латиницу и единый регистр;
заведите справочник значений для utm_medium;
в utm_content удобно кодировать сегменты (например, seg--retarget_a).
Статусы загрузок смотрите в интерфейсе счётчика или через API.
Основные отчёты: «Источники заказов из CRM» и «Источники, расходы и ROI».
Проверяйте достижение целей типа JavaScript-событие.
Для детальной диагностики используйте Reports API и Logs API.

1. Не передали ClientID в CRM.
Что будет: Метрика не сможет связать заказ с визитом, реклама покажет клики без продаж.
Как правильно: во все формы на сайте добавьте скрытое поле ym_client_id и передавайте его в CRM. Проверяйте, чтобы это поле не было пустым.
2. Перепутали часовой пояс или формат даты.
Что будет: заказ попадёт в отчёт в неправильный день или не загрузится.
Как правильно: указывайте дату и время строго в формате 2025-09-29T14:00:00+03:00 и с тем же часовым поясом, что стоит в счётчике Метрики.
3. Не сопоставили статусы заказов.
Что будет: все заказы будут отмечены как «прочие», вы не увидите конверсии «Оплачен».
Как правильно: заранее составьте таблицу соответствия «статус в CRM → статус в Метрике» (например, «Оплачен → PAID»).
4. Загрузили заказы позже срока.
Что будет: данные не привяжутся к визитам.
Как правильно: загружайте данные каждый день. Метрика принимает новые заказы только до 21 дня от визита, обновления — до 111 дней.
5. Дублировали расходы Директа.
Что будет: расходы в отчётах удвоятся, ROI станет некорректным.
Как правильно: не загружайте расходы вручную, если у вас включена автоматическая интеграция с Директом.
6. Разметили кампании по-разному.
Что будет: в отчётах появятся десятки разных источников вроде cpc, CPC, клик.
Как правильно: используйте только латиницу, один регистр (лучше строчные буквы) и общий справочник UTM-меток.
7. Передали персональные данные в чистом виде.
Что будет: нарушение закона о персональных данных и блокировка загрузки.
Как правильно: не передавайте имена и телефоны как есть. Используйте только e-mail и телефон, которые Метрика автоматически шифрует.
8. Сделали файл с ошибками.
Что будет: загрузка не пройдёт, данные не попадут в отчёты.
Как правильно: сначала протестируйте загрузку на 2–3 заказах, убедитесь, что они появились в отчётах, и только потом загружайте весь массив.
9. Перепутали счётчик или доступ.
Что будет: данные улетят не туда или вовсе не загрузятся.
Как правильно: проверяйте перед загрузкой, что используете правильный ID счётчика и токен доступа именно от него.
На стороне сайта:
установлен счётчик Метрики;
во всех формах есть поле ym_client_id;
работает скрипт getClientID (есть резерв через cookie).
На стороне CRM:
заведены поля под ClientID/UserID;
лиды и заказы принимают эти значения;
статусы сопоставлены с типами Метрики.
ETL:
ежедневное формирование JSON/CSV;
загрузка через API;
при необходимости — офлайн-конверсии.
UTM:
все кампании размечены корректно.
Контроль:
статусы загрузок проверены;
отчёты показывают корректные данные.
Импорт заказов (JSON):POST https://api-metrika.yandex.net/cdp/api/v1/counter/{counterId}/data/orders/json
Импорт офлайн-конверсий (CSV):POST https://api-metrika.yandex.net/management/v1/counter/{counterId}/offline_conversions/upload
Сопоставление статусов:POST /cdp/api/v1/counter/{counterId}/schema/order_statuses
Emails и телефоны можно передавать в открытом виде — Метрика сама хэширует их перед обработкой.
Не передавайте лишние персональные данные.
Основным ключом для связки используйте ClientID.
Добавьте скрытое поле ym_client_id и скрипт getClientID.
Создайте поле ym_client_id в CRM и сохраняйте его в сделках.
Выгрузите несколько заказов за последние 2 недели и загрузите через API.
Проверьте отчёт «Источники заказов из CRM».
Нужно ли обязательно передавать ClientID?
Нет, можно использовать e-mail или телефон, но ClientID всегда есть у каждого визита и даёт самую точную связку заказов с рекламой.
Что если заказ был в офлайне?
Если визит с ClientID был меньше 21 дня назад, заказ привяжется к нему. Если визита не было или срок больше — заказ попадёт в отчёт без источника.
Какая цель нужна для офлайн-конверсии?
Только JavaScript-событие. Метрика не примет загрузку по целям «Посещение страницы» или «Количество просмотров».
Сколько времени обрабатывается загрузка?
До 2 часов: небольшие файлы — быстрее, крупные партии заказов — дольше.
Интеграция Метрики с CRM через ClientID и UTM-метки — это основа сквозной аналитики. Настроив всего несколько шагов, вы сможете видеть, какие рекламные кампании реально приносят деньги, а какие только создают клики. Для маркетолога это — инструмент контроля эффективности, для бизнеса — основа оптимизации бюджета. Чем раньше вы выстроите связку «сайт → CRM → Метрика», тем быстрее получите честную картину окупаемости рекламы.
статья 10 min read
Как и зачем внедрять data-driven атрибуцию в бизнес: 5 основных шагов
Атрибуция на основе данных — мощное решение для контроля эффективности и оптимизации рекламы. Но как его интегрировать и можно ли это сделать самостоятельно? В этой статье мы вместе преодолеем пять основных препятствий на пути к внедрению атрибуции — и превратим их в пять конкретных шагов для реализации.
оптимизация 12 min read
Больше лидов — меньше CPA: первый и единственный гайд по оптимизации медийной рекламы от CyberBrain
Медийная реклама должна работать на продажи — и точка. В статье вас ждёт описание фреймворка, который служит именно этой цели.
проблемы и решения 3 min read
Анализ расхождений трекера и кабинетов
Системный подход к оптимизации медийной рекламы невозможен без чистых данных. Но что если данные трекера и рекламного кабинета не совпадают? Рассказываем, откуда берутся расхождения и что с этим делать.
памятка 16 min read
Ошибки при внедрении AI в маркетинге
Искусственный интеллект стал одной из самых обсуждаемых тем в маркетинге. Компании активно внедряют AI-решения для автоматизации аналитики, медиабаинга и персонализации, но только единицы получают реальную прибыль. Почему одни проекты приносят ROI, а другие заканчиваются пилотом? Какие ошибки чаще всего совершают бренды и агентства?
памятка 18 min read
Как защитить корпоративные данные при работе с AI
Как компании теряют данные, работая с искусственным интеллектом? В материале — реальные кейсы Microsoft, Samsung, Toyota и OpenAI, анализ причин утечек и подробное руководство: как выстроить политику безопасности, какие технологии действительно работают и какие ошибки совершают даже крупные корпорации.
памятка 10 min read
AI-офис: строить команду внутри или покупать готовое решение
Компании всё чаще задумываются, как работать с искусственным интеллектом — собирать собственную команду или подключать внешних специалистов. В статье разбираем плюсы и минусы обоих подходов, показываем, почему чистые модели почти не работают, и объясняем, как правильно выстроить гибрид: что держать внутри, а что можно спокойно отдавать наружу.