App blocks in the Checkout Editor
In Shopify’s Checkout Editor, Checkout Buddy offers seven app blocks. An app block is a slot that displays one or more of the blocks you created in Checkout Buddy. What it shows is controlled by its settings and by each block’s conditions. The app blocks on checkout’s steps need Shopify Plus; Thank you page and Customer accounts work on every Shopify plan except Starter.
| App block | Use it for |
|---|---|
| Content | Content blocks, and the progress bars, Reviews, What happens next and automations made since the Content block. It goes anywhere, including under each item, shipping method and pickup location. See Content app block settings. |
| Product offers | Product offers: free gifts, upsells and checkbox upsells. See Product offers app block settings. |
| Custom fields | Custom fields forms. See which forms an app block shows. |
| Cart line item | Cart line editor, Line item upsell, and Line item text under each product. It supports extra button styles for the cart line editor. |
| Thank you page | Thank you page blocks: next-order codes, offers, delivery dates, help and more. See thank you page. It also shows checkout blocks you placed on the thank you and order status pages before. |
| Customer accounts | Customer account blocks on the Profile, Orders and Order status pages, their announcement bars and the footer. |
| Checkout Buddy (v1) | Blocks made before the Content block, such as older banners, text and Apply discount code blocks, older product offers and older form fields. Also SMS consent, the Address validator and Apply line item attribute, which are still made this way. |
Product offers also show on product and cart pages, through a block and an app embed that are also called Product offers. You add those in Shopify’s theme editor, not the Checkout Editor: see Product offers on product and cart pages.
Where to place blocks
Section titled “Where to place blocks”Most blocks work anywhere. A few only make sense in specific locations:
| Location in checkout | Good for |
|---|---|
| Header, footer, or any block slot on a step | Banners, text, trust badges, benefits, images, FAQ, reviews |
| Contact section and delivery address | Custom fields forms, SMS consent, address validator |
| Above or below shipping methods | Delivery notes, What happens next, shipping messages |
| Under each shipping option | Text that should show under one specific shipping option, and What happens next with that option’s dates. See shipping method description. |
| Under each pickup location | Store hours or directions per location, with the Content app block |
| Above or below payment methods | Payment messages, terms checkboxes, fields about the billing address (Shopify has no place for apps at the billing address itself) |
| Under each line item (order summary) | Line item text, Line item upsell, Cart line editor, and content blocks with This item rules |
| The main column, on any step | The Product offers app block. On mobile the order summary starts collapsed, so offers placed there are easy to miss. |
| After the line items, or around the discount field | Older product offers, progress bars, discount buttons |
| Above the checkout buttons | Terms checkboxes, last-chance offers |
The Product offers and Custom fields app blocks go in any of these locations except under each line item or shipping option. The Content app block goes in all of them.
Blocks placed under each line item or shipping option are shown once per item or option. Each copy checks the block’s rules on its own, so a This item rule (in older blocks, Target line item tags) can show a block under some products and not others. See Content rules and, for older blocks, conditions for a specific line item.
Allowing a block to stop checkout
Section titled “Allowing a block to stop checkout”Required fields in a Custom fields form, banners set to block checkout, and older blocks’ required fields, field validation and address validator can only stop a customer from continuing if you allow it. In the Checkout Editor, open the app block’s settings (Custom fields, Content or Checkout Buddy (v1)) and turn on Allow app to block checkout under Checkout behavior. Do it in every app block that shows such a field or banner.
If that option is off, the field or banner still shows but customers can continue.

Content app block settings
Section titled “Content app block settings”The Content app block shows content blocks, and the progress bars, Reviews, What happens next and automations made since the Content block. Everything about a block’s look is set in its editor, so the app block has two settings:
| Setting | What it does |
|---|---|
| Block IDs | “Block IDs to show here, separated by commas, in that order. Leave empty to show every content block, oldest first. List IDs when you add this block more than once.” |
| Show first match only | “Shows only the first block whose rules pass, in Block IDs order.” Automations still run. |
Every published block whose rules pass shows, stacked. There’s no random pick and no Fixed block ID. Under each item, shipping method or pickup location, list the IDs meant for that spot: with empty Block IDs, every content block shows there. See which blocks an app block shows.
In the Checkout Editor, the app block shows notes only you see: blocks hidden by their rules, IDs that are turned off, and what each automation does.
Product offers app block settings
Section titled “Product offers app block settings”The Product offers app block shows Product offers. Everything about an offer’s look is set in its editor, so the app block has two settings:
| Setting | What it does |
|---|---|
| Block IDs | “Offer IDs to show here, separated by commas, in that order. Leave empty to show every offer with Checkout ticked, oldest first. List IDs when you add this block more than once.” An offer’s ID is in its Status card once you’ve saved it. |
| Show first match only | “Shows only the first offer that applies, in Block IDs order.” |
Without Show first match only, every published offer whose conditions pass shows, stacked. There’s no random pick and no Fixed block ID. If you add the app block more than once, list IDs in each, so no offer shows twice. See which offers an app block shows.
For Shop Pay buyers, turn on Include block in Shop Pay in the Checkout Editor.
The Checkout Buddy (v1) app block’s settings, such as Fixed block ID, Disable custom attributes and the Appearance settings, don’t apply to Product offers or content blocks. The Custom fields app block works the same way for forms: see which forms an app block shows.

