Analytics
WalletPro reports wallet program performance across two surfaces, both backed by the same report repositories and the signed ledger. The Wallet Program Analytics page measures marketing ROI (cashback, referrals, gifts, and repeat-purchase by wallet usage), while a compact Wallet view inside native WooCommerce Analytics shows top-up volume, redemptions, cashback cost, and outstanding liability for a date range.
Overview
WalletPro adds two analytics surfaces. Both are read-only, gated by the manage_woocommerce capability, and compute every figure from the wallet ledger so they reconcile to the cent.
- Wallet Program Analytics, a dedicated admin page under WooCommerce > Wallet Program Analytics. This is the marketing screen: cashback ROI, referral conversion, gift redemption, and a wallet-versus-non-wallet repeat-purchase cohort.
- WooCommerce Analytics Wallet view, a small "Wallet" entry added under the native WooCommerce > Analytics menu. It shows four headline figures (top-up volume, redemptions, cashback cost, outstanding liability) for a date range, fetched from a REST endpoint backed by the same report repositories.
This page covers program and marketing analytics. The financial liability dashboard (period deltas, the monthly liability chart, and top balances) lives on the separate Financial Reports page. The two surfaces draw from the same ledger and reconcile.
Wallet Program Analytics page
Open it at WooCommerce > Wallet Program Analytics. The page is a read-only submenu under WooCommerce, restricted to users with manage_woocommerce. Every number is produced by the unit-tested program analytics calculator over the real ledger, so the figures reconcile to your wallet balances.
Date filter
A simple From / To date filter sits at the top. Both bounds are optional and inclusive. Leaving a bound empty makes that side open-ended, and leaving both empty reports across all time. The filter is a display control only: it changes no state, submits with a plain GET, and carries no nonce.
The date range applies to the cashback, referral, and gift sections. The repeat-purchase cohort is computed across all paid orders and is not affected by the date filter.
Cashback ROI
Measures how much revenue rode on the orders that earned cashback in the range.
| Metric | How it is computed |
|---|---|
| Cashback credited | The total magnitude of every cashback ledger entry whose timestamp falls in the range. |
| Attributable order revenue | The order total of each distinct order that earned in-range cashback. Each order is counted once even if it has several cashback rows. An order is skipped when its revenue cannot be read (for example a deleted order, or a manual cashback with no order attached). |
| Revenue per 1.00 of cashback | Attributable revenue divided by cashback credited, at 4 decimal places. A value of 21.3333 means every 1.00 of cashback rode on 21.33 of revenue. Reported as 0.0000 when no cashback was credited, so there is no division by zero. |
Referral conversion
Measures how many referred customers signed up, how many placed a first order, and what the rewards cost.
| Metric | How it is computed |
|---|---|
| Signups | Customers attributed to a referrer (carrying the referred-by user meta) whose registration date falls in the range. |
| First-order conversions | Of those signups, the ones who have at least one paid order (a WooCommerce order in processing or completed status). |
| Conversion rate | Conversions divided by signups, as a percentage at 2 decimal places. Reported as 0.00 when there were no signups. |
| Reward cost | The total magnitude of every referral ledger entry in the range. |
Gift redemption
Measures how many gifts of wallet credit were issued and how many were actually redeemed.
| Metric | How it is computed |
|---|---|
| Gifts issued | Fulfilled gift line items, dated by the parent order's creation time, that fall in the range. |
| Gifts redeemed | Of those issued, the gifts whose credit landed in a wallet directly, or whose held redemption code was later redeemed. |
| Redemption rate | Redeemed divided by issued, as a percentage at 2 decimal places. Reported as 0.00 when none were issued. |
Repeat-purchase cohort
Compares the repeat-purchase rate of customers who use the wallet against those who do not. This section is computed across all paid orders, independent of the date filter.
| Metric | How it is computed |
|---|---|
| Wallet-user buyers | Customers who have ever held a wallet balance and placed at least one paid order. A customer counts as a wallet user once they hold a wallet balance row, which is created on their first credit or movement. |
| Wallet-user repeat rate | The share of wallet-user buyers who placed two or more paid orders, as a percentage at 2 decimal places. |
| Non-wallet buyers | Customers who placed at least one paid order and have never held a wallet balance. |
| Non-wallet repeat rate | The share of non-wallet buyers who placed two or more paid orders, as a percentage at 2 decimal places. |
A "buyer" is a customer with at least one paid order (processing or completed). A "repeat buyer" has two or more. Only the shop_order type is counted, so refunds are never pulled in, and customers with no orders are excluded from the cohort entirely.
WooCommerce Analytics Wallet view
WalletPro also adds a Wallet entry under the native WooCommerce > Analytics menu. Rather than a React Analytics report, this is a small, self-contained page whose plain JavaScript fetches a REST summary and renders four headline figures for a date range. The figures come from the same report repositories the full Wallet Reports page uses, so the two surfaces reconcile to the cent.
Headline figures
The view defaults to the last 30 days through today, with a From / To picker and an Apply button. For the chosen range it shows:
| Figure | Definition |
|---|---|
| Top-up volume | The total magnitude of customer top-up credits in the range. |
| Redemptions | The total magnitude of wallet debits in the range, that is wallet credit spent or redeemed. |
| Cashback cost | The total magnitude of cashback credited in the range, the same value as Cashback credited on the program page. |
| Outstanding liability | The sum of all current wallet balances as of the end of the range, or as of now when the range is open-ended. |
The view also links through to the full Wallet Reports page for the period deltas, the monthly liability chart, and top balances described on the Financial Reports page.
The Wallet view ships no build step. Its script is enqueued as plain JavaScript with the core wp-api-fetch dependency, which already carries the REST nonce, so there is nothing to compile and no manual nonce wiring.
REST endpoint behind the view
The view reads a single read-only endpoint in the walletpro/v1 namespace, gated by the manage_woocommerce capability:
# Wallet analytics summary for a date range
curl -u "admin:app-password" \
"https://example.com/wp-json/walletpro/v1/analytics/summary?after=2026-06-01&before=2026-06-30"
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
after |
string (YYYY-MM-DD) | Optional | Start of the range. Widened to 00:00:00 GMT on that day. Omit for an open start. |
before |
string (YYYY-MM-DD) | Optional | End of the range. Widened to 23:59:59 GMT on that day, and the liability snapshot is taken as of this bound. Omit for an open end. |
Any value that is not a YYYY-MM-DD date is treated as no bound. The response carries canonical money strings plus the range it was asked for:
{
"top_up_volume": "6200.0000",
"redemptions": "5410.2500",
"cashback_cost": "318.7500",
"outstanding_liability": "4821.5000",
"range": {
"after": "2026-06-01",
"before": "2026-06-30"
}
}
An open-ended bound is echoed back as an empty string in range. For the full developer reference on the WalletPro REST API, see the REST API page.
Currency scope
Program analytics is denominated in the store base currency and ties to base-currency revenue, so ledger rows in other currencies are excluded from these figures. On a single-currency store this distinction has no effect.
Permissions
Both analytics surfaces and the REST endpoint require the same capability.
| Surface | Required capability |
|---|---|
| Wallet Program Analytics page | manage_woocommerce |
| WooCommerce Analytics Wallet view | manage_woocommerce |
| Analytics summary REST endpoint | manage_woocommerce (and an authenticated request) |