Revenue attribution
See what your messaging actually earned — and which numbers you can trust versus which are estimates.
The Revenue page answers the question every messaging tool should be able to answer honestly: did this make me money?
Enscale attributes revenue to the message that influenced it, and — importantly — tells you how confident that attribution is rather than blending everything into one flattering number.
The four kinds of number, and which to trust
| Type | What it means | How much to trust it |
|---|---|---|
| Direct | They clicked a link in your message and bought in that session | Highest — this is a traceable click |
| Assisted | Your message reached them before they bought, but wasn't the last click | Medium |
| Estimated | Modelled influence, with no traceable click | Lowest |
| Savings | Money not spent, rather than money earned | A different thing entirely |
Never add Direct and Estimated together
They're different claims. Direct is a click you can point at. Estimated is a model's guess.
Combining them into one headline is exactly how messaging tools end up claiming credit for revenue that would have happened anyway. When you're deciding whether an automation is worth keeping, look at Direct.
Where revenue gets attributed from
| Source | Counted when |
|---|---|
| Abandoned checkout | A recovery message came before the purchase |
| Broadcast | A campaign came before the purchase |
| Workflow | An automated message came before the purchase |
| AI chat | An AI conversation came before the purchase |
| Review widget | A storefront review influenced the purchase |
| Coupon popup | A popup signup came before the purchase |
| Support savings | Support handled without a person |
| Manual | You attributed it yourself |
The one thing you must do for this to work
Always use the Format link step. Never paste a raw URL into a message.
This is the difference between a page full of useful numbers and a page that says your automations earned nothing.
Format link tags your URLs so a click can be traced back to the exact message that carried it. A raw pasted URL produces untracked traffic, which lands in Estimated at best — and usually nowhere.
Set the campaign name per flow, so you can tell your cart recovery apart from your review requests.
Also: connect the ad-click triggers
The three ad triggers — WhatsApp Ad Click, Instagram Ad Click, Facebook Ad Click — tell Enscale which conversations came from paid ads. That's what connects ad spend → conversation → order, so you can see whether your ads actually pay.
Needs a paid plan.
Feeding results back to Meta
For customers who came from an ad, Enscale sends purchase events back to Meta automatically — purchases, checkouts started, shipments, deliveries and cancellations.
Why you'd want this: Meta learns which ad clicks turned into real orders, and gets better at showing your ads to people likely to buy. It's how your ad targeting improves over time.
Only customers with a live ad attribution are reported. People who found you organically are never sent to Meta.
Support savings — read this separately
Savings measures money you didn't spend: conversations an AI agent resolved that would otherwise have taken a person's time.
It's a real saving. But it is not revenue, and adding it to a revenue total produces a number that means nothing.
The honest comparison is: what those AI-resolved conversations saved you, minus what they cost at your plan's resolution rate. See AI usage and spend.
Reading the report
Four views actually worth looking at:
- Direct revenue by source — which of your automations genuinely earn. This is the one to act on.
- Direct only, by campaign — which campaigns were worth the Meta charges.
- Savings — what AI handled without you.
- Assisted vs direct — tells you whether your messaging opens conversations or closes sales. Both are useful; they're just different jobs.
Common questions
Next steps
- What an automation can do — the Format link step.
- What can start an automation — the ad triggers.
- AI usage and spend — weighing savings against cost.