двокат клиента
Меню
Веб-аналитика

Как проверить e-commerce-воронку в Яндекс Метрике: от списка товара до покупки

Если в e-commerce-воронке провалился один шаг, не спешите искать проблему в цене, интерфейсе или спросе. Сначала убедитесь, что Метрика вообще увидела событие: оно сработало вовремя, сохранило нужные данные и дошло до отчёта. В статье — маршрут одного тестового заказа, который помогает не спутать сбой аналитики с реальным поведением покупателей.

О чём эта статья

Провал в отчёте ещё не доказывает провал воронки

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

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

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

Что на самом деле проверяет такой тест

Метрика не видит покупателя за экраном. Она знает только то, что передал сайт: показ, клик, карточку, корзину, заказ. Надёжная проверка связывает четыре вещи: действие на странице, объект в dataLayer, запись в отладчике и данные в отчёте. Одно звено не заменяет другое.

Техническую часть проходит аналитик или разработчик. Руководителю нужна не простыня из консоли, а короткая карта: где цепочка оборвалась, что уже доказано и кому ставить задачу. И только после этого имеет смысл обсуждать, почему люди не покупают.

Из каких событий складывается путь товара

В базовой цепочке impressions отмечает показ товара в списке, click фиксирует клик, detail сообщает об открытии карточки, add — о добавлении в корзину, а purchase подтверждает заказ. Если проверяем удаление, добавляем remove. Каждое событие должно сработать в свой момент: клик по ссылке ещё не означает, что карточка загрузилась.

Внутри каждого события лежат данные о товаре. Для сверки нужны id или name и, по ситуации, list, position, price, quantity, variant. currencyCode стоит уровнем выше — внутри общего объекта ecommerce.

Лучший якорь для теста — устойчивый ID: он не должен меняться между списком, карточкой, корзиной и покупкой. Яндекс также рекомендует сохранять list после просмотра списка.

У покупки есть второй ориентир — actionField.id. Сайт отправляет его в Метрику, а команда по нему находит заказ в закрытом отчёте. С товарным ID это значение не связано.

До старта: три ID и один безопасный заказ

Чтобы потом не искать один номер вместо другого, заранее разведите три обозначения:

  • код теста, например TEST-01, связывает внутренний журнал и задачи, но может вообще не уходить в Метрику;
  • ID товара тянется через все товарные события и показывает, что речь по-прежнему об одном товаре;
  • синтетический ID покупки уходит в purchase.actionField.id, а затем помогает найти тестовый заказ в отчёте.

Если тест всё же использует рабочий номер заказа, оставьте его в закрытом доказательстве. В общей задаче номер можно замаскировать, но в Метрике искать придётся то значение, которое сайт действительно отправил.

Заранее договоритесь, какой товар брать, какую цену и валюту ожидать, из какого списка начинать путь и как безопасно отменить заказ. Данные клиента, платёжные сведения и токены из URL в журнал не переносят.

Затем сверьте счётчик и сайт. Электронная коммерция должна быть включена, а имя контейнера — совпадать в обоих местах. Обычно это dataLayer; параметр счётчика задают как ecommerce:true либо указывают другое имя.

Контейнер нужен на всём маршруте, а новые объекты сайт добавляет методом push. Отправку нельзя откладывать до ухода со страницы: следующая страница может открыться раньше, и событие потеряется по дороге.

Один маршрут — от списка до подтверждённого заказа

Здесь важна последовательность: один товар, один маршрут, никаких прыжков через шаг.

  1. Откройте выбранный список и убедитесь, что тестовый товар действительно показан.
  2. Перейдите в карточку именно из этого списка, а не по прямой ссылке.
  3. Добавьте товар в корзину; если в сценарии есть удаление, удалите его и положите снова.
  4. Доведите заказ до экрана, где покупка подтверждена.

Рядом с каждым шагом запишите время в одном часовом поясе. Иначе соседние тесты легко принять за одну цепочку.

Если на сайте стоит новый код счётчика, добавьте к адресу _ym_debug=2: после действия событие должно появиться в панели. Панель не открылась — переходите к _ym_debug=1, включайте сохранение журнала и смотрите стандартный контейнер через JSON.stringify(dataLayer).

Сообщение dataLayer is not defined означает, что массива на странице нет. Пустой [] говорит другое: контейнер есть, но выполненное действие ничего в него не добавило. Если объект найден, сравните его целиком с ожиданием — одной строки ecommerce мало.

В журнал перенесите три вещи: ожидаемый объект, фактический объект и отметку отладчика. Между соседними шагами сверяйте товарный ID и нужные поля, а ecommerce.currencyCode проверяйте на уровне всего объекта.

Расхождение — это ещё не диагноз. Новый ID может появиться из-за варианта товара, другого источника каталога или ошибки маппинга. Пока код и журналы не проверены, это три версии, а не три факта.

Когда и где искать тест в отчётах

Не ищите событие в отчёте сразу после клика. Обычно Метрике нужно 10–15 минут, иногда больше. Запланируйте две проверки: первую после обычного окна обработки, вторую — если данных всё ещё нет.

Отчёты собирают данные по-разному. «Списки товаров» опирается на список, позицию и название, а «Популярные товары» и «Товары в корзине» — на название. Поэтому общая строка отчёта не всегда принадлежит именно вашему тесту. Точный ID покупки ищут в «Содержимом заказов», остальные шаги связывают по времени, отладчику и доступным группировкам.

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