Checkout Buddy (v1) app block settings
Section titled “Checkout Buddy (v1) app block settings”These settings are for the Checkout Buddy (v1) app block, which shows blocks made before the Content block.

Which blocks to show
Section titled “Which blocks to show”| Setting | What it does |
|---|---|
| Fixed block ID | Only blocks with these IDs can show here. Separate several IDs with commas; at most one of them shows at a time. Leave it empty and any of your enabled blocks can show. |
| Multiple block IDs | Show several blocks here at once, stacked in the order you list them. Replaces Fixed block ID when both are filled. Analytics don’t track these blocks individually. |
Both settings still respect each block’s status, markets, and conditions. A block listed here won’t show if it’s disabled or its conditions don’t pass. See which block shows.
Tracking
Section titled “Tracking”| Setting | What it does |
|---|---|
| Disable custom attributes | Stops Checkout Buddy from adding its tracking data (__buddy_data on the order and _buddy_data on line items it adds). |
Tracking settings only change blocks shown in this app block, such as older product offers. Product offers are in their own app block and don’t add __buddy_data. See Product offers analytics.
To keep __buddy_data off your orders but keep those discounts working, leave this off and use Disable __buddy_data order attribute under Misc. features instead. See keep __buddy_data off your orders.
Appearance
Section titled “Appearance”These settings style the blocks shown in this app block. Colors and fonts come from your checkout branding. They don’t change Product offers, which set their look in their own Layout card.
| Setting | Options | Applies to |
|---|---|---|
| Number of products shown | 1–10 | Older product offers, when the block doesn’t set its own number |
| Enable pagination | On / off | Older product offers: turns on page arrows even if the block doesn’t. Reviews: shows one review at a time with arrows. |
| Divider position | None, Top, Bottom, Top and bottom | Dividers around the block |
| Image size (pixels) | Number | Image blocks, product images, and images in icon and feature highlight blocks |
| Heading size | Small, Medium | Older product offers headings |
| Subheading size | Small, Base | Block subheadings |
| Subheading position | Top or bottom, left, center or right | Block subheadings |
| Subheading emphasis | None, Italic, Bold | Block subheadings |
| Heading/subheading appearance | Default, Accent, Subdued, Info, Success, Warning, Critical | Heading color. Doesn’t change a banner’s own title. |
| Text size | Small, Base | Body text |
| Text position | Left, Center, Right, Top, Bottom | Text alignment in text, icon, and trust badge blocks |
| Text appearance | Default, Accent, Subdued, Info, Success, Warning, Critical, Bold, Italic | Body text |
| Call to action appearance | Default, Primary, Secondary, Plain, Critical, Monochrome | Buttons in older product offers, discount buttons, and contact info. An older Product offers block’s own Button style takes priority. |
| Misc. appearance | Show titles for single variants, Show border around checkboxes, Position text and icons left | Small layout tweaks |
Behavior
Section titled “Behavior”Misc. features has three options. You can choose one per app block. They don’t change Product offers, which are in their own app block.
- Hide component product if already in cart: older Product offers blocks in this app block hide products the customer already has in their cart. Product offers have their own setting, Once a product is in the cart.
- Disable component refresh: Normally a block re-checks its conditions as the customer changes their cart, address, or shipping method. This option keeps the first block chosen for the whole visit, even if its conditions stop passing.
- Disable __buddy_data order attribute: Blocks in this app block stop adding
__buddy_datato the order, for example so it doesn’t show up in ShipStation’s Notes From Buyer. Items added from a block keep their hidden_buddy_dataproperty, so product discounts set to Checkout components still apply. Analytics and the Block IDs condition stop working for these blocks. See keep__buddy_dataoff your orders.
Cart line item settings
Section titled “Cart line item settings”This app block only shows Cart line editor, Cart line editor (simple), Line item upsell, and Line item text blocks. Place it under the line items in the order summary. Its settings are Fixed block ID, Multiple block IDs, Disable custom attributes, Text size, Text position, Text appearance, and Misc. features. They work the same as above, except Misc. features has no Hide component product if already in cart option.
Use it instead of the main app block when you want the cart line editor’s button styles, its Add-on and Subscribe buttons, or to hide its Edit button. See cart line editor.
