This module allows you to selectively skip items during a feed import based on complex conditions involving multiple fields. It integrates directly into the existing Feeds Tamper configuration, enabling you to define custom filtering rules with AND/OR logic to control which items are processed and which are excluded.
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.