You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/protocols/enforce/schema-configuration.md
+17-6Lines changed: 17 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -41,11 +41,18 @@ For example, if you include a single `subscription_id` property in the `Subscrip
41
41
**IMPORTANT: Unplanned property omission is ONLY supported in cloud-mode Destinations. Unplanned properties will not be omitted when sending to device-mode Destinations.**
42
42
43
43
## Block Track Calls - Common JSON Schema Violations
44
-
To block all `track` calls that generate a common JSON schema violation, go to your **Schema Configuration**, then go to **Advanced Blocking Controls** and choose **Block Event** from the dropdown. Next, you will need to [edit the underlying JSON schema](https://segment.com/docs/protocols/tracking-plan/create/#edit-underlying-json-schema) and add a rule to the Common JSON Schema definition that you know won't exisit in your `track` event and then trigger a `track` event. Any `track` event that generates a common JSON schema violation will be blocked.
45
44
46
-
Setting the dropdown to **Block Event** will ensure that all `track` events with JSON schema violations (for example, missing required properties, incorrect property value data types, or invalid regex patterns) will be blocked. A less aggressive option is to select Omit from the dropdown which will simply remove the offending property from the event.
> Events with invalid properties are not blocked from device-mode destinations.
47
47
48
-
This is an advanced feature that requires extensive testing and a squeaky clean data set + tracking plan to enable. To get a sense of which events will be blocked, or properties omitted, go to the Violations view for a source and note all events with a violation. For example, if you added a `subscription_id` required property to your `Subscription Cancelled` event in your Tracking Plan, the below track call would be blocked by Protocols, or property omitted, depending on your setting.
48
+
To block all Track calls that generate a common JSON schema violation:
49
+
1. In your Segment workspace, go to **Schema Configuration**, then click **Advanced Blocking Controls** and select **Block Event** from the dropdown.
50
+
2.[Edit the underlying JSON schema](/docs/protocols/tracking-plan/create/#edit-underlying-json-schema) and add a rule to the Common JSON Schema definition that you know won't exist in your Track event.
51
+
3. Trigger a Track event. Any Track event that generates a common JSON schema violation will be blocked.
52
+
53
+
Setting the dropdown to **Block Event** ensures that all Track events with JSON schema violations (for example, missing required properties, incorrect property value data types, or invalid regex patterns) are blocked. A less aggressive option is to select **Omit** from the dropdown which removes the offending property from the events.
54
+
55
+
This is an advanced feature that requires extensive testing and a squeaky clean data set/Tracking Plan to enable. To get a sense of which events will be blocked, or properties omitted, go to the Violations view for a source and note all events with a violation. For example, if you added a `subscription_id` required property to your `Subscription Cancelled` event in your Tracking Plan, the below track call would be either blocked by Protocols, or the property would be omitted, depending on your settings.
@@ -63,8 +70,12 @@ Setting this dropdown to Omit Traits will ensure that traits not defined in your
63
70
**IMPORTANT: Unplanned identify trait blocking is ONLY supported in cloud-mode Destinations. Events with invalid traits will not be blocked from sending to device-mode Destinations.**
64
71
65
72
## Block Identify Calls - Common JSON Schema Violations
66
-
To block all `identify` calls that generate a common JSON schema violation, go to your **Schema Configuration**, then go to **Advanced Blocking Controls** and choose **Block Event** from the dropdown. Next, you will need to [edit the underlying JSON schema](https://segment.com/docs/protocols/tracking-plan/create/#edit-underlying-json-schema) and add a rule to the Common JSON Schema definition that you know won't exisit in your `identify` event and then trigger an `identify` event. Any `identify` event that generates a common JSON schema violation will be blocked.
67
73
68
-
Setting the dropdown to **Block Event** will ensure that all `identify` events with JSON schema violations (for example, missing required traits, incorrect property value data types, or invalid regex patterns) will be blocked. A less aggressive option is to select Omit from the dropdown which will simply remove the offending property from the event.
> Events with invalid properties are not blocked from device-mode destinations.
69
76
70
-
**IMPORTANT: JSON schema violation event blocking is ONLY supported in cloud-mode Destinations. Events with invalid properties will not be blocked from sending to device-mode Destinations.**
77
+
To block all Identify calls that generate a common JSON schema violation:
78
+
1. In your Segment workspace, go to **Schema Configuration**, then click **Advanced Blocking Controls** and select **Block Event** from the dropdown.
79
+
2.[Edit the underlying JSON schema](/docs/protocols/tracking-plan/create/#edit-underlying-json-schema) and add a rule to the Common JSON Schema definition that you know won't exist in your Identify event.
80
+
3. Trigger an Identify event. Any Identify event that generates a common JSON schema violation will be blocked.
81
+
Setting the dropdown to **Block Event** will ensure that all Identify events with JSON schema violations (for example, missing required traits, incorrect property value data types, or invalid regex patterns) will be blocked. A less aggressive option is to select **Omit** from the dropdown which will simply remove the offending property from the event.
0 commit comments