Attribute Based Filters
Attribute based filters suppress events whose metadata matches a set of key/value conditions you define. When an event matches, it is excluded from scoring, session creation, and lead creation entirely. These filters are found under Configure > Filters > Attribute Based.
Attribute based filters evaluate before velocity based filters. This means a bot event that matches a metadata condition is dropped immediately — it never enters the velocity counting pipeline at all.
For filters that catch excessive repetition (bursts of the same event type from a single lead), see Velocity Based Filters.
When to Use Attribute Based Filters
Use these filters when you can identify unwanted events by something in their metadata rather than by rate:
- Bot traffic by user-agent — Suppress
Page Viewevents whereuser_agentcontains"Googlebot"or"bot" - Internal test events — Suppress events where a metadata key like
testequals"true"orsourceequals"qa" - Known exclusion markers — Suppress events where
environmentequals"staging"so test data never enters production scoring - IP-based suppression — Suppress events from known internal IP ranges by matching a metadata field your tracker includes
How Attribute Based Filters Work
Each filter has a name, an optional event type scope, and one or more conditions. When an event arrives:
- If the filter targets a specific event type and the event type does not match, the filter is skipped
- All conditions are evaluated against the event's metadata
- If all conditions match, the event is suppressed
- The suppressed event is still stored for audit purposes — it is simply excluded from scoring and lead activity
Multiple active filters are evaluated independently. An event is suppressed if it matches any enabled filter.
Filter Components
| Field | Description |
|---|---|
| Name | A descriptive label for the filter (e.g., "Suppress Bot Traffic", "Block QA Events") |
| Event Type | Optionally restrict this filter to one event type. Leave blank to apply to all event types |
| Conditions | One or more key/value rules. All conditions must match for the event to be suppressed |
| Enabled | Toggle to pause a filter without deleting it |
Condition Operators
Each condition targets a metadata key and uses one of these operators:
| Operator | Behavior |
|---|---|
| equals | Exact string match |
| not equals | Does not match the value |
| contains | Value includes the specified text (case-insensitive) |
| not contains | Value does not include the specified text |
| starts with | Value begins with the specified text |
| ends with | Value ends with the specified text |
| matches regex | Value matches a regular expression |
| is empty | Key is absent or its value is blank |
| is not empty | Key is present and has a non-blank value |
Creating an Attribute Based Filter
- Navigate to Configure > Filters
- Select the Attribute Based tab
- Click Add Metadata Attribute Filter
- Enter a name for the filter
- Optionally select an event type to scope the filter
- Add one or more conditions using the condition builder
- Use Preview Match Count to see how many existing events would be suppressed by the current conditions
- Toggle Enabled on and click Create Filter
Preview Match Count
Before saving, click Preview Match Count to run your conditions against your existing event history. The result shows how many events currently in your account would be suppressed if the filter were active. Use this to catch over-broad conditions before they take effect.
Example Configurations
Suppress Googlebot Traffic
Name: Block Search Crawlers
Event Type: Page View
Conditions:
user_agent contains "bot"
Suppresses all page views where the user-agent includes the word "bot". Catches Googlebot, Bingbot, and most crawler strings.
Block Internal QA Events
Name: Exclude QA Events
Event Type: (any)
Conditions:
source equals "qa"
Removes events your QA pipeline marks with source: "qa" from all scoring.
Suppress Staging Environment Events
Name: Exclude Staging Data
Event Type: (any)
Conditions:
environment equals "staging"
Keeps staging activity out of your lead scores when your tracker includes an environment field in event metadata.
Multi-Condition Filter
Name: Block Internal Tools
Event Type: (any)
Conditions:
source equals "internal"
environment not equals "production"
Both conditions must match. This would only suppress events tagged as internal AND not from the production environment.
Best Practices
Be specific with conditions. A condition like user_agent contains "bot" will catch most crawlers, but verify with Preview Match Count that it does not accidentally suppress legitimate leads who happen to have "bot" in a company name or campaign URL.
Name filters clearly. Include the suppression reason in the name: "Block Googlebot", "Exclude Internal Tools", "Suppress Staging Events". Your team will thank you during quarterly reviews.
Use event type scoping when possible. Scoping a filter to a specific event type limits its blast radius and makes it easier to audit later.
Disable rather than delete. Toggle a filter off instead of deleting it. This preserves the configuration for reference if suppression behavior changes unexpectedly.
Layer with velocity filters. Attribute based filters are evaluated first, so they handle known bad actors immediately. Velocity based filters then catch unknown automated patterns by rate. Together they cover most suppression scenarios.
Troubleshooting
| Symptom | Likely Cause | Solution |
|---|---|---|
| Filter not suppressing expected events | Metadata key name does not match | Check the exact key names in your event metadata; they are case-sensitive |
| Too many events suppressed | Condition is too broad | Narrow the condition or add a second condition to restrict scope |
| Suppressed count is 0 | Events do not include the target metadata key | Verify the metadata key is present in your event payloads |
| Filter is enabled but events still score | Filter was created after events arrived | Filters apply to new events only; previously ingested events are not retroactively suppressed |
Related
- Velocity Based Filters — Suppress events that exceed rate thresholds
- Attribute Based Filters API — Manage attribute filters programmatically