-
Notifications
You must be signed in to change notification settings - Fork 363
Unify Event Filtering Public Beta [DOC-1107] #7602
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
pwseg
wants to merge
12
commits into
develop
Choose a base branch
from
unify-event-filtering-public-beta
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
9c7ebc3
init plus overview
pwseg 90eba2a
add table explaining differences
pwseg 185af94
Add section explaining filtering
pwseg c495560
add rest of structure
pwseg ddfcc4a
add comparison table
pwseg c6fd844
let's wrap it up
pwseg 0c46415
more links
pwseg 5f22905
add beta callout [netlify-build]
pwseg 1fb767e
rename file
pwseg aa15007
capitalize Identity Resolution [netlify-build]
pwseg e7caa79
delete wrong file [netlify-build]
pwseg 4f0cd36
updates after PM feedback [netlify-build]
pwseg File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,82 @@ | ||||||
--- | ||||||
title: Unify Event Filtering | ||||||
plan: unify | ||||||
--- | ||||||
|
||||||
Unify Event Filtering lets you control which events reach your Unify space. | ||||||
|
||||||
> info "Public Beta" | ||||||
> Unify Event Filtering is in public beta, and Segment is actively working on this feature. Some functionality may change before it becomes generally available. | ||||||
|
||||||
## Overview | ||||||
|
||||||
With Unify Event Filtering, you can use block events that aren’t useful for [Identity Resolution](/docs/unify/identity-resolution/) or downstream activation, keeping your space cleaner and more efficient. | ||||||
|
||||||
Event Filtering is useful when you’re sending a lot of different event types into Segment but only some of them are relevant to Unify. For example, you might want to: | ||||||
|
||||||
- Drop telemetry or system events that don’t describe user behavior | ||||||
- Filter out events from certain regions or user groups | ||||||
- Keep events in Connections, but exclude them from Unify | ||||||
|
||||||
Unify Event Filtering works differently from [Destination Filters](/docs/connections/destinations/destination-filters/) in a few important ways: | ||||||
|
||||||
| | Unify Event Filtering | Destination Filters | | ||||||
| ---------------- | ---------------------------------------------------------------- | --------------------------------------- | | ||||||
| Where it applies | Unify space | Individual destinations | | ||||||
| Filter scope | All [sources](/docs/connections/sources/) connected to the space | One source for each destination | | ||||||
| Filter action | Drops entire events | Can drop or modify events and fields | | ||||||
| Setup | Created through API, visible in Unify UI | Created in UI or API | | ||||||
| Timing | Before Identity Resolution | Before events get sent to a destination | | ||||||
|
||||||
This helps simplify your setup and reduce noise in profile data without needing repeaters, webhooks, or custom logic. | ||||||
|
||||||
## How filtering works | ||||||
|
||||||
Unify Event Filtering evaluates every incoming event before it enters your Unify space. If the event matches any of your filters, it gets dropped. | ||||||
|
||||||
Keep the following in mind as you work with Unify Event Filtering: | ||||||
|
||||||
- Filters are configured at the space level. You don’t create filters per source. Instead, one set of filters applies to all sources connected to the space. | ||||||
- The filtering logic is based on [Filter Query Language](/docs/api/public-api/fql/). If you’ve used Destination Filters before, it works the same way. You can write expressions to match events based on type, name, traits, properties, or values. | ||||||
- Matching is inclusive: if an event matches any filter, Segment drops it. | ||||||
- Filtering happens **before** Identity Resolution; dropped events never reach the profile graph and won’t affect trait updates or [computed traits](/docs/unify/traits/computed-traits/). | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
As a result, Unify Event Filtering helps you keep profile data clean from the start, without having to preprocess or transform events outside of Segment. | ||||||
|
||||||
## Creating and managing filters | ||||||
|
||||||
During public beta, you'll use the [Space Filter API](https://docs.segmentapis.com/tag/Space-Filters/){:target="_blank"} to create and manage all Unify event filters. The API lets you define filters using FQL, name them, enable or disable them, and delete them. Each Unify space can have up to 10 filters. Any event that matches one of those filters gets dropped before it reaches Unify. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
After you create a filter through the API, it shows up in your Segment workspace in **Unify > Unify settings > Filters**. From there, you can view existing filters, turn them on or off, rename them, or delete them. However, you can’t edit the filtering logic from within your workspace. If you want to edit filtering logic, you'll need to managed it through the API. | ||||||
|
||||||
The following table compares what you can do with Event Filtering with the API compared your Segment workspace: | ||||||
|
||||||
| Action | Where it happens | | ||||||
| ------------------------- | ------------------- | | ||||||
| Create a filter | API only | | ||||||
| Define filter logic (FQL) | API only | | ||||||
| Enable or disable filters | API or workspace | | ||||||
| Rename a filter | API or workspace | | ||||||
| Delete a filter | API or workspace | | ||||||
| View filters | API or workspace | | ||||||
| Edit filter logic | Replace in API only | | ||||||
|
||||||
> info "Updating filter logic" | ||||||
> To update a filter’s logic, you’ll need to delete the existing filter through the Space Filter API and create a new one with the updated expression. | ||||||
|
||||||
## Best practices | ||||||
|
||||||
Unify Event Filtering is most useful when you want to keep noisy, irrelevant, or duplicate data out of your Unify space. The following table lists best practices to help you get the most value out of filtering: | ||||||
|
||||||
| Tip | Why it matters | | ||||||
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | ||||||
| Filter early | Prevents irrelevant events from affecting profile data or identity resolution. | | ||||||
| Drop obvious noise | Start with telemetry, test data, or internal events. | | ||||||
| Keep it simple | A few targeted filters are easier to manage than multiple, complex filters. | | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
| Think at the space level | Filters apply to all sources. Write conditions accordingly. | | ||||||
| Test before enabling | Use the [preview endpoint](https://docs.segmentapis.com/tag/Destination-Filters#operation/previewDestinationFilter){:target="_blank"} to check filter behavior before turning it on. | | ||||||
|
||||||
|
||||||
Unify Event Filtering gives you an early control point for managing the quality of data entering your space. It helps reduce noise, control costs, and improve the accuracy of profile data before any Identity Resolution takes place. | ||||||
|
||||||
To learn more about how Unify spaces work and how Segment processes events after filtering, see the [Unify documentation](/docs/unify/). |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.