Gmail Filters

Why your Gmail filters stop working (and how to tell which one broke)

22 August 2026 · 5 min read

A Gmail filter that has worked for two years stops working, and nothing tells you. No error, no warning, no entry in a log. The mail just starts appearing in your inbox again, and by the time you notice, a few hundred messages have arrived where they should not have.

Gmail gives you no way to ask did this filter run? — so the debugging has to be done backwards, from the mail that got through. There are six reasons this happens, and they are distinguishable.

1. The filter only ever applied to new mail

This is the most common one, and it is not really a failure — it is a misunderstanding of what Gmail filters do. A filter runs at delivery. Creating one does nothing to the mail already sitting in your account.

Gmail does offer a checkbox — Also apply filter to matching conversations — but it is easy to miss, it only appears when you create the filter, and it is not offered at all when you edit one later. So a filter you tightened last month is applying its new rule to new mail while the old rule's mistakes stay exactly where they are.

How to tell: search for the filter's criteria directly. If the matching mail is all older than the filter, the filter is working fine and was simply never applied retroactively.

2. The sender changed their From address

Filters keyed on from: break the moment a sender moves infrastructure. Newsletters are the worst offenders — a company switching from Mailchimp to their own domain, or from news@brand.com to hello@mail.brand.com, breaks every filter that named the old address, and nobody announces it.

How to tell: open one of the messages that got through and look at the actual From address, not the display name. Gmail shows you the friendly name by default, and the friendly name is usually unchanged — which is exactly why this one is hard to spot.

The fix that lasts: filter on the domain rather than the mailbox. from:(*@brand.com) survives a sender moving from news@ to hello@. It does not survive a move to a different domain, but nothing does.

3. Another filter matched first and stopped the chain

Gmail applies every matching filter, in the order they were created — but some actions end the story. A filter that deletes a message, or one that archives it, changes what the later filters see. If an early filter archives everything from a domain and a later one was supposed to label a specific message from that domain and keep it in the inbox, the label gets applied to a message you will never see.

How to tell: the mail is not missing — it is labelled correctly and archived. Search for the label and it is all there.

4. The criteria were always slightly wrong

A filter can look correct and match nothing. The usual causes:

How to tell: paste the filter's criteria into the Gmail search box. Gmail's search and Gmail's filters use the same query language, so if the search returns nothing, the filter matches nothing. This is the single most useful debugging trick, and it is the one almost nobody uses.

5. The label was renamed or deleted

A filter that applies a label you later deleted does not warn you. Rename a label and Gmail usually follows the rename in the filter, but delete one — or rename it in a way that splits a nested hierarchy — and the action silently has nowhere to go.

How to tell: open Settings, Filters and Blocked Addresses, and read the filter list. A filter whose action refers to a label that no longer exists usually reads oddly, or names a label you do not recognise.

6. You are over the filter limit

Gmail caps filters per account. Past the cap, new filters fail to save — and the failure is a small message that is easy to click past, leaving you certain you created a filter that does not exist.

How to tell: count the filters in Settings. If you are anywhere near a thousand, consolidate before adding more — several narrow filters with the same action are almost always expressible as one with an OR.

A faster way to find the broken one

The pattern in all six is the same: the only reliable signal is what the criteria match right now, against the mail actually in your account. Everything else is inference.

  1. Find a message that should have been caught and was not.
  2. Open its full headers and read the real From address, not the display name.
  3. Paste your filter's criteria into the search box and see whether that message comes back.
  4. If it does not, the criteria are wrong. If it does, something later in the chain moved it.

This is tedious by hand, which is why we built Gmail Filters to do the third step for you: it runs a filter's criteria against your real inbox and shows you every message that matches — broken down by sender and by date — before you apply anything. A filter that catches nothing is obvious in a second rather than a fortnight, and a filter you have just fixed can be applied backwards over the mail the broken one missed.

The one filter worth having regardless

Whatever else you do, a filter that labels rather than archives is easier to debug than one that hides mail. Label first, live with it for a week, then add the archive action once you trust it. A filter that labels wrongly is a nuisance; a filter that archives wrongly is mail you never see.

Stop guessing whether a filter works. Gmail Filters runs your filter against your real inbox and shows you every message it catches before you apply anything — then applies it backwards over the mail your broken filter missed.

Try it free