A/B тестування на 1С-Бітрікс: серверні та клієнтські методи

A/B тестування на 1С-Бітрікс: серверні та клієнтські методи Уявіть: ви переписали картку товару, змінили форму замовлення, а конверсія впала на 20%. Без A/B тесту ви не дізнаєтеся, який елемент спрацював. Бітрікс-розробники часто стикаються з тим, що штатний модуль abtest не враховує кешування і
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
A/B тестування на 1С-Бітрікс: серверні та клієнтські методи
Простий
~1 день

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

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

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1454
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    1017
  • 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
    759
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    879
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    802
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1162

A/B тестування на 1С-Бітрікс: серверні та клієнтські методи

Уявіть: ви переписали картку товару, змінили форму замовлення, а конверсія впала на 20%. Без A/B тесту ви не дізнаєтеся, який елемент спрацював. Бітрікс-розробники часто стикаються з тим, що штатний модуль abtest не враховує кешування і слабко інтегрується з аналітикою. З нашої практики: один інтернет-магазин електроніки з каталогом 5000 товарів хотів протестувати нову систему динамічних знижок. Ми реалізували серверний A/B тест з розділенням по cookie, передачею групи в dataLayer і відстеженням конверсії в GA4. Вихідна конверсія 2.5%, через 3 тижні тесту у варіанті B конверсія досягла 3.1% — приріст 24% при p-value 0.03. Оцінимо ваш проект і запропонуємо оптимальне рішення. Зв'яжіться з нами для консультації.

Проблеми, які вирішуємо

  • Кешування: якщо компонент кешує результат, обидва варіанти отримають однаковий HTML. Рішення — додаємо cookie BITRIX_SM_ABTEST_{ID} у ключ кешу або вимикаємо кеш для тестованого блоку.
  • Інтеграція з аналітикою: штатний модуль не передає дані безпосередньо в Яндекс.Метрику або GA4. Ми налаштовуємо dataLayer та користувацькі параметри, щоб будувати звіти з розбивкою по групах.
  • Серверна логіка: тестування цін, знижок або алгоритмів вимагає кастомного PHP-коду. Штатний модуль для цього не підходить.

Як ми це робимо: стек і кейс

Використовуємо PHP 8.1+, інфоблоки v2.0, Комплексне кешування з тегами. Для інтернет-магазину електроніки (з нашої практики) реалізували серверний A/B тест з кастомним PHP-кодом. Код визначення групи:

function getABGroup(string $testName, int $percentB = 50): string { $cookieName = 'ab_' . md5($testName); if (isset($_COOKIE[$cookieName])) { return $_COOKIE[$cookieName]; } $group = (mt_rand(1, 100) <= $percentB) ? 'B' : 'A'; setcookie($cookieName, $group, time() + 86400 * 30, '/'); return $group; } // Використання if (getABGroup('discount_algorithm') === 'B') { // Новий алгоритм знижки } else { // Поточний алгоритм } 

Як працює штатний модуль abtest?

Модуль abtest доступний у редакціях «Бізнес» та «Ентерпрайз». Створюєте тест із зазначенням відсотка трафіку для варіанту B, обираєте тип (шаблон, компонент, область, що включається, PHP-код). Бітрікс призначає групу через cookie. API-створення:

\Bitrix\ABTest\ABTestManager::addTest([ 'NAME' => 'Кнопка купити: червона vs зелена', 'SITE_ID' => 's1', 'DURATION' => 14, 'PORTION' => 50, 'TEST_DATA' => [ 'type' => 'template', 'original' => '/local/templates/main/', 'modified' => '/local/templates/main_test/', ], ]); 

Як обрати підхід: серверний чи клієнтський?

Клієнтські тести (VWO, Optimizely) не потребують змін серверного коду, але мають затримку (FOUC) і не працюють із серверною логікою. Серверний підхід, навпаки, дозволяє тестувати ціни, знижки, алгоритми — все, що виконується на PHP. Якщо потрібно перевірити зміну шаблону або області, що включається, достатньо штатного модуля. Для складних сценаріїв (різні ціни для груп, персоналізація) — кастомний серверний код. Ми допомагаємо обрати метод під ваші завдання.

Чому кешування — головний ворог A/B тестів?

Типова помилка: компонент кешує HTML, і обидва варіанти показують однаковий контент. Рішення — додаємо ідентифікатор тесту в ключ кешу або вимикаємо кеш для тестованого блоку. Наприклад, через $arParams['CACHE_TIME'] = 0; або використовуючи \Bitrix\Main\Data\Cache::setCacheTag(). Без цього результати тесту будуть некоректні.

Як досягти статистичної значущості?

Типова помилка — зупинити тест через 2 дні, побачивши різницю 0.5%. Для достовірності потрібен обсяг вибірки: при базовій конверсії 2% і бажаному ефекті 20% потрібно ~20 000 візитів на варіант. На сайті з 1000 візитів на день — 40 днів. Не зупиняйте тест, поки p-value не опуститься нижче 0.05. Використовуємо калькулятор статистичної значущості для точного розрахунку.

Порівняння підходів

Критерій Штатний модуль abtest Кастомний серверний підхід
Типи тестів Шаблони, компоненти, області, що включаються, PHP-код Будь-яка логіка (ціни, знижки, алгоритми)
Інтеграція з аналітикою Слабка, через цілі Повна через dataLayer та API
Сегментація Немає Можна реалізувати
Мультиваріантність Ні (тільки A/B) Так (A/B/C/D)
Складність налаштування Низька Середня-висока
Залежність від редакції Потрібна Бізнес/Ентерпрайз Будь-яка редакція

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

  • Аудит поточної архітектури та трафіку
  • Формулювання гіпотез та визначення метрик
  • Вибір підходу та налаштування механізму тестування
  • Вирішення проблем кешування та інтеграція з аналітикою (dataLayer, GA4, Яндекс.Метрика)
  • Розрахунок необхідного обсягу вибірки та тривалості
  • Моніторинг, збір даних та статистична обробка
  • Звіт з висновками та рекомендаціями

Процес роботи

Етап Зміст
1. Аудит Аналіз поточного сайту, трафіку, цілей, гіпотез
2. Розробка гіпотез Визначення ключових метрик, вибір типу тесту
3. Налаштування тесту Налаштування штатного або кастомного механізму
4. Рішення кешування Розділення кешу по групах тесту
5. Інтеграція з аналітикою Передача даних у dataLayer, налаштування звітів у Яндекс.Метриці/GA4
6. Розрахунок тривалості Визначення необхідного обсягу вибірки та часу
7. Моніторинг і звітність Збір результатів, статистична обробка, висновки

Строки орієнтовно

Від 2 днів до 2 тижнів залежно від складності. Вартість розраховується індивідуально після аудиту. Отримайте консультацію з налаштування A/B тестування.

Типові помилки

  • Зупинка тесту раніше часу: навіть при видимій різниці дочекайтеся статистичної значущості.
  • Ігнорування кешування: не забудьте вимкнути кеш для тестованих компонентів або розділити його по групах.
  • Неправильна сегментація: якщо тест запущено на всіх користувачів, результати можуть бути розмитими. Враховуйте сезонність та аудиторію.

Ми маємо 10+ років досвіду розробки на Бітрікс та сертифікацію. Гарантуємо коректне налаштування та інтерпретацію результатів. Зв'яжіться з нами для аудиту вашого проекту.