# Charm — Documentation > Documentation for Charm, a loyalty app for Shopify merchants. > Full article text: https://docs.charmloyalty.com/llms-full.txt ## Articles - [Charm documentation](https://docs.charmloyalty.com): import { CardGrid, LinkCard } from '@astrojs/starlight/components'; Charm is a Shopify-native loyalty and membership platform: points & rewards, VIP tiers, referrals, paid memberships, store-credit cashback, and POS — e - [Analytics](https://docs.charmloyalty.com/analytics/overview): Charm → Analytics answers one question: is the loyalty program paying for itself? Every figure comes from your own store data — no estimates, no benchmarks pretending to be your numbers. Choosing a period A period sele - [Charm API](https://docs.charmloyalty.com/api/overview): The Charm API is a shop-scoped REST API for server-to-server integrations. It reads and writes the same points ledger the app itself uses, so anything you do through the API shows up in the customer's history, in analyti - [Clone a campaign to reuse for another occasion](https://docs.charmloyalty.com/campaigns/clone-a-campaign): Reuse a campaign that worked — clone it to copy its multiplier, scope, audience, and email setup, then just update the name and dates. Steps 1. Go to Charm → Campaigns. 2. On the campaign's row, open More actions and c - [Limit a campaign to specific products or collections](https://docs.charmloyalty.com/campaigns/limit-to-products): Apply a campaign's bonus multiplier to only part of your catalog — for example, double points on a single collection while everything else earns the normal rate. Steps 1. Go to Charm → Campaigns and open the campaign y - [Choose how a campaign multiplier stacks with VIP multipliers](https://docs.charmloyalty.com/campaigns/multiplier-stacking): Decide what a VIP member earns during a campaign — for example, whether a Gold member's 1.5x tier bonus combines with a 2x campaign or whether one wins outright. Steps 1. Go to Charm → Campaigns and open the campaign y - [Campaigns & Reward Spotlight](https://docs.charmloyalty.com/campaigns/overview): Campaigns layer a time-boxed event on top of your everyday program — a long weekend of double points, a Black Friday reward sale, a members-only week. A campaign carries its own schedule, audience, storefront banner, and - [Create a reward spotlight (limited-time reward unlock or sale)](https://docs.charmloyalty.com/campaigns/reward-spotlight): Run a campaign that temporarily discounts a reward's points cost or surfaces a normally-hidden reward — perfect for limited-time exclusives. Steps 1. Go to Charm → Campaigns, click New campaign, and pick a Reward spotl - [Run a 2x points campaign for a fixed weekend](https://docs.charmloyalty.com/campaigns/run-a-points-multiplier): Drive a sales spike by doubling the points customers earn for a limited window — for example, a 2x campaign that runs Friday to Sunday. Steps 1. Go to Charm → Campaigns, click New campaign, and pick a template (or Star - [Target a campaign to a VIP tier or customer tags](https://docs.charmloyalty.com/campaigns/target-an-audience): Run a campaign for a chosen audience only — for example, a double-points weekend reserved for your top VIP tier or a set of tagged customers. Steps 1. Go to Charm → Campaigns and open the campaign you want to target. 2 - [Preview a campaign email with a test send](https://docs.charmloyalty.com/campaigns/test-campaign-email): Check exactly how a campaign email looks before it reaches customers by sending a test copy to yourself. Steps 1. Go to Charm → Campaigns and open the campaign. 2. In the right sidebar, expand Send a test email and set - [Audit loyalty activity in the Activity Log](https://docs.charmloyalty.com/data/activity-log): Review every points and store-credit event across your whole store in one feed, newest first — and export it for reconciliation or accounting. Steps 1. Go to Activity. 2. Filter with Activity type (earn, redeem, credit - [Change the Charm admin interface language](https://docs.charmloyalty.com/data/change-admin-language): Switch the language of the Charm admin so you and your team work in the language you prefer. Steps 1. Go to Settings → App language. 2. In App language, choose any of Charm's 32 languages — or Automatic (from Shopify) - [Copy settings between your stores](https://docs.charmloyalty.com/data/copy-settings-between-stores): If you run the same brand on several stores, copy your Charm configuration from one to the other instead of rebuilding it — points program, tiers, branding, text, emails, and referrals, each opt-in. Steps 1. On the sou - [Export your Charm data](https://docs.charmloyalty.com/data/export-data): Download a CSV of your loyalty data anytime — to back it up, analyze it, or audit activity outside Charm. Steps 1. Go to Settings → Data migration → Export your data. 2. Pick a data type — Customer balances, Active rew - [Import existing customer point balances](https://docs.charmloyalty.com/data/import-point-balances): Bring your customers' existing point balances over when you move to Charm, so nobody loses what they earned on your old platform. Use this template flow when you're building your own file — moving from Rivo, Ellity, Oken - [Launch (or pause) your loyalty program](https://docs.charmloyalty.com/data/launch-or-pause-program): Turn your program on to start rewarding customers, or pause it temporarily without deleting any balances or configuration. Steps 1. Go to Program. 2. Check the Setup summary card — a count of the core building blocks - [Migrate from Rivo, LoyaltyLion or another loyalty platform](https://docs.charmloyalty.com/data/migrate-from-another-platform): Move your whole program over by uploading your old loyalty app's export — Charm detects the format, maps the columns, and imports your customers' point balances with no spreadsheet editing. Rivo, Ellity, Okendo, and Loya - [Check your plan, order cap, and overage status](https://docs.charmloyalty.com/data/plan-and-billing): Check which plan you're on, how many loyalty orders you've used this period, and whether you've gone over your monthly cap. Steps 1. Go to Plan (the Billing & Plan page). 2. Read the Orders this month usage bar — order - [Revert an incorrect import](https://docs.charmloyalty.com/data/revert-an-import): Undo a migration that went in wrong — from a snapshot it takes before writing, Charm restores balances to how they were before the import and removes any customers it created, so you can fix your file and re-import clean - [Take over reward codes from your previous loyalty app](https://docs.charmloyalty.com/data/reward-codes-from-previous-app): Discount codes your customers earned in a previous loyalty app but never redeemed still live in Shopify — and they stay redeemable at checkout even after that app is gone. Charm finds them right in your store (no export - [Switch between formal and casual wording](https://docs.charmloyalty.com/data/set-tone-of-voice): Many languages address people differently depending on how formal you want to sound — Czech vykání / tykání, German Sie / du, French vous / tu, Spanish usted / tú. Charm's Tone of voice setting lets you pick one register - [Supported languages](https://docs.charmloyalty.com/data/supported-languages): Charm ships fully translated in 32 languages. Every language covers both sides of the app: Customer surfaces — the widget, loyalty hub, landing page, cart, checkout, POS, and lifecycle emails follow each shopper's langu - [Exclude B2B / wholesale customers from earning](https://docs.charmloyalty.com/eligibility/exclude-b2b-customers): Stop company and wholesale buyers from accruing loyalty points while keeping your retail (B2C) customers earning as normal. Steps 1. Go to Settings → Eligibility → B2B and B2C customers. 2. In Who can earn rewards, cho - [Exclude specific customers by tag](https://docs.charmloyalty.com/eligibility/exclude-customers-by-tag): Block individual customers — staff, blocked accounts, or a specific segment — from earning and redeeming loyalty rewards using their Shopify tags. This is the tag-based side of Eligibility; for company buyers, exclude B2 - [Stop points earning on membership purchases](https://docs.charmloyalty.com/eligibility/exclude-membership-purchases): Make sure customers don't earn points when they buy or renew a membership — a membership fee is a pass, not a regular product. This is one of several eligibility controls over what counts toward earning. Steps 1. Go to - [Ignore orders by tag](https://docs.charmloyalty.com/eligibility/exclude-orders-by-tag): Orders carrying any of the listed Shopify order tags are ignored by the loyalty program: they trigger no earning rules and award no points. Typical uses: staff or test orders, imported orders, and wholesale flows. Steps - [Exclude products from earning points](https://docs.charmloyalty.com/eligibility/exclude-products): Keep specific products — gift cards, samples, or low-margin items — from contributing to the points a customer earns, while the rest of the order still earns normally. This is the product side of Eligibility; to exclude - [Exclude subscription orders from rewards](https://docs.charmloyalty.com/eligibility/exclude-subscription-orders): Decide whether a customer's redeemed reward discount codes apply to subscription orders, or to one-time purchases only. It's one of Charm's eligibility controls over which order types loyalty touches. Steps 1. Go to Se - [Eligibility, expiry & anti-fraud](https://docs.charmloyalty.com/eligibility/overview): Order eligibility Not every order should earn. Charm's eligibility settings control which orders award points: Minimum order value Excluded discount codes or heavily-discounted orders Excluded products / variants — inc - [Require customers to join before redeeming](https://docs.charmloyalty.com/eligibility/require-program-opt-in): Make customers explicitly join your program — and optionally accept your terms — before they can redeem, so enrolment is intentional and consent is recorded. Steps 1. Go to Settings → Points program → Join gate. 2. Tur - [Change the loyalty email sender name and logo](https://docs.charmloyalty.com/emails/change-sender-name-and-logo): Sender settings control how every loyalty email looks in the inbox — the "from" name customers see and the logo or text in the header — and apply across all your points, rewards and tier emails at once. Steps 1. Go to - [Check a customer's email history](https://docs.charmloyalty.com/emails/customer-email-history): See exactly which loyalty emails a customer received — and whether they landed — right on the customer's detail page, so you can tell an email problem from an eligibility one without leaving Charm. Steps 1. Go to Custo - [Edit an email template's subject and content](https://docs.charmloyalty.com/emails/edit-an-email-template): Each points, rewards and tier email has its own editable subject line, heading, body, and button text — so you can match your brand's voice without touching the shared sender settings. Steps 1. Go to Emails, find the e - [Turn off an individual email type](https://docs.charmloyalty.com/emails/turn-off-an-email): Switch off any single loyalty email — handy when a feature doesn't apply, like the points-expiry warning if you never expire points. Steps 1. Go to Emails, find the email under the Loyalty program group (e.g. Points Ex - [Use Klaviyo flows instead of Charm emails](https://docs.charmloyalty.com/emails/use-klaviyo-flows): If you'd rather build loyalty emails in Klaviyo, Charm can sync points, rewards and tier events to Klaviyo and stop sending its own emails so customers don't get duplicates. Steps 1. Go to Emails, then in Integrations - [Common questions](https://docs.charmloyalty.com/faq/common-questions): Does Charm work on every Shopify plan? Yes — including Plus. POS loyalty needs Shopify POS; storefront blocks need the Online Store. The customer-account hub renders in Shopify's native customer accounts. How is Charm - [Fix: plan, order-cap, and overage questions](https://docs.charmloyalty.com/faq/fix-billing-plan-limits): You're seeing an order-cap usage warning or enforcement banner and want to know what it means and what to do. Likely causes Loyalty orders this billing period are approaching or over your plan's monthly cap. You've pas - [Fix: checkout or thank-you block not showing](https://docs.charmloyalty.com/faq/fix-checkout-block-not-showing): The earn-and-redeem block at checkout, or the points-earned block on the thank-you / order-status page, isn't showing. Likely causes The block wasn't added in Shopify's checkout editor, or it was added on only one of t - [Fix: customer didn't earn or got the wrong points](https://docs.charmloyalty.com/faq/fix-customer-didnt-earn): A customer placed an order but earned no points, or earned a different amount than expected. Likely causes The program is paused, so no new earning happens. The order hasn't reached the payment status that triggers ear - [Fix: storefront widget not appearing](https://docs.charmloyalty.com/faq/fix-widget-not-appearing): The floating loyalty widget shows a spinner that never resolves, or doesn't appear on the storefront at all. Likely causes The Charm app embed is toggled off in the theme editor. The embed was added to an unpublished t - [Going live](https://docs.charmloyalty.com/getting-started/going-live): Charm's customer-account block is live the moment you install. The storefront surfaces are opt-in so you can launch on your schedule. Turn on surfaces Under Visibility, enable the surfaces you want: Floating widget — - [Install & connect](https://docs.charmloyalty.com/getting-started/install): Charm installs like any Shopify app — one click from the App Store, then a short guided onboarding. Install 1. Open the Charm listing and click Add app. 2. Approve the requested access scopes (see below). 3. Charm open - [Your first program](https://docs.charmloyalty.com/getting-started/your-first-program): A loyalty program in Charm is three decisions: how customers earn, what they can redeem, and where it shows up. This page covers the first two — built from Program → Ways to earn and Ways to redeem; the third is Storefro - [Connect a marketing platform](https://docs.charmloyalty.com/integrations/marketing): Connect a marketing or SMS platform so Charm's loyalty data powers your email and SMS. Charm writes each customer's loyalty state onto their marketing profile or contact and streams every loyalty event, so you can build - [Connect Ecomail](https://docs.charmloyalty.com/integrations/marketing/ecomail): Connect Ecomail so every customer's loyalty state — points balance, VIP tier, and referral details — is written onto their Ecomail contact, and every loyalty event is sent to Ecomail's tracker, ready to trigger automatio - [Connect Klaviyo](https://docs.charmloyalty.com/integrations/marketing/klaviyo): Connect Klaviyo over OAuth so every loyalty event becomes a Klaviyo metric and each customer's loyalty state is written onto their Klaviyo profile — ready to trigger flows and build segments. Steps 1. From your Shopify - [Connect a review app](https://docs.charmloyalty.com/integrations/reviews): Connect your review provider so a verified review automatically awards loyalty points. Charm supports nine paths, each with its own connection method. Steps 1. From your Shopify admin, open Charm and go to Settings → I - [Connect Judge.me](https://docs.charmloyalty.com/integrations/reviews/judgeme): Connect Judge.me so a verified Judge.me review automatically awards loyalty points. Judge.me is the most common review provider, so here's the full setup, end to end. 1. Copy your Judge.me private API token 1. In your - [Set up Shopify Flow triggers and actions](https://docs.charmloyalty.com/integrations/shopify-flow): Wire loyalty into any automation: start a Flow workflow from a Charm loyalty event, or run a Charm action from any Flow trigger — no glue code. Steps 1. From your Shopify admin, open Charm and go to Settings → Integrat - [Connect Vocato](https://docs.charmloyalty.com/integrations/vocato): Vocato is Charm's free companion Shopify app for Czech, Slovak, and Polish stores. It supplies correct name declensions ("Ahoj Jane" instead of "Ahoj Jan") plus each customer's name-day date. There's nothing to configure - [Add perks to a membership program](https://docs.charmloyalty.com/memberships/add-membership-perks): Decide what paid members get for their money — Charm uses the same benefit engine as VIP tiers, so a membership can grant shipping, discounts, cashback, points, or a custom perk card. Steps 1. Go to Program → Membershi - [Give members exclusive access to content](https://docs.charmloyalty.com/memberships/exclusive-access): Lock chosen pages, products, or collections so only paid members can reach them — non-members see a members-only message or a product stripped of its price and add-to-cart button. Steps 1. In your theme editor, open Ap - [Set a membership term length and grace period](https://docs.charmloyalty.com/memberships/membership-term-and-grace): Control how long a paid member keeps their perks after buying the membership product, and add an optional buffer before they switch off. Steps 1. Go to Program → Memberships and open the membership to edit. 2. Set Term - [Paid memberships](https://docs.charmloyalty.com/memberships/overview): A paid membership is a VIP plan a customer buys (vs. a VIP tier they earn). In Charm a membership is just a Shopify product — the customer purchases it, perks switch on, and they stack on top of points and tiers. Model - [Set up a birthday bonus](https://docs.charmloyalty.com/points/birthday-bonus): Give customers points or a discount reward on their birthday — a low-cost reason to come back — with controls that stop people from setting a birthday just to grab the reward instantly. Steps 1. Go to Program → Ways to - [Combine reward codes with other product discounts (Plus)](https://docs.charmloyalty.com/points/combine-product-discounts): By default Shopify allows only one product discount per line item, so a Charm product reward and one of your own product promotions can't both land on the same product. On Shopify Plus, Charm can combine them — the rewar - [Customize the reward discount code prefix](https://docs.charmloyalty.com/points/discount-code-prefix): Set the prefix Charm puts on every reward discount code it generates, so redeemed codes look branded and are easy to spot in your orders. Steps 1. Go to Settings → Points Program → Branding → Reward discount codes. 2. - [Choose between a fixed-amount and a percentage discount reward](https://docs.charmloyalty.com/points/discount-type): Pick whether a reward takes a set cash amount off an order or a percentage of it — each behaves differently as basket size changes. Steps 1. Go to Program → Ways to redeem and click Add reward. 2. Under Discount type, - [Limit a reward to specific product variants](https://docs.charmloyalty.com/points/limit-reward-to-variants): Restrict a free-product reward to chosen variants — a single size, color, or pack — instead of letting it apply to the whole product. Steps 1. Go to Program → Ways to redeem and open a Free product reward to Edit. 2. U - [Set up a name-day bonus](https://docs.charmloyalty.com/points/nameday-bonus): Celebrate name days (svátek / meniny / imieniny) the way you celebrate birthdays — a beloved tradition in Czech, Slovak, and Polish markets. Charm resolves each customer's date from a national name-day calendar supplied - [Reward newsletter and SMS signups](https://docs.charmloyalty.com/points/newsletter-signup-bonus): Give customers a one-time points bonus for subscribing to your email newsletter or SMS marketing — the bonus is awarded on Shopify's marketing consent itself, so it works no matter where the customer signs up. Steps 1. - [Points & rewards](https://docs.charmloyalty.com/points/overview): The points ledger Every customer has a points balance backed by an append-only ledger. Earning, redemption, manual adjustments, refunds, and migration imports are all ledger entries — so balance is always and every cha - [Pause an earning rule without deleting it](https://docs.charmloyalty.com/points/pause-an-earning-rule): Temporarily stop an earning rule from awarding points — for a promo break or a seasonal pause — while keeping all of its settings intact. Steps 1. Go to Program → Ways to earn. 2. Find the rule and flip its toggle swit - [Set up points expiration](https://docs.charmloyalty.com/points/points-expiration): Expire unused points after a set period of inactivity so balances stay current and your liability doesn't grow unchecked. Steps 1. Go to Settings → Points Program → Points expiry. 2. Turn on Enable points expiry, then - [Punch cards](https://docs.charmloyalty.com/points/punch-cards): A punch card rewards repeat buyers automatically. Every qualifying order is a punch; once a customer fills the card — reaches orders — they get a reward and the card resets. It then repeats, so a punch card is an ongoin - [Rename 'Points' (including per-language names)](https://docs.charmloyalty.com/points/rename-points): Replace the generic word "Points" with your own term — Stars, Gems, Coins — and set a separate name for each storefront language. Steps 1. Go to Settings → Points Program → Branding → Points name. 2. Turn on Set a cust - [Reward purchases from a specific collection](https://docs.charmloyalty.com/points/reward-a-collection): Give bonus points when an order includes products from a chosen collection — handy for pushing a category, brand, or seasonal range. Steps 1. Go to Program → Ways to earn and click Add way to earn. 2. Choose Order from - [Reward a custom action with Shopify Flow](https://docs.charmloyalty.com/points/reward-a-custom-action): Charm's built-in earning rules cover the common cases (orders, signups, reviews, referrals…). When you want to reward something Charm doesn't track natively — a completed survey, a user-generated post, an event check-in, - [Set an expiry window for when a reward can be redeemed](https://docs.charmloyalty.com/points/reward-redemption-window): Make a specific reward available only within a date range — for a launch, a holiday push, or a limited-time offer. Steps 1. Go to Program → Ways to redeem and open the reward to Edit. 2. Turn on Limit when this reward - [Set up a signup bonus for new customers](https://docs.charmloyalty.com/points/signup-bonus): Give customers an initial points reward the moment they join, so they start with a balance worth coming back for. Steps 1. Go to Program → Ways to earn and click Add way to earn. 2. Choose Signup bonus from the rule li - [Subscription payment milestones](https://docs.charmloyalty.com/points/subscription-milestones): Subscription payment milestones reward customers for staying subscribed, not just for signing up. Every paid order that contains a subscription (selling-plan) item counts as one payment; when the customer's payment count - [Control when an order earns points (paid vs authorized vs pending)](https://docs.charmloyalty.com/points/when-orders-earn-points): Decide which payment status an order must reach before Charm awards points, so points fire at the moment that fits your fulfilment flow. Steps 1. Go to Settings → Points Program → Order rules. 2. Turn on Customize poin - [Cap how many referral rewards a customer can earn](https://docs.charmloyalty.com/referrals/cap-referral-rewards): Put a ceiling on how many successful referrals one customer can be paid for — useful for curbing abuse without turning the program off. The limit can count for all time, or reset each calendar month so regular advocates - [Set a custom referral code prefix](https://docs.charmloyalty.com/referrals/custom-referral-code-prefix): Every customer's referral link and code is built from a shared prefix plus a unique suffix — for example . A custom prefix puts your brand in front of every share and makes codes easy to recognize at checkout. Steps 1. - [Delay referrer points to verify the referred order](https://docs.charmloyalty.com/referrals/delay-referrer-points): Add a waiting period before a referrer's points are released, giving you time to catch refunds or fraudulent referrals before you pay out. Steps 1. Go to Program → Referral program and Edit the rule to open Complete a - [Referrals](https://docs.charmloyalty.com/referrals/overview): Referrals turn happy customers into a growth channel. A customer shares their referral link; when a referred friend places a qualifying first order, both sides can be rewarded. The reward A referral rule has two payout - [Set different rewards for the referrer vs the referred friend](https://docs.charmloyalty.com/referrals/referrer-vs-referee-rewards): Reward the customer who shares their link and the friend who buys with the incentive that makes sense for each side of a referral. The referrer can earn points, a single-use discount code, or both. Steps 1. Go to Progr - [Add the floating loyalty widget to your storefront](https://docs.charmloyalty.com/surfaces/add-floating-widget): Put a floating launcher on every storefront page that opens a drawer with the shopper's balance, ways to earn, and redeemable rewards. It's one of several storefront surfaces you can enable in Charm. Steps 1. Go to Vis - [Customize brand colors across surfaces](https://docs.charmloyalty.com/surfaces/brand-colors): Charm seeds a master brand palette when you install, and it cascades to every storefront surface — the widget, Loyalty Hub, landing page, emails, membership block, cart prompt, and product-page points. You style once and - [Let customers redeem points in the cart](https://docs.charmloyalty.com/surfaces/cart-redeem): Show a redeem prompt right in the cart so shoppers can turn points into a discount before they head to checkout. Steps 1. Go to Visibility → Storefront pages. 2. On the Redeem points at the cart card, click Set up (or - [Check whether a storefront block is live](https://docs.charmloyalty.com/surfaces/check-block-status): Confirm each storefront surface is actually rendering on your store without checking it manually. Steps 1. Go to Visibility and find the Block detection panel in the right sidebar. 2. It lists every surface (Widget, Lo - [Enable earn & redeem at checkout](https://docs.charmloyalty.com/surfaces/checkout-earn-redeem): Show earn-and-redeem messaging inside checkout so shoppers can apply points before they pay. Steps 1. Go to Visibility → Checkout editor. 2. On the Redeem points & Points to earn card, click Set up (or Customize to edi - [Customize Loyalty Hub card titles and icons](https://docs.charmloyalty.com/surfaces/customize-loyalty-hub-cards): Every "ways to earn" and "ways to redeem" card on the Loyalty Hub can carry its own title, translations, and icon — and you can recolour every icon at once. It all renders on the storefront with no theme changes. Rename - [Edit the loyalty FAQ](https://docs.charmloyalty.com/surfaces/edit-faq): Charm auto-generates an FAQ from your program's real settings — points name, tier basis, referral rewards, expiry, and reward-combining policy — localized into every published language. You can reorder it, rewrite any an - [Show a points chip in your theme header](https://docs.charmloyalty.com/surfaces/header-chip): The header chip puts your loyalty program in the most-seen spot of your store: the theme header. Signed-in members see a personal greeting and their live points balance (optionally with their VIP tier); guests see a "Sig - [Add a loyalty landing page](https://docs.charmloyalty.com/surfaces/landing-page): Give your program its own storefront page: a hero pitch, ways to earn, rewards, VIP tiers, a refer-a-friend card, and an FAQ — one of Charm's storefront surfaces. Signed-in members see a personal greeting and live balanc - [Add the Loyalty Hub to customer accounts](https://docs.charmloyalty.com/surfaces/loyalty-hub): Give shoppers a full loyalty destination inside their Shopify account for balance, rewards, and history — one of Charm's storefront surfaces. Steps 1. Go to Visibility → Customer Account editor. 2. On the Loyalty Hub c - [Storefront surfaces](https://docs.charmloyalty.com/surfaces/overview): Charm lives on Shopify's native surfaces — no iframes, no scripts injected into checkout. Each surface is a Shopify extension you control from Visibility. At a glance | Surface | What the shopper sees | How it's added - [Show points anywhere (collections, quick view & more)](https://docs.charmloyalty.com/surfaces/points-anywhere): The points on product page block covers the product template. For everywhere else — collection grids, search results, quick-view modals, featured-product sections, custom landing pages — Charm supports a lightweight cust - [POS loyalty](https://docs.charmloyalty.com/surfaces/pos): Charm's POS extension brings the same loyalty engine to the register: one balance across web and counter, no second app or login. What staff see Smart Grid tile + customer block — points balance, current tier and perks - [Show points earned on the product page](https://docs.charmloyalty.com/surfaces/product-page-points): Display an estimated points total in the product information section so shoppers see the reward before they add to cart. Steps 1. Go to Visibility → Storefront pages. 2. On the Points on product page card, click Set up - [Show points earned on the thank-you page](https://docs.charmloyalty.com/surfaces/thank-you-points): Show a post-purchase summary of the points an order earned on the thank-you page (and the order status page). Steps 1. Go to Visibility → Checkout editor. 2. On the Points earned card, click Set up (or Customize to edi - [Theme app blocks](https://docs.charmloyalty.com/surfaces/theme-app-blocks): Charm's storefront surfaces are theme app blocks. You add them in the Shopify theme editor — no Liquid editing or code required. Blocks | Block | Where it goes | |-------|---------------| | Loyalty widget | App embed — - [Lock content to a VIP tier](https://docs.charmloyalty.com/tiers/exclusive-access): Give a tier real exclusivity: lock chosen pages, products, or collections so only customers who reached that tier can get in. Everyone else sees a members-only message, or the product with its price and add-to-cart butto - [Add a grace period before a customer drops a tier](https://docs.charmloyalty.com/tiers/grace-period): Give customers a buffer so they don't lose their tier the instant their activity dips below the threshold. Steps 1. Go to Settings → VIP tiers → Grace period. 2. Turn on Enable grace period. 3. Set Grace period (days) - [Add multi-criteria tier qualification (e.g. points AND spend)](https://docs.charmloyalty.com/tiers/multi-criteria-qualification): Make a tier harder to reach by combining several requirements — for example points and a minimum spend. Steps 1. Go to Program → VIP tiers and expand Configure tier levels. 2. On the tier you want, each requirement is - [Nudge customers who are close to the next tier](https://docs.charmloyalty.com/tiers/notify-approaching-next-tier): A customer who is nearly at the next tier is the easiest customer to bring back. Charm can send them a nudge — as its own email, or as a Shopify Flow trigger you route to SMS or your marketing tool. Steps 1. Go to Emai - [VIP tiers](https://docs.charmloyalty.com/tiers/overview): VIP tiers split customers into named cohorts they earn by their behavior. Each tier carries: a point multiplier (e.g. Gold earns 2×), perks — free/discounted shipping, member discounts, tier-exclusive rewards, members-o - [Give different point multipliers to each VIP tier](https://docs.charmloyalty.com/tiers/per-tier-multipliers): Reward your best customers with faster earning by giving each tier its own points multiplier. Steps 1. Go to Program → VIP tiers and expand Configure tier levels. 2. Select a tier and set its Points multiplier (for exa - [Set different rule values and reward costs per tier](https://docs.charmloyalty.com/tiers/per-tier-rule-values): VIP tiers can adjust the whole program, not just add perks: an earning rule can award a different number of points in each tier, and a reward can cost a different number of points. Set per-tier values on an earning rule - [Reset VIP qualification each year (or use a rolling window)](https://docs.charmloyalty.com/tiers/qualification-period): Control the window of activity that counts toward a tier so status stays current instead of accumulating forever. Steps 1. Go to Settings → VIP tiers → Qualification period. 2. Set Count activity from to Lifetime (all - [Make VIP tiers qualify by spend instead of points](https://docs.charmloyalty.com/tiers/qualify-by-spend): Decide what counts toward a VIP tier — points earned, money spent, orders placed, and more — so your tiers reward the behaviour you care about. Steps 1. Go to Program → VIP tiers and expand Configure tier levels. 2. At - [Rename a tier or change its icon](https://docs.charmloyalty.com/tiers/rename-a-tier): Customize how a VIP tier looks to customers by renaming it or swapping its icon. Steps 1. Go to Program → VIP tiers and expand Configure tier levels. 2. Select the tier and edit the Tier name. To rename the internal Ha