Magento 2 Banner Slider Extension
Show promo banners anywhere in your store and let each one decide when it belongs on screen. Pick who sees it by customer group, category, product, or what is already in the cart, run it between the dates you set, and let the text fill itself in: a free shipping banner can name the exact amount a shopper still needs. Then check the grid to see how many people saw it and how many clicked.
- show banners on any page, including login and checkout
- target by customer group, category, product, or cart contents
- use image, text, or combined banners
- choose rotator, pop-up, lightbox, or slider
- schedule banners by date and time
Business Value
Turn any page of your store into a promotion slot you can schedule, target, and measure.
- Opportunity: A promo banner is the strip, box, or pop-up that announces an offer: free shipping today, ten percent off a second item, a brand you are clearing out. It is the cheapest way to push shoppers toward whatever you want to sell next.
- Problem: The offer changes every week, but the banner does not. Someone has to open each page, edit it, remember to take the promotion down afterwards, and then guess whether it did anything at all. Magento's own tools keep it that way: Page Builder, the drag-and-drop page editor, puts a banner inside one page, and Adobe Commerce adds Dynamic Blocks on top for audience targeting. Both of them edit page content, so the banner belongs to the page. Neither starts and stops a campaign on a schedule, and neither tells you whether anyone clicked.
- Solution: Promo Banners treats a banner as a campaign instead of page content. Each banner exists on its own, decides which pages and which shoppers it appears for, runs between the dates you set, and reports its own impressions and clicks in real time.
Boost sales with banners
Promote products and services wherever they work best
You work with two things. A placeholder is a slot on the storefront: you decide which page it sits on and how it behaves. A banner is what appears in that slot. One placeholder can hold several banners, and each banner carries its own schedule and its own rules about who gets to see it.
From there, the extension works in five ways:
- Place a banner anywhere on any page of your store
- Show it only to the customer groups, categories, products, or cart contents you pick
- Run it between the dates and times you set
- Choose how it appears: rotator, pop-up, lightbox, or slider
- Track impressions and clicks for every banner, in real time
Four display modes, or write your own
Choose how each banner appears, one setting per placeholder
Rotator shows one banner at a time, picked at random on every page load. Refresh the page and a different banner appears. Use it when you have several offers of equal weight and simply want them shared out.
Pop-up opens on top of the page once it loads. You choose the corner it appears in, the delay before it shows, and how many hours pass before it returns. Set it to appear only once and it never comes back for that shopper.
Lightbox covers the whole page behind a dimmed mask. You control the mask color, the close button text, the delay, and the same re-appear interval.
Slider also holds several banners, but where a rotator swaps them only when the page reloads, a slider cycles them in front of the same visitor. Turn on autoplay and set the interval between slides, loop back to the first one, show previous and next buttons with your own labels, and add the row of dots underneath. Slides load only as they are needed, so a slider further down the page costs nothing until someone scrolls to it.
If none of the four fits, add a fifth. Any banner template your developer drops into the theme shows up in the Display mode list on its own, without hooking into the extension at all. The user manual walks through a slider setup step by step.
Control who sees your banners
Match the offer to the shopper instead of showing it to everyone
Every banner carries its own set of conditions, and they go deeper than a page match. Target by page (its type, or its address), by category, by product attributes, and by what is already in the cart. A banner can appear only for shoppers who have one item in their basket, or only on products from a single brand, or only on URLs that contain a search term.
On top of conditions, each banner is limited to the store views and customer groups you select: store views are the separate storefronts you run, usually one per country or language, and customer groups are the buyer types you have set up, such as retail and wholesale. That is how one placeholder serves a different message per region, per language, and per price group, and how a wholesale offer stays invisible to retail shoppers.
Cart conditions are the ones worth planning around: they pair naturally with a cart price rule, Magento's own discount mechanism, so the banner that advertises the discount appears exactly when the rule is about to apply.
Banner content that updates itself
Write it once in the Magento editor and let the numbers fill themselves in
A banner can be a graphic, a line of text, or both in one block. You build it in the default Magento content editor, and if you would rather write the markup yourself, the Show / Hide Editor button drops you straight into HTML and CSS.
Content can also be dynamic. Write a placeholder for a number into the text and it fills itself in per shopper. Type "You are {{var freeShippingLeft}} away from free delivery" once, and a shopper who is $12 short reads exactly that, while the next one reads their own figure. The cart subtotal and the free shipping threshold work the same way, as does every standard Magento variable.
Put a banner on any page
Not just the home page, the catalog, and the cart
You choose where each placeholder sits. Pick the page from the Display on list, then the spot on it: header, main content, sidebar, footer, and so on. Magento 2.4 comes with 95 page types and every one of them is on that list, each offering several spots of its own. Modules you install add their own page types, so the list grows with your store.
That includes places most stores never use. A banner can greet customers before they even sign in, because the login form is a page type like any other. So are the sign-out page and the password recovery form. So are contact, about us, and delivery pages, alongside the usual home page, catalog, and shopping cart.
If the spot you need is not on the list, it can be defined by hand: your developer points the placeholder at an exact position in the page layout and it renders there. Each placeholder also takes its own CSS, which is usually enough to fit a banner into a custom theme.
Different regions often need different slots as well. Placeholders respect store views, so a store running on geolocation-based store switching can carry a separate set of banners per country without duplicating campaigns.
See it running in the frontend demo.
Control banner time
Start and finish a promo campaign without being at the keyboard
Set Active from and Active to for every banner, down to the hour. A flash sale that opens at 09:00 and closes at 23:00 does that on its own, and nobody has to remember to switch the banner off afterwards.
Because the schedule belongs to the banner rather than to the page, a campaign can be prepared weeks ahead and left alone. Placeholders keep serving whichever banners are in season at that moment.
Most important banners go first
Decide what wins when two campaigns claim the same slot
Give each banner a priority. When several banners match the same conditions at the same time, the highest priority is displayed first, so a seasonal campaign can override an evergreen one for a week and hand the slot back afterwards.
See what actually works
Impressions and clicks per banner, not guesses
The banner grid shows how many unique visitors saw each banner and how many of them clicked, with the click-through rate alongside. Numbers update in real time, with no cron job to configure, so a change made this morning can be judged this afternoon.
Two placements for the same offer stop being a matter of opinion: run each for a week and compare the click-through rates in the grid. Collection can be switched off entirely if you would rather not store the data.
Built for the stack you already run
Hyvä, headless, multi-language, and multi-admin stores
The rest of this section is for whoever looks after your store's code. If your storefront is a standard Magento theme and one person runs the admin, everything above already covers you.
Hyvä. The extension works on Hyvä storefronts. If your banners use a schedule or cart price rule conditions, install the free companion package that ships with the module: it swaps the default loader for a fetch-based one so those placeholders render. Without it they stay empty on Hyvä.
Headless. A GraphQL API returns placeholders with their banners in the context of the current page, product, category, or cart, and two mutations report impressions and clicks back, so a PWA storefront keeps the same analytics as a Luma one. A REST API covers banners and placeholders for scripted or scheduled updates. Both are documented in the user manual.
Languages. The storefront and admin interface ship translated into 16 languages, so a multi-language store does not need a glossary to run campaigns.
Permissions. Banners, placeholders, and the extension settings are three separate admin role resources. A marketing team can create and edit banners while configuration stays with whoever owns the store.
Page speed. Banners are built to stay out of the way of Core Web Vitals. Placeholders that load over AJAX are told not to fill your cache with single-use entries, and a placeholder above the fold can be given a fixed height so it does not shift the layout while it loads.
Content can be displayed inline, as popups, or in other placements throughout the site. Rules make it possible to show a promotion only when it is relevant—for example, reminding a customer about an offer or presenting additional information associated with products they are already considering.
Scheduling is particularly useful for holidays and time-limited sales, and the built-in analytics help determine whether a placement is actually accomplishing anything.
My only frustration is that locating the correct identifiers for certain custom placements can sometimes take more work than expected.
The power to have so many conditions is also great.
I wish it offered prebuilt templates, but other than that, it is a must have.
Save time by starting your support request online and we'll connect you to an expert.
How do I add a banner slider to my Magento 2 store?
Create a placeholder, set its Display mode to Slider, and assign two or more banners to it. The slider settings live on the placeholder: autoplay and its interval, looping, previous and next buttons, and pagination dots.
The user manual walks through the whole setup with screenshots.
Is it possible to use HTML when configuring a banner?
Yes. Banner content is edited in the default Magento editor, and the Show / Hide Editor button switches to raw code so you can write the markup yourself.
Any HTML and CSS you add is rendered as is. Switch the editor back on to preview the result.
Is it possible to show a banner on the product pages of a specific category?
Yes. Open the Conditions tab on the banner, add the condition "Category is one of", and specify the category IDs. The banner then appears on product pages in those categories only.
Is it possible to add a banner to the mini cart?
No. Promo Banners inserts placeholders into layout containers on the server, and the mini cart is rendered in the browser from Magento's customer data, so there is no container to attach a banner to.
For an offer inside the mini cart, use Extended Shopping Cart Rules for Magento 2 instead.
Does the Promo Banners module support responsive layouts (desktop, tablet, and mobile)?
Banners inherit whatever your theme does, and the content field accepts full HTML and CSS, so a banner can be made responsive the same way the rest of your storefront is.
The module does not manage separate images per device: if you need a different crop on mobile, write it into the banner content or into the placeholder's own CSS. The manual has a stylesheet you can start from.
Does Promo Banners support GraphQL queries?
Yes. GraphQL support ships as a separate package, free of charge for anyone with a Promo Banners license, and installs through Composer.
The API returns placeholders with all their banners, filtered by position and by the current page context: URL, product, category, or cart. Two mutations report impressions and clicks back, so a headless storefront keeps the same banner analytics as a standard one. See the GraphQL API reference for the full schema.
The banner grid shows zero impressions and clicks. What should I check?
Statistics are collected only when the option is switched on. Go to Stores > Configuration > Mirasvit Extensions > Promo Banner and enable "Enable collecting banner stats", then clear the cache.
Once it is on, an impression is counted the first time a unique visitor sees the banner, and a click is counted when they follow its link.
Can Promo Banners be integrated with the GeoIP extension?
There is no direct integration between the two modules, and none is planned.
You can still run banners by location. A store that switches store views by country can assign a different set of banners to each store view, and a banner condition on the page URL covers the cases where a country is reflected in the address.
banner_impression (when a banner becomes visible) and banner_click events to Mixpanel through the Mirasvit interaction tracker, with the banner ID and name attached. This works alongside the module's built-in impression stats and lets you analyze banner performance in Mixpanel.mirasvit/module-banner-hyva package is now declared as a suggested dependency so it can be installed.Json serializer.mst_banner_banner and mst_banner_placeholder to JSON on setup:upgrade. Stores already on JSON are unaffected.LogicException: The BannerSearchResultsInterface class doesn't exist due to incompatible type declarations in repository interfacesBlog
We are committed to being open and transparent with our customers. When you purchase our module, you automatically receive one year of free support service and free updates.
Why is this important?
- Seamless Installation and Configuration: We understand that setting up a new module can take time to configure according to your specific needs. That’s why we offer a full year of free support. Our experienced team is here to assist you with installation, configuration, and any questions you might have. We're eager to share our expertise to ensure you get the most out of your purchase.
- Stay Updated with Magento (Adobe Commerce) Releases: Magento releases new versions approximately every three months. These updates can sometimes introduce compatibility challenges. To keep your store running smoothly, we provide a year of free access to the latest versions of our modules, ensuring that you can upgrade Magento and our modules without encountering any obstacles.
- Subscription Included: Renewing your subscription ensures continued access to the latest updates and support from our team. This means you can be confident that any issues you encounter with the extension will be resolved quickly and efficiently. You can cancel your subscription at any time without any additional fees.
These are our primary. A major portion of our new clients come from referrals from our existing clients. Our professional team of developers, marketers and support staff have invested the best knowledge and experience in the field into our work, so you know you can come back to us again and again.
One year free and high quality support. We go to great lengths to provide maximum satisfaction with every module you have purchased in our store. By helping you with installation, configuration, answering your every question, we do all our best to eliminate any possible problems.
30-days money back guarantee. If you are not satisfied with our extension performance for any reason, we provide a full refund.
We constantly add new features to all our modules, and are always interested in hearing your opinion and implementing your suggested features in our future developments.
We provide an expanded user guide for every aspect of our extension, so you can find answers for all your burning questions.
You can customize extension according to your needs and requirements.
The Module is easy to install and upgrade, just follow our step-by-step user guide. Additionally, the extension is ready to use with the Hyvä theme.
No core modifications. The extension has been tested in a Magento Cloud environment and is fully compatible with it.
Andriy Kovalenko