What is the flow waterfall?
The flow waterfall lines up your automations — a welcome series, an abandoned-cart sequence, a win-back flow — one row each, ranked by the margin they are credited with: sends, open and click rate, unsubscribe rate and attributed margin per flow. Automations run unattended, and the waterfall is the place to see which of them earn their sends and which only fill inboxes. Open a flow and it lists its individual messages (steps) with the same figures.
Formula
one row per flow: sends, open rate, click rate, unsubscribe rate,
attributed margin — ordered by attributed margin
expanded flow: one row per step: sends, open rate, click rate,
unsubscribe rate, attributed margin, send cost
— ordered by sends, highest first
Worked example
An abandoned-cart flow sends 18,000 messages with a 3.2% click rate and earns €9,400 of attributed margin; a win-back flow sends 22,000 with a 0.9% click rate, an unsubscribe rate twice the abandoned-cart flow's, and earns €1,100. The win-back flow mails more people for a ninth of the margin while wearing down the list — a candidate for a shorter sequence or a tighter entry rule, and the waterfall puts the two side by side. Opening the win-back flow shows which of its messages carries the unsubscribes and which earns the margin.
How Saldo Metrics computes it
fact_messaging_performance stores flow rows at message grain: each row carries
its flow_name and flow_message_name (the step). v_flow_performance rolls
them up per flow and medium — totals first, rates recomputed from the summed
counts — with attributed revenue and margin, over all synced history rather than
the selected period. The waterfall renders those rows, one per flow, ordered by
attributed margin. Expanding a flow reads v_flow_message_performance, the same
roll-up per step, with the step's send cost.
The steps are ordered by volume, not by their position in the flow. The messaging platform reports each message's totals but not where it sits in the sequence, and flows can branch, so the app does not claim an order it does not have. For the same reason the waterfall does not show where recipients drop out between one step and the next.
Why it matters
Automations earn a large share of messaging revenue and run unattended — a broken flow keeps quietly underperforming for months in a way no campaign would. Putting each flow's attributed margin next to its unsubscribe rate shows the actual trade: what the flow earns against how much of the list it wears out. The step list narrows that down to the message responsible.
Common mistakes
- Reading low volume as failure. A flow with few sends may simply have a narrow trigger; judge it by margin per send and unsubscribe rate, not by size.
- Reading the step list as a sequence. Steps are sorted by sends. A step lower in the list is not necessarily later in the flow, and the gap between two steps' sends is not a drop-off rate.
- Judging flows by their rates alone. A win-back flow mails a less-interested audience than a welcome series; its rates are structurally lower. Compare a flow against its own history, not against a different kind of flow.
- Crediting the whole flow's revenue to its existence. Attribution here is the messaging platform's own matching, not a holdout experiment; a flow's true incremental value is smaller than its attributed total.
Where you see this in the app
Marketing → Email & SMS, as the automation flows section with one row per automation; the arrow beside a flow's name opens its steps.