Track revenue, analyze order patterns, and understand customer value to grow your e-commerce business.
How Zenovay captures revenue
Zenovay links your sales data to your visitor analytics so you can see which traffic sources and campaigns actually drive revenue. There are two ways to get sales into Zenovay:
- Connect a payment provider (recommended). Zenovay imports completed payments automatically and matches them back to the visitor session. Supported providers: Stripe, PayPal, Paddle, Lemon Squeezy, and Polar.
- Record revenue manually via the API — useful for offline sales, custom checkouts, or platforms without a direct integration.
There is no client-side purchase event. Revenue is recorded from your payment provider (or the manual API), which is why totals stay accurate even when a customer disables JavaScript or blocks the tracker.
Connect a payment provider
- Open your store's dashboard from Domains
- Go to the domain's Settings → Revenue tab
- Pick your provider (Stripe, PayPal, Paddle, Lemon Squeezy, or Polar)
- Paste the API key / credentials and the webhook secret shown in the instructions
- Save — Zenovay verifies the connection and starts importing payments
Once connected, new payments flow in via webhooks and appear on the Revenue dashboard, attributed to the originating traffic source where a visitor match is found.
Revenue dashboard
Open your store's dashboard from Domains, then select the Revenue tab. Use the date-range picker at the top to change the period.
Key metrics
| Metric | Description |
|---|---|
| Total Revenue | Sum of completed payments in the period |
| Orders | Number of completed payments |
| AOV | Average Order Value (Revenue ÷ Orders) |
| RPV | Revenue Per Visitor (Revenue ÷ Visitors) |
| MRR | Monthly recurring revenue, for subscription stores |
Revenue attribution
By traffic source
The Revenue tab breaks revenue down by the channel that brought the visitor in — organic search, paid, email, direct, and referral. This is the core "which traffic actually makes money" view.
| Source | Revenue | Orders | AOV |
|---|---|---|---|
| Google Organic | $45,230 | 412 | $109.78 |
| Facebook Ads | $28,150 | 287 | $98.08 |
| Direct | $18,920 | 156 | $121.28 |
| $12,480 | 98 | $127.35 |
Info
The figures above are illustrative. Your own numbers come straight from the Revenue tab.
By campaign
Tag your links with UTM parameters and Zenovay attributes revenue to each campaign on the Revenue tab's campaign breakdown.
https://yourstore.com/?utm_source=facebook&utm_medium=cpc&utm_campaign=summer_sale
Keep your UTMs consistent so a campaign rolls up to a single row.
Order analytics
Each payment Zenovay imports records:
- Amount and currency
- Status (completed)
- Customer email (when the provider supplies it)
- The traffic source, campaign, landing page, country, and device of the matched visitor
Use the date-range picker on the Revenue tab to compare periods, spot peak days, and watch month-over-month growth.
Customer revenue
Top customers
The Revenue tab lists your highest-value customers, grouped by email, with total revenue, transaction count, first and last purchase dates, and the source that first brought them in. This is where you spot your repeat buyers and your most valuable acquisition channels.
Customer lifetime value (LTV)
For cohort-based lifetime value, open the Retention tab and switch to the LTV view. It shows lifetime-value cohorts by first-purchase month so you can see how much each cohort is worth over time. (LTV cohorts populate once payment data is connected.)
Recording revenue from a custom checkout
If you can't use a direct provider integration, record completed sales server-side with the manual revenue API. Send the request from your backend after the order is confirmed:
POST https://api.zenovay.com/api/revenue/{websiteId}/manual
Content-Type: application/json
{
"amount": 149.99,
"currency": "USD",
"customer_email": "[email protected]",
"description": "Order ORD-12345",
"visitor_id": "the visitor id from the tracker"
}
Passing the visitor's visitor_id lets Zenovay attribute the sale to the original traffic source. Without it the revenue is still counted, just not attributed to a channel.
Info
The REST API is available on Pro and higher. See your API keys under API Keys in the app.
Identifying customers
You can attach a customer identity to a visitor session so their journey ties together across visits. The tracker's identify call takes an ID and optional traits:
zenovay('identify', 'customer_123', {
email: '[email protected]',
name: 'John Doe'
});
This is separate from revenue: it helps you recognise returning customers and link sessions, while the actual sale amounts come from your payment provider or the manual API.
Multi-currency
Each payment is stored with the currency reported by your payment provider (or the currency you pass to the manual API). The Revenue tab shows the amounts as recorded.
POST https://api.zenovay.com/api/revenue/{websiteId}/manual
{ "amount": 129.00, "currency": "EUR", "description": "Order ORD-12346" }
Revenue goals and alerts
Track conversions with value
Create a goal for key conversions (checkout, purchase confirmation) and attach a value to it:
- Open your store's dashboard from Domains, select the Journeys tab, and choose Goals
- Add a goal — match a URL (e.g.
/order/success), an element click, or a custom event - Enable Track value and set a default value to attribute revenue to each completion
Anomaly alerts
Turn on alerts in the domain's Settings → Reports tab:
- Anomaly alerts — get notified when traffic or conversions deviate from the norm
- Viral / traffic spike alerts — get notified when a page suddenly takes off
- Weekly summary — a periodic email digest of your store's performance
Reports and export
Weekly summary email
Enable the weekly summary in the domain's Settings → Reports tab to receive a recurring email digest.
Export your data
- The Revenue dashboard data can be exported to CSV or JSON (data export is available on Pro and higher).
- For programmatic access, use the REST API (Pro and higher) — including the revenue and LTV endpoints.
- Scheduled exports to recipients are part of the agency/enterprise tooling on Scale and higher.
Best practices
Revenue tracking
- Connect a payment provider so revenue imports automatically and matches the right source.
- Use consistent UTM parameters so campaign attribution rolls up cleanly.
- Pass
visitor_idon manual API calls so offline or custom-checkout sales are attributed. - Record on order confirmation, not on shipping, so revenue lands in the right period.
Analysis tips
- Compare periods correctly — same day of week, account for holidays, year-over-year for seasonality.
- Segment by source and campaign to find your most profitable acquisition channels.
- Watch for anomalies — a sudden drop often means a broken integration; a spike is worth investigating.