From 107655450f5388fc38a640ad66017eb52f5988d6 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Wed, 8 Mar 2023 20:00:32 -0500 Subject: [PATCH 01/10] vale fixes --- src/protocols/enforce/schema-configuration.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/protocols/enforce/schema-configuration.md b/src/protocols/enforce/schema-configuration.md index 84a3bfac03..acf29e214c 100644 --- a/src/protocols/enforce/schema-configuration.md +++ b/src/protocols/enforce/schema-configuration.md @@ -11,7 +11,7 @@ To enable blocking, go to the **Settings** tab for your source, and click on **S **IMPORTANT: It's critical that you feel confident about the quality of your data before you enable blocking. This is a serious step that you should only do after you have resolved any violations that appear when you first connect a Tracking Plan to a Source.** -![](../images/event_blocking.png) +![A screenshot showing the Unplanned Events, Properties and Values table on the Schema Configuration settings page.](../images/event_blocking.png) > success "" > You can [export your Source Schema](/docs/connections/destination-data-control/#export-your-source-schema) as a CSV file to quickly audit events from your Tracking Plan. @@ -40,7 +40,7 @@ For example, if you include a single `subscription_id` property in the `Subscrip **IMPORTANT: Unplanned property omission is ONLY supported in cloud-mode Destinations. Unplanned properties will not be omitted when sending to device-mode Destinations.** ## Track Calls - JSON Schema Violations -Setting this dropdown to Block Event will ensure that all events with JSON schema violations (i.e. 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. +Setting this dropdown to Block Event will ensure that all 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. 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. From a818ed07fbc45962a9d1a5034dca92d1cb9bc89b Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 14 Mar 2023 18:19:40 -0400 Subject: [PATCH 02/10] Clarifying the admonition --- src/protocols/enforce/schema-configuration.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/protocols/enforce/schema-configuration.md b/src/protocols/enforce/schema-configuration.md index acf29e214c..0656e5b33e 100644 --- a/src/protocols/enforce/schema-configuration.md +++ b/src/protocols/enforce/schema-configuration.md @@ -7,9 +7,10 @@ redirect_from: '/protocols/enforce/' The Schema Configuration settings for each source can be used to selectively block events, or omit properties and traits from `.track()`, `.identify()` and `.group()` calls. Segment can permanently drop events that are not included in your Tracking Plan, depending on the settings you select. Segment can also block events with invalid properties or invalid property values. -To enable blocking, go to the **Settings** tab for your source, and click on **Schema Controls**. See below for detailed descriptions for each of the configuration settings. +> warning "Blocked events not forwarded to a source are discarded" +> Blocking is a serious step that you should only do after you have resolved any violations that appear when you first connect a Tracking Plan to a Source. Any blocked events that are not forwarded to a separate source are permanently discarded and cannot be recovered. -**IMPORTANT: It's critical that you feel confident about the quality of your data before you enable blocking. This is a serious step that you should only do after you have resolved any violations that appear when you first connect a Tracking Plan to a Source.** +To enable blocking, go to the **Settings** tab for your source, and click on **Schema Controls**. See below for detailed descriptions for each of the configuration settings. ![A screenshot showing the Unplanned Events, Properties and Values table on the Schema Configuration settings page.](../images/event_blocking.png) From f8eadf57660d6dd327cfbf6803521683b7f28de5 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Wed, 15 Mar 2023 05:30:50 -0400 Subject: [PATCH 03/10] adding link to admonition --- src/protocols/enforce/schema-configuration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/protocols/enforce/schema-configuration.md b/src/protocols/enforce/schema-configuration.md index 0656e5b33e..e0d53b2493 100644 --- a/src/protocols/enforce/schema-configuration.md +++ b/src/protocols/enforce/schema-configuration.md @@ -8,7 +8,7 @@ redirect_from: '/protocols/enforce/' The Schema Configuration settings for each source can be used to selectively block events, or omit properties and traits from `.track()`, `.identify()` and `.group()` calls. Segment can permanently drop events that are not included in your Tracking Plan, depending on the settings you select. Segment can also block events with invalid properties or invalid property values. > warning "Blocked events not forwarded to a source are discarded" -> Blocking is a serious step that you should only do after you have resolved any violations that appear when you first connect a Tracking Plan to a Source. Any blocked events that are not forwarded to a separate source are permanently discarded and cannot be recovered. +> Blocking is a serious step that you should only do after you have resolved any violations that appear when you first connect a Tracking Plan to a Source. Any blocked events that are not [forwarded to a separate source](/docs/protocols/enforce/forward-blocked-events) are permanently discarded and cannot be recovered. To enable blocking, go to the **Settings** tab for your source, and click on **Schema Controls**. See below for detailed descriptions for each of the configuration settings. From deeca25c188e2c41dcaf99c2973e01f73d675f45 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Wed, 15 Mar 2023 13:37:18 -0400 Subject: [PATCH 04/10] Alt text, adding note links to faq --- src/protocols/enforce/forward-blocked-events.md | 2 +- src/protocols/enforce/schema-configuration.md | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/protocols/enforce/forward-blocked-events.md b/src/protocols/enforce/forward-blocked-events.md index fcb57cde60..7ea4892788 100644 --- a/src/protocols/enforce/forward-blocked-events.md +++ b/src/protocols/enforce/forward-blocked-events.md @@ -10,7 +10,7 @@ Select the source you'll forward events to from the Blocked Events and Traits dr Since forwarding happens server to server, Segment recommends creating a [HTTP Tracking API source](/docs/connections/sources/catalog/libraries/server/http-api/), though any server-side source will work. -![](../images/blocked_event_forwarding.png) +![A screenshot of the blocked events and traits section on the Schema Configuration settings page](../images/blocked_event_forwarding.png) > note "" > Only blocked events are forwarded to the source. Events with omitted traits are not forwarded. Instead, Segment inserts a `context.protocols` object into the event payload which contains the omitted properties or traits. diff --git a/src/protocols/enforce/schema-configuration.md b/src/protocols/enforce/schema-configuration.md index e0d53b2493..99df09f3b7 100644 --- a/src/protocols/enforce/schema-configuration.md +++ b/src/protocols/enforce/schema-configuration.md @@ -8,9 +8,10 @@ redirect_from: '/protocols/enforce/' The Schema Configuration settings for each source can be used to selectively block events, or omit properties and traits from `.track()`, `.identify()` and `.group()` calls. Segment can permanently drop events that are not included in your Tracking Plan, depending on the settings you select. Segment can also block events with invalid properties or invalid property values. > warning "Blocked events not forwarded to a source are discarded" -> Blocking is a serious step that you should only do after you have resolved any violations that appear when you first connect a Tracking Plan to a Source. Any blocked events that are not [forwarded to a separate source](/docs/protocols/enforce/forward-blocked-events) are permanently discarded and cannot be recovered. +> Blocking is a serious step that you should only do after you have resolved any violations that appear when you first connect a Tracking Plan to a Source. Any blocked events that are not [forwarded to a separate source](/docs/protocols/enforce/forward-blocked-events) are permanently discarded and cannot be recovered. +> For more information about Tracking Plan versioning and blocking, see the [Protocols FAQ](/docs/protocols/faq/#protocols-tracking-plan). -To enable blocking, go to the **Settings** tab for your source, and click on **Schema Controls**. See below for detailed descriptions for each of the configuration settings. +To enable blocking, go to the **Settings** tab for your source, and click on **Schema Configuration**. See below for detailed descriptions for each of the configuration settings. ![A screenshot showing the Unplanned Events, Properties and Values table on the Schema Configuration settings page.](../images/event_blocking.png) From d7082948474805abab9a9cd4469295831798614d Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Thu, 16 Mar 2023 12:09:14 -0400 Subject: [PATCH 05/10] add q to faq, link to faq --- src/protocols/enforce/schema-configuration.md | 3 ++- src/protocols/faq.md | 8 +++++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/protocols/enforce/schema-configuration.md b/src/protocols/enforce/schema-configuration.md index 99df09f3b7..9ac7f0e9ff 100644 --- a/src/protocols/enforce/schema-configuration.md +++ b/src/protocols/enforce/schema-configuration.md @@ -8,7 +8,8 @@ redirect_from: '/protocols/enforce/' The Schema Configuration settings for each source can be used to selectively block events, or omit properties and traits from `.track()`, `.identify()` and `.group()` calls. Segment can permanently drop events that are not included in your Tracking Plan, depending on the settings you select. Segment can also block events with invalid properties or invalid property values. > warning "Blocked events not forwarded to a source are discarded" -> Blocking is a serious step that you should only do after you have resolved any violations that appear when you first connect a Tracking Plan to a Source. Any blocked events that are not [forwarded to a separate source](/docs/protocols/enforce/forward-blocked-events) are permanently discarded and cannot be recovered. +> Blocking is a serious step that you should only do after you have resolved any violations that appear when you first connect a Tracking Plan to a Source. Any blocked events that are not [forwarded to a separate source](/docs/protocols/enforce/forward-blocked-events) are permanently discarded and cannot be recovered. +> > For more information about Tracking Plan versioning and blocking, see the [Protocols FAQ](/docs/protocols/faq/#protocols-tracking-plan). To enable blocking, go to the **Settings** tab for your source, and click on **Schema Configuration**. See below for detailed descriptions for each of the configuration settings. diff --git a/src/protocols/faq.md b/src/protocols/faq.md index 671f55786b..5cfbbb3237 100644 --- a/src/protocols/faq.md +++ b/src/protocols/faq.md @@ -40,7 +40,7 @@ The Tracking Plan to Source relationship is a one-to-many relationship. This mea ### Can I duplicate a Tracking Plan in the Segment UI? -You can duplicate Tracking Plans in the Segment web app by following the [instructions to copy a tracking plan](/docs/protocols/tracking-plan/create/#copy-a-tracking-plan). You can also use the [Tracking Plan API](/docs/protocols/apis-and-extensions/) to copy the underlying JSON schema from one Tracking Plan to another. +You can duplicate Tracking Plans in the Segment web app by following the [instructions to copy a tracking plan](/docs/protocols/tracking-plan/create/#copy-a-tracking-plan). You can also use the [Public API](/docs/protocols/apis-and-extensions/) to copy the underlying JSON schema from one Tracking Plan to another. ### How do I handle versioning with mobile apps? @@ -66,6 +66,12 @@ Yes. [Tracking Plan Libraries](/docs/protocols/tracking-plan/libraries/) makes i No. Unfortunately it's not yet possible to automatically transfer events from a Tracking Plan to Libraries. To import events into a new event library, import them directly from a source. +### Can I transfer Tracking Plans between a production and staging environments? + +Yes. Using the [Public API](/docs/protocols/apis-and-extensions/), you can copy the underlying JSON schema from a Tracking Plan in one workspace to another. Any blocked events in the original Tracking Plan + + + ## Protocols Validation ### What is the difference between Violations Emails and the Violations page in the Segment UI? From 6f064c6edf7a8a99b3d5352001756b9f7884eb7f Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Thu, 16 Mar 2023 15:15:55 -0400 Subject: [PATCH 06/10] sp --- src/protocols/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/protocols/faq.md b/src/protocols/faq.md index 5cfbbb3237..f466f33b41 100644 --- a/src/protocols/faq.md +++ b/src/protocols/faq.md @@ -66,7 +66,7 @@ Yes. [Tracking Plan Libraries](/docs/protocols/tracking-plan/libraries/) makes i No. Unfortunately it's not yet possible to automatically transfer events from a Tracking Plan to Libraries. To import events into a new event library, import them directly from a source. -### Can I transfer Tracking Plans between a production and staging environments? +### Can I transfer Tracking Plans between production and staging environments? Yes. Using the [Public API](/docs/protocols/apis-and-extensions/), you can copy the underlying JSON schema from a Tracking Plan in one workspace to another. Any blocked events in the original Tracking Plan From 6e173b1de2821ec150ca8dcdb4329309c946e5fa Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Thu, 16 Mar 2023 19:57:57 -0400 Subject: [PATCH 07/10] added A to Q&A, content edits --- src/protocols/enforce/schema-configuration.md | 8 ++++---- src/protocols/faq.md | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/protocols/enforce/schema-configuration.md b/src/protocols/enforce/schema-configuration.md index 9ac7f0e9ff..1e8a8d10c0 100644 --- a/src/protocols/enforce/schema-configuration.md +++ b/src/protocols/enforce/schema-configuration.md @@ -7,12 +7,12 @@ redirect_from: '/protocols/enforce/' The Schema Configuration settings for each source can be used to selectively block events, or omit properties and traits from `.track()`, `.identify()` and `.group()` calls. Segment can permanently drop events that are not included in your Tracking Plan, depending on the settings you select. Segment can also block events with invalid properties or invalid property values. -> warning "Blocked events not forwarded to a source are discarded" -> Blocking is a serious step that you should only do after you have resolved any violations that appear when you first connect a Tracking Plan to a Source. Any blocked events that are not [forwarded to a separate source](/docs/protocols/enforce/forward-blocked-events) are permanently discarded and cannot be recovered. +> warning "Blocked events not forwarded to a Source are discarded" +> Blocking is a serious step that you should only do after you have resolved any violations that appear when you first connect a Tracking Plan to a Source. Any blocked events that are not [forwarded to a separate Source](/docs/protocols/enforce/forward-blocked-events) are permanently discarded and cannot be recovered. > -> For more information about Tracking Plan versioning and blocking, see the [Protocols FAQ](/docs/protocols/faq/#protocols-tracking-plan). +> For more information about Tracking Plan versioning, see the [Protocols FAQ](/docs/protocols/faq/#protocols-tracking-plan). -To enable blocking, go to the **Settings** tab for your source, and click on **Schema Configuration**. See below for detailed descriptions for each of the configuration settings. +To enable blocking, go to the **Settings** tab for your source and click on **Schema Configuration**. See below for detailed descriptions for each of the configuration settings. ![A screenshot showing the Unplanned Events, Properties and Values table on the Schema Configuration settings page.](../images/event_blocking.png) diff --git a/src/protocols/faq.md b/src/protocols/faq.md index f466f33b41..9a34f76e8c 100644 --- a/src/protocols/faq.md +++ b/src/protocols/faq.md @@ -66,11 +66,11 @@ Yes. [Tracking Plan Libraries](/docs/protocols/tracking-plan/libraries/) makes i No. Unfortunately it's not yet possible to automatically transfer events from a Tracking Plan to Libraries. To import events into a new event library, import them directly from a source. -### Can I transfer Tracking Plans between production and staging environments? +### Can I transfer a Tracking Plan between production and staging environments? -Yes. Using the [Public API](/docs/protocols/apis-and-extensions/), you can copy the underlying JSON schema from a Tracking Plan in one workspace to another. Any blocked events in the original Tracking Plan +Yes. Using the [Public API](/docs/protocols/apis-and-extensions/), you can copy a Tracking Plan's JSON schema from one Workspace to another. - +If you set up event blocking for your original tracking plan, you must connect to the same Source and configure identical Schema Controls in your other Workspace so that blocked events behave as expected. ## Protocols Validation From 71a6101312f9b99ea7371ff2b8b2d955c7790647 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Thu, 16 Mar 2023 19:58:59 -0400 Subject: [PATCH 08/10] Update faq.md --- src/protocols/faq.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/protocols/faq.md b/src/protocols/faq.md index 9a34f76e8c..f3cba7ef7c 100644 --- a/src/protocols/faq.md +++ b/src/protocols/faq.md @@ -70,7 +70,7 @@ No. Unfortunately it's not yet possible to automatically transfer events from a Yes. Using the [Public API](/docs/protocols/apis-and-extensions/), you can copy a Tracking Plan's JSON schema from one Workspace to another. -If you set up event blocking for your original tracking plan, you must connect to the same Source and configure identical Schema Controls in your other Workspace so that blocked events behave as expected. +If you set up event blocking alongside your original tracking plan, you must connect to the same Source and configure identical Schema Controls in your other Workspace so that blocked events behave as expected. ## Protocols Validation From ef2021be7ffe6987a5279ef2c654f82115bbd782 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Fri, 17 Mar 2023 16:47:43 -0400 Subject: [PATCH 09/10] fixes --- src/protocols/enforce/schema-configuration.md | 4 +--- src/protocols/faq.md | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/protocols/enforce/schema-configuration.md b/src/protocols/enforce/schema-configuration.md index 1e8a8d10c0..60b5dc3bb3 100644 --- a/src/protocols/enforce/schema-configuration.md +++ b/src/protocols/enforce/schema-configuration.md @@ -5,12 +5,10 @@ redirect_from: '/protocols/enforce/' {% include content/plan-grid.md name="protocols" %} -The Schema Configuration settings for each source can be used to selectively block events, or omit properties and traits from `.track()`, `.identify()` and `.group()` calls. Segment can permanently drop events that are not included in your Tracking Plan, depending on the settings you select. Segment can also block events with invalid properties or invalid property values. +The Schema Configuration settings for each source can be used to selectively block events, or omit properties and traits from `.track()`, `.identify()` and `.group()` calls. Segment can permanently drop events that are not included in your Tracking Plan, depending on the settings you select. Segment can also block events with invalid properties or invalid property values. > warning "Blocked events not forwarded to a Source are discarded" > Blocking is a serious step that you should only do after you have resolved any violations that appear when you first connect a Tracking Plan to a Source. Any blocked events that are not [forwarded to a separate Source](/docs/protocols/enforce/forward-blocked-events) are permanently discarded and cannot be recovered. -> -> For more information about Tracking Plan versioning, see the [Protocols FAQ](/docs/protocols/faq/#protocols-tracking-plan). To enable blocking, go to the **Settings** tab for your source and click on **Schema Configuration**. See below for detailed descriptions for each of the configuration settings. diff --git a/src/protocols/faq.md b/src/protocols/faq.md index f3cba7ef7c..aa9926ee2c 100644 --- a/src/protocols/faq.md +++ b/src/protocols/faq.md @@ -70,7 +70,7 @@ No. Unfortunately it's not yet possible to automatically transfer events from a Yes. Using the [Public API](/docs/protocols/apis-and-extensions/), you can copy a Tracking Plan's JSON schema from one Workspace to another. -If you set up event blocking alongside your original tracking plan, you must connect to the same Source and configure identical Schema Controls in your other Workspace so that blocked events behave as expected. +If you [discarded events](/docs/protocols/enforce/schema-configuration) as a part of your original Tracking Plan, you must connect to the same Source and configure identical Schema Controls in your other Workspace so that blocked events behave as expected. ## Protocols Validation From 251987eeeaf74a146330f23c5fd83d00f41b245d Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Fri, 17 Mar 2023 17:06:25 -0400 Subject: [PATCH 10/10] Vale fixes, wording --- src/protocols/enforce/schema-configuration.md | 2 +- src/protocols/faq.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/protocols/enforce/schema-configuration.md b/src/protocols/enforce/schema-configuration.md index 60b5dc3bb3..c91700246a 100644 --- a/src/protocols/enforce/schema-configuration.md +++ b/src/protocols/enforce/schema-configuration.md @@ -5,7 +5,7 @@ redirect_from: '/protocols/enforce/' {% include content/plan-grid.md name="protocols" %} -The Schema Configuration settings for each source can be used to selectively block events, or omit properties and traits from `.track()`, `.identify()` and `.group()` calls. Segment can permanently drop events that are not included in your Tracking Plan, depending on the settings you select. Segment can also block events with invalid properties or invalid property values. +The Schema Configuration settings for each source can be used to selectively block events, or omit properties and traits from `.track()`, `.identify()` and `.group()` calls. Segment can permanently drop events that are not included in your Tracking Plan, depending on the settings you select. Segment can also block events with invalid properties or invalid property values. > warning "Blocked events not forwarded to a Source are discarded" > Blocking is a serious step that you should only do after you have resolved any violations that appear when you first connect a Tracking Plan to a Source. Any blocked events that are not [forwarded to a separate Source](/docs/protocols/enforce/forward-blocked-events) are permanently discarded and cannot be recovered. diff --git a/src/protocols/faq.md b/src/protocols/faq.md index aa9926ee2c..fe1e6a5d23 100644 --- a/src/protocols/faq.md +++ b/src/protocols/faq.md @@ -68,7 +68,7 @@ No. Unfortunately it's not yet possible to automatically transfer events from a ### Can I transfer a Tracking Plan between production and staging environments? -Yes. Using the [Public API](/docs/protocols/apis-and-extensions/), you can copy a Tracking Plan's JSON schema from one Workspace to another. +Yes. Using the [Public API](/docs/protocols/apis-and-extensions/), you can copy the underlying JSON schema from a Tracking Plan in one Workspace to a Tracking Plan in another Workspace. If you [discarded events](/docs/protocols/enforce/schema-configuration) as a part of your original Tracking Plan, you must connect to the same Source and configure identical Schema Controls in your other Workspace so that blocked events behave as expected. @@ -137,7 +137,7 @@ Only workspace admins are allowed to create transformations. All users with Protocols admin or read-only permissions can view transformations. -### Why can't we support transformations for device-mode destinations? +### Why can't Segment support transformations for device-mode destinations? Transformations introduce advanced logic that at scale may impact performance of client-side libraries. If you are interested in testing new functionality which supports device-mode destination transformations in analytics.js, contact your account rep.