Give a gift when a customer reaches a tier
Make reaching a VIP tier feel like something: a free product, a choice of a few products, or an item from a collection, delivered as a single-use discount code. You decide whether Charm issues the code the moment the customer arrives in the tier, or keeps the gift waiting until the member claims it.
- Go to Program → VIP tiers and find the tier under Configure tier levels.
- Under Perks, click + Add perk and choose Free / discounted product.
- Set How it’s given to One-time on tier entry or Claimable reward (see the difference). A new perk starts on Always on, which is a standing discount on every order, not a gift.
- Set Percentage (%) to 100 for a free gift. A lower number makes it a one-time discount on the item instead.
- Under Applies to, choose what the member gets:
- Specific product: click Pick products and choose one product, or up to 10 for the member to pick from.
- Collection: click Pick collection.
- Check the Summary at the bottom of the dialog, click Done, then Save.
One product, a choice, or a collection
Section titled “One product, a choice, or a collection”Whatever you pick, the gift is one item. The code discounts a single unit even when the cart holds several items it could apply to, and when more than one eligible item is in the cart, the most expensive one becomes the gift.
- One product: any variant of it.
- Several products: the member takes one of them. Drag the rows into the order you want; customers see the first one first. The Summary shows the price range, for example “Customers pick one of 3. Prices €19.00 to €49.00, so count on the most expensive one.”
- A collection: one item from it. The code covers the collection as it was when the code was issued. Keep gift collections small and hand-picked: the code covers at most 100 products and about 200 variants of a collection, and items beyond that aren’t part of the gift.
Issued on arrival, or claimed by the member
Section titled “Issued on arrival, or claimed by the member”| One-time on tier entry | Claimable reward | |
|---|---|---|
| The code is created | The moment the customer reaches the tier | When the member clicks Claim |
| Its validity starts | On reaching the tier | On claiming |
| Where the member finds it | With their discount codes, straight away | Under Gifts waiting for you, until they claim it |
Validity comes from Settings → Points program → Reward expiry (Reward codes valid for, 90 days by default). A member who isn’t shopping when they reach the tier can let an automatic code run out unused. A claimable gift starts its clock only when they want it.
Charm gives each member one code per tier gift, whether it’s issued on arrival or claimed; you can add more by hand. A claimable gift belongs to the tier: if the member drops below that tier before claiming, it leaves their shelf (and so does a lower tier’s gift when they move up, if Only the highest tier’s welcome bonus is on). A code that was already issued stays theirs.
Cancelled and reversed codes
Section titled “Cancelled and reversed codes”Members can cancel a code from its card, and you can take one back with Reverse under Active reward codes on the customer’s page. A code that was already used on an order can’t be cancelled or reversed.
- A claimable gift goes back to Gifts waiting for you, and the member can claim it again later with a fresh validity period. Changing their mind doesn’t cost them the gift.
- A gift issued on tier entry is issued again only if the customer reaches the tier again later. To replace it sooner, hand it out yourself.
What customers see
Section titled “What customers see”Signed-in members find their gifts in the Loyalty Hub in their account, on the loyalty landing page and in the floating widget.
- Gifts waiting for you lists claimable gifts with the tier name and a Claim button (with a picture of the gift on the landing page and in the Loyalty Hub). After claiming, the code appears with the member’s other codes.
- The code sits with their other discount codes (My discount codes in the Loyalty Hub, Your discount codes on the landing page), named after the gift: “Free: Summit Beanie”, “Free item from Gift Picks”, or “One gift of your choice” for a choice. Their points history shows “Tier reward: reached Gold”.
- Choose a gift on a one-product or collection gift opens that product or collection with the code already applied, so there’s nothing to type at checkout. If you change the product’s or collection’s URL handle, the link follows it; if you delete it in Shopify, the button disappears and the code stays on the card.
- For a choice of products, Choose a gift opens a Choose one gift window. Each product shows its regular price struck through next to Free (or the reduced price, for a percentage gift). A product with a single variant in stock gets Add to cart, which adds it with the code applied. The others get Shop now, which opens the product page with the code applied so the member can pick a size or color.
To call the gift something else, fill in Benefit text under Customer-facing appearance in the perk (per language, if your store has several). The tier card uses it, and codes for a choice of products issued after the change carry your default-language wording.
Hand a gift out yourself
Section titled “Hand a gift out yourself”- Go to Customers and open the customer.
- Under Actions, click Give tier gift.
- Choose the Gift and click Give gift.
The code appears in the customer’s account right away. It costs no points and sends nothing, and the confirmation shows the code. The list offers the gifts the customer’s tier entitles them to: their own tier’s and those of the tiers below it, or only their own tier’s when Only the highest tier’s welcome bonus is on. The button appears only when there’s at least one.
You can give the same gift more than once, for example as a goodwill gesture. If the customer already holds a code for it, the dialog says This customer already holds a code for this gift. before you confirm. A gift you hand out also counts as collected: a claimable gift leaves the member’s shelf.
Catch up members already in the tier
Section titled “Catch up members already in the tier”A gift on One-time on tier entry is issued when a customer moves into the tier. If you add the perk later, members who were already in the tier never arrive again, so they don’t get it. Charm also doesn’t issue codes to a whole tier on its own when you save, because that can mean hundreds of codes at once. Catching up is a separate step with a preview.
- Save the tier with its gift first. The action works on the saved version.
- On the gift’s row under Perks, click the gift icon (Issue to existing members).
- Issue this gift to existing members shows how many are missing it, for example “12 members hold this tier and never got this gift.”
- Click Issue codes. Each click issues up to 25 codes, so click again until none are left.
Members of this tier and of every tier above it are counted (only this tier’s members when Only the highest tier’s welcome bonus is on), except customers excluded from the program and anyone who has already had a code for this gift, including a used or reversed code and a gift you handed out by hand. The codes are the gift the tier owed, so a later promotion doesn’t issue a second one. No email is sent.
- Jumping tiers. A customer who jumps several tiers at once gets the one-time gifts of every tier they pass. To give only the destination tier’s gifts, turn on Only the highest tier’s welcome bonus under Settings → VIP tiers → Tier-entry rewards.
- Moving customers by hand. Moving a customer up with Change tier issues the tier’s one-time gifts too. See change a customer’s tier by hand.
- Changing a gift later. Codes already issued keep the products they were created with, in the order they had then.
- Deleted products and collections. For a one-product or collection gift, the Program page shows A reward points at something that no longer exists when its product or collection is deleted in Shopify. New codes for that gift can’t be issued until you pick another one.
- Code validity. With Set reward code expiry off under Settings → Points program → Reward expiry, gift codes never expire.