Gaps vs. completeness

A gap means a record never arrived at all. A completeness flag means it arrived, but broken.

A gap: never arrived

A source ping came in, and after the full expected window passed, no matching destination ping ever showed up. Nothing landed. This is the core thing FlowProofs exists to catch: the record that silently vanished somewhere between start and finish.

A completeness flag: arrived incomplete

The destination ping did arrive, but is missing a field you've told FlowProofs to expect, or that field is empty when it shouldn't be. The record technically made it, but not in usable shape: a lead with no phone number, an order with no shipping address. This is a different failure mode from a gap, and it's detected differently. You define which fields matter per flow, and FlowProofs checks every arriving record against that list.

Why they're kept separate

Treating "never arrived" and "arrived but broken" as the same thing would blur two very different fixes: a gap usually means something upstream failed outright, while a completeness flag usually means a field mapping is wrong somewhere in the middle. Knowing which one you're looking at tells you where to start looking.

Where you see each

  • On the Flows list, each row's expanded view groups confirmed gaps (red), records still within window (neutral), and completeness flags separately.
  • An event's own detail page shows exactly which check it failed, if any.
  • Alert rules can be set up separately for each. See Alerts.