A practical field guide from Automation Ace.
Zapier Filter Not Working? Why It Blocks Everything (or Nothing)
A Zapier Filter step has one job: decide whether a run should continue. So when it lets everything through or stops everything cold, it feels like the feature is broken. It almost never is. Filters compare exactly what they are given, and the failure is nearly always a mismatch between what you think the data looks like and what it actually is — hidden whitespace, a number stored as text, an empty field, or the wrong condition operator. This guide walks through each cause so you can fix the filter instead of working around it.
Read the actual value, not what you expect
Open a real Zap Run and expand the filter step to see the exact value that came in. Nine times out of ten the mystery resolves here: the field contains a trailing space, a currency symbol ("$1,200" instead of "1200"), a different capitalization, or the literal text "null". Filters do a character-for-character comparison, so "Paid " with a trailing space is not equal to "Paid".
If you find messy input, add a Formatter step before the filter to trim whitespace, force lowercase, or strip symbols, then filter on the cleaned value.
Text conditions vs. number conditions
Choosing "(number) greater than" on a value that Zapier is treating as text will not behave the way you expect — "9" can compare as greater than "10" under text rules. If you are comparing amounts, run the value through Formatter → Numbers first so it is a real number, then use the numeric condition.
Likewise, "(text) contains" is case-sensitive and matches substrings. "contains cat" will match "catalog". Use "exactly matches" when you mean the whole value, and normalize case first if the source is inconsistent.
Empty and missing fields
When a field is blank, Zapier may not even output the field, which changes how conditions evaluate. "(text) does not exist" and "(text) exists" behave differently from "does not contain". If your filter is meant to catch blanks, use the explicit exists / does not exist conditions rather than comparing to an empty string.
A frequent bug: a filter that "blocks everything" because it references a field that is empty on most runs, combined with an AND condition. Every run fails the empty check and stops.
AND vs. OR logic
Multiple conditions in the same rule group are joined with AND — all must pass. Separate rule groups are joined with OR — any group passing lets the run continue. A filter that blocks everything often has conflicting AND conditions that can never all be true at once (for example, status equals "Open" AND status equals "Closed"). A filter that lets everything through often has an OR group that is always true.
Confirm the filter is where you think it is
Filters only affect steps after them. If the action you are trying to gate runs before the filter, or on a different path, the filter has no effect on it. Check the step order in the editor.
Test with the run history, not the editor
The editor lets you test a filter against a single sample, which may not represent live data. The task history shows real outcomes — look for "did not continue" entries to confirm the filter is actually the gate, and expand them to see which condition failed. If your filters keep behaving unpredictably against real-world data, Automation Ace can help you design deterministic filter and path logic.
Disclaimer: This article may include links to apps, products, or services. Some links may be affiliate links, which means Automation Ace may earn a commission at no extra cost to you.