Skip to content

Commit 86fc66c

Browse files
committed
Multiple Only Send Filters
1 parent f57e6c2 commit 86fc66c

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

src/connections/destinations/destination-filters.md

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Keep the following limitations in mind when you use Destination Filters:
2525
- You can't apply Destination Filters to Warehouses or S3 destinations.
2626
- Each filter can only apply to one source-destination pair.
2727

28-
[Contact Segment](https://segment.com/help/contact/) if these limitations impact your use case.
28+
[Contact Segment](https://segment.com/help/contact/){:target="_blank"} if these limitations impact your use case.
2929

3030
## Create a Destination Filter
3131

@@ -53,7 +53,7 @@ The Destination Filters API offers four different filter types:
5353
| `whitelist_fields` | Only send whitelisted properties to the destination. |
5454
| `blocklist_fields` | Don't send blocklisted properties to the destination. |
5555

56-
To learn more, read Segment's [Destination Filters API docs](https://reference.segmentapis.com/#6c12fbe8-9f84-4a6c-848e-76a2325cb3c5).
56+
To learn more, read Segment's [Destination Filters API docs](https://reference.segmentapis.com/#6c12fbe8-9f84-4a6c-848e-76a2325cb3c5){:target="_blank"}.
5757

5858
## Examples
5959

@@ -66,37 +66,37 @@ Example: Remove email addresses from `context` and `properties`:
6666
Property-level allowlisting is available with Segment's API. Using Destination Filters, you can configure a rule that removes email addresses from `context` and `properties`. As a result, Segment only sends traits without PII to the destination.
6767

6868

69-
![](images/destination-filters/pii_example.png)
69+
![PII management example](images/destination-filters/pii_example.png)
7070

7171
### Control Event Volume
7272

7373
This example shows a filter that controls event volume by only sending `User Signed Up` and `Demo Requested` events.
7474

75-
![](images/destination-filters/drop_example.png)
75+
![Example of a filter that controls event volume](images/destination-filters/drop_example.png)
7676

7777
### Cleaner Data
7878

7979
This example shows a rule that only sends track calls to Google Analytics.
8080

81-
![](images/destination-filters/clean_example.png)
81+
![Example of a filter that only sends track calls to Google Analytics](images/destination-filters/clean_example.png)
8282

8383
### Remove Internal and Test Events From Production Tools
8484

8585
This rule targets email addresses with internal domains to stop test events from reaching Destinations.
8686

87-
![](images/destination-filters/internal_example.png)
87+
![Example of a filter that removes internal and test events from production tools](images/destination-filters/internal_example.png)
8888

8989
This rule prevents an event from sending if `Order Completed` and `properties.email` contain an internal `@segment.com` email address.
9090

91-
![](images/destination-filters/internal_example2.png)
91+
![Internal domain filter example](images/destination-filters/internal_example2.png)
9292

9393
### Sample a Percentage of Events
9494

95-
Using the [Destination Filters API](https://reference.segmentapis.com/#6c12fbe8-9f84-4a6c-848e-76a2325cb3c5), you can create a rule to randomly sample video heartbeat events.
95+
Using the [Destination Filters API](https://reference.segmentapis.com/#6c12fbe8-9f84-4a6c-848e-76a2325cb3c5){:target="_blank"}, you can create a rule to randomly sample video heartbeat events.
9696

9797
### Drop Events
9898

99-
[Watch this Destination Filters walkthrough](https://www.youtube.com/watch?v=47dhAF1Hoco) to learn how to use event names to filter events sent to destinations.
99+
[Watch this Destination Filters walkthrough](https://www.youtube.com/watch?v=47dhAF1Hoco){:target="_blank"} to learn how to use event names to filter events sent to destinations.
100100

101101
## Important Notes
102102

@@ -108,27 +108,31 @@ In the example in the video above, if you have a Destination Filter that filters
108108

109109
**Error handling**
110110

111-
Segment makes effort to ensure that destination filters handle unexpected situations. For example, if you use the `contains()` FQL function on `null` field, Segment returns `false` instead of returning an error. If Segment can't infer your intent, Segment logs an internal error and drops the event. Segment defaults to this behavior to prevent sensitive information, like a PII filter, from getting through.
111+
Segment makes effort to ensure that Destination Filters handle unexpected situations. For example, if you use the `contains()` FQL function on `null` field, Segment returns `false` instead of returning an error. If Segment can't infer your intent, Segment logs an internal error and drops the event. Segment defaults to this behavior to prevent sensitive information, like a PII filter, from getting through.
112112

113-
Errors aren't exposed in your Destination's Event Deliverability tab. For help diagnosing missing destination filter events, [contact Segment](https://segment.com/help/contact/).
113+
Errors aren't exposed in your Destination's Event Deliverability tab. For help diagnosing missing destination filter events, [contact Segment](https://segment.com/help/contact/){:target="_blank"}.
114114

115115
## FAQ
116116

117117
**How do Destination Filters work with array properties?**
118118

119-
Destination filters can filter properties out of objects nested in an array. For example, you can filter out the `price` property of every object in an array at `properties.products`. You can also filter out an entire array from the payload. However, you can't drop nested objects in an array or filter properties out of a single object in an array.
119+
Destination Filters can filter properties out of objects nested in an array. For example, you can filter out the `price` property of every object in an array at `properties.products`. You can also filter out an entire array from the payload. However, you can't drop nested objects in an array or filter properties out of a single object in an array.
120120

121121
To block a specific property from all of the objects within a properties array, set the filter using the following the format: `<propertyType>.<arrayName>.<arrayElementLabel>​`.
122122

123123
For example, the `properties.products.newElement` filter blocks all `newElement` property fields from each `products` object of an array within the `properties` object of a Track event.
124124

125-
![](images/destination-filters/filter-array-properties.png)
125+
![Filter array properties](images/destination-filters/filter-array-properties.png)
126126

127127
To block the Identify event trait `products.newElement`, select the option under the **User Traits** list instead. To block a context object field `products.newElement`, select it from the **Context Fields** list.
128128

129129
**How many filters can I create?**
130130

131-
Segment supports 10 filters per destination. If you need help consolidating filters or would like to discuss your use case, [contact Segment](https://segment.com/help/contact/).
131+
Segment supports 10 filters per destination. If you need help consolidating filters or would like to discuss your use case, [contact Segment](https://segment.com/help/contact/){:target="_blank"}.
132+
133+
**Can I set multiple `Only Send` Destination Filters?**
134+
135+
Segment evaluates multiple `Only Send` filters against each other and resolves Destination Filters in order. If multiple `Only Send` filters conflict with each other, Segment won't send information downstream.
132136

133137
**How many properties can I view in the filter dropdown?**
134138

0 commit comments

Comments
 (0)