The editor urgently needs to replace the banner on the main page — they go into the Advertising module, but it's not there (only in 'Small Business' and up). Or the infoblock exists, but the old banner still shows due to cache: CACHE_TIME = 3600, but the promotion ended 10 minutes ago. Our team, with ten years of Bitrix experience, has solved such issues on 50+ projects. Below we examine two approaches, their pitfalls, and ready solutions.
A typical pain point: the Advertising module requires the 'Small Business' edition or higher, increasing license cost by 60–80%. It stores data in separate tables (b_adv_banner, b_adv_contract), and integration with non‑standard sections requires modifications. The infoblock approach is simpler, but without proper caching and the BANNER_ZONE property, editors get lost in hundreds of banners. One project had 200+ banners in a single list with no zones. And crucially: scheduling — the component's cache may show an outdated banner if agents are not synchronized.
Problems We Solve
-
Licensing limitations. The Advertising module is only available from the 'Small Business' edition (significantly more expensive). Its bases are
b_adv_bannerandb_adv_contract. Any customization requires deep understanding of the module's logic. - Infoblock chaos. If banners are not separated by display zones (using the BANNER_ZONE property), editors quickly get lost. Implementing zones reduces the time to find a specific banner from 5 minutes to 1 minute.
-
Cache and time frames. Standard
CACHE_TIMEcan serve stale banners. Either agents must be used or caching disabled — a trade‑off between freshness and load.
How We Do It: Infoblock Approach
For 80% of corporate sites we use an infoblock named banners with the following properties:
-
BANNER_ZONE— list (main_slider,sidebar,category_top) -
LINK_URLandLINK_TARGET— target URL and attribute -
IMAGEandIMAGE_MOBILE— adaptive images -
REGIONS— for multi‑regional banners -
ACTIVE_FROM/ACTIVE_TO— automatic hiding by date
Example component for slider output:
$APPLICATION->IncludeComponent('bitrix:news.list', 'banners', [ 'IBLOCK_ID' => BANNERS_IBLOCK_ID, 'FILTER' => ['PROPERTY_BANNER_ZONE' => 'main_slider'], 'SORT_BY1' => 'SORT', 'CACHE_TYPE' => 'A', 'CACHE_TIME' => 1800, ]); Case study: A chain of 20 regions. Editors select banners for each region using the REGIONS property. On the component side, we filter by current region. Banner update time dropped from 2 hours to 15 minutes — a 30% time saving per editor. The license cost remained at the 'Start' edition level.
For basic click statistics, we implement an AJAX tracker: on click, a request goes to /local/ajax/banner_click.php?id=XXX, and the counter increments in the element property. This is sufficient for analytics without the Advertising module.
When the Advertising Module Is Justified
The Advertising module is worth choosing if you need built‑in impression statistics, A/B testing, or frequency capping. However, it requires at least the 'Small Business' edition and more complex editor training. For details, see the official Advertising module documentation.
Comparison of Approaches
| Criteria | Advertising Module | Infoblock Approach |
|---|---|---|
| Minimum edition | Small Business | Any |
| Impression statistics | Built‑in | Via AJAX tracker (additional development) |
| A/B testing | Yes | No |
| Editor complexity | High (requires training) | Low (standard element form) |
| Caching | Built‑in | Needs configuration |
| Multi‑region | Via extra fields | Via infoblock property |
| Implementation time | 2–3 days | 1 day |
Why the Infoblock Approach Is More Cost‑Effective
For a typical site with a landing page, blog, and catalog, the Advertising module's functionality is overkill. The infoblock approach is cheaper in licensing and simpler to maintain. Measurements: setting up an infoblock takes half the time; code is 30% shorter. Editors learn to manage banners in 15 minutes. We guarantee — after training, they won't bother the developer to change an image. Our track record: 50+ successful projects.
How to Properly Configure Banner Caching?
There are three cache management options. First — reduce CACHE_TIME to an interval shorter than the promotion period. Simple but hard to pick the optimal time. Second — an agent with BXClearCache(): pinpoint cache clearing by date. High accuracy, but requires agent development. Third — completely disable caching (CACHE_TYPE = 'N'): 100% freshness, but a small extra load. The choice depends on banner update frequency and server load.
| Caching Option | Freshness | Load | Complexity |
|---|---|---|---|
| CACHE_TIME ≤ promotion TTL | Moderate | Low | Low |
| Agent BXClearCache() | High | Moderate | Moderate |
| CACHE_TYPE = 'N' | Maximum | High | Low |
Our Work Process
- Analysis: We study the site structure, current banners, and editor permissions.
- Design: We choose the approach, design the infoblock, and configure caching.
- Implementation: We write components, set up agents, and add a visual editor.
- Testing: We test all scenarios (display, hiding, mobile, regions).
- Deploy & Training: We roll out to production, train editors, and hand over documentation.
What's Included
- Infoblock setup with required properties.
- Development of the banner output component with filtering and caching.
- AJAX click tracker implementation (optional).
- Editor training (video tutorial + text guide).
- Code warranty — 3 months of free support.
Order Banner Management Setup
If you are unsure which approach fits your project, contact us. We will assess your project for free and propose the optimal solution. Get a consultation on banner management for 1C-Bitrix.

