Thank you page prompt
Invite customers who aren't in your loyalty program to join, on the order confirmation page — the moment they're most interested.
The Join prompt is a block you place on the Thank you page, the confirmation screen a customer sees the instant their order goes through. If they're not already a member, it shows your welcome bonus, links to your program terms, and signs them up in one tap. Members and everyone on an auto-enrolling store see nothing at all.
Available on every Shopify plan except Starter — unlike the checkout extension, this one isn't Plus-only. It works for guests too, not just signed-in customers.
When it appears
The block stays hidden unless all of these are true:
- Your program uses manual enrollment. If Auto-enroll every customer is on in Settings, there's nothing to join and the block never shows.
- The customer isn't already a member and has no points history.
- The order has a customer attached. A checkout that creates no customer record has nobody to enrol.
- Only on first order is off, or this really is their first order.
What the customer gets
Two things, straight away:
- Your welcome bonus — the same one they'd get joining from the cart or their account. It's only ever awarded once per customer, so there's no way to collect it twice.
- The points for the order they just placed. Normally an order earns nothing if the customer wasn't a member when they bought — joining here credits that order retroactively, with the same tier multiplier, boosts and exclusions it would have earned through the usual path. The confirmation message tells them the total and how much came from the order.
The invitation names the exact figure before they commit — "Join now and get 340 points straight away: 240 for this order, plus a 100 welcome bonus." That number is calculated by the same code that awards it, so what they're shown and what they get can't drift apart.
The order credit can come out at zero — if every item is excluded from earning, or your store is past its plan's monthly order cap. Both the invitation and the confirmation adapt, so neither ever promises points that weren't given.
No double crediting
Points are awarded once, full stop. Reloading the Thank you page, forwarding its link to someone else, or tapping Join twice can't produce a second credit: each order can only ever carry one set of points, and each customer only one welcome bonus, enforced in the database rather than by a check that could be raced. Once a customer is a member, the block simply stops appearing.
How to add it
- Settings → Checkout
In the Shopify admin, open your checkout settings.
- Customize
Click Customize on your checkout profile to open the checkout editor.
- Switch to the Thank you page
Use the page dropdown at the top of the editor to move from Checkout to Thank you.
- Add app block
From the Apps section, choose Loyalty Join Prompt.
- Position & configure
Drag it where you want it, set the options below, then Save.
Pick your program terms page first, under Settings → Enrollment in Gibbond. Without one, the terms link has nowhere to point and is hidden.
Settings
| Setting | Type | What it does |
|---|---|---|
| Heading | text | Custom heading; blank uses the translated default. |
| Body text | text | Custom invitation text. Write {{points}} where the welcome bonus should appear. |
| Terms checkbox label | text | Custom wording for the acceptance checkbox. |
| Join button label | text | Custom wording for the button. |
| Terms link label | text | Custom wording for the link to your program terms. |
| Success message | text | Shown after they join. {{points}} works here too. |
| Show program terms link | toggle | On by default. The link only appears if you picked a terms page. |
| Require terms acceptance | toggle | On by default: the button stays disabled until the checkbox is ticked. Turn off for a one-tap join. |
| Only on first order | toggle | Off by default. Turn on to invite customers only after their very first order. |
| Banner tone | text | info, success or warning. Blank means info. |
About the text fields
Leave every text field blank and the block uses its own wording, translated into all 13 supported languages and matched to the customer's checkout language automatically. That's the right choice for most stores.
Text you type replaces the translation in every language. A heading written in English shows in English to a customer checking out in German. If you sell in more than one language, either leave the fields blank or accept that your wording is the one everyone sees.
The setting names in the checkout editor are always in English. That's a Shopify limitation for checkout extensions and doesn't affect what your customers see.
Consent
When a customer ticks the box and joins, Gibbond stores when they accepted and which terms page they were shown, alongside their membership. Customers who were auto-enrolled, imported from a CSV, or added through the API have no acceptance stored — because they never gave one.