Events & Goals

Ecommerce revenue tracking

Send purchase and refund events so Otus can attribute revenue to your traffic.

To see revenue in Otus, send the standard e-commerce events from your store. At minimum you need purchase; add the earlier funnel steps to populate the purchase funnel.

The essential event: purchase

Fire a purchase event when an order completes, usually on your order-confirmation page:

otus('track', 'purchase', {
  transaction_id: 'T-12345',   // unique per order
  value: 49.90,                // order total
  currency: 'EUR',             // ISO 4217 code
  items: [
    { item_id: 'SKU-1', item_name: 'Pro plan', price: 49.90, quantity: 1 }
  ]
});
Always include a unique transaction_id. The transactions table groups purchases by it, so a reloaded confirmation page shows as one transaction. Orders count every purchase event, so make sure your confirmation page only sends it once.

Refunds

When an order is refunded, send a refund event with the original transaction ID. Refunds are subtracted to produce net revenue:

otus('track', 'refund', {
  transaction_id: 'T-12345',
  value: 49.90,
  currency: 'EUR'
});

The full purchase funnel

Send the intermediate steps to measure where buyers drop off:

otus('track', 'view_item', { item_id: 'SKU-1', item_name: 'Pro plan', price: 49.90, currency: 'EUR' });
otus('track', 'add_to_cart', { item_id: 'SKU-1', quantity: 1, value: 49.90, currency: 'EUR' });
otus('track', 'begin_checkout', { value: 49.90, currency: 'EUR' });
otus('track', 'add_payment_info', { value: 49.90, currency: 'EUR' });
otus('track', 'purchase', { transaction_id: 'T-12345', value: 49.90, currency: 'EUR', items: [/* ... */] });

Currency

Send a consistent ISO 4217 currency code (e.g. EUR, USD) on every revenue event, matching your site's configured currency, so totals add up correctly.

What you'll see

Once purchase events arrive, the E-commerce report shows total and net revenue, orders, average order value, revenue over time, your top products and the purchase funnel.