Commerce
Connect your store

Revenue attribution

Pulse automatically assigns revenue from incoming orders back to the campaign (and in future, journey) most likely to have driven them.

Model

The default model is last-touch with a 168-hour (7-day) window. When an order arrives:

  1. Pulse resolves the customer by email.
  2. It finds the most recent campaign_messages row for that customer with sent_at within the last 7 days.
  3. It inserts a campaign_attributions row linking the campaign, the customer, the order, the revenue, and the currency.

Reporting

The campaign_revenue_v view aggregates attributed revenue per campaign. The Campaigns list page uses this view to show total revenue, average order value, and ROI (if campaign cost is recorded).

Multi-touch (roadmap)

In a future release you will be able to pick alternative models per workspace:

  • First-touch — credit the earliest message in the window.
  • Linear — split credit evenly across all messages in the window.
  • Time-decay — weight recent messages more heavily.

Excluding transactional messages

Transactional messages (receipts, OTP) are excluded from the attribution candidate set. They're operational touches, not marketing ones.