Налаштування конверсій Яндекс.Директ на 1С-Бітрікс

Налаштування конверсій Яндекс.Директ на 1С-Бітрікс Ми часто стикаємося з ситуацією, коли автоматичні стратегії Яндекс.Директу працюють наосліп через некоректно налаштовані цілі. Без правильної передачі конверсій з 1С-Бітрікс звіти показують нулі, а бюджети згорають даремно. Наш досвід понад 7 рок
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Налаштування конверсій Яндекс.Директ на 1С-Бітрікс
Простий
~1 день

Наші компетенції:

Часті запитання

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1466
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019
  • Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    764
  • Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    882
  • Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    811
  • Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1167

Налаштування конверсій Яндекс.Директ на 1С-Бітрікс

Ми часто стикаємося з ситуацією, коли автоматичні стратегії Яндекс.Директу працюють наосліп через некоректно налаштовані цілі. Без правильної передачі конверсій з 1С-Бітрікс звіти показують нулі, а бюджети згорають даремно. Наш досвід понад 7 років з Бітрікс та Метрикою дозволяє гарантувати точне налаштування, яке збільшує конверсію на 30–50%. Правильно налаштовані конверсії дають Директу достатньо даних для навчання алгоритмів оптимізації, що економить до 40% бюджету на однаковому обсязі продажів.

Лічильник Метрики та цілі: що має бути до налаштування Директу

Конверсії Директу спираються на цілі Метрики, тому спочатку — лічильник. У Бітріксі лічильник Метрики додається кількома способами: через модуль bitrix:main.counter у шаблоні, через пряме вставлення в header.php або через OnEpilog.

Для коректної роботи цілей критично: лічильник має завантажуватися до спрацювання цільових подій. Використовуйте синхронну ініціалізацію через ym(counterId, 'init', {...}) з параметром defer: false для сторінок з формами. На практиці більшість сайтів упускають цей момент: лічильник завантажується асинхронно через defer, і швидкі користувачі надсилають форму до ініціалізації Метрики, конверсія втрачається.

У таблиці b_option зручно зберігати ID лічильника: COption::SetOptionString("main", "ya_metrika_id", "XXXXXXXX"). Тоді при зміні лічильника не потрібно лізти в шаблон.

Цілі в Метриці для e-commerce:

  • JavaScript-ціль order_success — на сторінці «Дякуємо» після оформлення замовлення (найважливіша для Директу)
  • JavaScript-ціль add_to_cart — при додаванні товару в кошик
  • Складова ціль з кроками: перегляд каталогу → картка товару → кошик → оформлення

Як уникнути дублювання цілей при перезавантаженні сторінки?

При перезавантаженні сторінки «Дякуємо» ціль не повинна фіксуватися повторно. Ми використовуємо прапорець у сесії: після першого виклику ym reachGoal записуємо $_SESSION['conversion_sent'] = true і перевіряємо його перед надсиланням. У компоненті bitrix:sale.order.ajax це реалізується в template.php.

Передача досягнення цілі з Бітрікса

Ціль order_success — найважливіша для Директу. Виклик:

ym(COUNTER_ID, 'reachGoal', 'order_success', { order_price: 4900, currency: 'RUB' }); 

У Бітріксі сторінка «Дякуємо» — це або окрема сторінка /personal/order/success/, або фінальний крок компонента bitrix:sale.order.ajax. В обох випадках потрібно переконатися, що JS-виклик не задвоюється — при перезавантаженні сторінки ціль не повинна фіксуватися повторно.

Надійний спосіб: у компоненті bitrix:sale.order.ajax у template.php шукаєте блок з умовою успішного створення замовлення ($arResult["NEED_PAY"] || $arResult["ORDER_ID"]) і додаєте виклик Метрики тільки там. Параметри замовлення (order_price) берете з $arResult["ORDER"]["PRICE"].

Для сторінки /personal/order/success/ — компонент bitrix:sale.order.detail дає доступ до деталей замовлення через $arResult. ID замовлення з URL-параметра + CSaleOrder::GetByID($orderId).

Чому офлайн-конверсії критичні для e-commerce?

Якщо частина замовлень обробляється менеджерами (дзвінки, заявки без оплати онлайн), стандартного JS-пікселя недостатньо. Яндекс.Метрика підтримує завантаження офлайн-конверсій через API. На практиці різниця в точності між автоматичним завантаженням з CRM та API — до 15%. API-завантаження в 2 рази точніше за автоматичне з CRM.

Офлайн-конверсії через API Метрики

У Бітріксі це реалізується через обробник події OnSaleOrderStatusUpdate. Коли менеджер переводить замовлення в статус «Виконано», надсилаєте POST-запит на https://api-metrika.yandex.net/management/v1/counter/{counterId}/uploads/client_id:

AddEventHandler("sale", "OnSaleOrderStatusUpdate", function($id, $arFields) { if ($arFields["STATUS_ID"] === "F") { // Finished // Отримуємо client_id з b_sale_order_props або користувача $httpClient = new \Bitrix\Main\Web\HttpClient(); $httpClient->post($apiUrl, $csvData); } }); 

client_id Метрики потрібно зберігати при оформленні замовлення — це значення з куки _ym_uid або з JavaScript-методу ym(id, 'getClientID', callback). Зберігайте його у властивості замовлення (b_sale_order_props_value) при створенні.

Метод конверсії Точність Складність реалізації
JS-піксель Висока (тільки онлайн) Низька
API офлайн Висока (всі канали) Середня
Автоматичне завантаження з CRM Середня Висока
Структура client_id `client_id` — це 64-бітне ціле число, що зберігається в кукі `_ym_uid` у відповідях Метрики. Його можна отримати через JavaScript-метод `ym(id, 'getClientID', callback)` або з куки напряму. Для надійності краще використовувати `getClientID` у події `onload`.

Зв'язка з Директом: автоматичні стратегії

Після того як цілі працюють і конверсії фіксуються, у Директу перемикаєте стратегію на «Оптимізацію конверсій» з ціллю order_success. Директу потрібно мінімум 10 конверсій за 28 днів для навчання — це важливо враховувати при запуску.

Модуль sale Бітрікса при типовому навантаженні не створює затримок для викликів Метрики, але якщо на сайті агресивне кешування через BXCache з TTL > 3600, перевірте, що сторінка «Дякуємо» не кешується — компонент bitrix:sale.order.ajax має CACHE_TYPE = 'N' за замовчуванням, але кастомні шаблони можуть це ламати.

Що входить у роботу з налаштування конверсій

  • Аудит поточного налаштування лічильника Метрики та цілей
  • Встановлення лічильника з правильною ініціалізацією
  • Налаштування JavaScript-цілей для e-commerce
  • Інтеграція офлайн-конверсій через API зі збереженням client_id
  • Тестування всіх сценаріїв (онлайн-оплата, дзвінки, заявки)
  • Документація з використання та підтримки

Зв'яжіться з нами для аудиту поточного налаштування — виявимо вузькі місця та підвищимо ефективність Директу. Замовте налаштування конверсій під ключ: від лічильника до оптимізації ставок. Отримайте консультацію щодо впровадження офлайн-конверсій.Яндекс.Метрика API для офлайн-конверсій