Product offers and discount codes
Two blocks help customers order again from their account: Product offers shows products they can add to the cart in one click, and Discount code shows a code to copy and a button that applies it, or a link they can share with friends.
Requires: any Shopify plan except Starter (no Shopify Plus needed), Shopify’s new customer accounts, and the Customer accounts app block on the page in Shopify’s checkout and accounts editor. Account blocks come with the Deals & Rules and Buddy plans, or count as the Free plan’s one customization. See set up account blocks.
These are customer account blocks. For upsells, add-ons and free gifts in checkout or on your product and cart pages, see Product offers.
| Block | Can go on |
|---|---|
| Product offers | Profile, Orders, Order status |
| Discount code | Profile, Orders, Order status, Announcement bar |
Add a next-order discount code
Section titled “Add a next-order discount code”- In Shopify, create the code under Discounts, for example 10% off, once per customer. Checkout Buddy doesn’t create it.
- In Checkout Buddy, on the Customer accounts tab of the Customizations page, click Create customization and choose the Discount code card. Pick the Next-order discount template, or Start blank.
- In Discount code, replace the template’s code with yours, and check that the heading and text describe your discount.
- Turn on the switch in the Status card so it says Published, then save.
- If you haven’t yet, add the Customer accounts app block to the block’s page in Shopify’s checkout and accounts editor. See set up account blocks.
For products to order again, follow the same steps with the Product offers card and its Time to reorder or Complete the set template. For a reorder button on each order, see Buy again with choices.
Product offers
Section titled “Product offers”| Setting | What it does |
|---|---|
| Heading, Text | Optional heading and message above the products. |
| Which products | Where the products come from. See below. |
| Choose products | For Products I pick: opens Shopify’s product picker. Then Change products to edit the list. |
| Choose collection | For From a collection: opens Shopify’s collection picker. |
| Layout | Rows (default): one product per row, with a small picture. Side by side: tiles with the picture on top, up to three in a row on wide screens. |
| Most products to show | 1 to 8. The default is 4. |
| Buy goes to | Their cart, to keep shopping (the default), Straight to checkout or Shop Pay. Straight to checkout suits stores whose customers skip the cart, such as stores selling digital downloads. |
| Discount code | Optional. Applied when they buy these products. |
| Button text | The button beside each product. Empty shows Add to cart, or Buy now when it goes straight to checkout or Shop Pay. Changing Buy goes to also swaps Add to cart and Add all to cart for Buy now and Buy all, and back. Text you wrote yourself stays. |
| Add-all button text | A button that adds every product shown. Leave empty for no add-all button. |
| Star ratings | On for new blocks. Your reviews app’s rating and review count under each product’s name, such as “4.6 (18)”. See star ratings. |
| Record sales for Analytics | On for blocks made since November 8, 2026. Counts the orders placed with this block’s buttons, and what buyers paid for its products, in Analytics. The new order gets a hidden attribute, _buddy_offer_link, which you’ll see in its Additional details. |
Which products
Section titled “Which products”| Option | Products shown |
|---|---|
| Products I pick | The products you choose. |
| From a collection | The collection’s products in the collection’s own sort order, so a collection sorted by best selling keeps the block up to date. Leaves out products the customer already bought. |
| Goes with what they bought | Shopify’s complementary products, which you set up in Shopify’s Search & Discovery app. |
| Similar to what they bought | Shopify’s related products. |
| Their last order again | The products in the order, for reorder reminders. |
The last three use one order: on the Order status page, the order the customer is looking at; on the Profile and Orders pages, their most recent order that wasn’t cancelled. Recommendations come from the first product in that order and leave out products already in it. On the Profile and Orders pages they also leave out products from the customer’s 20 most recent orders.
Only products that are available to buy are shown. If there’s nothing to show, for example for a customer with no orders, the block doesn’t show.
What customers see
Section titled “What customers see”Each product shows its image, its title (linked to its product page) and its price. Its button opens your online store’s cart with the product and your discount code, so customers can keep shopping or check out. With Straight to checkout or Shop Pay under Buy goes to, it skips the cart and opens checkout or Shop Pay instead. The add-all button adds one of each product shown, and only appears when there’s more than one.
Screenshot needed
A Product offers block titled Complete the set on the Order status page, three products with Add to cart buttons
From the Complete the set template (Product offers card), on an order whose product has complementary products set up in Search & Discovery.
Discount code
Section titled “Discount code”| Setting | What it does |
|---|---|
| Show it as | A code for the customer: the code to copy, and a button that applies it. A link to share with friends: a link that applies the code. |
| Discount code | The code. Create it in Shopify’s Discounts first. Personal text works here too. |
| Heading | Optional heading. |
| Text | Optional message. Not used in the announcement bar. |
| Button text | For A code for the customer: the button that applies the code. “Shop now” if empty. |
| Then go to | The page of your store customers land on after the code is applied, such as /collections/sale. Your home page if empty. |
| Show a QR code of the link | Customers on a computer can scan it to shop on their phone. Not in the announcement bar. |
What customers see
Section titled “What customers see”- A code for the customer: the code, a Copy code button, and your button. The button applies the code to their cart and opens the Then go to page.
- A link to share with friends: a link to copy with Copy link. Whoever opens the link gets the code applied and lands on the Then go to page.
- Show a QR code of the link on: a QR code under the code or link. Scanning it opens the same link as the button.
- Announcement bar: one line with the heading, the code in bold and a link with your Button text.
If the code comes out empty, for example personal text that reads a metafield the customer doesn’t have, the block doesn’t show.
Examples
Section titled “Examples”These are templates on the Discount code and Product offers cards in Create customization:
| Template | Block | Setup |
|---|---|---|
| Next-order discount | Discount code | Orders page, code THANKYOU10, for customers whose Number of orders is more than 0. |
| Refer a friend | Discount code | Profile page, A link to share with friends, code FRIEND15. |
| Birthday treat | Discount code | Orders page, code BIRTHDAY20, with Birthday is this month on the Birthday profile field. |
| Time to reorder | Product offers | Orders page, Their last order again with a Reorder all button, when Days since last order is more than 45. |
| Complete the set | Product offers | Order status page, Goes with what they bought, 3 products. |
To give every customer their own code, store it in a customer metafield and put it in Discount code as personal text, for example {{ customer.metafields.custom.personal_code }}.
Things to know
Section titled “Things to know”- The code isn’t created for you. The editor warns when it isn’t in Discounts, has expired or hasn’t started. Customers see the code either way, and Shopify applies it only when it’s active and its requirements are met.
- Buttons start a new cart. The cart or checkout opens with just the items from the button, replacing what was in the cart.
- Share links aren’t tracked. Everyone who opens the link gets the same code. Checkout Buddy doesn’t record who referred whom.
- One variant per product. Product offers add each product’s first variant, quantity 1. Customers can choose another variant on the product page.
- Complementary products need Search & Discovery. Without them set up, Goes with what they bought often has nothing to show.
- Cart buttons can’t add line item properties.
- Prices show in the currency of the market the customer is browsing in.
