We build custom Shopify features from $99. Every build has a 30-day guarantee.

Build My Feature →

Shopify Horizon Blocks vs Sections: Which One Do You Need?

Shopify Field Notes ··Johnny Chen Founder & Shopify Developer at CheckoutWorks
Cover titled Block or Section? Choose Before You Build, beside a simplified page where one full-width row is labeled Section and the image, heading, text, and button inside it are each labeled Block.

On Shopify Horizon, a section is a full row of a page, and a block is a piece inside that row. Most custom features should be built as a block, because you can then place it on any page yourself. A feature needs a section when the spot you want takes no extra blocks, or when the feature is a whole row of its own.

You can check which one you need in the theme editor in about two minutes. We checked everything here on Horizon 4.3.0.

Sections are rows, blocks are the pieces inside

Open the theme editor and look at the left sidebar. Each top-level row is a section: the header, the product information area, the footer. Everything indented under a section is a block: a heading, a button, an image, a price. A Group is a block that holds other blocks.

Shopify Horizon theme editor sidebar with the Product information section expanded into Product media, Details, and nested Group blocks, one of which holds two Text blocks and a Discount code block

Product information is the section. Every row under it is a block, including our custom Discount code block.

A block can be placed again and again

A custom block is built once. After that, you add it in the theme editor wherever you want it, the same way you add a Text or Image block. No more code is needed for each new spot.

Our discount code box is a block. On our demo product it appears twice: once in the product details, and once further down the page in a different section.

Shopify Horizon theme editor sidebar with a Custom section expanded into nested Group blocks, the innermost holding two Text blocks and a Discount code block

The same Discount code block, placed a second time inside a Custom section.

Choose a block when the feature sits inside an existing part of the page, or when you want it on more than one page.

Some spots only take their own blocks

A block can go only where a section allows it. Many Horizon sections allow any block. Some allow only their own.

The announcement bar is one of them. We wanted our discount code box at the top of every page, but the announcement bar offers a single block: Announcement. That is how the theme is designed. Nothing is wrong with your store.

Shopify Horizon theme editor with Add block opened on the Announcement bar, where the Blocks tab lists only Announcement

The announcement bar offers only its own Announcement block.

So we added a small custom section: a plain bar for the top of the page that accepts any block. The discount code block goes inside it. The block is still the feature, and the section gives it a place to sit.

A feature also needs a section when it is a whole row with its own layout. Our search page shows blog posts and pages below the product results. That list is a section, because it fills a full row and loads its own results.

Check your spot in two minutes

  1. Open Online Store > Themes > Customize and go to the page where you want the feature.
  2. In the left sidebar, find the spot and select Add block.
  3. Look at the list on the Blocks tab.

Shopify Horizon theme editor with Add block opened under Details in Product information, where the Blocks tab lists Button, Heading, Icon, Image, Text, Video, Accordion, Divider, Group, and Spacer

A long list of general blocks. A custom block can go here.

What you see What your feature needs
A long list with Text, Image, Button, and Group A block
One or two special blocks only A section, with the block inside it
No Add block option A section
You want it between two existing sections A block, inside a Custom section you add there
The feature is a full row with its own layout and data A section

One thing to ask for either way

Ask for the feature to be added as a new file, with Horizon's own files left unchanged where possible. A theme update has nothing to conflict with in a file that Horizon does not ship. Changes made inside Horizon's own files are the ones an update can drop, as our Horizon update workflow shows.

Other Horizon versions and other themes can allow different blocks in each section, so run the two-minute check on your own theme.

You can also skip the question. Tell us the feature and where it should appear, and our Shopify Custom Feature Development service covers working out whether it needs a block, a section, or both, then building and testing it.

Get Shopify help _

Block, section, or not sure which?

Just leave it to us.

$99 USD

ONE CUSTOM FEATURE ·30-DAY GUARANTEE

Build my custom Horizon feature