Матрица сквозной проверки e-commerce-событий
ШагОжидаемый объектМомент отправкиИдентификаторы и поляПроверка в отладчикеПроверка в отчётеДопустимый вывод
Показ в спискеecommerce.impressions[]После показа товара в выбранном спискеТоварный ID или name, list, position, price; ecommerce.currencyCodeОбъект есть, значения совпадают с ожиданиемСписки товаров: найти list, позицию и название товара; проверить учтённый показ в окне тестаПодтверждён учёт показа; при фоновом трафике строка отчёта не доказывает связь с одним тестом
Клик из спискаecommerce.click.products[]При клике по тестовому товаруТот же товарный ID или name, list и positionСобытие зарегистрировано до переходаСписки товаров: в той же группировке проверить клик по товаруМожно сопоставить показ и клик, но не открытие карточки
Открытие карточкиecommerce.detail.products[]После открытия страницы товараТот же товарный ID или name, list, price, variantОбъект появился на карточкеПопулярные товары: найти название товара и учтённый просмотрПодтверждён учёт просмотра карточки в проверенном сценарии
Добавление в корзинуecommerce.add.products[]После фактического добавленияТот же товарный ID или name, quantity, price, listОбъект соответствует состоянию корзиныТовары в корзине: найти название и проверить количество добавлений в окне тестаПодтверждён учёт добавления, но не покупки
Удаление из корзиныecommerce.remove.products[]После фактического удаленияТот же товарный ID или name и удалённое quantityОтправлено одно ожидаемое удалениеТовары в корзине: проверить изменение количества с учётом того, что удаление вычитается из добавленийПодтверждён учёт удаления в выбранном сценарии
Подтверждение заказаecommerce.purchase.actionField и products[]После подтверждения тестового заказаТот же товарный ID или name, quantity, price, ecommerce.currencyCode и точный синтетический actionField.idID покупки и товары совпадают с тестомСодержимое заказов: найти точный ID покупки и состав; Заказанные товары: сверить название и количествоПодтверждён учёт тестовой покупки, но не полнота всех заказов

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

Как превратить «не сходится» в нормальную задачу

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

Если события нет в dataLayer, укажите страницу, действие, ожидаемый объект и время теста. После исправления тот же шаг должен добавить объект в контейнер.

Объект в контейнере есть, а отладчик его не видит. Проверять нужно имя контейнера, параметр ecommerce, структуру объекта и момент перехода. Критерий приёмки простой: событие появляется при повторе.

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

Если товар по дороге сменил ID, сохраните оба значения и страницы, где они появились. Команде нужен либо один ID на всём пути, либо понятное и проверяемое правило связи вариантов.

Если покупка задублировалась, сравните время отправки и actionField.id. Перезагрузка страницы, второй вызов скрипта и повторное использование ID остаются версиями, пока их не подтвердят журналы.

Если сумма стала нулевой, проверьте ecommerce.currencyCode, price, quantity и состав покупки. Само наличие purchase ещё ничего не говорит о корректности выручки.

Руководителю в итоге нужен короткий разбор: какие шаги подтверждены, где найден первый разрыв, как он меняет чтение воронки, кто отвечает за исправление и по какому признаку пройдёт повторный тест.

Где заканчивается проверка аналитики

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

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

Когда измерение подтверждено, разрыв воронки наконец становится основанием для продуктовой гипотезы — но всё ещё не готовой причиной. Теперь его можно сопоставить с поведением, условиями покупки, ценой и ассортиментом, а затем проверить предполагаемый механизм.

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

Что должно остаться после проверки

  • имя контейнера совпало в настройках счётчика и в коде сайта;
  • товар, цена, валюта, список и три вида идентификаторов были записаны до запуска;
  • у каждого шага есть ожидаемый объект, время и фактические значения;
  • impressions, click, detail, add, при необходимости remove и purchase появились в отладчике;
  • товар сохранил один ID между событиями, а покупка получила отдельный actionField.id;
  • после обработки каждый шаг проверен в подходящем отчёте с учётом его группировок;
  • наблюдаемый факт не смешан с предполагаемой причиной;
  • персональные данные, токены и исходный номер рабочего заказа не ушли в общий документ;
  • после исправления команда провела новый тест и сохранила результат.

Главный итог — заполненный обезличенный лог, который другой специалист сможет повторить. Без такого лога у нас есть полезная методика, но нет оснований судить о настройке конкретного магазина.

Основа материала

Источники

  1. Передача данных об электронной коммерции. Формат контейнера, события, товарные поля и правильный момент отправки.

    от 31 августа 2026 года
  2. Проверка настройки электронной коммерции. Способы проверить счётчик, контейнер, панель _ym_debug и консоль.

    от 31 августа 2026 года
  3. Отчёты по электронной коммерции. Какие отчёты отвечают за товарные списки, корзину и покупку.

    от 31 августа 2026 года
  4. Электронная коммерция — шаблоны API отчётов. Группировки и показатели, из которых собраны стандартные e-commerce-отчёты.

    от 31 августа 2026 года
  5. Как работает Метрика. Как обрабатываются данные и почему в отчётах бывает задержка 10–15 минут.

    от 31 августа 2026 года

Коротко

  1. Провал в отчёте сначала проверяют как возможный сбой измерения, а не как доказанный уход покупателя.
  2. Тест считается сквозным, когда действие видно на сайте, в dataLayer, отладчике и подходящем отчёте.
  3. Не путайте товарный ID, ID покупки и внутренний код теста: у каждого своя роль.
  4. Один успешный маршрут подтверждает только этот сценарий; причины потерь всё равно требуют отдельных гипотез.
  5. Пока нет обезличенного лога, нельзя уверенно судить о настройке конкретного магазина.