
Magento 2 static blocks are a great way to drive customer's attention to certain products, offers, or services. Although creating CMS blocks in Magento is super easy, adding them to pages is quite a challenge.
All because there are different ways to insert CMS blocks in Magento. Everything depends on how and where you prefer them to appear.
This guide covers the main tools and locations to add static blocks, including how to display them dynamically: by custom group, date or other conditions.
- You can display CMS blocks in Magento through category settings, widgets, the WYSIWYG editor, and page builder.
- Category settings are the fastest way to add banners in Magento, but they allow placement in predefined areas only — at the top of the category, near the description.
- Magento widgets are the most popular method to insert CMS blocks since they give full control over the pages and containers where the block will appear.
- The WYSIWYG editor and Page Builder let you add blocks directly into page content, but the blocks remain static.
- Magento does not have built-in CMS block schedule or conditional CMS block display functionality.
- Dynamic CMS blocks are blocks that are displayed automatically and change dynamically based on time, customer groups, cart conditions, and visitor behaviour.
Magento CMS Block Display Methods
By default, there are three methods to add blocks in Magento: by category settings, widgets, and content editors.
While category settings are the simplest way to add banners, this method lacks flexibility in placement. Widgets, on the other hand, provide more control and let you place blocks on different pages, but they still require manual setup.
Content editors allow you to add the blocks directly to CMS pages. Yet they are static and cannot offer any scheduling or personalisation.
![]()
Even though each method has its own pros and cons, they can still serve basic needs. But when it comes to automation or displaying static blocks under specific conditions, all these methods become useless.
This is where dynamic CMS blocks come in handy.
They allow you to display the right content to the right group of people at the right time. It helps you avoid errors and missed promotional opportunities. However, this feature is not available in Magento by default.
How to Insert CMS Blocks in Magento?
Now that you've selected the preferred way to insert blocks, let's see how you can do that.
Via category settings
To display Magento CMS blocks on category pages, follow the steps below:
1. Navigate to Catalog > Categories and choose the Category you want to display the CMS block on.
2. Select the CMS block you want to add in the Content section.
![]()
3. Set the Display Mode to Static block only or Static block and products in the Display Settings.
![]()
4. Save a category and check your CMS block on the storefront.
![]()
Here's a short video on how to add static blocks to categories.
Displaying CMS blocks on category pages allows you to highlight special offers, discounts, or news within a particular category.
However, the placement is very limited, usually at the top of the page. So if you want to add a static block to the category page below the products, try adding it using widgets.
Via Magento widgets
To insert static blocks using Magento widgets, follow these steps:
1. Navigate to Content > Elements > Widgets and press the Add Widget button.
2. Choose the CMS Static Block as a Type, set the Design Theme and press Continue.
Important: you won't be able to change these fields moving forward. So if you've selected the wrong type or theme, just turn back or start with a new block.
![]()
3. Fill out the Storefront Properties.
- Give your widget a Title.
- Assign it to Store Views it should be active on.
- Set the Sort Order.
Note: the smaller the number, the higher it appears on the list of widgets.
![]()
4. Set the exact page and place where you want to display the CMS block in the Layout Updates.
- Choose any Category, Product or Generic Pages to place the CMS block.
- Select a Container, the exact place on the page where you want to insert your CMS block.
![]()
5. Go to Widget Options and select the CMS block to assign to this widget.
![]()
6. Save the widget and check your CMS block out on the storefront. Sometimes you might need to clear Magento caches too.
![]()
Watch this short video to follow the step-by-step instructions on how to display CMS block on Magento pages using widgets:
Note: if, for some reason, you want to stop displaying certain CMS blocks, you need to disable the CMS block, not a widget.
This is the most popular method to insert static blocks in Magento, since it allows you to choose the exact page and location to add them.
However, if you want to add CMS blocks directly to the page content, use the WYSIWYG editor.
Via WYSIWYG editor
To add static blocks to a CMS page or a blog via the WYSIWYG editor:
1. Navigate to Content > Pages and select the CMS page you want to display a block on.
2. Find the Widgets tool in the Content section to insert the widget.
![]()
3. Set the CMS Static Block as the Widget Type to continue.
4. Choose the widget Template and Select a Block from the list of CMS blocks. Then hit Insert Widget.
![]()
5. Don't forget to Save your page.
If you prefer the video instructions on how to insert a CMS block into the WYSIWYG editor, watch this short clip:
Displaying CMS blocks in Magento this way is faster than other methods. However, harder to manage since you can't change the location or track all blocks inserted this way.
Via Page Builder
To insert CMS blocks via Magento page builder:
1. Go to Content > Pages and choose a page you want to add a block to.
2. Find the Content section and hit the Edit with page builder button.
3. Insert a Row where you want to display your CMS block and paste the Text element.
4. Find the Widgets tool on the panel.
![]()
5. Choose CMS static block as a Widget Type, set a Template, and choose a Block. Basically, the same steps as in the WYSIWYG editor.
![]()
6. Close the page builder window and press Save.
Whether you use the WYSIWYG editor or Page Builder to display Magento static blocks on CMS pages, the result will be the same.
![]()
How to Display Magento CMS Blocks Dynamically?
When you insert static blocks in Magento using default widgets and category settings, these blocks stay visible until you manually change them. This quickly becomes inconvenient if you want to run time-limited promotions, seasonal campaigns, or personalised offers.
To fix that and display CMS blocks in Magento dynamically, you need solution. It allows you to set the display conditions to define when, how and whom to display the static blocks to.
Note: you still need to add CMS blocks to pages via widgets to specify the container where they should be placed. But the block will enable, disable and change based on the conditions you set. So, no repetitive manual management.
By customer group
To display CMS blocks dynamically based on customer group, just specify the group a block targets. Even if you have two different blocks in the same place, customers from different groups will see different banners.
e.g. you can offer and display the free shipping banner for general customers or a "sign up and get a free shipping" one for not logged in visitors.
Customer group setting for the dynamic blocks
By date
To display static blocks in Magento dynamically by date, just specify the date, time, and days of the week in the corresponding fields. This will enable and disable CMS blocks automatically. So they will replace one another on autopilot.
e.g. set up "Monday shipment" banner to display on weekends and "get your order by the end of the week if you order now" for Monday and Tuesday.
Dynamic blocks date and time settings
By conditions
To display CMS blocks in Magento dynamically based on conditions, just set the shopping cart, product, category or page attributes they are based on. This allows you to show discounts or special offers on the shopping cart, checkout or products only if certain conditions are met.
e.g. set up the "free shipping offer" for orders greater than $100 or from some specific country since it's in your region. Or you can offer encouragement, discount banners on new products only.
Example of the CMS block conditions based on the cart attributes (shipping country and cart subtotal)
Magento CMS blocks are a powerful tool for basic content placement — whether promoting offers on category pages or inserting banners directly into CMS pages.
But they are quite limited when it comes to management. You need to do a lot of manual editing and struggled over placing multiple blocks in the same container.
To truly deliver the best results across your store and facilitate management, you need to enable dynamic blocks in Magento.
They will bridge the gap between default Magento functionality and dynamic personalized content to make the most of the static content.
FAQs
To personalise the message, you can enable dynamic blocks and display two different blocks for different customer groups.
Your CMS block may not appear on the storefront if:
- the cache hasn’t been fluched
- the block is disabled
- the block is not assigned to the correct storeview
- the widget has conflicts with layout containers.