Skip to content

Analytics

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.

A period selector sits at the top of the page: Today, Yesterday, Last 7 / 30 / 90 days, This month, Last month, All time, or a custom range. Turn on Compare to previous period and each headline metric gains an up/down figure against the equivalent window before it.

The charts follow the period too:

  • Loyalty revenue vs reward cost plots one point per day for any period up to about three months, so Last 30 days draws a point for every day and a quiet day shows as zero instead of a line jumping between two busy ones. Custom ranges longer than that plot one point per month, and All time shows the last 12 months.
  • The small trend lines on Points earned, Points redeemed and Rewards redeemed cover the same window: one point per day up to about three months, one per week for longer custom ranges, and the last 30 days on All time. A custom range that ends in the past keeps its trend lines.

Anything that says lifetime ignores the selected period on purpose — retention and breakage only mean something across a member’s whole history.

The first screen, in order:

  • Program health: Redemption rate, Active members, Return on investment, and Outstanding liability.
  • A compact Loyalty revenue vs reward cost chart, the same one the Growth & ROI tab shows in full.
  • Member impact: Share of all orders (the share of all your store’s orders that came from members), All store orders, and Member average order.
  • Average order value: members vs guests, inside Member impact. It sets the average member order against the average order from everyone else in the same period, on one scale. When the gap is 5% or more, a headline states it in whichever direction it runs, for example “Members spend 18% more per order than guests”. The comparison needs your store’s total sales from Shopify’s reports (the read_reports access scope) and at least 10 orders on each side; until then it stays hidden.
  • Directly attributed revenue: orders with a concrete program touch, each counted once, split into Orders with a reward, Referral orders, and Repeat after redemption (orders placed within 30 days of redeeming). It’s the conservative counterpart to member revenue, and appears once at least one order qualifies.
  • Redeemers vs non-redeemers.

Outstanding liability is what you would owe if every unspent point were redeemed at once. It is a ceiling, not a forecast, and it reflects balances right now rather than the selected period. Charm prices points at the rate of your enabled fixed-value reward (an amount discount, a POS amount discount, or store credit) that costs the fewest points. Balances imported from a previous program are included.

If none of your enabled rewards has a fixed cash value, because they are all free shipping, product discounts or percentage discounts, a point has no fixed price: those rewards cost whatever the cart costs. The tile then reads Unredeemed points and shows the points your members hold, instead of a currency figure that would suggest you owe nothing. Add or turn on a fixed-value reward and the tile switches back to money.

Buyers who redeemed a reward in the last 12 months, set against buyers who haven’t: Customers, Annual spend, Frequency, and Avg. order value, each carrying a lift badge against the non-redeemer column.

The card leads with whichever gap is strongest (“Customers who redeem spend 3.2× as much as those who don’t”) and says nothing at all when the lift is under 1.1× or one of the two groups is empty, so a thin month never produces a headline the data can’t carry.

Reach for this one when redemption starts looking expensive. Rewards cost real money; this card is the other half of that sentence.

  • Program revenue — revenue from orders placed by loyalty members in the period.
  • Reward cost — the value of rewards members redeemed in the period.
  • Return on investment — loyalty revenue ÷ reward cost. Higher is better; the chart plots the two series together so you can see them diverge.
  • VIP perk savings and cashback issued break out what tiers and cashback specifically cost you.

Points earned, points redeemed, and the number of redemptions, plus two ratios worth watching:

  • Redemption rate — points redeemed ÷ points earned. Very low means points aren’t reaching a reward customers want; very high means your rewards may be too cheap.
  • Breakage rate — the share of issued points that expired before anyone redeemed them, lifetime. Lower is better.

Top earning sources shows where points come from (orders, signup, referrals, birthdays, reviews, claimed rules, manual adjustments, newsletter and SMS signups, Shopify Flow, order edits).

Top rewards redeemed lists your six most-redeemed rewards in the period, with what each one brought in and cost:

ColumnWhat it shows
RedeemedHow many times members redeemed the reward in the period, with a bar for its share of all redemptions
RevenueThe total of the orders that the reward’s codes from this period were used on. Hover it to see how many orders that was.
CostWhat those redemptions cost you

A dash under Revenue means Charm hasn’t matched any of those codes to an order yet. Charm started linking codes to the orders they were used on in August 2026, so earlier redemptions show a dash as well.

