Інтеграція 1С-Бітрікс з Roistat: налаштування наскрізної аналітики

Інтеграція 1С-Бітрікс з Roistat Уявіть: ви витрачаєте на контекстну рекламу, а Roistat показує лише ліди, не бачачи виручку по каналах. Ми налаштовуємо інтеграцію 1С-Бітрікс з Roistat, щоб пов'язати замовлення з відвідуваннями та розраховувати ROMI по кожному джерелу. На одному проєкті інтернет-м
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Інтеграція 1С-Бітрікс з Roistat: налаштування наскрізної аналітики
Середній
~1-2 тижні

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

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

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1442
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1013
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    752
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    873
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    794
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1154

Інтеграція 1С-Бітрікс з Roistat

Уявіть: ви витрачаєте на контекстну рекламу, а Roistat показує лише ліди, не бачачи виручку по каналах. Ми налаштовуємо інтеграцію 1С-Бітрікс з Roistat, щоб пов'язати замовлення з відвідуваннями та розраховувати ROMI по кожному джерелу. На одному проєкті інтернет-магазину 40% замовлень втрачали прив'язку до візиту через неправильну ініціалізацію скрипта на динамічних сторінках. Бюджет у $4.5k–6.5k. йшов марно. При середньому чеку $140–200. точна аналітика окупається за місяць. Після інтеграції ROMI по контексту зріс на 30%, а по таргету — на 15%, що дозволило перерозподілити бюджет зі збиткових каналів. Економія склала до 30% рекламного бюджету.

Згідно з документацією Roistat, ідентифікатор візиту roistat_visit зберігається в cookie на 7 днів і дозволяє прив'язати замовлення до джерела.

На відміну від стандартної аналітики, де ви бачите лише ліди, наскрізна аналітика з Roistat дає точну картину ROMI в 2 рази швидше.

Як Roistat пов'язує візит із замовленням?

Roistat використовує JavaScript-лічильник, який присвоює кожному візиту унікальний ідентифікатор roistat_visit (число). Він зберігається в cookie з TTL 7 днів (налаштовується). Коли користувач оформлює замовлення, приховане поле форми передає це значення в замовлення Бітрікс. Без нього Roistat не знає, який рекламний канал привів покупця.

Що заважає коректній передачі roistat_visit?

Часта проблема — динамічні форми (React, Vue). Скрипт Roistat може не встигнути записати cookie до того, як форма спробує його прочитати. Рішення — підписатися на подію roistat:inited і тільки після неї ініціалізувати приховане поле. Інша проблема — ajax-оновлення форми після валідації. Потрібно перезаповнювати поле при кожному рендері.

На серверній частині зберігаємо roistat_visit у користувацьку властивість замовлення UF_ROISTAT_VISIT. Обробник події OnSaleOrderBeforeSaved у компоненті sale.order.ajax:

\Bitrix\Main\EventManager::getInstance()->addEventHandler( 'sale', 'OnSaleOrderBeforeSaved', function (\Bitrix\Main\Event $event) { $order = $event->getParameter('ENTITY'); $rsVisit = $_REQUEST['roistat_visit'] ?? $_COOKIE['roistat_visit'] ?? ''; if ($rsVisit) { $order->setField('UF_ROISTAT_VISIT', $rsVisit); } } ); 

Як передавати дані про замовлення в Roistat?

Roistat приймає інформацію через REST API Roistat. Приклад запиту:

POST https://cloud.roistat.com/api/v1/project/orders X-ApiKey: project_api_key Content-Type: application/json { "orders": [{ "id": "BITRIX_ORDER_123", "visit": "4521890", "creation_date": "2026-03-13 10:00:00", "cost": 4990.00, "revenue": 4990.00, "currency": "USD" }] } 

visit — той самий ідентифікатор з cookie. cost — сума замовлення. За цими даними Roistat будує звіт по джерелах. Інтеграцію будуємо на події OnSaleStatusOrderChange — при переході в статус «Оплачено» (або кастомний «Виконано») відправляємо запит. Для скасування — окремий запит з status: "canceled" і revenue: 0.

Чому важливо оновлювати статуси при скасуваннях та поверненнях?

Замовлення може змінювати статус кілька разів. Roistat підтримує оновлення: повторна передача з тим самим id оновлює запис (ідемпотентність). Налаштовуємо мапінг статусів Бітрікс → Roistat:

Статус Бітрікс Статус Roistat revenue
N (новий) new 0
P (оплачено) confirmed сума
F (виконано) confirmed сума
C (скасовано) canceled 0

Передаємо статус при кожній зміні, використовуючи id замовлення як ключ. Це виключає дублі.

Як налаштувати передачу замовлень покроково?

  1. Встановіть скрипт Roistat і дочекайтеся події roistat:inited.
  2. Додайте приховане поле roistat_visit у форму оформлення замовлення.
  3. В обробнику OnSaleOrderBeforeSaved збережіть значення в користувацьке поле замовлення.
  4. Налаштуйте мапінг статусів і обробник OnSaleStatusOrderChange для відправки в API.
  5. Перевірте передачу на тестовому замовленні: створіть замовлення, перевірте в Roistat.

Телефонні дзвінки та чати

Якщо на сайті використовується call tracking від Roistat, то дзвінки автоматично прив'язуються до візиту. При інтеграції з Бітрікс24 через REST API можна створити угоду при дзвінку і одразу передати її в Roistat. Налаштовуємо обробник створення угоди в Бітрікс24 і відправляємо дані (суму, roistat_visit) в Roistat API.

Детальний приклад обробника відправки
// Відправка замовлення при оплаті $eventManager->addEventHandler('sale', 'OnSaleStatusOrderChange', function($orderId, $status) { $order = \Bitrix\Sale\Order::load($orderId); $rsVisit = $order->getField('UF_ROISTAT_VISIT'); if ($rsVisit) { $api = new RoistatApi(API_KEY); $api->sendOrder([ 'id' => $orderId, 'visit' => $rsVisit, 'cost' => $order->getPrice(), 'status' => mapStatus($status), ]); } }); 

Що входить в роботу?

  • Аудит поточного трекінгу: перевірка UTM-міток, cookies, лічильника Roistat.
  • Додавання прихованого поля roistat_visit у форму оформлення замовлення з правильною ініціалізацією.
  • Налаштування події OnSaleOrderBeforeSaved для збереження візиту в замовлення.
  • Розробка обробника OnSaleStatusOrderChange для відправки замовлень в Roistat API.
  • Реалізація мапінгу статусів та ідемпотентної відправки.
  • Тестування на тестовому та бойовому контурах.
  • Документація по доопрацюванням та налаштуванням.

Орієнтовні терміни

Етап Час
Базова передача замовлень (події оплати) від 3 до 5 днів
Додавання оновлення статусів (скасування/повернення) +2–3 дні
Інтеграція з Бітрікс24 (угоди з дзвінків) +3–5 днів

Вартість розраховується індивідуально після аудиту поточної схеми. Оцінюємо проєкт за 1 день.

Досвід та гарантії

Наша команда має 10+ років досвіду розробки на 1С-Бітрікс та Бітрікс24, більше 50 виконаних інтеграцій з Roistat. Використовуємо перевірені патерни: теговане кешування, агенти для відкладеної відправки, повторні спроби при помилках API. Даємо гарантію на коректну передачу даних протягом 30 днів після запуску.

Отримайте консультацію з налаштування наскрізної аналітики — ми проведемо аудит за 1 день. Замовте інтеграцію і почніть бачити реальну віддачу від реклами. Зв'яжіться з нами, щоб отримати індивідуальний план інтеграції.