How Juno attributes revenue
Which orders count, how a paid order is credited to the broadcast or journey that last reached the customer, what the channel and AI-assisted breakdowns mean, and where to see it all.
On this page
Attribution answers one question: of the money you actually collected, how much came after you reached out — and through which channel, with or without the AI. Juno's answer is deliberately conservative. It counts paid money only, credits each order once, and would rather call an order organic than claim it for a campaign on a guess.
Where to see it
Open Revenue intelligence in the navigation and find the Attribution panel. It shows:
- Earned by your campaigns — the revenue credited to your broadcasts, journeys and QR codes, and what share of your net verified revenue that is.
- By channel — revenue split by the channel of the conversation the order came from.
- By assist — revenue split by whether the AI took part in that conversation.
- Campaigns — a table of each broadcast, journey or QR code with its Sends, Orders and Net revenue, and refunds shown against it. A QR code or link is marked as one and has no sends.
The figures cover everything recorded so far; there is no date filter. Amounts in different currencies are kept apart rather than added together.
Which orders count
Only paid orders, minus refunds. An order counts once it has been verified as paid — by a payment link the customer completed, by someone pressing Verify after checking a bank transfer, or by Mark delivered & paid for cash on delivery. See Products and orders in the chat.
Two kinds of order never count:
- Drafts and unpaid orders. Intent is not revenue.
- Orders the AI inferred and nobody on your team confirmed. The AI noticing that someone wanted to buy is not the same as them buying.
A refunded order stays in the table so you can see it, and its amount comes off the net figure.
How a campaign gets the credit
Juno uses last touch. When an order is verified as paid, Juno looks back over the attribution window — 7 days unless you change it — for the most recent campaign that reached that customer:
- a broadcast that was actually delivered to them (a broadcast they were excluded from, or that failed to send, does not count), or
- a message from a journey they were enrolled in, or
- a growth widget — a QR code or link — they started a conversation through.
The most recent one wins the whole order. If nothing reached them in the window, the order is Organic. That is not a failure — most businesses have plenty of customers who buy without being prompted, and a report that credits every sale to marketing is telling you nothing.
The window counts back from the moment the order was paid, not when it was created. So a reminder sent after the customer placed the order but before they paid still counts — which is usually exactly the message that got them to pay.
Credit is attached to the customer, not to the thread. If a broadcast went out on WhatsApp and the customer paid through a conversation on another channel, the broadcast still gets the credit.
Changing the window
Choose the window button on the panel — it shows your current setting, for example 7-day window — and set Attribution window (days) anywhere from 1 to 30. A short window says "only the message that directly prompted the sale". A long one says "anything recent had a hand in it". Seven days is a reasonable middle for chat.
A changed window applies to orders paid from then on. Orders already credited keep the credit they were given — the record is written once, at payment, so the report does not rewrite history each time you adjust it.
By channel and by assist
These two breakdowns look at the conversation the order came from, not at campaigns:
- By channel groups revenue by that conversation's channel — WhatsApp, Messenger, web chat and so on. An order with no conversation is Direct. A Shopify order placed on your storefront with no conversation behind it is Shopify store.
- By assist marks an order AI assisted if the AI assistant sent at least one message in that conversation, and Human otherwise. A Shopify storefront order with no conversation is Storefront checkout — nobody sold it, so it is neither.
"AI assisted" means the AI took part, not that the AI closed the sale on its own. Read it as "how much of our revenue ran through conversations the AI was in".
Shopify orders and QR codes
- Shopify orders are credited like any other paid order. When Shopify reports an order paid, Juno looks back over the window for the customer it belongs to — matched by the phone number or email on the order — and the most recent broadcast, journey or QR code gets the credit. An order carrying no phone or email Juno already knows has no customer to trace back through, so it stays Organic. Orders brought in from your store's history (when you first connect, or reinstall) are judged against the date they were placed, not the day they were imported.
- Growth widgets (QR codes and links that start a conversation) appear in the campaigns table under their own name, marked QR code or link. The Growth widgets page shows the same revenue per widget.