Thank you page: show protection status or let customers add protection
The Thank you page widget does two jobs. It tells customers whether their order is protected — and, for orders that aren't, it can give them one more chance to add protection and pay for it on the spot.
Where to find it
Open Shipping protection → open the widget editor → use the surface dropdown in the top-right corner and select Thank you page.
This surface has no sub-tabs (no Settings / Appearance / Advanced setup). Everything is on one screen, with a live Preview on the right.

The two order states: Protected and Unprotected
At the top of the screen there are two tabs — Protected and Unprotected. Each one is a separate banner with its own on/off switch, tone and text:
- Protected — shown when the order contains the shipping protection item.
- Unprotected — shown when it doesn't. On this tab you also choose what the widget does: show a message only, or let the customer add protection. See Step 3.
A dot on each tab tells you at a glance which state is currently on. Both states are off by default, so nothing appears on your storefront until you enable them.


Step 1: Turn the banner on
Pick a state tab, then click Enable. The badge switches from Off to On.
Do this for each state you want to use — you can enable Protected only, Unprotected only, or both.


Step 2: Add the app block in the checkout editor
The banner only appears once the app block is added to your pages. In the Add widget block card, click Go to checkout editor — it opens Shopify's checkout editor directly on the Thank you page.
In the editor:
- Click Add app block.
- Choose S: Shipping protection.
- Drag it to the position where you want the banner to appear.
- Repeat on the Order status page.
- Click Save in the editor.




Step 3.1: Choose the banner style
Banner style sets the tone — the colour and icon Shopify uses to render the banner.
Tone | Typical use |
|---|---|
Info | Neutral information |
Success | Order is protected (default for Protected) |
Warning | Order is not protected (default for Unprotected) |
Critical | Strongest emphasis |
The exact colours come from Shopify, so the banner always matches the checkout and customer account styling. |

Step 3.2: Choose what the Unprotected state does
This step only exists on the **Unprotected** tab. The card **What does this widget do?** decides which cards appear below it:
Option | What the customer gets | Which cards you'll configure |
|---|---|---|
Show a message only | A banner telling them the order isn't protected. No button. | Banner style + Text customization |
Let customers add protection | A card with your offer, an **Add to order** button and a **Dismiss** button. They pay for the protection right there. | What customers see + Payment timeout + Email reminder |


Payment timeout: Time to complete payment** is how long the customer has to pay after they tap **Add to order**.
- Pick one of **15 minutes**, **30 minutes**, **1 hour**, **6 hours** or **24 hours**. The default is **30 minutes**. While the clock is running, the protection item sits on the order unpaid and its fulfillment is held, so it can never ship before it's paid for.
- If the payment isn't completed in time, the protection item is removed from the order automatically and the order goes back to its original total — you don't have to clean anything up.

Email reminder before expiry:
- Off by default.
- When you enable it, any customer who tapped **Add to order** but hasn't paid receives one reminder email **5 minutes before their window closes**, with a link that takes them straight back to the payment page.
- The email uses your shop's **Protection payment reminder** template, so the wording, logo and sender name follow your existing email branding.
- The link in the email keeps working even after the window has closed. If the customer opens it late, the offer is rebuilt for them and they're taken to a fresh payment page — so a late click still becomes a sale.

Step 4: Write the text
Text customization holds the content of the banner for the state you're editing.
- Heading — the main line. Required when the state is on, maximum 255 characters. A character counter is shown.
- Description (Optional) — a short line below the heading, maximum 1024 characters. Leave it empty to show only the heading.



The {price} variable
On the Protected tab you can insert {price} anywhere in the heading or description. It is replaced by the total protection fee of that order, formatted in the order's own currency.
Example: Your order is protected ({price}) → Your order is protected ($4.99){price} is only meaningful for protected orders — an unprotected order has no protection fee.

Suggested text
If your shop has never configured this surface, the fields are pre-filled with:
State | Heading | Description |
|---|---|---|
Protected |
|
|
Unprotected |
|
|
These are suggestions only — edit them freely. Text you have already typed is never overwritten.
Preview
The panel on the right renders a mock Thank you page with your banner in place, so you can check the tone and wording before saving.
- When the state is off, the preview shows "This banner is turned off and will not be shown."
- When your protection fee is a percentage,
{price}in the preview is an estimate based on a $100 sample cart — a note under the banner says so. The live banner always shows the real fee.
Click Save in the contextual bar when you're done.

How it looks for the customer
The same banner is rendered on both surfaces:
- Thank you page — immediately after the customer places the order.
- Order status page — every time the customer opens the order from their account.


Troubleshooting
The banner doesn't appear on the storefront
Check in this order:
- The state you expect is On (Protected vs Unprotected).
- The Heading is not empty — an empty heading renders nothing.
- The S: Shipping protection app block has been added and saved on that page in the checkout editor. The Thank you page and the Order status page are configured separately.
Updated on: 14/09/2026
Thank you!