Skip to main content

Revenue Tracking

Revenue tracking lets you see the financial impact of issues, measure revenue per session, and understand which traffic sources drive the most revenue. It's configured per project through a guided revenue setup wizard that picks the right install path for your platform and verifies it live.

info

Revenue tracking is optional. Issue detection, traffic analytics, and all other features work without it. Enabling revenue tracking adds financial estimates to issues and unlocks revenue-specific analytics.

Setup

Revenue tracking is set up in the revenue setup wizard, reachable from the setup prompts in your dashboard and from Tracking → Track your revenue. The wizard is organized by platform, so you never have to guess which install method fits your store:

  1. Pick your platform — Shopify, WooCommerce, or Custom / other.
  2. Follow the recommended path — the wizard leads with the best install method for that platform and tucks any alternatives behind an "other ways to install" link:
    • Shopify → an order-paid webhook (server-side, 100% capture).
    • WooCommerce → a no-code plugin (with a developer PHP hook as the fallback).
    • Custom / other → a JavaScript snippet you paste on your order-confirmation page, mapped to your own event.
  3. TraceLog verifies it live — once the first real purchase arrives, the wizard turns green and shows the recovered order value. If something's off, it tells you exactly what to fix instead of spinning forever (see When revenue won't verify).

Adding a platform-specific path never changes how the wizard works — every platform runs through the same "pick → install → verify" flow.

Modes

However your store sends purchases, revenue resolves in one of two modes:

Event-based revenue

Best for stores where each transaction has a different value (most e-commerce). The managed Shopify and WooCommerce paths use this automatically.

  • Event name — the custom event that represents a purchase (e.g., purchase)
  • Value field — the property in the event payload that holds the transaction amount (e.g., value, total, amount)
// Your site sends events with actual transaction values
tracelog.event('purchase', {
value: 149.99,
currency: 'EUR',
orderId: 'ORD-789'
});

TraceLog reads the value field from each event to calculate actual revenue. This gives the highest accuracy.

Manual AOV (Average Order Value)

Best for subscription businesses or stores with consistent pricing where you don't send a per-order value.

  • Event name — the custom event that represents a conversion
  • AOV — a fixed average order value applied to every conversion

Instead of reading a value from each event, TraceLog multiplies conversion count by your fixed AOV. Simpler to set up, but less precise for stores with variable pricing.

What Revenue Tracking Enables

FeatureWithout RevenueWith Revenue
Issue detectionSeverity + affected sessions+ estimated weekly/monthly revenue impact
Revenue per sessionNot availableRevenue ÷ sessions metric
Source analyticsTraffic volume + engagement+ revenue attribution by source
AskAnswers about traffic and engagement+ answers about revenue and financial impact
ReportsTraffic and engagement analysis+ revenue sections in AI reports

When revenue won't verify

TraceLog only marks revenue verified once it can read a real order value from your events. A green verdict is a promise that the number is real, so the wizard deliberately refuses to turn green on data it can't trust. Two cases it flags instead of faking success:

It's receiving events but can't read the amount

Events are arriving under your configured event name, but the value field never resolves to a number. Usually the value field name is wrong (e.g. the amount is in total but the mapping points at value). The wizard shows the real fields it has seen on your event and lets you pick the right one, then re-verifies — no code change and no fresh test order needed.

Every order reports the same amount (constant-value guard)

If every matched order carries the exact same value, TraceLog will not verify revenue — it names the repeated amount and the number of orders and asks you to send the real order total.

This almost always means a copied snippet was pasted without replacing the example value, so every "purchase" reports the same placeholder number. Showing that as real revenue would be reporting invented data, so the guard blocks it.

This is not the same as Manual AOV

Manual AOV is a deliberate choice: you tell TraceLog to apply one fixed value to every conversion because you don't send a per-order amount. The constant-value guard applies to event-based revenue — you are sending a value field, but it never changes, which is the signature of an un-replaced example value.

If your store genuinely charges the same price for every order (a single fixed-price product, a flat-fee service), that's legitimate: confirm "It's a genuine flat price" in the wizard and revenue verifies normally from then on. Support should read the "example value rejected" state as this guard doing its job, not as a bug.

Confidence Levels

Revenue impact estimates include a confidence level based on data quality:

LevelWhenMargin
High100+ conversions in sample±15%
Medium20–99 conversions±30%
LowUnder 20 conversions±50%

When confidence is too low to produce a meaningful estimate, revenue impact is suppressed (hidden) rather than shown with an unreliable number. Suppression reasons include insufficient conversion sample, missing scoped revenue data, or unmeasured exposure.

Campaign Attribution

When a purchase event is linked to a browsing session (via Shopify session linking, WooCommerce, Stripe, or server-side events with session_id), the revenue inherits the session's UTM parameters. This means:

  • Revenue appears under the originating campaign, source, and medium
  • Campaign analytics show actual revenue per channel, not just traffic volume
  • Ask and AI reports can answer questions like "which campaign generated the most revenue?"

Without session linking, purchases are recorded but revenue is not attributed to any campaign.

Currency

Revenue is tracked in a single currency per project, configured in project settings. The default is EUR. TraceLog does not perform currency conversion — ensure your events send values in the configured currency.

tip

Start with manual AOV if you're unsure. You can switch to event-based revenue at any time without losing historical issue data. Only future revenue estimates will use the new configuration.