feeds_tamper_filtering
Feeds Tamper Filtering lets you skip feed items during import based on their field values, using grouped conditions with full AND / OR logic — for example, "skip items where (status = closed AND department = Legal) OR amount > 100000".
It adds a Filtering section directly to a feed type's existing Tamper page, so filtering lives right alongside your other Tamper configuration. No code required.
Why this module?
The Tamper module can blank out a single field value (Skip on empty) or filter on one field (Keyword filter), but it can't drop a whole item based on a combination of conditions across multiple fields. This module fills that gap.
Crucially, filtering runs after all Tamper plugins have executed, so your conditions are evaluated against the final, tampered values — not the raw source data.
Features
- Grouped conditions with arbitrary AND/OR nesting:
(A AND B) OR C. - 14 operators: equals, does not equal, contains, does not contain, starts with, ends with, in list, matches regex, greater/less than (and or-equal variants), is empty, is not empty.
- Multi-value source support — a condition matches when any value satisfies it.
- Invert / allowlist mode — keep only the items that match, dropping the rest.
- Runs after Tamper, so you can filter on transformed values.
- No new admin pages — settings appear on the feed type's Tamper tab and are stored in the feed type's third-party settings (exportable as config).
- Point-and-click UI with add/remove controls for groups and conditions.
How it works
The module repoints the Feeds Tamper list form to a subclass that adds the Filtering UI, and registers an event subscriber on the Feeds parse event at a priority just below Feeds Tamper. Matching items are removed from the import via Feeds' own SkipItemException. The matching logic is a small, dependency-free service, so it's easy to test and reason about.
Requirements
Installation
Install as you would any module, then visit any feed type's Tamper tab and open the Filtering section.