
How to move budget between channels without losing the gain
The distribution check tells you there's an opportunity. Moving it all at once eats most of it. Here are three execution rules, and what to watch afterwards.

Aggregate reports answer the question of which channel. A customer profile answers the question of what happened.
The difference between those two answers doesn't show up in the argument, it shows up in the budget you write next month. Take an illustrative store with 600 orders in a month, and read the same month two ways.
| Channel | Last click | First touch |
|---|---|---|
| Paid search | 360 | 95 |
| Snapchat | 60 | 210 |
| Influencers | 30 | 145 |
| Direct | 150 | 150 |
Same orders, same revenue, an entirely different split of credit. The reason is simple: a single order has four or five touchpoints behind it, and last click sees exactly one of them.
Snapchat drops from 210 to 60, influencers from 145 to 30, and paid search rises from 95 to 360. The channel that closes journeys takes all the credit, and the channels that open them nearly disappear.
Build next month's budget on the last-click column and you'll cut the two channels that open most of your journeys, and scale the one whose main job is closing journeys somebody else opened.
That doesn't mean first touch is the right answer. It means the two readings differ enough that you shouldn't decide on either one alone. The minimum: before pausing a channel on last-click numbers, check its first-touch share for the same period.
The direct row gives you a second signal from the same table. It's 150 in both columns, so it doesn't move whatever attribution model you pick. A row that sits still across both readings usually isn't a channel, it's orders whose source was lost, and here that's a quarter of your month.
A resolved customer record carries, in order:
The first touch. The channel, campaign and ad behind the very first visit, with its date.
Every visit since, with its source, whether or not it ended in anything.
Every order, with its value and the touch sequence that preceded it.
The identifiers that tie the record together, which is what lets you check the merge was sound.
That last item matters more than it sounds. A journey you can't audit is a journey you'll eventually distrust, usually in the middle of a budget conversation. If you open a profile and find identifiers you don't expect, that's a sign the merge has joined two records that aren't the same person.
This is also different from what your store platform shows. The platform gives you orders per customer. What it doesn't hold is the channel behind each one, or the visits that produced no order. The profile goes back over touch history within the 90-day window, plus the full order history for that customer.
Three numbers come out of the profile that no aggregate dashboard gives you. The first is the gap between first touch and first order per customer, which tells you how long a buyer takes to decide and whether your attribution window is long enough. The second is the count of orders where a campaign appears anywhere in the path against orders where it was the last touch, and the gap between them defines an assist campaign. The third is the reason a specific order was credited where it was, for when somebody opens an argument about one order.
The common sequence: a channel shows a poor last-click ROAS, gets paused, and two weeks later total revenue falls by more than that channel's entire attributed contribution.
That happens when the paused channel was opening journeys other channels were closing. Nothing in a last-click table warns you, because in that table the channel genuinely does look weak. The profile shows the same channel appearing early in hundreds of paths that ended in orders credited elsewhere.
Protecting yourself from this is cheap. Instead of pausing the channel outright, cut part of its budget for two weeks and watch total store revenue rather than the channel's own revenue. If the total falls by more than its attributed share, it's working somewhere your table can't see.
In Flowfy, unified customer profiles and the full touchpoint journey are live today: identity is resolved across fourteen identifier types, anonymous history is backfilled the moment someone identifies themselves, and the path is stored per order within a 90-day window.
You don't need to change your attribution model to get value from this. You need to open a small sample and read it yourself before the next budget meeting.

The distribution check tells you there's an opportunity. Moving it all at once eats most of it. Here are three execution rules, and what to watch afterwards.

Two products with the same revenue can need opposite budgets. One buys you new customers, the other is why they come back. Revenue alone doesn't tell them apart.

Tracking is fine and the money is going to the wrong place. That's the more common case, and it doesn't surface as an error anywhere. Here's the check, with the arithmetic.