Campaign filters
This article shows how to build campaign filters that accept or reject leads by field rules. Filters protect buyer quality and stop junk before distribution spends attempts on the wrong traffic.
This article shows how to build campaign filters that accept or reject leads by field rules. Filters protect buyer quality and stop junk before distribution spends attempts on the wrong traffic.
Start small. Order matters, and a single broad reject can block more volume than you expect.
What are campaign filters?
Filters are rules evaluated against lead data. When a rule matches, its output is either Accept Leads or Reject Leads. Filters can run at several levels so global policy and party-specific exceptions stay separate.
| Level | Applies to | Typical use |
|---|---|---|
| Global | All leads in the campaign | Geo allow lists, obvious junk rejects |
| Supplier | Leads from one supplier | Source-specific quality rules |
| Buyer | Leads considered for one buyer | Buyer geo or attribute requirements |
| Traffic Source | Leads from one affiliate channel | Channel-specific accepts or blocks |
Filters stop at the first matching rule in evaluation order. That is why rank and output both matter.
Prerequisites
- An existing campaign with fields defined
- A clear list of must-have and must-block conditions
- Buyers, suppliers, or traffic sources already created if you need non-global levels
Add filters
- Go to Campaigns and open the campaign.
- Open the Filters tab.
- Find the section for the level you need (Global, Supplier, Buyer, or Traffic Source).
- Click Add filter.
- For non-global levels, choose the supplier, buyer, or traffic source scope.
- Select the field (key) to evaluate.
- Choose the condition.
- Enter the comparison value, or build the list of values.
- Set the output to Accept Leads or Reject Leads.
- Tick Exclusive if this one rule should decide both ways.
- Set a price only if this rule should change one.
- Click Save.
- Drag to reorder when a rule must be evaluated earlier or later.
- Review Rule Analyzer warnings and fix anything that looks unintentional.
- Send a test lead that should match, and one that should not, then confirm outcomes on the lead timeline.
Conditions
| Condition | Matches when the field |
|---|---|
| Equal to, Not equal to | Is, or is not, exactly the value |
| Contains, Not contains | Does, or does not, contain the value anywhere |
| Starts with, Ends with | Begins or finishes with the value |
| Has One Of, Not Has One Of | Exactly matches, or matches none of, a list of values |
| Starts with one of, Does not start with one of | Begins with any, or none, of a list of prefixes |
| Ends with one of, Does not end with one of | Finishes with any, or none, of a list of endings |
| Contains one of, Does not contain one of | Contains any, or none, of a list of values |
| Has regex | Matches a regular expression |
| Empty | Arrived with no value |
| Greater than, Less than, and the or equal to pair | Compares numerically |
The one of conditions take a list, so a set of postcode prefixes is a list of prefixes rather than a regular expression. A list holds up to 50,000 values. Type them, paste them, or upload a file, and the list stays editable after the import.
Exclusive rules
Tick Exclusive and a single rule decides both ways. An exclusive Reject Leads rule accepts anything it does not match, and an exclusive Accept Leads rule rejects anything it does not match. The hint under the checkbox spells out the half you did not pick, so you can read the outcome before saving.
An exclusive rule ends the list it belongs to, so nothing ordered below it runs. Put it last. Each level is evaluated separately, and so is each buyer, supplier, or traffic source within a level, so an exclusive buyer rule only ends that buyer's list.
Prices set by a filter
An accept rule can change what a matching lead is worth. Which price fields appear depends on the level.
| Level | Field | What it sets |
|---|---|---|
| Buyer | Buyer revenue | What this buyer pays for a matching lead, overriding their usual price |
| Buyer | Source payout | What you pay the supplier or traffic source when this buyer wins the lead. Applies to that sale only, and is empty by default so the source's usual rate stands |
| Supplier, Traffic Source | Source payout | What you pay that source for a matching lead, overriding their usual rate |
Buyer revenue is money coming in. Source payout is money going out. They are separate fields, and setting one never changes the other. Reject rules have no price fields.
How to think about accept versus reject
| Output | When to use | Watch out for |
|---|---|---|
| Reject Leads | Hard no for matching leads | Over-broad values block good traffic |
| Accept Leads | Explicit allow, sometimes with a price change | Order still matters if a later reject never runs |
| Either, marked Exclusive | The rule should settle every lead at this level | Nothing below it runs, so anything you add later is dead |
If no filter matches, leads typically continue by default. Do not assume an empty filter list means "reject everything."
Manage a buyer's filters from the buyer page
A buyer's own edit page has a Filters tab showing only that buyer's rules, which is usually faster than hunting through the campaign list.
- Add creates a filter for this buyer only.
- Editing a filter shared with other buyers saves a buyer-specific copy, and the other buyers keep the original.
- Removing a shared filter only detaches it from this buyer. It stays active for the others.
- Order is campaign-wide, so reordering stays on the campaign Filters tab.
Rule Analyzer (high level)
Rule Analyzer surfaces configuration warnings in the filter UI, such as orphaned scoped filters, missing fallback-style setups, or accept rules that look incomplete. Treat it as a review assistant. It does not replace reading your own business rules or testing with sample leads.
Tips and gotchas
- Build fields before filters. Filters need stable field names.
- Put the most specific reject rules where you intend them. A global reject affects everyone.
- Prefer a one of condition with a list over a regular expression. Lists are readable, editable, and hold up to 50,000 values.
- An exclusive rule is terminal for its list. Order it last, and check Rule Analyzer before you add anything beneath one.
- Buyer revenue and Source payout are different sides of the ledger. Setting the price a buyer pays does not change what you pay the source.
- Buyer filters can make a buyer look "broken" on the timeline when they are simply ineligible.
- After reordering, re-test. First match wins.
- For repeated reject patterns across many leads, switch from one timeline to Rejection Reasons overview.
Expected result
The Filters tab shows intentional rules at the right levels, Rule Analyzer is clear of accidental warnings you care about, and test leads accept or reject exactly as designed.
Related articles
Frequently asked questions
Comments
No comments yet — be the first to share your thoughts.