Рекламні банери застоюються? Користувачі бачать один і той самий банер тижнями? Це типова проблема неправильного налаштування ротації рекламних блоків. Без ротації ви втрачаєте контроль над охопленням: статичний банер швидко набридає, а A/B-тести стають неможливими. Ми вирішуємо це завдання на 1С-Бітрікс вже 10+ років — понад 50 проєктів з налаштування ротації. Налаштовуємо як штатний модуль Advertising, так і кастомні рішення для складних сценаріїв. Економія бюджету до 30% при правильному налаштуванні ваг — реальний результат наших клієнтів. Отримайте консультацію інженера — оцінимо ваш проєкт безкоштовно.
Як налаштувати ротацію рекламних блоків у 1С-Бітрікс?
Конфігурація ротації залежить від вимог до гнучкості та навантаження. Розглянемо два підходи: через модуль Advertising та кастомне рішення на інфоблоках.
Чому ротація не працює: типові помилки
Найчастіше проблеми виникають через кешування. Якщо компонент advertising.banner кешується, перший відвідувач фіксує банер, і всі наступні бачать його ж. Ще одна помилка — неправильні ваги: сума ваг не дорівнює 100, через що розподіл викривляється. Високе навантаження на сервер — ще одна біль: при кожному показі пишеться статистика. Ми вирішуємо це вимкненням статистики або агрегацією через cron. За даними нашої практики, ці три помилки зустрічаються у 80% проєктів.
Варіант 1: Модуль Advertising
Архітектура модуля: Контракт → Банер → Місце. Місце створюється в адмінці з типом (TEXT, HTML, BANNER) і прив'язується до зони сайту. Основні таблиці: b_adv_banner, b_adv_contract, b_adv_type, b_adv_stat_day.
Приклад підключення компонента:
$APPLICATION->IncludeComponent('bitrix:advertising.banner', '.default', [ 'TYPE' => 'main_slider', 'SHOW_COUNT' => 1, 'CACHE_TYPE' => 'N', ]); Згідно з документацією 1С-Бітрікс: Модуль реклами, кеш обов'язково вимикати для ротації.
Вагова ротація базується на полі WEIGHT у b_adv_banner. Якщо два банери з вагами 60 і 40, перший показується у 60% випадків. Модуль використовує зважену випадкову вибірку при кожному запиті — це створює навантаження на БД. Для високонавантажених проєктів (від 10 000 показів за хвилину) ми рекомендуємо вимикати статистику або агрегувати її через чергу.
Варіант 2: Кастомне рішення на інфоблоках
Якщо модуль Advertising відсутній або не вистачає гнучкості, реалізуємо ротацію через інфоблоки + JavaScript. PHP віддає всі активні банери для позиції в JSON, а клієнт випадковим чином вибирає банер. Перевага — кеш PHP-компонента працює, ротація виконується на клієнті, знімаючи навантаження з сервера. Кастомне рішення до 3 разів швидше за відгуком сервера, ніж модуль Advertising, завдяки кешуванню.
class BannerRotator { constructor(banners) { this.banners = banners; this.current = Math.floor(Math.random() * banners.length); } getNext() { const banner = this.banners[this.current]; this.current = (this.current + 1) % this.banners.length; return banner; } } const rotator = new BannerRotator(window.bannerData['main_slider']); setInterval(() => displayBanner(rotator.getNext()), 5000); Коли вибирати кастомне рішення
Якщо потрібна регіональна ротація, сегментація за пристроями або інтеграція з Google Optimize — кастом дає повну свободу. Час реалізації такого рішення — від 5 робочих днів.Як налаштувати A/B-тестування банерів у Бітрікс?
Модуль Advertising підтримує A/B-тестування через ділення трафіку за контрактами. Створіть два банери з вагами 50/50, через 7–14 днів проаналізуйте статистику в /bitrix/admin/adv_stat.php і залиште переможця. Для глибокої сегментації за пристроями або регіонами — інтегруємо A/B-тестування із зовнішніми інструментами.
Коли варто використовувати кастомне рішення для ротації?
Кастомне рішення виправдане, коли вбудований модуль не справляється з нестандартними вимогами: складна логіка сегментації, обмеження за продуктивністю, інтеграція із зовнішніми платформами. За нашими оцінками, у 30% проєктів кастом ефективніший.
Що входить у нашу роботу: покроковий план
- Діагностика поточної схеми та навантажень на сервер
- Проєктування архітектури (модуль Advertising або кастом)
- Налаштування контрактів, банерів, ваг та сегментації
- Інтеграція із зовнішніми сервісами (Google Optimize, СДЕК, ЮKassa)
- Тестування на різних пристроях та браузерах
- Передача документації та навчання менеджерів
Порівняння способів ротації
| Параметр | Модуль Advertising | Кастомне рішення |
|---|---|---|
| Складність налаштування | Середня (через адмінку) | Висока (потрібна PHP-розробка) |
| Гнучкість | Обмежена | Повна |
| Продуктивність | Середня (SQL-запити) | Висока (кеш + клієнт) |
| A/B-тестування | Вбудоване | Потрібна інтеграція |
| Регіональний таргетинг | Базовий (через умови) | Будь-який (через API) |
Типові помилки при налаштуванні ротації
| Помилка | Причина | Рішення |
|---|---|---|
| Банер не показується | Увімкнено кеш компонента | CACHE_TYPE = N |
| Банери показуються однаково часто при різних вагах | Сума ваг не нормована | Привести ваги до суми 100 |
| Високе навантаження на сервер | Статистика пишеться при кожному показі | Вимкнути ADV_STAT або агрегувати в cron |
| Пусте місце для банера | Не призначено контракт або неправильний тип місця | Перевірити зв'язки в адмінці |
Терміни та вартість
Типовий проєкт займає від 3 до 10 робочих днів. Вартість розраховується індивідуально після аналізу вашої конфігурації. Замовте налаштування ротації — отримайте стабільну роботу банерів та економію бюджету.
Гарантії
На всі роботи з налаштування ротації даємо гарантію. Якщо протягом місяця після здачі виникнуть проблеми — виправимо безкоштовно. Наш досвід — 10+ років на ринку розробки під 1С-Бітрікс, понад 50 реалізованих проєктів. Зв'яжіться з нами для консультації.







