Your Zap Ran. Your Filter Stopped It. You Paid for Both.
Every step before a Filter costs tasks even on filtered runs. Filter at trigger level for zero cost. Put Filter right after trigger as next best option.
Your Zap Ran. Your Filter Stopped It. You Paid for Both.
The filter is supposed to make your Zap cheaper to run. It looks like it reduces the work: if the condition is not met, the Zap stops. Less work means fewer tasks. Fewer tasks means a lower bill.
This is not how Zapier billing works.
How Zapier Actually Counts Tasks With Filters
In Zapier, a task is counted for each successfully completed step. The trigger step is free. Every action step costs one task.
A Zap with: Trigger, Formatter, Filter, Action costs two tasks when the filter passes (Formatter + Action) and one task when the filter stops it (Formatter only). The filter does not cost a task itself. But all steps before the filter do.
The Zap you thought would cost zero tasks when filtered is costing you one task for every filtered-out record.
This is not a bug or hidden fee. Zapier’s documentation at zapier.com/help/create/basics/add-conditions-to-zaps states that tasks are counted for completed steps. The Formatter step completed. It just completed before the filter stopped the Zap.
The Expensive Architecture This Creates
The most expensive version of this problem:
A Zap with three Formatter steps before a Filter, on a trigger that fires frequently and is mostly filtered out.
Three Formatter tasks consumed per filtered run. If the filter stops ninety percent of runs, you are paying three tasks for every run that does nothing useful.
For a Zap that fires a thousand times per month with a ninety percent filter rate:
- One hundred runs pass the filter: 300 tasks (3 Formatter + 1 Action = 4 tasks each, actually, wait let me recalculate: one hundred runs pass means 100 × 4 = 400 tasks plus 900 × 3 = 2700 tasks = 3100 total tasks)
- Nine hundred runs are filtered: 2700 tasks wasted on Formatter steps before the filter
2700 tasks consumed to do nothing. On Zapier’s Starter plan, that is most of the monthly task allowance gone before a single useful action runs.
The Fix: Move Your Logic Earlier
Option 1: Filter at the trigger level.
Many Zapier triggers let you set filter conditions that prevent the Zap from firing at all when the condition is not met. This costs zero tasks. Nothing fires. Nothing counts.
Look for the “Trigger Filters” option in your Zapier trigger configuration. Not all apps support this, but when available it is the most cost-efficient way to filter.
Option 2: Move the Filter as early as possible.
If you cannot filter at the trigger level, position the Filter step immediately after the trigger with no action steps before it. The filter consumes no tasks. All steps before the filter do. Minimising steps before the filter minimises wasted task consumption.
Option 3: Consolidate Formatter steps after the Filter.
If you need to run Formatter steps, run them after the Filter. Steps before the filter are consumed on every trigger run. Steps after the filter are consumed only when the filter passes.
The Zapier Architecture That Minimises Task Waste
| Zap Structure | Tasks Per Filtered Run | Tasks Per Passing Run |
|---|---|---|
| Trigger, 3 Formatters, Filter, Action | 3 (wasted) | 4 |
| Trigger, Filter, 3 Formatters, Action | 0 (wasted) | 4 |
| Trigger with filter conditions, 3 Formatters, Action | 0 (nothing fires) | 4 |
The third structure (filtering at trigger level) is the most efficient. The second (Filter immediately after Trigger) is the best alternative when trigger-level filtering is not available.
Why Most People Never Discover This
Most people look at their Zapier task count and know it is high. They do not know which Zaps are consuming the most tasks or why. Zapier’s task history shows task counts by Zap but does not flag which tasks were consumed on filtered-out runs versus passing runs.
The discovery usually comes when you look at a Zap’s task history, see thousands of tasks, and realise the filter should have stopped most of them.
At that point, the fix is simple. But the tasks are already spent.
Frequently Asked Questions
Does the Filter step itself cost a task?
No. The Filter step is free. Only steps that execute before or after the Filter and successfully complete are charged as tasks. The Filter itself is not billed.
Can I use Paths instead of Filters to avoid this problem?
Paths (available on Zapier’s Professional plan and above) branch your Zap into multiple routes. Like filters, the Paths step itself does not cost a task. But all steps before the Paths step still do. The same principle applies: minimise steps before branching logic.
What if my trigger does not support trigger-level filtering?
If the source app does not expose filtering at the trigger level, your best option is to position the Filter immediately after the trigger before any other steps. You cannot eliminate the trigger check (which is free), but you can ensure no paid steps run before the filter.
Is there a way to see how many tasks I wasted on filtered runs?
Not directly in Zapier’s UI. You can calculate it by comparing total task count for a Zap against the number of times the final action ran (visible in the task history). The difference is tasks consumed on filtered runs.
The One Thing to Remember
Every step before a Filter in a Zapier Zap costs tasks even when the Filter stops the Zap. Filtering at the trigger level (when the app supports it) costs zero tasks. Positioning the Filter immediately after the trigger is the next best option. Any Formatter, Lookup, or other action step placed before the Filter is consumed on every trigger run regardless of whether the run produces any useful output.
Want your automations running efficiently without wasted task spend? → Snapdock
New here? These might help: Your Zap works. Your bill is the bug. → Five Zapier mistakes that cost more than a developer. →