Reporting & Marketing
Loyalty Reporting, Wallet Push & Email Newsletter: Win Back Existing Customers Without an App
Your loyalty program KPIs, Wallet push broadcasts to the lock screen, and Markdown newsletters — how to build reach without an app install in the reloop dashboard.
When your digital stamp card program is up and running and the first hundred cards are in your guests' wallets, the real work begins: getting existing customers to come back. In practice, Wallet push often delivers significantly higher visibility and engagement than a classic email newsletter — though the exact margin depends on your setup, your cadence, and the specific reward. reloop gives you both channels — plus a reporting dashboard that shows you what's working. This article explains every metric, every push strategy, and every newsletter use case.
You'll find the full dashboard overview in the pillar article. How to set up your program in the first place is covered in the spoke "How to create a stamp card".
Why classic newsletters fall flat and Wallet pushes work
A classic email newsletter typically reaches only a fraction of your existing customers: some emails land in the Promotions tab, others in the spam folder, and many are never opened. Click and return rates often sit in the low single-digit percentages. That's fine for seasonal campaigns, but not for weekly reactivation.
A Wallet push works differently: the notification appears right on the lock screen, with your card's logo and brand color. The customer sees it without opening an app, without inbox filters, without the risk of a spam folder. In practice, we see that reloop merchants' Wallet pushes generate considerably more engagement than a classic newsletter — but how big that difference is depends on your industry, offer, and reward. Treat every push campaign as an experiment: measure the stamp spike in the days afterward and compare it to your normal baseline. That's exactly what the reporting dashboard is built for.
The reporting dashboard in detail
Before you run campaigns, you need to know what works. The reporting dashboard is your single source of truth.
Overview
Your dashboard
Stamps · Rewards · Trend
Activation
Completion
Time ranges and data freshness
Four time ranges are available: 24 hours, 7 days, 30 days, 90 days. Each switch fires a backend request to /api/stats/overview?range=...&tz=Europe/Vienna. The response is cached for 60 seconds per (merchant, range, tz) tuple — meaning if you pull up the same report twice within a minute, the second one comes from the cache (header x-stats-cache: hit).
All aggregates are timezone-aware — the buckets form according to your business's timezone, not UTC. This matters for breakdowns like "stamps per day," which would otherwise shift around the world at midnight.
The eight core KPIs explained
1. Stamps in the period
The sum of all positive stamp transactions in the selected period. Negative stamps (corrections, reversals) are netted out. Practical read: a volume indicator. If the stamp count rises week over week, you're gaining frequency.
2. Rewards in the period
The number of redemption transactions — how many customers actually redeemed a full card? Practical read: a closing-rate signal. A high value = the program is landing. A low value = the reward isn't compelling or the threshold is too high.
3. New cards
Cards issued for the first time during the period (issuedAt in range). Practical read: an acquisition indicator. If new cards stagnate, you need more QR codes in your business, a promotion, or more advertising.
4. Active cards
Distinct cards with ≥1 stamp in the period. Practical read: an engagement indicator. Compare this to your total card base and you have your true activation rate.
5. Activation rate
(cards with ≥1 stamp ÷ total cards) × 100%. Practical read: how many of the cards you've issued are actually being used? Values below 60% suggest that a lot of cards get forgotten after save-to-Wallet — and a push can work wonders here.
6. Completion rate
(cards with ≥1 redemption ÷ total cards) × 100%. Practical read: how many customers go the full way from card → first stamp → reward? Values below 25% often mean the stamp goal is too high or the reward isn't attractive enough.
7. Avg. stamps per active card
Stamps in the period divided by active cards. Practical read: frequency per regular customer. For a coffee program, 2.5–4 is typical (once a week over a 4-week window). Lower = low frequency, higher = a very engaged regular base.
8. Top program
The program with the highest stamp count in the period. Practical read: if you run several programs in parallel, you immediately see which one is the "hero." Tip: launch promotions in program B when program A is on top — you tap into your existing reach without competing with your main program.
Trend chart and donut funnels
The trend chart plots stamps against rewards over time. For 24h: hourly buckets. For 7d and 30d: daily buckets. For 90d: weekly buckets. The lines show the trend, the shaded areas show volume.
The two donut funnels are:
- Activation — the share of cards with ≥1 stamp (how many were used at least once?)
- Completion — the share of cards with ≥1 redemption (how many actually finish the program?)
Program top lists and filters
You can filter every KPI by program. In the Programs section, you see a table with:
- Program name
- Status (Active / Paused / Ended)
- Active cards
- Stamps in the period
- Redemptions in the period
Sortable by any column — so you can quickly tell which program contributes the most and where it pays to double down with push and newsletter.
Tier limits card
On the overview you see a plan usage card with your current card and program usage compared to your plan limit. At 80%, you get an automatic email with an upgrade link. At 100%, a light-gray notice banner appears — existing cards keep working, while new signups see a friendly "no new cards right now" page.
Wallet push broadcasts: your direct channel to the lock screen
The broadcast composer is available on every plan — including the free Starter plan. The fastest way to reach all of your existing customers at once.
How a push works
- You compose a header (≤50 characters) and body (≤200 characters)
- Pick the target programs (multi-select) — you see the number of Google Wallet users per program
- Send via "Send now"
- The backend triggers the Google Wallet push API via
patchLoyaltyClassMessages - A message (
messageType: TEXT_AND_NOTIFY) is appended to the LoyaltyClass - Google distributes it to all LoyaltyObjects linked to that class
- On receipt, the notification appears on the lock screen — a banner with the card's logo and brand color
Apple Wallet limitation
Apple does not allow direct lock-screen pushes from third parties. Instead, reloop quietly updates the card (for example, with a new hero image carrying your promo message), and through the geofences, iOS triggers the card automatically as soon as the guest is near your location. The practical effect: Apple users see your promotion the next time they walk past your café — which often converts better than a random push.
Reach logic
A push campaign's reach is calculated per program as the sum of the googleSavedCount values. That's the number of LoyaltyObjects saved to a Google Wallet. Apple cards are not counted here — they don't receive the push, for the reasons above.
Push best practices
In terms of content, what works best:
- Specific promotions with a time window ("Happy hour today, 4–6 p.m.")
- Bonus stamp promises ("Bring your card today — double stamps")
- Seasonal news ("Spring blends starting Monday")
- Personal reminders ("You have 3 of 5 stamps — the next one's on us")
Avoid: overly long sentences, multiple CTAs, generic copy with no connection.
Send history and resend
On the history page (/dashboard/broadcasts/verlauf) you see every message sent, with:
- Sent timestamp
- Reach
- Failed count (undeliverable cards)
- Resend button for after-the-fact corrections
If a push goes wrong (typo, wrong date), you simply send a corrected push afterward — a little awkward, sure, but better than a confused customer base.
Email newsletter: deeper content for subscribers
Where the Wallet push is the quick, short banner, the email newsletter is your format for longer content: seasonal news, storytelling, multiple CTAs, images. Requirement: you've set emailCaptureMode to optional or required in the program editor and collected email addresses as a result.
Three new flavors starting Monday — apple blossom, espresso tonic and our classic with honey foam.
Composer fields
| Field | Description |
|---|---|
| Subject | The first impression in the inbox — crucial for open rate |
| Preheader | Preview text next to the subject (10–80 characters recommended) |
| Hero image | Optional, large banner image at the top (URL, JPG/PNG/WebP) |
| Markdown body | Main content with headers, lists, bold, italic, links, tables |
| CTA button text | Optional, button label (e.g. "Open card") |
| CTA button link | Where the button leads (internal or external URL) |
| Target program | Multi-select; determines which subscribers receive the newsletter |
Live preview on the right
As you write in the editor, the live preview on the right renders the newsletter exactly as it will arrive in your subscriber's inbox. You see Markdown instantly as HTML, the hero image, button styling — all WYSIWYG.
Sending via Resend
When you click "Send," delivery runs through the batch API from Resend. One API call per 1,000 recipients, very fast. Plan-dependent:
- Starter and Business: no email newsletter included
- Premium: up to 25,000 recipients per month
If you go over, you get an advance warning — you can either upgrade or wait until next month.
Subscriber management
At /dashboard/broadcasts/subscribers you see every email address on file, with:
- Email address (full or anonymized depending on the mode)
- Program association
- Opt-in date
- Last send date
- Opt-in status
You can manually exclude individual subscribers (e.g. after complaints) or export an entire subscriber list to CSV.
Newsletter best practices
What works: three newsletter templates
Template 1: Seasonal launch
Subject: Spring blends are here 🌸 Hero: A photo of your signature drink Body: 1 paragraph of storytelling, 3 new blends as a bullet list, 1 bonus note CTA: "Open card" (link to the Wallet card)
Template 2: Bonus promotion
Subject: This week: double stamps Hero: Optional — can work great text-only too Body: Clear mechanics, time window, scarcity ("only 100 cards") CTA: "Stop by" (link to the location address / Google Maps)
Template 3: Re-engagement
Subject: We miss you (3 stamps = free coffee) Hero: A personalized image or a stamp visualization Body: "You have 3 of 5 stamps — the next one's on us" CTA: "Open card"
When to push, when to newsletter, when to do both?
| Scenario | Best channel |
|---|---|
| Spontaneous promotion in the next 2 hours | Push |
| Weekend promotion starting Friday | Push on Friday, newsletter Thursday evening |
| Seasonal launch with a story | Newsletter |
| Re-engaging existing customers after 30 days of inactivity | Push (short) + follow-up newsletter (deeper) |
| Local event at your location | Push (geofencing is often enough on its own) |
| Bonus stamp promotion | Push as a reminder on the day of the promotion |
A double strategy works especially well: a newsletter Thursday evening with the story and a CTA, then a push Friday morning with a short reminder. Reach adds up, and engagement sometimes doubles.
Tier gating and reach limits
Wallet push is included on every plan; the email newsletter starts with Premium:
| Feature | Starter | Business | Premium |
|---|---|---|---|
| Wallet push broadcasts | unlimited* | unlimited* | unlimited* |
| Newsletter reach/month | – | – | 25,000 |
| Subscriber list | – | – | ✓ |
| Send history | – | – | ✓ |
*Push broadcasts have no hard volume limits. The Google API has a technical quota limit (several thousand per hour) that normal business operations never hit. We parallelize in batches of 20 to conserve quota.
Reporting + campaigns = the loyalty loop
The most effective strategy isn't push or newsletter, but the loyalty loop:
- Reporting shows you which program is slipping
- A push campaign reactivates the dormant cards
- Reporting measures the impact — stamp growth, new active cards
- The newsletter deepens the story for your motivated subscribers
- Reporting shows conversion rates, and you iterate
With the reloop dashboard, you have this entire loop in a single web app. No extra tool stack, no data export, no API integrations.