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 billed?
Through Shopify’s App Billing API, in USD. Every plan includes every loyalty feature; plans differ only by monthly order band and support level. There are no per-order fees, no transaction fees, and no platform cut on membership revenue.
Do membership purchases earn points?
No. Membership fee products are auto-excluded from point earning across every surface, so a plan can’t earn redeemable points against its own multiplier. See Memberships.
My storefront widget shows a spinner forever.
Re-add the widget in the theme editor (Online Store → Themes → Customize → App embeds → Charm loyalty widget) and confirm the surface shows as Active on the Visibility page. If it still doesn’t load, email hello@appfleece.com with your store URL — it’s usually a one-minute fix on our side.
Can I migrate from another loyalty app?
Yes. There’s a built-in importer under Settings → Data migration with a Rivo preset, a dry-run preview, and one-click revert; CSV import covers other platforms. Imports are email-silent (no welcome blast).
How do I automate loyalty from my own workflows?
Use the Shopify Flow actions (award/deduct points, award store credit) and triggers (points earned/redeemed, store credit issued, VIP tier achieved) — they plug into any Flow workflow with no code.
Where are the privacy policy and DPA?
Privacy and terms live on the company site: appfleece.com/privacy and appfleece.com/terms. A DPA is available on request.
What does each storefront block status mean?
On Visibility, the Block detection panel badges each surface (Widget, Loyalty Hub, Checkout, Points earned, and more). Active means real customer traffic has passed through the block, Detected means Charm sees the block placed but no traffic yet, and Inactive means it still needs setup. A freshly placed checkout or thank-you block can stay Inactive until the next order. See Check whether a storefront block is live.
How do campaign multipliers stack with VIP tier multipliers?
You choose per campaign. Compound (multiply) multiplies them together — a 1.5x tier and a 2x campaign give 3x. Use highest applies whichever is larger (2x). Replace tier multiplier ignores the tier and uses only the campaign (2x). The field previews the effective multiplier as you pick. See Choose how a campaign multiplier stacks with VIP multipliers.
Why didn’t a customer earn points for their order?
Work down the eligibility checklist: the program must be Active (not paused), the order must reach your configured payment status, and the order must pass eligibility. Common blockers are an excluded customer or audience (see Exclude B2B / wholesale customers from earning and Exclude specific customers by tag), excluded products, a minimum-order-value rule, or a heavily-discounted order. See Eligibility, expiry & anti-fraud.
When exactly do points get awarded — checkout, payment, or fulfillment?
By the order’s payment status, not at checkout or fulfillment. By default points fire when the order is Paid, and you can change the trigger to Authorized, Partially paid, or Pending. Points are issued the first time the order reaches the status you pick (or anything stronger). See Control when an order earns points.
Do refunded or cancelled orders reverse earned points?
Yes. When an order is refunded or cancelled, Charm automatically reverses the points it awarded for that order, keeping balances honest. The reversal is recorded as a ledger entry, so it’s fully auditable in the customer’s history. See Eligibility, expiry & anti-fraud.
Can I run Charm in multiple languages?
Yes. Storefront copy — the points name, emails, and account pages — is localized per recipient, and you can set a per-language points name. The admin interface language is separate: change it under Settings → App language (see Change the Charm admin interface language).
What’s the difference between VIP tiers and paid memberships?
A VIP tier is a cohort a customer earns by their behavior (points, spend, orders, referrals, or a tag). A paid membership is a VIP plan a customer buys as a Shopify product. Both use the same perk vocabulary and resolve through the same checkout discount Function, so a customer who is both a member and a tier member gets both, compounded. See Points & rewards and Memberships.
Can I send loyalty emails through Klaviyo instead of Charm?
Yes. Charm can sync loyalty events to Klaviyo and pause its own delivery so customers don’t get duplicates. Connect Klaviyo, then pause Charm delivery and build your flows in Klaviyo. Make sure your flows are live before pausing, or members stop getting loyalty emails entirely. See Use Klaviyo flows instead of Charm emails.
Will importing balances or migrating trigger a welcome email blast?
No. Imports and migrations are email-silent — bringing in opening balances does not send a welcome or points email to anyone. Each imported row is recorded as a migration adjustment in the customer’s timeline. See Import existing customer point balances.
Is the Bonus Campaigns feature available on my store, and how do I get access?
Bonus Campaigns is rolled out gradually. If it’s enabled for your store, you’ll see your campaign list under Campaigns. If not, Campaigns shows a Bonus campaigns — Coming soon screen with a Notify me when available button that adds your store to the waitlist; we email you once it’s ready to enable. To request earlier access, email hello@appfleece.com with your store URL.