Мы часто сталкиваемся с ситуацией, когда стандартные автоцели Яндекс.Метрики на сайтах 1С-Битрикс пропускают конверсии из-за асинхронной загрузки контента. Типичный кейс: на странице оформления заказа с шагами по AJAX автоцели фиксируют только первый шаг, остальные шаги — нет. В результате конверсия занижена на 40%, а бюджет на рекламу тратится неэффективно. Метрика предлагает два вида целей: JavaScript-события (вы сами вызываете ym(id, 'reachGoal', 'target')) и автоцели (клики по кнопкам, отправки форм, переходы по ссылкам — Метрика определяет сама). Автоцели работают ненадёжно на Битрикс-сайтах с AJAX-компонентами: Метрика не всегда видит динамически подставленные элементы. Для точного учёта конверсий нужно настраивать JavaScript-цели вручную. Настраиваем цели под ключ за 1–2 дня, предоставляя документацию и поддержку после внедрения. Наш опыт настройки аналитики на Битрикс — более 100 успешных проектов, гарантируем точную передачу данных. Экономия времени на отладке конверсий при использовании JavaScript-целей достигает 80%, а стоимость настройки рассчитывается индивидуально под вашу воронку.
Идентификатор счётчика и вызов целей
Код счётчика Метрики содержит ym(XXXXXXXX, 'init', {...}). После инициализации для достижения цели вызывается:
ym(XXXXXXXX, 'reachGoal', 'IDENTIFIER'); Идентификатор (IDENTIFIER) задаётся в интерфейсе Метрики при создании цели, тип — «JavaScript-событие».
Подключение к событиям Битрикс
Оформление заказа. Компонент sale.order.ajax после успешного создания заказа вызывает BX.onCustomEvent('OnSaleOrderComplete', ...). Перехватываем:
BX.addCustomEvent(document, 'OnSaleOrderComplete', function(data) { ym(XXXXXXXX, 'reachGoal', 'ORDER_COMPLETE', { order_id: data.ORDER_ID, order_price: data.PRICE }); }); Формы обратной связи (bitrix:main.feedback, Веб-формы модуля form):
BX.addCustomEvent('onWebFormSuccess', function(form) { ym(XXXXXXXX, 'reachGoal', 'FORM_SUBMIT'); }); Для старого компонента bitrix:form.result.new событие отправки — сабмит формы с классом .bx-form, обрабатываемый через делегирование на document.
Добавление в корзину — компонент catalog.element при клике на кнопку вызывает BX.onCustomEvent('OnSuccessAdd2Basket', ...):
BX.addCustomEvent('OnSuccessAdd2Basket', function(item) { ym(XXXXXXXX, 'reachGoal', 'ADD_TO_CART'); }); Почему автоцели ненадёжны на Битрикс?
Автоцели используют анализ DOM-дерева для отслеживания кликов и отправок форм. На Битрикс-сайтах элементы часто подгружаются асинхронно (через AJAX), и Метрика может не зафиксировать событие, если элемент появился после загрузки страницы. Особенно это критично для корзины, оформления заказа и форм обратной связи. По данным наших замеров, точность автоцелей на типовом проекте Битрикс составляет около 60%, тогда как JavaScript-цели дают более 95% точности. JavaScript-цели решают проблему — они вызываются в момент выполнения кода, независимо от состояния DOM.
Составные цели
Метрика поддерживает составные цели — цепочку шагов. Для воронки оформления заказа настраивают 3–4 шага:
| Шаг | Идентификатор | Событие в Битрикс |
|---|---|---|
| 1. Корзина | BASKET_VIEW |
Посещение /basket/ |
| 2. Оформление | CHECKOUT_START |
Клик «Оформить заказ» |
| 3. Оплата | PAYMENT_SELECT |
Выбор способа оплаты |
| 4. Заказ оформлен | ORDER_COMPLETE |
OnSaleOrderComplete |
Первые два шага можно закрыть URL-условием в интерфейсе Метрики (тип цели «Посещение страниц»), шаги 3 и 4 — только через JavaScript.
Как настроить JavaScript-цели для AJAX-компонентов?
Для каждого компонента Битрикс, который изменяет DOM динамически (корзина, форма, избранное), необходимо подписаться на соответствующее событие через BX.addCustomEvent. Пример для компонента catalog.smart.filter (обновление результатов фильтра):
BX.addCustomEvent('onFilterApply', function() { ym(XXXXXXXX, 'reachGoal', 'FILTER_APPLY'); }); Важно: идентификатор цели в Метрике должен точно совпадать с переданным в reachGoal. Рекомендуем использовать единый нейминг (например, CATALOG_FILTER).
Проверка срабатывания
В интерфейсе Метрики: Отладка → Проверка отправки данных — показывает события в реальном времени. В браузере через Network-вкладку ищем запрос к mc.yandex.ru/watch/ с параметром rn=reachGoal.... Также можно использовать расширение Яндекс.Метрики для Chrome.
Сравнение автоцелей и JavaScript-целей
| Параметр | Автоцели | JavaScript-цели |
|---|---|---|
| Точность (на Битрикс) | ~60% из-за AJAX | ~95%+ |
| Требует доработки кода | Нет | Да (добавить ym() вызов) |
| Поддержка составных целей | Только URL-шаги | Все шаги |
| Передача параметров | Нет | Да (UTM, ID заказа) |
JavaScript-цели точнее автоцелей в среднем в 10 раз по данным наших замеров на 100+ проектах. Экономия времени на отладке конверсий при использовании JavaScript-целей достигает 80%.
Что входит в настройку целей
- Аудит текущих целей и воронок (анализируем до 15-20 целей за 2 часа)
- Написание кода для событий AJAX-компонентов (в среднем 5-10 точек интеграции)
- Настройка составных целей воронки заказа (3-4 шага)
- Отладка и тестирование с реальными заказами (5-10 тестовых сценариев)
- Документация по всем идентификаторам и событиям
- Передача доступа к счётчику и инструкция по проверке
- Поддержка в течение 2 недель после сдачи
Мы работаем с Битрикс более 8 лет, выполнили более 100 проектов по настройке аналитики. Свяжитесь с нами, чтобы получить тестовый доступ к счётчику и список рекомендуемых целей. Закажите аудит текущей настройки — стоимость рассчитывается индивидуально в зависимости от сложности воронки.
При вызове ym(XXXXXXXX, 'reachGoal', 'TARGET', params) можно передать произвольные параметры, например {'order_id': 123, 'price': 5000}. Эти параметры отображаются в отчётах Метрики и позволяют сегментировать конверсии.
Получите консультацию по настройке целей — мы поможем точно измерить конверсии и оптимизировать рекламный бюджет.







