Яндекс.Метрика eCommerce: электронная коммерция и передача данных о заказах
1. Архитектура и принцип работы
Сайт подключает счётчик Метрики и отправляет события через JavaScript-метод reachGoal с параметром params, где лежит объект ecommerce. Для каждого действия задаётся тип: detail (просмотр товара), add (добавление в корзину), remove, purchase (покупка). В объекте передаются идентификатор заказа actionField.id, выручка revenue, валюта currencyCode, а в массиве products — позиции: id, name, price, quantity, category, brand, variant. Метрика принимает данные, привязывает их к визиту и сессии, после чего в отчётах «Электронная коммерция» и «Товары» показывает выручку, число покупок, конверсию карточек и корзины. Для purchase важно отправлять событие один раз на странице «Спасибо», иначе заказ задвоится. Данные попадают в отчёты с задержкой до нескольких часов, а цели eCommerce нужно активировать в настройках счётчика.
2. Математическая механика и триггеры ранжирования
Метрика хранит eCommerce-события на уровне визита и хитов. Каждое событие получает timestamp, clientID (cookie _ym_uid), visitID и параметры счётчика. Для purchase Метрика дедуплицирует по actionField.id в рамках clientID: повторная отправка того же id в течение сессии не создаёт новую покупку, но лучше контролировать на стороне сайта. Выручка считается как сумма price × quantity по products, а revenue в actionField должен совпадать с ней, иначе отчёты разойдутся. Средний чек = revenue / число purchase. CR корзины = purchase / add × 100%. CR карточки = add / detail × 100%. Для сегментации по SEO используют отчёт «Источники, сводка» с фильтром по группе каналов «Органический поиск» и разрезом по цели eCommerce. В отчёте «Товары» доступны метрики: показы в карточке, добавления в корзину, покупки, выручка, доля выручки. Для сквозной аналитики clientID связывают с CRM через Measurement Protocol или серверную отправку, чтобы не терять заказы при блокировке JS.
3. Специфика в Яндекс (YATI) vs Google
В Google Analytics 4 eCommerce построен на событиях view_item, add_to_cart, begin_checkout, purchase с вложенным массивом items и обязательным параметром currency. В Метрике исторически используется reachGoal с params.ecommerce и типами detail/add/purchase, хотя есть и автоматический eCommerce через dataLayer. GA4 считает purchase по transaction_id и отбрасывает дубли, Метрика дедуплицирует по actionField.id. GA4 по умолчанию хранит данные 14 месяцев, Метрика — до 3 лет в зависимости от тарифа. В GA4 отчёты по товарам строятся в Explorations, в Метрике — готовые отчёты «Электронная коммерция» и «Товары». Для российского рынка Метрика ближе к реалиям: учитывает визиты без cookie аккуратнее, интегрируется с Директом и Wordstat, а для SEO-магазина связка «Метрика + Search Console» даёт запросы к выручке.
4. Нормативы SLA и диагностическая матрица
| Параметр / Метрика | Эталон по SLA | Критическая ошибка |
|---|---|---|
| Доля заказов с eCommerce-событием | ≥ 98% | < 90% |
| Расхождение выручки Метрика vs CRM | ≤ 3% | > 10% |
| CR корзины (purchase / add) | 30–60% | < 15% |
5. Пошаговый инженерный протокол внедрения
- Проверьте, что цель eCommerce активирована в настройках счётчика, а на странице «Спасибо» событие purchase отправляется один раз с уникальным actionField.id и полным массивом products.
- Сверьте revenue из Метрики с выручкой в CRM или бэкенде за неделю: расхождение больше 3–5% указывает на потерю событий, дубли или неверную валюту.
- Постройте сегмент «Органический поиск» и в отчёте «Товары» найдите позиции с высоким detail и низким add — это кандидаты на переработку карточки, цены или наличия.
- Свяжите clientID Метрики с заказами в CRM и передавайте офлайн-статусы оплаты, чтобы считать реальную выручку от SEO, а не только оформленные заказы.
// Отправка purchase в Яндекс.Метрику
yaCounter(XXXXXX, 'reachGoal', 'purchase', {
ecommerce: {
currencyCode: 'RUB',
purchase: {
actionField: { id: 'ORDER-12345', revenue: 4990, coupon: 'SEO10' },
products: [
{ id: 'SKU-77', name: 'Кроссовки Run', price: 2495, quantity: 2, category: 'Обувь', brand: 'RunLab', variant: 'чёрный' }
]
}
}
});
// Проверка: revenue === sum(price * quantity) => 2495 * 2 = 4990
6. Типичные ошибки при оптимизации
- Отправка purchase на каждом шаге оформления или при перезагрузке страницы «Спасибо» — заказы задваиваются, средний чек и выручка искажаются.
- Несовпадение revenue в actionField и суммы price × quantity в products — отчёты «Товары» и «Электронная коммерция» показывают разные цифры.
- Отсутствие category и brand в products — нельзя разложить выручку по категориям и брендам, а значит, не видно, какие SEO-лендинги приносят деньги.
