Before you start
- A banner needs both a web image and a mobile image to go live. Either slot empty = banner stays off, even if you toggle it on.
- A rule can carry up to 50 banners.
- Banner placement, click-through links, and rendering happen on your storefront. Layers ships the banner config in the browse response. Your theme is responsible for drawing it. See Banner Injection for the payload shape.
Steps
- Open or create a merchandising rule from Merchandise → Merchandising Rules.
- In the right sidebar, switch to the Inject Banner tab.
- Click Add Banner. A new banner appears in the list with a default name.
-
Click the banner to open its detail panel and fill in:
- Name — internal label, never shown to shoppers.
- Type — select a banner type. Every store has a built-in Link type; if you’ve created custom types in Settings → Banner Types, they appear here too. The type controls which fields appear in this panel (and which modes are allowed). See Create a banner type.
- Web Media and Mobile Media — click each slot to open the Store Media browser, which lists every image and video already uploaded to Shopify Files for your store. You can also upload a new file from this modal.
-
Mode — select one:
- Overtake — the banner replaces a product card in its grid cell.
- Inject: the banner occupies its chosen grid space, with products flowing around it. Only Inject banners can carry a click-through link on the built-in Link type.
- Link (built-in Link type + Inject mode only) — the URL the banner clicks through to. Custom types have their own click-through fields under Type fields.
- Type fields — the ordered list of fields defined on the selected banner type. Required fields are marked with an asterisk and block Save if empty. Product, collection, variant, and file fields open a picker; text, number, date, URL, and color fields render inline inputs. Removing a field from the banner type later drops its stored value from every banner of that type.
-
Layout: place the banner separately for desktop and mobile:
- Hero: drag the banner into the area above the products. It spans the full width of the product grid, not just one or two columns.
- Inline: drag the banner to the position you want among the products, then drag its left or right edge to resize across the available columns. The editor keeps inline banners one product-card row tall; there is no fixed 1×1 or 2×2 size picker.
- Optional: open Scheduling and Conditions on the banner to control when and to whom it shows. These layer on top of the rule-level schedule and contextual conditions. Both must pass for the banner to serve. Layers toggles scheduled banners on and off automatically, with changes typically taking effect within about a minute of the configured time.
- Toggle the banner on at the top of its detail panel.
- (Optional) Reorder banners in the list. Layers applies banners in list order. The first banner wins when two target the same grid cell.
- Click Save Changes.
Preview the banners
Open the Preview tab on the rule to see how the rule looks for a representative shopper. The preview shows every enabled banner regardless of its contextual conditions, so you can audit the full set you’re editing. Live traffic still respects each banner’s contextual conditions, and scheduled banners only appear in browse responses while their schedule window has them enabled.Edit, disable, or remove a banner
- Disable temporarily — toggle the banner off in its detail panel, then save. The rule keeps the banner config but stops shipping it.
- Edit media or layout — open the banner, change the field, save. Browse cache is invalidated immediately.
- Remove — click the delete icon on the banner row. Removal is captured in the rule’s undo history, so you can revert before saving.
Limits
- 50 banners per rule.
- Inline widths fit within the available grid columns. Hero banners span the full grid width and are not constrained to inline tile sizes. See Banner sizes and placement.
- Banners only render in your storefront if your theme reads the
bannersarray from the browse response (or the mirrored$app:bannermetaobject). Talk to your developer before relying on banners for a live campaign.
Related
- Banner Injection — full reference for the response shape and rendering rules.
- Rendering banners in Liquid — theme-side render guide for developers.
- Rendering banners with the SDK — SDK equivalent.
- Create a merchandising rule — full rule walkthrough.
- Edit, disable, or delete a merchandising rule