From 9c7ebc3540c0cae0167e180027100e9156d2df7e Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 6 May 2025 22:26:18 -0500 Subject: [PATCH 01/16] init plus overview --- src/unify/unify-event-filtering.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/unify/unify-event-filtering.md diff --git a/src/unify/unify-event-filtering.md b/src/unify/unify-event-filtering.md new file mode 100644 index 0000000000..12b1d761a8 --- /dev/null +++ b/src/unify/unify-event-filtering.md @@ -0,0 +1,17 @@ +--- +title: Unify Event Filtering +plan: unify +--- + +Unify Event Filtering lets you control which events reach your Unify space. + +## Overview + +With Unify Event Filtering, you can use block events that aren’t useful for 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 + From 90eba2ae70df1c50d7b9ae64589cd6d5aa69be60 Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 6 May 2025 22:29:21 -0500 Subject: [PATCH 02/16] add table explaining differences --- src/unify/unify-event-filtering.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/unify/unify-event-filtering.md b/src/unify/unify-event-filtering.md index 12b1d761a8..c1c01554a2 100644 --- a/src/unify/unify-event-filtering.md +++ b/src/unify/unify-event-filtering.md @@ -15,3 +15,12 @@ Event Filtering is useful when you’re sending a lot of different event types i - 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 in a few important ways: + +| | Unify Event Filtering | Destination Filters | +| ---------------- | ---------------------------------------- | --------------------------------------- | +| Where it applies | Unify space | Individual destinations | +| Filter scope | All 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 | From 185af949aa9f06ab193b1ea5168bb26d1a261da6 Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 6 May 2025 22:36:55 -0500 Subject: [PATCH 03/16] Add section explaining filtering --- src/unify/unify-event-filtering.md | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/unify/unify-event-filtering.md b/src/unify/unify-event-filtering.md index c1c01554a2..1e3cebc63d 100644 --- a/src/unify/unify-event-filtering.md +++ b/src/unify/unify-event-filtering.md @@ -7,7 +7,7 @@ Unify Event Filtering lets you control which events reach your Unify space. ## Overview -With Unify Event Filtering, you can use block events that aren’t useful for identity resolution or downstream activation, keeping your space cleaner and more efficient. +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: @@ -15,7 +15,7 @@ Event Filtering is useful when you’re sending a lot of different event types i - 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 in a few important ways: +Unify Event Filtering works differently from [Destination Filters](/docs/connections/destinations/destination-filters/) in a few important ways: | | Unify Event Filtering | Destination Filters | | ---------------- | ---------------------------------------- | --------------------------------------- | @@ -24,3 +24,18 @@ Unify Event Filtering works differently from Destination Filters in a few import | 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/). + +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. \ No newline at end of file From c49556000248ee3ee3a6d702e7a0f16acbda9940 Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 6 May 2025 22:37:32 -0500 Subject: [PATCH 04/16] add rest of structure --- src/unify/unify-event-filtering.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/unify/unify-event-filtering.md b/src/unify/unify-event-filtering.md index 1e3cebc63d..df23552cfa 100644 --- a/src/unify/unify-event-filtering.md +++ b/src/unify/unify-event-filtering.md @@ -38,4 +38,8 @@ Keep the following in mind as you work with Unify Event Filtering: - 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/). -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. \ No newline at end of file +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 + +## Best practices \ No newline at end of file From ddfcc4ae433d10a1afba8c9c660538f5cfe69469 Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 6 May 2025 23:05:10 -0500 Subject: [PATCH 05/16] add comparison table --- src/unify/unify-event-filtering.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/unify/unify-event-filtering.md b/src/unify/unify-event-filtering.md index df23552cfa..d1c8d7f92f 100644 --- a/src/unify/unify-event-filtering.md +++ b/src/unify/unify-event-filtering.md @@ -42,4 +42,25 @@ As a result, Unify Event Filtering helps you keep profile data clean from the st ## Creating and managing filters +During public beta, managing filters requires a mix of API and Segment UI actions. You'll define and create filters using the Space Filter API, then manage their status and visibility in the Segment app. + +To create a filter, use the Space Filter API to write a filtering rule using FQL. The API lets you name the filter, enable or disable it, and delete it. You can create up to 10 filters per space, and any event that matches a filter gets dropped before it reaches Unify. + +After you create a filter, 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 Segment. 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 | Workspace only | +| 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 \ No newline at end of file From c6fd8443092f1125357a1d112580d9adf5e32b5a Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 6 May 2025 23:09:36 -0500 Subject: [PATCH 06/16] let's wrap it up --- src/unify/unify-event-filtering.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/unify/unify-event-filtering.md b/src/unify/unify-event-filtering.md index d1c8d7f92f..376037a275 100644 --- a/src/unify/unify-event-filtering.md +++ b/src/unify/unify-event-filtering.md @@ -63,4 +63,19 @@ The following table compares what you can do with Event Filtering with the API c > 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 \ No newline at end of file +## 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 | Keeps profiles clean and reduces unnecessary MTU usage. | +| 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. | +| 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) 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/). \ No newline at end of file From 0c464153a5302090dd7045a63d723ee938f7e28f Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 6 May 2025 23:12:01 -0500 Subject: [PATCH 07/16] more links --- src/unify/unify-event-filtering.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/unify/unify-event-filtering.md b/src/unify/unify-event-filtering.md index 376037a275..dd1ea15062 100644 --- a/src/unify/unify-event-filtering.md +++ b/src/unify/unify-event-filtering.md @@ -17,13 +17,13 @@ Event Filtering is useful when you’re sending a lot of different event types i 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 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 | +| | 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. @@ -42,7 +42,7 @@ As a result, Unify Event Filtering helps you keep profile data clean from the st ## Creating and managing filters -During public beta, managing filters requires a mix of API and Segment UI actions. You'll define and create filters using the Space Filter API, then manage their status and visibility in the Segment app. +During public beta, managing filters requires a mix of API and Segment UI actions. You'll define and create filters using the [Space Filter API](https://docs.segmentapis.com/tag/Space-Filters/){:target="_blank"}, then manage their status and visibility in the Segment app. To create a filter, use the Space Filter API to write a filtering rule using FQL. The API lets you name the filter, enable or disable it, and delete it. You can create up to 10 filters per space, and any event that matches a filter gets dropped before it reaches Unify. @@ -73,7 +73,7 @@ Unify Event Filtering is most useful when you want to keep noisy, irrelevant, or | 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. | | 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) to check filter behavior before turning it on. | +| 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. From 5f22905146b18aabd5c09c988b41b0dabf615b58 Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 6 May 2025 23:13:15 -0500 Subject: [PATCH 08/16] add beta callout [netlify-build] --- src/unify/unify-event-filtering.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/unify/unify-event-filtering.md b/src/unify/unify-event-filtering.md index dd1ea15062..8383f66773 100644 --- a/src/unify/unify-event-filtering.md +++ b/src/unify/unify-event-filtering.md @@ -5,6 +5,9 @@ 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. From 1fb767e03d1669494d0fd84304f7bdc71781a34c Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 6 May 2025 23:35:38 -0500 Subject: [PATCH 09/16] rename file --- src/unify/{unify-event-filtering.md => event-filtering.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/unify/{unify-event-filtering.md => event-filtering.md} (100%) diff --git a/src/unify/unify-event-filtering.md b/src/unify/event-filtering.md similarity index 100% rename from src/unify/unify-event-filtering.md rename to src/unify/event-filtering.md From aa150074732e8ddfc00577abe347fef81c93a207 Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 6 May 2025 23:36:47 -0500 Subject: [PATCH 10/16] capitalize Identity Resolution [netlify-build] --- src/unify/unify-event-filtering.md | 84 ++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 src/unify/unify-event-filtering.md diff --git a/src/unify/unify-event-filtering.md b/src/unify/unify-event-filtering.md new file mode 100644 index 0000000000..681bd41d98 --- /dev/null +++ b/src/unify/unify-event-filtering.md @@ -0,0 +1,84 @@ +--- +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/). + +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, managing filters requires a mix of API and Segment UI actions. You'll define and create filters using the [Space Filter API](https://docs.segmentapis.com/tag/Space-Filters/){:target="_blank"}, then manage their status and visibility in the Segment app. + +To create a filter, use the Space Filter API to write a filtering rule using FQL. The API lets you name the filter, enable or disable it, and delete it. You can create up to 10 filters per space, and any event that matches a filter gets dropped before it reaches Unify. + +After you create a filter, 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 Segment. 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 | Workspace only | +| 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 | Keeps profiles clean and reduces unnecessary MTU usage. | +| 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. | +| 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/). \ No newline at end of file From e7caa79c4bf6776e025a41ccbdef06ad36268647 Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 6 May 2025 23:52:00 -0500 Subject: [PATCH 11/16] delete wrong file [netlify-build] --- src/unify/event-filtering.md | 8 +-- src/unify/unify-event-filtering.md | 84 ------------------------------ 2 files changed, 4 insertions(+), 88 deletions(-) delete mode 100644 src/unify/unify-event-filtering.md diff --git a/src/unify/event-filtering.md b/src/unify/event-filtering.md index 8383f66773..681bd41d98 100644 --- a/src/unify/event-filtering.md +++ b/src/unify/event-filtering.md @@ -10,7 +10,7 @@ Unify Event Filtering lets you control which events reach your Unify space. ## 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. +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: @@ -26,7 +26,7 @@ Unify Event Filtering works differently from [Destination Filters](/docs/connect | 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 | +| 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. @@ -39,7 +39,7 @@ 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/). +- 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/). 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. @@ -79,6 +79,6 @@ Unify Event Filtering is most useful when you want to keep noisy, irrelevant, or | 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. +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/). \ No newline at end of file diff --git a/src/unify/unify-event-filtering.md b/src/unify/unify-event-filtering.md deleted file mode 100644 index 681bd41d98..0000000000 --- a/src/unify/unify-event-filtering.md +++ /dev/null @@ -1,84 +0,0 @@ ---- -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/). - -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, managing filters requires a mix of API and Segment UI actions. You'll define and create filters using the [Space Filter API](https://docs.segmentapis.com/tag/Space-Filters/){:target="_blank"}, then manage their status and visibility in the Segment app. - -To create a filter, use the Space Filter API to write a filtering rule using FQL. The API lets you name the filter, enable or disable it, and delete it. You can create up to 10 filters per space, and any event that matches a filter gets dropped before it reaches Unify. - -After you create a filter, 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 Segment. 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 | Workspace only | -| 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 | Keeps profiles clean and reduces unnecessary MTU usage. | -| 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. | -| 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/). \ No newline at end of file From 4f0cd36175814a757cacd3131f0a458079589007 Mon Sep 17 00:00:00 2001 From: pwseg Date: Thu, 8 May 2025 00:07:44 -0500 Subject: [PATCH 12/16] updates after PM feedback [netlify-build] --- src/unify/event-filtering.md | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/unify/event-filtering.md b/src/unify/event-filtering.md index 681bd41d98..62bb6043a2 100644 --- a/src/unify/event-filtering.md +++ b/src/unify/event-filtering.md @@ -45,11 +45,9 @@ As a result, Unify Event Filtering helps you keep profile data clean from the st ## Creating and managing filters -During public beta, managing filters requires a mix of API and Segment UI actions. You'll define and create filters using the [Space Filter API](https://docs.segmentapis.com/tag/Space-Filters/){:target="_blank"}, then manage their status and visibility in the Segment app. +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. -To create a filter, use the Space Filter API to write a filtering rule using FQL. The API lets you name the filter, enable or disable it, and delete it. You can create up to 10 filters per space, and any event that matches a filter gets dropped before it reaches Unify. - -After you create a filter, 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 Segment. If you want to edit filtering logic, you'll need to managed it through the API. +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: @@ -60,7 +58,7 @@ The following table compares what you can do with Event Filtering with the API c | Enable or disable filters | API or workspace | | Rename a filter | API or workspace | | Delete a filter | API or workspace | -| View filters | Workspace only | +| View filters | API or workspace | | Edit filter logic | Replace in API only | > info "Updating filter logic" @@ -70,12 +68,12 @@ The following table compares what you can do with Event Filtering with the API c 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 | Keeps profiles clean and reduces unnecessary MTU usage. | -| 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. | -| Think at the space level | Filters apply to all sources. Write conditions accordingly. | +| 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. | +| 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. | From 3aef337230dad0ded2c3700bf7492d91c6a54e9a Mon Sep 17 00:00:00 2001 From: pwseg <86626706+pwseg@users.noreply.github.com> Date: Thu, 8 May 2025 15:53:15 -0500 Subject: [PATCH 13/16] Update src/unify/event-filtering.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- src/unify/event-filtering.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/unify/event-filtering.md b/src/unify/event-filtering.md index 62bb6043a2..a1be619d3b 100644 --- a/src/unify/event-filtering.md +++ b/src/unify/event-filtering.md @@ -10,7 +10,7 @@ Unify Event Filtering lets you control which events reach your Unify space. ## 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. +With Unify Event Filtering, you can use block events that aren’t useful for [Identity Resolution](/docs/unify/identity-resolution/) or downstream activation, which keeps 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: From e51777338d0772373a9ea6c5655cbf153137b2ca Mon Sep 17 00:00:00 2001 From: pwseg <86626706+pwseg@users.noreply.github.com> Date: Thu, 8 May 2025 15:53:26 -0500 Subject: [PATCH 14/16] Update src/unify/event-filtering.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- src/unify/event-filtering.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/unify/event-filtering.md b/src/unify/event-filtering.md index a1be619d3b..754c6c57bf 100644 --- a/src/unify/event-filtering.md +++ b/src/unify/event-filtering.md @@ -39,7 +39,7 @@ 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/). +- 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/). 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. From 18bea726dac60d9cd810989167e03f0584b13148 Mon Sep 17 00:00:00 2001 From: pwseg <86626706+pwseg@users.noreply.github.com> Date: Thu, 8 May 2025 15:53:36 -0500 Subject: [PATCH 15/16] Update src/unify/event-filtering.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- src/unify/event-filtering.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/unify/event-filtering.md b/src/unify/event-filtering.md index 754c6c57bf..39ac183254 100644 --- a/src/unify/event-filtering.md +++ b/src/unify/event-filtering.md @@ -45,7 +45,7 @@ As a result, Unify Event Filtering helps you keep profile data clean from the st ## 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. +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 1 of those filters gets dropped before it reaches Unify. 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. From 218b0b09adec386846784a957801d729eb815a91 Mon Sep 17 00:00:00 2001 From: pwseg <86626706+pwseg@users.noreply.github.com> Date: Thu, 8 May 2025 15:53:47 -0500 Subject: [PATCH 16/16] Update src/unify/event-filtering.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- src/unify/event-filtering.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/unify/event-filtering.md b/src/unify/event-filtering.md index 39ac183254..c4e8dc3088 100644 --- a/src/unify/event-filtering.md +++ b/src/unify/event-filtering.md @@ -72,7 +72,7 @@ Unify Event Filtering is most useful when you want to keep noisy, irrelevant, or | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | 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. | +| Keep it simple | A few targeted filters are easier to manage than multiple complex filters. | | 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. |