The End node marks how a flow finished. Every path should reach one.
There are two settings you can choose:
- Success, the other side accepted the request.
- Reject, the other side turned it down.
Error is what happens without an End node
Error is not a setting. It is where a flow lands when it never reached an End node at all, whether because something broke, or because no connection matched and the run simply stopped.
That is why marking every path explicitly matters. A rejection is a normal outcome, and if it is left to fall into Error, it stops looking like a business result and starts looking like a fault. Error should stay reserved for things that are actually broken, so it remains useful in logs and worth being notified about.
Check every branch of your flow leads somewhere. A branch that trails off without an End node is the most common way leads end up in Error for no reason.
Give a rejection a reason
A rejection on its own tells you the lead was not taken. A reason tells you why, and that is what shows up in reports, aggregated across all your integrations.
Whatever the advertiser sends back can be mapped onto your own set of reasons, or onto the standard ones, so that rejections from different advertisers are comparable. See Reject reason.

