The three-piece model
Echo separates pipelines into three pieces: sources (where events come from), destinations (where they go), and connections (which sources flow to which destinations). Sources and destinations are independently configured. The connection is the explicit join.
That separation is intentional. One source can fan out to many destinations — site events going to Meta, Snap, TikTok, and a custom warehouse simultaneously — through multiple connections. One destination can receive from many sources too. The connection-level filters give you fine control over which events flow where.
Create a connection
Open Echo > Connections and click Add Connection. Both the source and the destination must already exist; create them first if they don't.
Pick the source (for example, your website pipeline) and the destination (for example, Meta CAPI Production). Title the connection clearly — "Site to Meta Production" beats "Connection 7" once you have a dozen of them.
Add a description. Future-you will thank present-you when troubleshooting six months later.
Configure event filters
By default, every event from the source flows to the destination. That's often not what you want. Filters narrow which events pass through this specific wire.
Add filters by event name (only Purchase and ViewContent), custom attribute (only events where channel = paid), or property value (only events where order_total > 0). Multiple filters combine with AND logic; the event must match every filter to flow.
Where to apply filters depends on intent. Connection-level filters say "only these events go to this destination." Destination-level filters say "this destination never accepts these events, regardless of source." Same outcome on a single connection, very different outcomes on a fan-out.
Enable the connection
Connections start disabled. Toggle Enabled to turn it on. The list view shows disabled connections with strikethrough so it's obvious at a glance which routes are live.
Disabling instead of deleting is the safest pause. Setup is preserved, and re-enabling later is one click.
Each connection has its own event count. Use it to spot dead routes (zero events when there should be many) and to prioritize during incident response.
Troubleshooting
Events visible at the source but not at the destination
Either the connection is disabled, or its filters are dropping the event. Open the connection, check the Enabled toggle, then walk through each filter to find the one rejecting the event.
Destination receiving events you don't want
Add or tighten the connection-level filters. If the rule should apply across every source feeding the destination, move it to the destination filters instead.
Connection event count not increasing
Confirm the source itself is producing events (check the source's recent events page). If the source is quiet, the connection has nothing to forward. If the source is active and the connection still shows zero, it's a filter-too-strict problem.