Skip to content
On this page
Reference Reference 2 min read Updated Sep 28, 2026

Block placements reference

In short

The Custom Block app block can go in four positions: the checkout body, just after the header, just before the delivery address and just after it. Every position renders the same way: it loads the block whose Block ID you paste in. Pick the position by what the block is for.

✓ Applies to

  • Advanced and Deluxe plans
  • Shopify Plus checkout (and development stores for testing)
  • The Custom Block app block

✕ Doesn't apply to

  • The thank-you and order status pages
  • The Rules Executor block, which runs checkout rules and shows no block content
Need the step-by-step for placing a block? Follow the how-to →

Positions

PositionShopify targetWhere it appearsGood for
Checkout bodypurchase.checkout.block.renderWherever the checkout editor lets you add an app block. You choose the spot in the editorMost blocks: upsells, trust badges, custom fields, notices, gift messages
After the headerpurchase.checkout.header.render-afterJust below the checkout headerStore-wide announcements, notice banners, step indicators, promo messages
Before the delivery addresspurchase.checkout.delivery-address.render-beforeAbove the delivery address formDelivery notes and address guidance, shipping protection
After the delivery addresspurchase.checkout.delivery-address.render-afterBelow the delivery address formDelivery date pickers, delivery instructions, shipping protection

In the checkout editor, all four appear as the same Custom Block app block. Each one has one setting, Block ID. The target names are Shopify’s; you don’t need to type them anywhere.

!

Shopify only lets checkout apps render in the information, shipping and payment steps on Shopify Plus. Development stores can place and test blocks.

What’s the same in every position

BehaviourDetail
ContentThe block whose ID is in Block ID, with all its block types in builder order
StatusOnly Active blocks render. Draft renders nothing
Visibility conditionsChecked the same way in every position. See visibility conditions
TranslationsThe buyer’s checkout language is used in every position
StylingYour checkout branding. You can’t add custom CSS
Empty Block IDThe checkout editor preview shows Block not found

Positions and blocks that need a delivery address

The two delivery address positions only render when checkout shows a delivery address form. Don’t use them for a block every buyer must see if you offer local pickup, or sell items that don’t need shipping.

Some blocks depend on checkout context wherever you place them:

  • Step indicator hides itself when the checkout has fewer than two steps, for example a one-page checkout.
  • Shipping protection hides itself when no product is selected or the product can’t be sold.

Several blocks in one position

Each Custom Block app block holds one Block ID. To show several saved blocks, add one Custom Block per Block ID. If the content always shows together, it’s simpler to put all the block types inside one saved block and place it once.

Frequently asked

Does the position change how the block works? +

No. All four positions render the same block the same way, with the same visibility conditions. Only where it appears changes.

Why doesn't my block show before the delivery address? +

The delivery address positions only render when checkout shows a delivery address form. With local pickup, or a cart that needs no shipping, there's no form, so these positions don't show.

Can I put a block on the thank-you page? +

No. The Custom Block app block only has checkout positions. It isn't available on the thank-you or order status pages.

Related guides

Still stuck? Open the app and use Support to chat with the team, or contact us. Don't have the app yet? Install Checkout Ninja.