Zap filters are not working properly

Your Zap has a filter, but it's not working as expected. The Zap might run when it should not, or stop when it should continue. In your Zap history, the run shows as Filtered.

You may also notice (missing value) where field data should be, or a yellow exclamation mark on your filter step. A yellow exclamation mark means the data did not pass the filter conditions.

Screenshot showing (missing value) in the filter step

Causes

Missing data from your app

Your app did not send any data for the field you're filtering on. In your Zap run, (missing value) appears where the data should be.

Example

You set up a filter to continue when Phone Number exists. But for some contacts, the phone field is empty in your CRM. When those contacts come through, your Zap receives (missing value) and the filter fails.

Stale field mappings after trigger changes

You changed your trigger app or event after setting up the filter, but the mapped fields still reference the old trigger data. The filter receives (missing value) because those fields no longer exist.

Example

You originally used "New Lead" as your trigger and mapped Lead Status to your filter. Later, you changed to "New Contact" trigger, which has different fields. Your filter still looks for Lead Status, which does not exist in contact data.

Fields from sample data only

You mapped a field that appeared in sample data during setup but does not exist in actual live records. The field was available in your test data but is not present in all real records.

Example

During setup, you tested with a sample record that had a Custom Field value. You mapped this to your filter. But most live records do not have this custom field filled in, so your filter receives (missing value).

Similarly-named fields

You selected a field with a similar name to the one you intended. Apps often have multiple fields with related names, and it's easy to pick the wrong one.

Example

Your app has fields called Status, Status Code, and Status Reason. You meant to filter on Status Code but accidentally selected Status Reason. The values are different, so your filter does not match as expected.

Loop preview values instead of actual output

In a looping Zap, you mapped fields from the preview loop values shown during setup instead of the actual loop step output. Preview values are placeholders and do not contain real data during live runs.

Example

You set up a Looping by Zapier step and mapped _preview_loop_values to your filter. During testing, this worked fine. But in live runs, the preview values are empty and your filter receives (missing value).

Wrong filter condition (AND vs OR)

You selected AND+ when you needed OR+, or vice versa.

  • AND means all conditions must be true
  • OR means any condition can be true
Example

You want to filter emails with the subject "Invoice" OR "Receipt". If you use AND, the filter looks for emails containing both words in the same subject line, which rarely exists. Instead use OR to match either subject.

Learn more about AND vs OR logic in filters.

Invisible characters (whitespace)

Your data contains invisible characters like extra spaces, tabs, or line breaks. These are not visible when you review your data, but they affect how filters match text.

Example

Your filter checks if Status exactly matches "Paid". But the app sends "Paid " (with a trailing space). The filter fails because "Paid" does not exactly match "Paid ".

How to check: In your Zap run, click and drag to highlight the text in the field. Extra spaces will be visible in the highlight.

Field name changed

A field name in your app changed after you set up your Zap. The previous field mapping no longer works, so your filter receives (missing value).

Example

You mapped a field called "Product Name" to your filter. Later, your app renamed it to "Item Name". Your Zap still searches for "Product Name", which no longer exists.

Date or number format mismatch

You're filtering on dates or numbers, but the format does not match what your filter expects.

  • Number filters only work with numeric values like 100, not text like "one hundred"
  • Date filters need consistent formats—12/31/2025 does not match December 31, 2025

How to fix it

Missing data
  1. View the Zap run details.
  2. In the trigger step, click the Data Out tab to check what data your app sent.
  3. Find the field you're filtering on. If it shows (missing value), the app did not send data for that field.

To fix this:

  • Add a "Does not exist" condition to your filter to stop the Zap when the field is empty. Learn about filter rules.
  • Or, remap the field to a different field that always has data.
Refresh field mappings after trigger changes

If you changed your trigger app or event, you need to reload sample data and re-select your filter fields.

  1. Open your Zap and click the trigger step.
  2. Click Test trigger to load fresh data from your app.
  3. Click the filter step.
  4. Delete the current mapped field in your filter condition.
  5. Click in the field and select the correct field from the updated dropdown.
  6. Test the filter with the new sample data.
Verify you selected the correct field

If your app has similarly-named fields, double-check you selected the right one.

  1. View a recent Zap run.
  2. In the trigger step, click the Data Out tab.
  3. Find the field you intended to filter on. Note its exact name and value.
  4. Compare this to the field mapped in your filter. If they do not match, update your filter to use the correct field.
Tip

Click Continue with selected record from a failed Zap run to replay the exact data that caused the issue. This helps you identify which fields contain the expected values.

Fix loop mappings

If you're using Looping by Zapier, make sure you map fields from the actual loop step output, not the preview values.

  1. Open your Zap and click the filter step after your loop.
  2. Check if any mapped fields contain _preview_loop_values or similar preview placeholders.
  3. Delete these mappings and re-select fields from the loop step's output section in the dropdown.
  4. Test your Zap to confirm the filter receives actual data.
Passes everything
  1. Open your Zap and click the filter step.
  2. Check your filter condition:
    • Are you using (Text) Contains when you need (Text) Exactly matches?
    • Are you using OR when you need AND?
  3. Review the filter rules reference to pick the right condition for your data type.
Tip

If you're filtering on a specific value like a status or category, use (Text) Exactly matches instead of (Text) Contains to avoid partial matches.

Blocks everything

If your filter blocks all data, check these common causes:

Filter rule is too restrictive

  1. Open your Zap and click the filter step.
  2. Check if you're using (Text) Exactly matches when data has slight variations. Consider using (Text) Contains instead.
  3. Review the comparison value. Check for typos or differences from how the data actually appears.

Hidden whitespace in your data

  1. View the Zap run details and check the Data Out tab.
  2. Click and drag to highlight the field value. This reveals any hidden spaces.
  3. If you find extra whitespace, add a Formatter step to trim your text before the filter.

Date or number format mismatch

If filtering on dates or numbers, the format must match exactly. Add a Formatter step to standardize formats before your filter.

Tip

Test your filter with actual data from a recent Zap run. In the filter step, check what value is being compared. It may differ from what you expect.

Field changed
  1. Open your Zap and click the step that provides the data for your filter.
  2. In the Test tab, create a new test record to find the latest field names.
  3. Click the filter step.
  4. In the filter condition, delete the current mapped field.
  5. Click in the field and select the latest field from the dropdown.
  6. Test your Zap to confirm the filter works.

Learn more

Was this article helpful?
30 out of 219 found this helpful