Retention, measured across all members rather than the selected period:

  • Repeat-purchase rate — members with 2+ orders ÷ members with at least one.
  • One-time buyers — bought exactly once. This is the audience a win-back campaign exists for.
  • Average orders per buyer and at-risk members (bought before, since gone quiet).

Two more views show retention over time. Both are lifetime, read the orders Charm has recorded, and ignore the period selector.

How quickly first-time buyers come back, which tells you when to send reminders, when to run a win-back campaign, and how long to let points live before they expire.

  • Median days to 2nd purchase, across every buyer who has come back.
  • Within 30 days, Within 90 days and Within 180 days: the share of buyers who bought again inside that window. Only buyers whose first purchase is at least that old are counted, so someone who first bought last week can’t drag the 30-day figure down before their 30 days are up. The n = line under each figure is how many buyers qualify.
  • The chart groups second purchases by how many days after the first they happened, a week per bar (0–6, 7–13, and so on up to 91+), with a Cumulative line for the running share.

It appears once at least 5 buyers have come back for a second purchase.

Each row follows the buyers whose first purchase fell in that month (First purchase, Buyers). The M1, M2 … columns show the share of them who bought again one, two … months later, and the All row combines every row shown. Hover a cell for the counts behind it, such as 12 of 80 bought again.

Months that haven’t happened yet stay blank instead of showing 0%, and the month in progress is dimmed, so an empty cell never reads as customers leaving. The table covers the 12 most recent months of first purchases; a note under it counts the older buyers it leaves out. It appears from the calendar month after your first recorded purchase.

Both views, like the repeat-purchase ratios, wait for at least 10 recorded buyers.

If you run a pet birthday rule, the Customers tab adds Pet ownership: Customers with a pet (with the number of pets registered), Birthdays in 30 days, and Most common animal. When more than one kind of animal is registered, a list below gives the count and share for each, with pets that have no animal set under Not specified.

The section shows even at zero, because nobody registering a pet usually means customers aren’t finding the form. It counts current registrations, so the period selector doesn’t change it.

Per-tier member counts, annual spend, and purchase frequency, each compared against your base tier, so you can see whether a tier actually changes behavior or just hands out perks. Alongside it, paid membership figures: active, in grace, and expired members, membership revenue, monthly recurring revenue, new members this month, memberships expiring within 30 days, renewal rate, and 30-day churn.

Spend and frequency here cover the trailing 12 months. Member growth (new enrollments) charts new members across the selected period; on All time it shows the longer-term trend.

Total referrals, how many converted to a first order, the conversion rate, and your share rate — the portion of members who have referred at least one friend. A healthy program usually needs the share rate to move before conversion does.

A store that has just imported its program starts with a large balance of points nobody earned in Charm and only a handful of orders Charm has actually recorded. Analytics knows the difference and says so rather than grading you on it:

  • Imported balances are excluded from the redemption rate, because Charm never issued those points. They are counted in outstanding liability, since you genuinely owe them.
  • Reward codes taken over from your previous app don’t count toward reward cost — Charm kept them alive, it didn’t grant them. See reward codes from your previous app.
  • Retention isn’t graded on too small a sample. With fewer than ten recorded buyers, the repeat-purchase and average-orders ratios show a dash instead of a score, and no benchmark or Advisor warning is raised. The counts stay visible, along with an honest “3 of 9,536 buyers” line, so you can see the sample rather than a verdict drawn from it.
  • Retention over time starts in Charm. Time to second purchase and the cohort table begin with the first purchase Charm recorded, so history from before the migration isn’t included, and the cohort table notes it.
  • Re-importing keeps the original migration date, so topping up a file doesn’t restart the imported-base notice.

These notes clear themselves as real activity accumulates. Nothing is hidden permanently — the numbers simply wait until they mean something.

At the top of Analytics, the Advisor reads your program the way a consultant would and writes a short list: What’s working, and To improve. Tips are specific to your data — a redemption rate that has stalled, a tier nobody reaches, an earning rule that pays nothing.

Dismiss any tip you have decided against, and it stays gone. Tips you fix disappear on their own and are marked as resolved.

Export CSV downloads the current view with the period you have selected, for your own spreadsheets or reporting. To pull the underlying customer and points records instead, see Export your Charm data.