Revenue attribution connects your marketing efforts to actual revenue. See which channels, campaigns, and content generate real business value.
Setting Up Revenue Tracking
Goal Value Configuration
When you create or edit a goal (open your website's dashboard, then the Goals section), turn on Track value to record revenue against each completion. You can then set a default value, or pass the real amount from your code.
Fixed value:
Set a default value on the goal — useful when every completion is worth roughly the same (for example, a flat-rate purchase). Every completion is recorded at that amount unless your code passes a different one.
Dynamic value:
// Pass the actual order value with the goal completion
zenovay('goal', 'purchase', {
value: orderTotal // Actual order amount
});
A value passed from code always overrides the goal's default value.
Best Practice: Dynamic Values
For e-commerce, pass the real order total so revenue figures match your store:
function onPurchaseComplete(order) {
zenovay('goal', 'purchase', {
value: order.total,
currency: 'USD'
});
}
Info
Already sending payment data from Stripe, Paddle, PayPal, Lemon Squeezy, or Polar? Connect the integration under Settings → Revenue on the website's settings, and Zenovay attributes that revenue to the originating traffic source automatically — no per-goal value needed. See Revenue tracking setup.
Revenue Attribution Report
Accessing the Report
Open your website's dashboard and select the Revenue tab. The Revenue tab shows your overall revenue, a revenue-by-source breakdown, and a channel Attribution view with a model selector.
What You'll See
Revenue is broken down by the traffic source and campaign that brought the visitor in:
| Source | Revenue | Conversions | Avg Value |
|---|---|---|---|
| $45,000 | 300 | $150 | |
| Organic | $38,000 | 280 | $136 |
| $25,000 | 150 | $167 | |
| $18,000 | 120 | $150 | |
| Direct | $52,000 | 400 | $130 |
Key Metrics
| Metric | Description |
|---|---|
| Revenue | Total attributed revenue |
| Conversions | Number of completions credited to the source |
| Avg Value | Revenue per conversion |
Info
Zenovay attributes the revenue your site generates — it doesn't know your ad spend, so it doesn't calculate ROAS, CAC, or cost-based ROI. Combine these figures with the spend numbers from your ad platforms to work those out yourself.
Attribution Models for Revenue
The Revenue → Attribution view lets you switch attribution models to see how credit shifts across the channels in a visitor's journey.
Model Comparison
Same purchase, different attribution:
| Model | Direct | ||
|---|---|---|---|
| Last Touch | $0 | $0 | $150 |
| First Touch | $150 | $0 | $0 |
| Linear | $50 | $50 | $50 |
| Time-Decay | $25 | $45 | $80 |
Zenovay offers five models: Last Touch (default), First Touch, Linear, Position-Based, and Time-Decay.
Choosing Your Model
| Business Type | Recommended |
|---|---|
| Quick purchase | Last Touch |
| Considered purchase | Linear or Position-Based |
| Long sales cycle | Time-Decay |
| Brand focus | First Touch |
For a fuller explanation of each model, see Goal attribution.
Channel Revenue Analysis
By Marketing Channel
The revenue-by-source breakdown groups your attributed revenue by channel so you can see where business actually comes from:
| Channel | Revenue | Conversions | % of Total |
|---|---|---|---|
| Paid Search | $45,000 | 300 | 25% |
| Paid Social | $18,000 | 120 | 10% |
| $25,000 | 150 | 14% | |
| Organic | $38,000 | 280 | 21% |
| Direct | $52,000 | 400 | 29% |
Channel Insights
From data like this you can spot patterns such as:
- Channels that punch above their visitor volume → worth investing more
- Channels with low conversion rates → optimize or reduce
- Organic contributing significantly → invest in SEO
Trend Analysis
The Revenue tab plots daily revenue over time, so you can watch:
- Seasonal patterns
- Campaign impacts
- Growth trajectories
Campaign Revenue
Campaign Performance
Revenue is also broken down by UTM campaign, so tagged campaigns roll up into their own rows:
| Campaign | Revenue | Conversions | Avg Value |
|---|---|---|---|
| Spring Sale | $18,000 | 120 | $150 |
| Product Launch | $12,000 | 80 | $150 |
| Retargeting | $22,000 | 140 | $157 |
| Brand Awareness | $3,000 | 20 | $150 |
Make sure your campaign links carry utm_campaign so they show up here. Untagged traffic falls under its referrer or Direct.
Campaign Optimization
Use the breakdown to decide where to lean in:
- Scale campaigns that generate the most revenue per visitor
- Revisit campaigns that drive traffic but little revenue
- Compare campaigns against your own spend numbers to judge return
Content Revenue
Pair the Revenue tab with the Pages report in your analytics to see which content drives conversions. High-intent pages — product comparisons, pricing pages, case studies — tend to assist revenue even when the purchase happens later in the journey.
To attribute revenue to specific content reliably, switch the attribution model (above) so first-touch and assisting touchpoints get credit, not just the final page before checkout.
ROI Calculation
Zenovay supplies the revenue half of the equation. To calculate return, combine attributed revenue with the spend numbers from your ad platforms:
ROI = (Revenue - Cost) / Cost × 100
Example (Paid Search):
Attributed revenue (from Zenovay): $45,000
Ad spend (from your ad platform): $10,000
ROI: ($45,000 - $10,000) / $10,000 × 100 = 350%
Because Zenovay doesn't import ad spend, these cost figures come from you — not from the dashboard.
Reporting & Sharing
Revenue Dashboard
The Revenue tab gives you, at a glance:
- Revenue by source
- Revenue by campaign
- Daily revenue trend
- Top customers by revenue
Sharing With Stakeholders
You can share a read-only view of a dashboard (including the Revenue tab when enabled) via a public share link. Open the dashboard, use Share, and toggle on the tabs you want recipients to see.
Scheduled Reports
Scale PlanOn Scale and above, you can schedule recurring report emails and export revenue data. See Revenue export for the details.
Best Practices
Track Actual Values
Pass real revenue rather than averages where you can:
- Include the amounts the customer actually paid
- Account for refunds when you reconcile
Multi-Touch Awareness
Don't over-credit a single touchpoint:
- View more than one attribution model
- Understand the role of assisting channels
- Balance credit across the journey
Regular Review
| Frequency | Action |
|---|---|
| Weekly | Quick performance check |
| Monthly | Revenue and source deep dive |
| Quarterly | Strategic reallocation |
Troubleshooting
Revenue Not Tracking
If revenue shows $0:
- Check that Track value is enabled on the goal
- Verify your code passes a
value(or that the goal has a default value) - For payment-provider revenue, confirm the integration under Settings → Revenue is connected and verified
Misattributed Revenue
If attribution looks wrong:
- Check your UTM parameters are set correctly
- Try a different attribution model
- Review the visitor's journey in the dashboard
Discrepancy With Finance
If numbers don't match your books:
- Account for refunds
- Check time zone differences
- Compare the same date ranges
- Include or exclude tax consistently