The honest answer to “where do I spend the next hour?” is the source that brought rand, not the one with the most clicks. A quiet UTM that converts beats a viral landing that does not.
Cashline keeps first referrer, landing, and UTM from the first hit and sends them with every later pageview and purchase. Board: visitors, ZAR revenue, RPV. Empty until events land.
Start 14-day trial — no card. Plans: Starter R149 · Growth R299.
Why this matters
Traffic is a crowd. Revenue is a customer. Read first touch next to a ZAR purchase and you know what to repeat and what to cut.
Why most analytics never answers it
Classic tools show which channel sent traffic. Tying that to rand means ecommerce events and a report. Untagged links collapse into Direct / none.
How
cashline('pageview');
cashline('purchase', { amount: 199, currency: 'ZAR', reference: 'ORD-1042' });First touch rides with the purchase. Paystack TEST. No invented counts.
Steps
- Serve cashline.js from your domain. Call pageview.
- Tag every launch and ad with UTMs.
- Fire purchase after the store confirms, amount in rand.
- Open the board. Read the first-touch strip after the first event.
This week
High RPV on a first referrer or UTM? Do more of that. Traffic with R0? Stop buying it, or fix the offer. Nothing on the board? You have not fired a pageview. Not a channel problem.
Does not claim: loved by, AI chat, a Source card we have not shipped (first referrer / landing / UTM is the channel read), any processor other than Paystack TEST.
Track revenue per visitor · Measure launch performance · /docs