Plays with the rest of your stack.
Shopify Flow, Shopify Functions, two-way Klaviyo sync, and eight review platforms — Charm connects to the tools you already run, with no glue code and nothing to maintain.
What it is
A loyalty program that lives in isolation from your reviews, email, and automation tools creates duplicate work — exporting reviewer lists to manually award points, or building a workaround just to fire a welcome email. Charm is built on Shopify's own extension points, so most of that glue code simply isn't needed.
Two kinds of integration are on offer: Shopify's native primitives (Flow, Functions, Markets, Customer Accounts) that Charm runs on directly, and third-party platforms (Klaviyo, eight review apps) that connect through pre-built, no-code setups.
How it works
Four moving parts.
The configuration surface is small on purpose. Most stores set this up in one sitting.
- 01
Built on Shopify Flow and Functions
Shopify Flow gives Charm six actions merchants can drop into any workflow — award points, deduct points, grant store credit, mark a tier achieved, and more — combined with Flow's own triggers and conditions for logic Charm doesn't natively expose.
Shopify Functions powers the product-reward discount generator: the checkout-native logic that applies a free product or percentage-off reward without a discount-code workaround.
- 02
Two-way Klaviyo sync
Charm fires every loyalty event — points earned, tier achieved, reward redeemed, referral completed — into Klaviyo as a native event, ready to build flows and segments around.
It's two-way: customer profile properties (points balance, tier, membership status) sync back into Klaviyo, so a "VIP tier = Gold" segment stays accurate without a scheduled export.
- 03
Eight review platforms, one setting
Judge.me, REVIEWS.io, Okendo, Yotpo, Stamped, Loox, Fera, and Air Reviews all connect the same way: turn on the earning rule, set the point value, and every verified review submitted through that platform earns points automatically.
No CSV exports, no manual awarding — the review platform's own webhook tells Charm a review happened, and the points post within seconds.
- 04
Shopify Markets and custom webhooks
Shopify Markets lets you run different loyalty rules — or entirely different point values — per market, without a second app install.
Anything not covered by a native integration can usually be reached with a custom webhook — ask during setup and we'll point you at the right event.
Examples
Three configurations to steal.
Ready-to-copy patterns we see in production. Tune the numbers to your margin and audience.
Klaviyo event sync
A points-earned event fires into Klaviyo in real time — build a flow off it without touching Charm's admin again.
Judge.me review reward
Turn on the Judge.me earning rule once; every verified review submitted afterward posts points automatically, no export required.
Flow: VIP welcome kit
A Shopify Flow workflow triggers a free-gift order the moment a customer hits Gold tier — a Flow action combined with a Flow condition Charm doesn't expose natively.
Use cases
What it looks like in the wild.
DTC beauty: reviews fund the program
Every review-platform earning rule turned on at once — reviews become the single largest source of point issuance, funded entirely by content the store already wanted.
Supplements: a Klaviyo win-back layer
Points-expiring events feed a dedicated Klaviyo win-back flow, layered on top of Charm's own expiry email for two chances to recover the redemption.
Apparel: multi-market tiers
Shopify Markets runs a EUR tier ladder and a USD tier ladder from the same install, each with its own thresholds and currency-appropriate rewards.
FAQ
Common questions.
Do I need Klaviyo to use Charm?
Which review platforms does Charm support?
Can I run different loyalty rules per country?
What if the tool I use isn't listed?
Related
The rest of the platform.
Loyalty works best when the pillars work together.
When you're ready
Free up to 250 orders / mo.
Every feature on this page is included in Free. Upgrade only when your order volume crosses the threshold.