Your Zap runs through the trigger step but stops at the filter — or passes through a filter it should block. Filter bugs are almost always a data type mismatch or whitespace issue, not a logic problem.
Zapier filters compare values as strings by default. If your trigger returns a number (e.g., amount: 100) and you filter 'amount greater than 50', the comparison may fail because '100' as a string doesn't compare numerically the same way. Use the 'Number' operator variants, not generic text operators, for numeric comparisons.
If the field value from your trigger has trailing whitespace (common in form submissions, spreadsheet imports, or API responses), an exact match filter will fail even when the value looks correct. Add a Formatter step before the filter to 'Trim Whitespace' on the relevant field.
Zapier's 'exists' and 'does not exist' operators behave differently for empty strings vs null/undefined. A field that returns '' (empty string) may not satisfy 'does not exist'. Test with a real event and check the exact raw value in the trigger step output.
If you're filtering on a nested object field (e.g., customer.email or line_items[0].price), Zapier may not resolve the path correctly depending on how the data was structured. Use a Formatter or Code step to flatten the value before filtering.
Zapier filter steps use AND by default — all conditions must be true. If you expect OR behavior (any condition passes), you need to split into separate Zap paths or use a Code step with custom logic. Misunderstanding this is the most common cause of 'filter always blocks' bugs.
Real operator. No ticket queue. San Diego-based. Most issues resolved in one thread.
Related problems in this cluster: