From 0943ef3e998a4fef28c05fa247ac69f597df6d65 Mon Sep 17 00:00:00 2001 From: danielluis Date: Tue, 13 Aug 2024 15:41:04 +0100 Subject: [PATCH 01/32] add first documentation page for destination dynamic yield by mastercard audiences --- .../actions-dynamic-yield-audiences/index.md | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md diff --git a/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md b/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md new file mode 100644 index 0000000000..9d3941cbe0 --- /dev/null +++ b/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md @@ -0,0 +1,67 @@ +--- +title: Dynamic Yield By Mastercard Audiences Destination +beta: true +--- + +{% include content/plan-grid.md name=**actions** %} + +[Dynamic Yield by Mastercard](https://www.dynamicyield.com/){:target=**_blank”} helps businesses deliver digital customer experiences that are personalized, optimized, and synchronized. +With Dynamic Yield’s Experience OS, you can algorithmically match content, products, and offers to each individual customer to increase revenue, build customer loyalty, and gain a sustainable competitive advantage. + +This destination is maintained by Dynamic Yield by Mastercard. For any issues with the destination, [contact their Support team](mailto:info@dynamicyield.com). + +## Getting started + +**Dynamic Yield by Mastercard Audiences** is an Audience Destination which must be first connected to an Engage Space before it can be connected to individual Engage Audiences. The steps below outline how to connect the Destination to an Engage Space and then to an Audience. + +### Creating an instance of the Dynamic Yield Destination, and connecting it to an Engage Space. + +1. In your Segment Workspace, navigate to Connections > Catalog +2. Use the search field to find the **Dynamic Yield by Mastercard Audiences** Destination, then select it. +3. Click the **Add Destination** button +4. Select the Engage Space to connect to, then click the **Next button**. Note that you must select an Engage Space and not a regular Connections Space. +5. Provide a name for the Destination then click **Create destination**. + +### Configuring Basic Settings +1. Provide the Section ID and Connection Key on the Settings tab for your Dynamic Yield by Mastercard destination. +2. Enable the Destination using the toggle, then click the **Save changes** button. + + +### Create and configure a Mapping +Before connecting your Audiences to the Destination you will need to create, configure and enable a Mapping. + +1. Navigate to the Mappings tab in the Dynamic Yield by Mastercard Destination. +2. Click the **New Mapping** button and select the **Sync Audience **Action**. +3. Ensure that the only condition to trigger the mapping is **Event Type is track** (remove the **Event Type is identify** condition if it is present). +4. Click the Save button to save the Mapping configuration. +5. You can then enable the Mapping from the Mappings tab using the **Status** toggle. + +Once these steps have been completed you can connect Audiences to the Destination. + +### Connecting Audiences to the Dynamic Yield by Mastercard Destination + +1. Navigate to your Engage Space > Audiences. +2. Select the Audience you'd like to sync to Dynamic Yield +3. Click the **+ Add destination** button, then select the **Dynamic Yield by Mastercard Audiences** Destination you connected earlier. Click Add Destination. +4. The Audience Settings panel will display for your Destination. +5. Provide a value for the **Audience Name** field. This name will be used by Segment when creating the Audience in Dynamic Yield. +6. Provide a value for the **Identifier Type** field. Valid entries are any one of **userid** or **anonymousid** or **email**. * See **Customized Identifier Setup** below for how to configure identifiers other than userid, email or anonymousid. +6. Enable the **Send Track** toggle. You don't need to change the **Enter Event** or **Exit Event** fields as these are not used by this Destination. +7. Click the **Default Setup** panel under **Event settings**. +8. Click the Save button to save the Audience Settings. +9. Click the **Add Destination** button. +10. The Destination will now be connected to the Audience and will start syncing data to Dynamic Yield. + + +### Customized Identifier Setup +The Dynamic Yield Audience Destination can accept identifiers other than userId, anonymousId or email - however this requires some additional configuration steps when connecting the Audience to your **Dynamic Yield Audiences** Destination. + +1. When connecting your Audience to the **Dynamic Yield Audiences** Destination, select the **Customized Setup** panel under **Event Settings**. +2. Click the **Add identifier** button, then select the identifier type you'd like to use. +3. Provide a name for the identifier in the **identifier in destination** field. +4. Scroll back up to the top of the Audience Settings panel and ensure that the **Identifier Type** field contains the identical name for the identifier you configured in the Customized Setup panel. +6. Click the Save button to save your Audience Settings. +6. Click the **Add Destination** button. +7. The Destination will now be connected to the Audience and will start syncing data to Dynamic Yield using the specified custom identifier. + +{% include components/actions-fields.html %} From 58e42c35aadc96acd00db0dd43d65ce99c8885e0 Mon Sep 17 00:00:00 2001 From: Daniel Luis Date: Fri, 16 Aug 2024 11:05:46 +0100 Subject: [PATCH 02/32] Apply suggestions from code review Added suggestions from forstisabella Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../actions-dynamic-yield-audiences/index.md | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md b/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md index 9d3941cbe0..b04c9c14db 100644 --- a/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md +++ b/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md @@ -1,26 +1,27 @@ --- title: Dynamic Yield By Mastercard Audiences Destination -beta: true +id: 64ede9fe67158afa8de61480 +engage: true --- -{% include content/plan-grid.md name=**actions** %} +{% include content/plan-grid.md name=actions %} -[Dynamic Yield by Mastercard](https://www.dynamicyield.com/){:target=**_blank”} helps businesses deliver digital customer experiences that are personalized, optimized, and synchronized. +[Dynamic Yield by Mastercard](https://www.dynamicyield.com/){:target="_blank”} helps businesses deliver digital customer experiences that are personalized, optimized, and synchronized. With Dynamic Yield’s Experience OS, you can algorithmically match content, products, and offers to each individual customer to increase revenue, build customer loyalty, and gain a sustainable competitive advantage. -This destination is maintained by Dynamic Yield by Mastercard. For any issues with the destination, [contact their Support team](mailto:info@dynamicyield.com). +This destination is maintained by Dynamic Yield by Mastercard. For any issues with the destination, [contact the Dynamic Yield support team](mailto:info@dynamicyield.com). ## Getting started **Dynamic Yield by Mastercard Audiences** is an Audience Destination which must be first connected to an Engage Space before it can be connected to individual Engage Audiences. The steps below outline how to connect the Destination to an Engage Space and then to an Audience. -### Creating an instance of the Dynamic Yield Destination, and connecting it to an Engage Space. +### Create an instance of the Dynamic Yield Destination -1. In your Segment Workspace, navigate to Connections > Catalog +1. From your Segment workspace, navigate to **Connections > Catalog** 2. Use the search field to find the **Dynamic Yield by Mastercard Audiences** Destination, then select it. -3. Click the **Add Destination** button -4. Select the Engage Space to connect to, then click the **Next button**. Note that you must select an Engage Space and not a regular Connections Space. -5. Provide a name for the Destination then click **Create destination**. +3. Click **Add destination**. +4. Select the Engage Space you'd like to connect your destination to and click **Next**. +5. Enter a name for your destination and click **Create destination**. ### Configuring Basic Settings 1. Provide the Section ID and Connection Key on the Settings tab for your Dynamic Yield by Mastercard destination. @@ -28,40 +29,39 @@ This destination is maintained by Dynamic Yield by Mastercard. For any issues wi ### Create and configure a Mapping -Before connecting your Audiences to the Destination you will need to create, configure and enable a Mapping. +You must first create, configure, and enable a Mapping before connecting your Audiences to the Dynamic Yield by Mastercard destination. 1. Navigate to the Mappings tab in the Dynamic Yield by Mastercard Destination. -2. Click the **New Mapping** button and select the **Sync Audience **Action**. -3. Ensure that the only condition to trigger the mapping is **Event Type is track** (remove the **Event Type is identify** condition if it is present). -4. Click the Save button to save the Mapping configuration. -5. You can then enable the Mapping from the Mappings tab using the **Status** toggle. +2. Click **New Mapping** and select the **Sync Audience Action**. +3. Ensure that the only condition to trigger the mapping is **Event Type is Track** (remove the **Event Type is Identify** condition, if present). +4. Click **Save**. +5. Enable the Mapping from the Mappings tab using the **Status** toggle. Once these steps have been completed you can connect Audiences to the Destination. ### Connecting Audiences to the Dynamic Yield by Mastercard Destination -1. Navigate to your Engage Space > Audiences. -2. Select the Audience you'd like to sync to Dynamic Yield -3. Click the **+ Add destination** button, then select the **Dynamic Yield by Mastercard Audiences** Destination you connected earlier. Click Add Destination. -4. The Audience Settings panel will display for your Destination. -5. Provide a value for the **Audience Name** field. This name will be used by Segment when creating the Audience in Dynamic Yield. -6. Provide a value for the **Identifier Type** field. Valid entries are any one of **userid** or **anonymousid** or **email**. * See **Customized Identifier Setup** below for how to configure identifiers other than userid, email or anonymousid. +1. Navigate to your **Engage Space > Audiences**. +2. Select the Audience you'd like to sync to your Dynamic Yield by Mastercard Audiences destination. +3. Click **+ Add destination**, select the **Dynamic Yield by Mastercard Audiences** Destination you connected earlier, and click **Add Destination.** +4. On the Audience Settings panel, provide a value for the following fields: + - **Audience Name**: The name Segment uses when creating the Audience in Dynamic Yield. + - **Identifier Type**: Select `userid`, `anonymousid`, or `email`. * See [Customized Identifier Setup](#customized-identifier-setup) for how to configure identifiers other than userid, email or anonymousid. 6. Enable the **Send Track** toggle. You don't need to change the **Enter Event** or **Exit Event** fields as these are not used by this Destination. -7. Click the **Default Setup** panel under **Event settings**. -8. Click the Save button to save the Audience Settings. -9. Click the **Add Destination** button. -10. The Destination will now be connected to the Audience and will start syncing data to Dynamic Yield. +6. Click **Default Setup** panel under **Event settings**. +7. Click **Save** and then click **Add Destination**. +The Destination is now connected to your Audience and starts syncing data to Dynamic Yield. ### Customized Identifier Setup -The Dynamic Yield Audience Destination can accept identifiers other than userId, anonymousId or email - however this requires some additional configuration steps when connecting the Audience to your **Dynamic Yield Audiences** Destination. +The Dynamic Yield Audience Destination can accept identifiers other than userId, anonymousId or email. However, this requires some additional configuration steps when connecting the Audience to your Dynamic Yield Audiences Destination. 1. When connecting your Audience to the **Dynamic Yield Audiences** Destination, select the **Customized Setup** panel under **Event Settings**. -2. Click the **Add identifier** button, then select the identifier type you'd like to use. -3. Provide a name for the identifier in the **identifier in destination** field. -4. Scroll back up to the top of the Audience Settings panel and ensure that the **Identifier Type** field contains the identical name for the identifier you configured in the Customized Setup panel. -6. Click the Save button to save your Audience Settings. -6. Click the **Add Destination** button. -7. The Destination will now be connected to the Audience and will start syncing data to Dynamic Yield using the specified custom identifier. +2. Click**Add identifier** then select the identifier type you'd like to use. +3. Provide a name for the identifier in the **Identifier in destination** field. +4. Scroll back up to the top of the Audience Settings panel and ensure that the **Identifier Type** field contains the name of the identifier you configured in the Customized Setup panel. +6. Click **Save** and then click **Add Destination** button. + +The Destination is now connected to your Audience and starts syncing data to Dynamic Yield with the specified custom identifier. {% include components/actions-fields.html %} From 186dd371cca81ba6d2147ab801da5da8c4b73488 Mon Sep 17 00:00:00 2001 From: Daniel Luis Date: Fri, 16 Aug 2024 11:06:16 +0100 Subject: [PATCH 03/32] Update src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../catalog/actions-dynamic-yield-audiences/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md b/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md index b04c9c14db..c5ff2b3849 100644 --- a/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md +++ b/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md @@ -47,7 +47,7 @@ Once these steps have been completed you can connect Audiences to the Destinatio 4. On the Audience Settings panel, provide a value for the following fields: - **Audience Name**: The name Segment uses when creating the Audience in Dynamic Yield. - **Identifier Type**: Select `userid`, `anonymousid`, or `email`. * See [Customized Identifier Setup](#customized-identifier-setup) for how to configure identifiers other than userid, email or anonymousid. -6. Enable the **Send Track** toggle. You don't need to change the **Enter Event** or **Exit Event** fields as these are not used by this Destination. +5. Enable the **Send Track** toggle. You don't need to change the **Enter Event** or **Exit Event** fields, as these are not used by this Destination. 6. Click **Default Setup** panel under **Event settings**. 7. Click **Save** and then click **Add Destination**. The Destination is now connected to your Audience and starts syncing data to Dynamic Yield. From a72abdb427c6954aa2300641eed7209a9abcbb08 Mon Sep 17 00:00:00 2001 From: Daniel Luis Date: Fri, 16 Aug 2024 11:07:45 +0100 Subject: [PATCH 04/32] Update index.md numbers --- .../catalog/actions-dynamic-yield-audiences/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md b/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md index c5ff2b3849..6a2db68755 100644 --- a/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md +++ b/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md @@ -60,7 +60,7 @@ The Dynamic Yield Audience Destination can accept identifiers other than userId, 2. Click**Add identifier** then select the identifier type you'd like to use. 3. Provide a name for the identifier in the **Identifier in destination** field. 4. Scroll back up to the top of the Audience Settings panel and ensure that the **Identifier Type** field contains the name of the identifier you configured in the Customized Setup panel. -6. Click **Save** and then click **Add Destination** button. +5. Click **Save** and then click **Add Destination** button. The Destination is now connected to your Audience and starts syncing data to Dynamic Yield with the specified custom identifier. From 7fa18874421c25016be237f79c65b645d9c1ba86 Mon Sep 17 00:00:00 2001 From: pwseg Date: Sat, 17 Aug 2024 15:29:03 -0400 Subject: [PATCH 05/32] fix typos --- src/getting-started/use-cases/reference.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/getting-started/use-cases/reference.md b/src/getting-started/use-cases/reference.md index 02eec6b450..a05736b277 100644 --- a/src/getting-started/use-cases/reference.md +++ b/src/getting-started/use-cases/reference.md @@ -278,10 +278,10 @@ This table shows the events and properties Segment recommends you track for the

-| Events | Properties | -| ------------------- | ---------- | -| Trial Started | `category` | -| Subscription Stared | | +| Events | Properties | +| -------------------- | ---------- | +| Trial Started | `category` | +| Subscription Started | |
And this table shows the source and destination types that Segment recommends you set up for the Acquire paid subscriptions use case: @@ -303,10 +303,10 @@ This table shows the events and properties Segment recommends you track for the

-| Events | Properties | -| ------------------- | ---------- | -| Subscription Stared | | -| Trial Started | `category` | +| Events | Properties | +| -------------------- | ---------- | +| Subscription Started | | +| Trial Started | `category` |
And this table shows the source and destination types that Segment recommends you set up for the Convert trials to paid subscriptions use case: From 0726a8f29a4a9c03b7a6839abb98eb302eb13f46 Mon Sep 17 00:00:00 2001 From: Daniel Luis Date: Mon, 19 Aug 2024 10:35:51 +0100 Subject: [PATCH 06/32] Update src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../catalog/actions-dynamic-yield-audiences/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md b/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md index 6a2db68755..dc3af67243 100644 --- a/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md +++ b/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md @@ -2,6 +2,7 @@ title: Dynamic Yield By Mastercard Audiences Destination id: 64ede9fe67158afa8de61480 engage: true +beta: true --- {% include content/plan-grid.md name=actions %} From 9639ca0a4c8a1bf785f99c938d5fd9fc93cab588 Mon Sep 17 00:00:00 2001 From: Daniel Luis Date: Mon, 19 Aug 2024 10:35:59 +0100 Subject: [PATCH 07/32] Update src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../catalog/actions-dynamic-yield-audiences/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md b/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md index dc3af67243..00fece9c52 100644 --- a/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md +++ b/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md @@ -18,7 +18,7 @@ This destination is maintained by Dynamic Yield by Mastercard. For any issues wi ### Create an instance of the Dynamic Yield Destination -1. From your Segment workspace, navigate to **Connections > Catalog** +1. From your Segment workspace, navigate to **Connections > Catalog**. 2. Use the search field to find the **Dynamic Yield by Mastercard Audiences** Destination, then select it. 3. Click **Add destination**. 4. Select the Engage Space you'd like to connect your destination to and click **Next**. From 031d85982c5b65d8136c462aa53d81b2909e5738 Mon Sep 17 00:00:00 2001 From: Daniel Luis Date: Mon, 19 Aug 2024 10:36:05 +0100 Subject: [PATCH 08/32] Update src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../catalog/actions-dynamic-yield-audiences/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md b/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md index 00fece9c52..6d2b2d0408 100644 --- a/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md +++ b/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md @@ -44,7 +44,7 @@ Once these steps have been completed you can connect Audiences to the Destinatio 1. Navigate to your **Engage Space > Audiences**. 2. Select the Audience you'd like to sync to your Dynamic Yield by Mastercard Audiences destination. -3. Click **+ Add destination**, select the **Dynamic Yield by Mastercard Audiences** Destination you connected earlier, and click **Add Destination.** +3. Click **+ Add destination**, select the **Dynamic Yield by Mastercard Audiences** Destination you connected earlier, and click **Add Destination**. 4. On the Audience Settings panel, provide a value for the following fields: - **Audience Name**: The name Segment uses when creating the Audience in Dynamic Yield. - **Identifier Type**: Select `userid`, `anonymousid`, or `email`. * See [Customized Identifier Setup](#customized-identifier-setup) for how to configure identifiers other than userid, email or anonymousid. From e9926abb699a4329d0c3de04d77b71f47b5aa598 Mon Sep 17 00:00:00 2001 From: Daniel Luis Date: Mon, 19 Aug 2024 10:36:12 +0100 Subject: [PATCH 09/32] Update src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../catalog/actions-dynamic-yield-audiences/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md b/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md index 6d2b2d0408..7c8770a470 100644 --- a/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md +++ b/src/connections/destinations/catalog/actions-dynamic-yield-audiences/index.md @@ -51,6 +51,7 @@ Once these steps have been completed you can connect Audiences to the Destinatio 5. Enable the **Send Track** toggle. You don't need to change the **Enter Event** or **Exit Event** fields, as these are not used by this Destination. 6. Click **Default Setup** panel under **Event settings**. 7. Click **Save** and then click **Add Destination**. + The Destination is now connected to your Audience and starts syncing data to Dynamic Yield. From 24293e03c90cc2de3e47a2d953137eace2e84eaa Mon Sep 17 00:00:00 2001 From: pwseg <86626706+pwseg@users.noreply.github.com> Date: Tue, 20 Aug 2024 14:11:41 -0400 Subject: [PATCH 10/32] getting the ball rolling take 2 --- src/unify/data-graph/data-graph.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/unify/data-graph/data-graph.md b/src/unify/data-graph/data-graph.md index fc16b3d130..d21515851a 100644 --- a/src/unify/data-graph/data-graph.md +++ b/src/unify/data-graph/data-graph.md @@ -5,6 +5,8 @@ redirect_from: - '/unify/linked-profiles/data-graph' --- + + The Data Graph is a semantic layer that unifies all your customer datasets, letting you define and manage relationships between any entity data set in your warehouse (accounts, subscriptions, households, products) and the Segment Profiles you send with [Profiles Sync](/docs/unify/profiles-sync/). By linking these datasets, the Data Graph turns complex relational data into actionable insights, enabling marketers and business stakeholders to create targeted, personalized customer interactions. From 322b2451a233f8b9b9c8f4d424e40e8857b3f713 Mon Sep 17 00:00:00 2001 From: kly-segment <109566332+kly-segment@users.noreply.github.com> Date: Tue, 20 Aug 2024 12:06:57 -0700 Subject: [PATCH 11/32] Update data-graph.md Updated typos, errors, and minor content updates. --- src/unify/data-graph/data-graph.md | 46 ++++++++++++++---------------- 1 file changed, 21 insertions(+), 25 deletions(-) diff --git a/src/unify/data-graph/data-graph.md b/src/unify/data-graph/data-graph.md index d21515851a..9a23be63e5 100644 --- a/src/unify/data-graph/data-graph.md +++ b/src/unify/data-graph/data-graph.md @@ -5,14 +5,9 @@ redirect_from: - '/unify/linked-profiles/data-graph' --- - +The Data Graph acts as a semantic layer that allows businesses to define relationships between various entity datasets in the warehouse — such as accounts, subscriptions, households, and products — with the Segment Profile. It makes these relational datasets easily accessible to business teams for targeted and personalized customer engagements. -The Data Graph is a semantic layer that unifies all your customer datasets, letting you define and manage relationships between any entity data set in your warehouse (accounts, subscriptions, households, products) and the Segment Profiles you send with [Profiles Sync](/docs/unify/profiles-sync/). - -By linking these datasets, the Data Graph turns complex relational data into actionable insights, enabling marketers and business stakeholders to create targeted, personalized customer interactions. -relational data into actionable insights, making it accessible to marketers and business stakeholders - -- **[Linked Audiences](/docs/engage/audiences/linked-audiences/)**: Empowers marketers to self-serve and build targetic logic based on any datasets defined in the Data Graph, unlocking new possibilities for hyper-personalized campaigns. +- **[Linked Audiences](/docs/engage/audiences/linked-audiences/)**: Empowers marketers to effortlessly create targeted audiences by combining behavioral data from the Segment Profile and warehouse entity data within a self-serve, no-code interface. This tool accelerates audience creation, enabling precise targeting, enhanced customer personalization, and optimized marketing spend without the need for constant data team support. - **[Linked Events](/docs/unify/data-graph/linked-events/)**: Allows data teams to enrich event streams in real time using datasets from data warehouses or lakes, and send these enriched events to any destination. Linked Events is available for both Destination Actions and Functions. ## Prerequisites @@ -21,17 +16,20 @@ To use the Data Graph, you'll need the following: - A supported data warehouse with the appropriate Data Graph permissions - Workspace Owner or Unify Read-only/Admin and Entities Admin permissions -- For Linked Audiences, set up [Profiles Sync](/docs/unify/profiles-sync/) in a Unify space with ready-to-use [data models and tables](/docs/unify/profiles-sync/tables/) in your warehouse. When setting up selective sync, Segment recommends the following settings for Linked Audiences: +- For Linked Audiences, set up [Profiles Sync](/docs/unify/profiles-sync/) in a Unify space with ready-to-use [data models and tables](/docs/unify/profiles-sync/tables/) in your warehouse. When setting up selective sync, Segment recommends the following settings: - Under **Profile materialized tables**, select all the tables (`user_identifier`, `user_traits`, `profile_merges`) for faster and more cost-efficient Linked Audiences computations in your data warehouse. - Under **Track event tables**, select **Sync all Track Call Tables** to enable filtering on event history for Linked Audiences conditions. ## Step 1: Set up Data Graph permissions in your data warehouse > warning "" > Data Graph, Reverse ETL, and Profiles Sync require different warehouse permissions. + > info "" > Data Graph currently only supports workspaces in the United States. -To get started with the Data Graph, set up the required permissions in your warehouse. Segment supports [Snowflake](/docs/unify/data-graph/setup-guides/snowflake-setup/) and [Databricks](/docs/unify/data-graph/setup-guides/databricks-setup/) for both Linked Audiences and Linked Events. +To get started with the Data Graph, set up the required permissions in your warehouse. Segment supports the following: +- Linked Audiences: [Snowflake](/docs/unify/data-graph/setup-guides/snowflake-setup/) and [Databricks](/docs/unify/data-graph/setup-guides/databricks-setup/) +- Linked Events: [Snowflake](/docs/unify/data-graph/setup-guides/snowflake-setup/), [Databricks](/docs/unify/data-graph/setup-guides/databricks-setup/), [BigQuery](/docs/unify/data-graph/setup-guides/BigQuery-setup/), and [Redshift](/docs/unify/data-graph/setup-guides/redshift-setup/) To track the data sent to Segment on previous syncs, Segment uses [Reverse ETL](/docs/connections/reverse-etl/) infrastructure to store diffs in tables within a dedicated schema called `_segment_reverse_etl` in your data warehouse. You can choose which database or project in your warehouse this data lives in. @@ -61,7 +59,7 @@ The Data Graph is a semantic layer that represents a subset of relevant business **Defining Relationships** -Similar to the concept of [cardinality in data modeling](en.wikipedia.org/wiki/Cardinality_(data_modeling)){:target="_blank"}, the Data Graph supports 3 types of relationships: +Similar to the concept of [cardinality in data modeling](en.wikipedia.org/wiki/Cardinality_(data_modeling)), the Data Graph supports 3 types of relationships: - **Profile-to-entity relationship:** This is a relationship between your entity table and the Segment Profiles tables, and is the first level of relationship. - **1:many relationship:** For example, an `account` can have many `carts`, but each `cart` can only be associated with one `account`. - **many:many relationship:** For example, a user can have many `carts`, and each `cart` can have many `products`. However, these `products` can also belong to many `carts`. @@ -112,7 +110,7 @@ data_graph { # Recommend setting up Profiles Sync materialized views to optimize warehouse compute costs profile { profile_folder = "PRODUCTION.SEGMENT" - type = "segment: materialized" + type = "segment:materialized" # First branch - relate accounts table to the profile # This is a unique type of relationship between an entity and the profile block @@ -200,7 +198,7 @@ data_graph { ### 3b: Define the profile > info "" -> Segments recommends that you select materialized views under the Profiles Sync Selective Sync settings to optimize warehouse compute costs. +> Segments recommends that you select materialized views under the Profiles [Selective Sync settings](/docs/unify/profiles-sync/profiles-sync-setup/#step-3-set-up-selective-sync) to optimize warehouse compute costs. Next, define the profile. This is a special class of entity that represents Segment Profiles, which corresponds to the Profiles Sync tables and models. For Linked Audiences, this allows marketers to filter on profile traits, event history, etc. There can only be one profile for a Data Graph. @@ -229,15 +227,13 @@ data_graph { ### 3c: Define relationships -Now define your relationships between your entities. The Data Graph supports three types of relationships: -- Profile:entity relationship. This is the first level of relationships -- 1:many relationship -- Many:many relationship - -All relationship types require you to define the relationship slug, name, and related entity. Each type of relationship has unique join on conditions. +Now define your relationships between your entities. Similar to the concept of [cardinality in data modeling](en.wikipedia.org/wiki/Cardinality_(data_modeling)), the Data Graph supports 3 types of relationships below. All relationship types require you to define the relationship slug, name, and related entity. Each type of relationship has unique join on conditions. +- **Profile-to-entity relationship:** This is a relationship between your entity table and the Segment Profiles tables, and is the first level of relationship. +- **1:many relationship:** For example, an `account` can have many `carts`, but each `cart` can only be associated with one `account`. +- **many:many relationship:** For example, a user can have many `carts`, and each `cart` can have many `products`. However, these `products` can also belong to many `carts`. #### Define profile-to-entity relationship -This is the first level of relationships and a unique type of relationship between Segment profile entity and a related entity. +This is the first level of relationships and a unique type of relationship between the Segment profile entity and a related entity. | Parameters | Definition | | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -247,13 +243,13 @@ This is the first level of relationships and a unique type of relationship betwe To define a profile-to-entity relationship, reference your entity table and depending on your table columns, choose to join on one of the following: -**Option 1 (Most common):** Use the `external_id` block to join the profile entity with an entity table using external IDs from your [Unify ID resolution](/docs/unify/identity-resolution/externalids/) settings. Typically these identifiers are `user_id`, `email`, or `phone` depending on the column in the entity table that you want to join with. +**Option 1 (Most common) - Join on an external ID:** Use the `external_id` block to join the profile entity with an entity table using external IDs from your [Unify ID resolution](/docs/unify/identity-resolution/externalids/) settings. Typically these identifiers are `user_id`, `email`, or `phone` depending on the column in the entity table that you want to join with. - `type`: Represents the [external ID type](/docs/unify/identity-resolution/externalids/#default-externalids) (`email`, `phone`, `user_id`) in your id-res settings. Depending on if you are using materialized or unmaterialized profiles, these correspond to different columns in your Profiles Sync warehouse tables: - [Materialized](/docs/unify/profiles-sync/tables/#the-user_identifiers-table) (Recommended): This corresponds to the `type` column in your Profiles Sync `user_identifiers` table. - [Unmaterialized](/docs/unify/profiles-sync/tables/#the-external_id_mapping_updates-table): This corresponds to the `external_id_type` column in your Profiles Sync `external_id_mapping_updates` table. - `join_key`: This is the column on the entity table that you are matching to the external identifier. -**Option 2:** Use the `traits` block to join the profile entity with an entity table using [Profile Traits](/docs/unify/#enrich-profiles-with-traits). +**Option 2 - Join on a profile trait:** Use the `traits` block to join the profile entity with an entity table using [Profile Traits](/docs/unify/#enrich-profiles-with-traits). - `name`: Represents a trait name in your Unify profiles. Depending on if you are using materialized or unmaterialized profiles, these correspond to different columns in your Profiles Sync warehouse tables: - [Materialized](/docs/unify/profiles-sync/tables/#the-profile_traits-table) (Recommended): The trait name corresponds to a unique value of the `name` column in your Profiles Sync `user_traits` table. - [Unmaterialized](/docs/unify/profiles-sync/tables/#the-profile_traits_updates-table): This corresponds to a column in the Profile Sync `profile_trait_updates` table. @@ -341,7 +337,7 @@ data_graph { For many:many relationships, define the join on between the two entity tables with the `junction_table`. > warning "" -> Attributes from a junction table are not referenceable via the Linked Audience Builder. If a marketer would like to filter upon a column on the junction table, you must define the junction as an entity and define a relationship. +> Attributes from a junction table are not referenceable via the Linked Audience builder. If a marketer would like to filter upon a column on the junction table, you must define the junction as an entity and define a relationship. | Parameters | Definition | @@ -354,7 +350,7 @@ For many:many relationships, define the join on between the two entity tables wi | Parameters | Definition | | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `table_ref` | Defines the fully qualified table reference to the join table: `[database name].[schema name].[table name]` Segment flexibly supports tables, views and materialized views | +| `table_ref` | Defines the fully qualified table reference to the join table: `[database name].[schema name].[table name]`. Segment flexibly supports tables, views and materialized views | | `primary_key` | The unique identifier for the given table. Must be a column with unique values per row | | `left_join_on` | Define the relationship between the left entity table and the junction table: `[left entity slug].[column name] = [junction table column name]`. Note that schema and table are implied within the junction table column name, so you do not need to define it again | | `right_join_on` | Define the relationship between the junction table and the right entity table: `[junction table column name] = [right entity slug].[column name]`. Note that schema and table are implied within the junction table column name, so you do not need to define it again | @@ -405,7 +401,7 @@ To edit your Data Graph: ### View Data Graph data consumers -A data consumer refers to a Segment feature (like Linked Events, Linked Audiences) referencing datasets, such as entities and/or relationships, from the Data Graph. You can view a list of data consumers in two places: +A data consumer refers to a Segment feature like Linked Events and Linked Audiences that are referencing datasets, such as entities and/or relationships, from the Data Graph. You can view a list of data consumers in two places: - Under **Unify > Data Graph**, click the **Data consumers** tab - Under **Unify > Data Graph > Overview** or the **Data Graph editor > Preview**, click into a node on the Data Graph preview and a side sheet will pop up with the list of data consumers for the respective relationship @@ -417,4 +413,4 @@ Upon editing and saving changes to your Data Graph, a modal will pop up to warn ### Detect warehouse breaking changes -Segment has a service that regularly scans and monitors the Data Graph for changes that occur in your warehouse that may break components of the Data Graph, such as when the table being referenced by the Data Graph gets deleted from your warehouse or when the primary key column no longer exists. An alert banner will be displayed on the Data Graph landing page. The banner will be removed once the issues are resolved in your warehouse and/or the Data Graph. +Segment has a service that regularly scans and monitors the Data Graph for changes that occur in your warehouse that may break components of the Data Graph, such as when the table being referenced by the Data Graph gets deleted from your warehouse or when the primary key column no longer exists. An alert banner will be displayed on the Data Graph landing page. The banner will be removed once the issues are resolved in your warehouse and/or the Data Graph. You will also have the option to trigger a manual sync of your warehouse schema. From 03fafef2b3b2096c5480166a7fa25644aaf5b844 Mon Sep 17 00:00:00 2001 From: Esteban Gonzalez Corti Date: Wed, 21 Aug 2024 14:46:33 +1000 Subject: [PATCH 12/32] Filter conditions are case sensitive.md --- src/connections/destinations/destination-filters.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/connections/destinations/destination-filters.md b/src/connections/destinations/destination-filters.md index b8db2f0ee1..b1beb9c028 100644 --- a/src/connections/destinations/destination-filters.md +++ b/src/connections/destinations/destination-filters.md @@ -259,3 +259,7 @@ When Segment sends an event to a destination but encounters a timeout error, it #### How do destination filters handle Protocols Transformations? - **Source-Scoped Transformations**: If destination filters are enabled, Segment processes [source scoped transformations](/docs/protocols/transform/#step-2-set-up-the-transformation) before the events reach destination filters. - **Destination-Scoped Transformations**: Segment processes [destination-specific transformations](/docs/protocols/transform/#step-2-set-up-the-transformation) after the events have passed through the destination filters. + +#### Are destination filter conditions case sensitive? + +Yes. Make sure to test your filter conditions with a test event before saving and enabling the filter. From acadc47d51310e559a7325acc87ed4a15e39fc5a Mon Sep 17 00:00:00 2001 From: vanand17 <96406241+vanand17@users.noreply.github.com> Date: Wed, 21 Aug 2024 17:02:07 +1000 Subject: [PATCH 13/32] Add details about content_id mapping --- src/connections/destinations/catalog/facebook-pixel/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/connections/destinations/catalog/facebook-pixel/index.md b/src/connections/destinations/catalog/facebook-pixel/index.md index 4c667874d9..ec371a94dd 100644 --- a/src/connections/destinations/catalog/facebook-pixel/index.md +++ b/src/connections/destinations/catalog/facebook-pixel/index.md @@ -193,6 +193,8 @@ If you're using real estate, travel, or automotive [Dynamic Ads](https://www.fac For most implementations, Segment recommends leaving these mappings blank. By default, Segment sets `content_type` to "product". +This same mapping can be used to change the `content_id` from the default value (product_id or the sku) to anything specific for Facebook Pixel. You can utilise this [Facebook documentation](https://www.facebook.com/business/help/606577526529702?id=1205376682832142) for details of the mapping. + ## Troubleshooting ### PII blocklisting From 3a788c4d13d5e98c2e973fb6ea5b648510cb1dac Mon Sep 17 00:00:00 2001 From: terence1988 Date: Thu, 22 Aug 2024 08:05:22 +1000 Subject: [PATCH 14/32] remove duplicate content from http api source page --- .../sources/catalog/libraries/server/http-api/index.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/connections/sources/catalog/libraries/server/http-api/index.md b/src/connections/sources/catalog/libraries/server/http-api/index.md index c3c04e4aac..5baca0fb4d 100644 --- a/src/connections/sources/catalog/libraries/server/http-api/index.md +++ b/src/connections/sources/catalog/libraries/server/http-api/index.md @@ -481,5 +481,3 @@ When sending a HTTP call from a user's device, you can collect the IP address by 1. Double check that you've set up the library correctly. 2. Make sure that you're calling a Segment API method after the library is successfully installed—[Identify](#identify), [Track](#track), and so on. - -{% include content/server-side-troubleshooting.md %} From 482cc1827849bb591e05c0e156ad8f65cc14bc0b Mon Sep 17 00:00:00 2001 From: dineshraj-arunmozhi <87521197+dineshraj-arunmozhi@users.noreply.github.com> Date: Thu, 22 Aug 2024 09:47:29 +0100 Subject: [PATCH 15/32] Update faqs.md public docs typo fix --- src/engage/faqs.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/engage/faqs.md b/src/engage/faqs.md index 0aa2cd7568..7f01e3df76 100644 --- a/src/engage/faqs.md +++ b/src/engage/faqs.md @@ -12,7 +12,7 @@ Yes. You can learn more about the Audience API by visiting the [Segment Public A ## Can I programmatically determine if a user belongs to a particular audience? -Yes. Eecause Engage creates a trait with the same name as your audience, you can query the Profile API to determine if a user belongs to a particular audience. For example, to determine if the user with an email address of `bob@example.com` is a member of your `high_value_users` audience, you could query the following Profile API URL: +Yes. Because Engage creates a trait with the same name as your audience, you can query the Profile API to determine if a user belongs to a particular audience. For example, to determine if the user with an email address of `bob@example.com` is a member of your `high_value_users` audience, you could query the following Profile API URL: ``` https://profiles.segment.com/v1/namespaces//collections/users/profiles/email:bob@segment.com/traits?include=high_value_users @@ -150,4 +150,4 @@ Based on Engage behavior, standard source events such as Page, Track and Identif ## Why can't I connect the audience/computed trait to an existing destination in my workspace? -Engage will not allow you to connect an audience/computed trait to a destination that is already linked to a [Connections-based source](https://segment.com/docs/connections/sources/). Instead, create a new instance of the destination with the correct Engage space selected as the data source. \ No newline at end of file +Engage will not allow you to connect an audience/computed trait to a destination that is already linked to a [Connections-based source](https://segment.com/docs/connections/sources/). Instead, create a new instance of the destination with the correct Engage space selected as the data source. From 51afaf3f60344e9626a1b78d8629344fe5e10da2 Mon Sep 17 00:00:00 2001 From: pwseg <86626706+pwseg@users.noreply.github.com> Date: Thu, 22 Aug 2024 12:31:02 -0400 Subject: [PATCH 16/32] relative link fix --- src/engage/faqs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engage/faqs.md b/src/engage/faqs.md index 7f01e3df76..d8d2e8b842 100644 --- a/src/engage/faqs.md +++ b/src/engage/faqs.md @@ -150,4 +150,4 @@ Based on Engage behavior, standard source events such as Page, Track and Identif ## Why can't I connect the audience/computed trait to an existing destination in my workspace? -Engage will not allow you to connect an audience/computed trait to a destination that is already linked to a [Connections-based source](https://segment.com/docs/connections/sources/). Instead, create a new instance of the destination with the correct Engage space selected as the data source. +Engage will not allow you to connect an audience/computed trait to a destination that is already linked to a [Connections-based source](/docs/connections/sources/). Instead, create a new instance of the destination with the correct Engage space selected as the data source. From 0b39e194bd880fd4b4a5a3a22086fb42b7dad221 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Thu, 22 Aug 2024 12:55:47 -0400 Subject: [PATCH 17/32] Update src/connections/destinations/catalog/facebook-pixel/index.md --- src/connections/destinations/catalog/facebook-pixel/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/facebook-pixel/index.md b/src/connections/destinations/catalog/facebook-pixel/index.md index ec371a94dd..6071fec508 100644 --- a/src/connections/destinations/catalog/facebook-pixel/index.md +++ b/src/connections/destinations/catalog/facebook-pixel/index.md @@ -193,7 +193,7 @@ If you're using real estate, travel, or automotive [Dynamic Ads](https://www.fac For most implementations, Segment recommends leaving these mappings blank. By default, Segment sets `content_type` to "product". -This same mapping can be used to change the `content_id` from the default value (product_id or the sku) to anything specific for Facebook Pixel. You can utilise this [Facebook documentation](https://www.facebook.com/business/help/606577526529702?id=1205376682832142) for details of the mapping. +The same mapping can be used to change the `content_id` from the default value (product_id or the sku) to anything specific for Meta Pixel. For more information about required Meta Pixel events, see Meta's [Required Meta Pixel events and parameters for Advantage+ catalog ads](https://www.facebook.com/business/help/606577526529702?id=1205376682832142){:target="_blank”} documentation. ## Troubleshooting From f97a6ba7a02bb49232f0479b4a79339580440c20 Mon Sep 17 00:00:00 2001 From: stayseesong <83784848+stayseesong@users.noreply.github.com> Date: Thu, 22 Aug 2024 10:06:51 -0700 Subject: [PATCH 18/32] Apply suggestions from code review --- src/connections/destinations/destination-filters.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/destinations/destination-filters.md b/src/connections/destinations/destination-filters.md index b1beb9c028..7f4a1ce5a3 100644 --- a/src/connections/destinations/destination-filters.md +++ b/src/connections/destinations/destination-filters.md @@ -260,6 +260,6 @@ When Segment sends an event to a destination but encounters a timeout error, it - **Source-Scoped Transformations**: If destination filters are enabled, Segment processes [source scoped transformations](/docs/protocols/transform/#step-2-set-up-the-transformation) before the events reach destination filters. - **Destination-Scoped Transformations**: Segment processes [destination-specific transformations](/docs/protocols/transform/#step-2-set-up-the-transformation) after the events have passed through the destination filters. -#### Are destination filter conditions case sensitive? +#### Are destination filter conditions case-sensitive? -Yes. Make sure to test your filter conditions with a test event before saving and enabling the filter. +Destination filters are case-sensitive. Make sure to test your filter conditions with a test event before saving and enabling the filter. From 2e141b693647daa2870b9165b22f144461b89ff0 Mon Sep 17 00:00:00 2001 From: pwseg Date: Thu, 22 Aug 2024 13:09:15 -0400 Subject: [PATCH 19/32] some fixes --- src/engage/audiences/linked-audiences.md | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/engage/audiences/linked-audiences.md b/src/engage/audiences/linked-audiences.md index 2936dc5c02..b1ff671a41 100644 --- a/src/engage/audiences/linked-audiences.md +++ b/src/engage/audiences/linked-audiences.md @@ -6,26 +6,24 @@ redirect_from: - '/unify/linked-profiles/linked-audiences' hidden: true --- -> info "Linked Audiences is in public beta" -> Linked Audiences is in public beta, and Segment is actively working on this feature. Some functionality may change before it becomes generally available. -Linked Audiences allows you to build a warehouse-first solution that powers individualized customer experiences using the relational data you've defined in your [Data Graph](/docs/unify/linked-profiles/data-graph/). +Linked Audiences allows you to build a warehouse-first solution that powers individualized customer experiences using the relational data you've defined in your [Data Graph](/docs/unify/data-graph/data-graph/). -You can: +With Linked Audiences, you can: - Preserve rich relationships between all the data in your warehouse by creating connections with any entity data back to your audience profile. - Build advanced audience segments that include the rich context needed for personalization downstream. - Use a low code builder, enabling marketers to activate warehouse data without having to wait for data pull requests before launching campaigns to targeted audiences. -To learn more about specific use cases you can set up with Linked Audiences, see the [Linked Audiences Use Cases](/docs/engage/audiences/linked-audiences-use-cases/) topic. +To learn more about specific use cases you can set up with Linked Audiences, see [Linked Audiences Use Cases](/docs/engage/audiences/linked-audiences-use-cases/) topic. ## Prerequisites Before you begin setting up your Linked Audience, ensure you have: - [Set up Profiles Sync](/docs/unify/profiles-sync/profiles-sync-setup/). -- Set up your warehouse permissions using [Snowflake](/docs/unify/linked-profiles/setup-guides/snowflake-setup/). -- [Ensure someone has set up your data graph](/docs/unify/linked-profiles/data-graph/). +- Set up your warehouse permissions using [Snowflake](/docs/unify/data-graph/setup-guides/snowflake-setup/). +- [Ensure someone has set up your data graph](/docs/unify/data-graph/data-graph/). - Workspace Owner or Unify Read-only, Engage User, Entities Read-only, and Source Admin [roles in Segment](/docs/segment-app/iam/roles/). ## Setting up Linked Audiences @@ -36,6 +34,7 @@ To set up your Linked Audience, complete the following steps: - [Step 2: Activate your Linked Audiences](#step-2-activate-your-linked-audience) - [Step 3: Send a test event to your destination](#step-3-send-a-test-event-to-your-destination) - [Step 4: Enable your Linked Audience](step-4-enable-your-linked-audience) +- [Step 5: Monitor your Activation]() ## Step 1: Build a Linked Audience @@ -159,7 +158,7 @@ Select the Destination Action to call when the event happens, then click **Next* Configure how and when events are produced with each audience run. Select the entities referenced in the audience builder to act as a trigger for your events. -Event Selection |Definition |Examples +Trigger | Definition |Examples --------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Profile enters audience | Send an event when a profile matches the audience condition. | Send a congratulatory email when a traveler qualifies for premium status with a mileage program.
Send a discount to all customers with a particular product on their wishlist. Profile exits audience | Send an event when a profile no longer matches the audience condition. | Send an email to credit card owners to confirm that their credit cards have been paid in full.
Send a confirmation to a patient when they have completed all their pre-screening forms. From a66a3b26d4eeb3bfdb5af0e4acd4f0abc59a57e4 Mon Sep 17 00:00:00 2001 From: pwseg Date: Thu, 22 Aug 2024 13:10:06 -0400 Subject: [PATCH 20/32] fix table and remove outdated frontmatteer --- src/engage/audiences/linked-audiences.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/engage/audiences/linked-audiences.md b/src/engage/audiences/linked-audiences.md index b1ff671a41..35651eb65d 100644 --- a/src/engage/audiences/linked-audiences.md +++ b/src/engage/audiences/linked-audiences.md @@ -1,10 +1,8 @@ --- title: Linked Audiences plan: engage-foundations -beta: true redirect_from: - '/unify/linked-profiles/linked-audiences' -hidden: true --- Linked Audiences allows you to build a warehouse-first solution that powers individualized customer experiences using the relational data you've defined in your [Data Graph](/docs/unify/data-graph/data-graph/). @@ -166,6 +164,16 @@ Entity enters audience | Send an event when an entity condition associa Entity exits audience | Send an event when an entity condition associated with a profile no longer matches the audience condition. You must select the entity that triggers Segment to send the event| Send a confirmation to a customer when a credit card associated with their profile has been paid off.
Send a confirmation to the primary doctor when each of their associated patients completes their annual check up. Profile enters or exits audience| Send an event when a profile's audience membership changes. | Update a user profile in a destination with the most recent audience membership. +| Trigger | Event type | Definition | Examples | +| -------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Profile enters audience | Track | Send an event when a profile matches the audience condition. | Send a congratulatory email when a traveler qualifies for premium status with a mileage program. Send a discount to all customers with a particular product on their wishlist. | +| Profile exits audience | Track | Send an event when a profile no longer matches the audience condition. | Send an email to credit card owners to confirm that their credit cards have been paid in full. Send a confirmation to a patient when they have completed all their pre-screening forms. | +| Entity enters audience | Track | Send an event when an entity condition associated with a profile matches the audience condition. | Send a reminder to a customer when a credit card associated with their profile has an outstanding balance. Notify a traveler when a flight associated with their profile is delayed. Notify a customer when a product associated with their profile's wishlist is back in stock. | +| Entity exits audience | Track | Send an event when an entity condition associated with a profile no longer matches the audience condition. | Send a confirmation to a customer when a credit card associated with their profile has been paid off. Send a confirmation to the primary doctor when each of their associated patients completes their annual check up. | +| Profile enters or exits audience | Identify | Send an event when a profile's audience membership changes. | Update a user profile in a destination with the most recent audience membership. | + + + ### Step 2d: Configure the event After you select an action, Segment attempts to automatically configure the data fields that will be sent to the destination. You can review and adjust these settings before enabling this event. From 642211c5bde492ea09b1345b0ced2ba1efce3389 Mon Sep 17 00:00:00 2001 From: pwseg Date: Thu, 22 Aug 2024 13:16:17 -0400 Subject: [PATCH 21/32] ugh --- src/engage/audiences/linked-audiences.md | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/src/engage/audiences/linked-audiences.md b/src/engage/audiences/linked-audiences.md index 35651eb65d..e2de7a34a7 100644 --- a/src/engage/audiences/linked-audiences.md +++ b/src/engage/audiences/linked-audiences.md @@ -156,14 +156,6 @@ Select the Destination Action to call when the event happens, then click **Next* Configure how and when events are produced with each audience run. Select the entities referenced in the audience builder to act as a trigger for your events. -Trigger | Definition |Examples ---------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -Profile enters audience | Send an event when a profile matches the audience condition. | Send a congratulatory email when a traveler qualifies for premium status with a mileage program.
Send a discount to all customers with a particular product on their wishlist. -Profile exits audience | Send an event when a profile no longer matches the audience condition. | Send an email to credit card owners to confirm that their credit cards have been paid in full.
Send a confirmation to a patient when they have completed all their pre-screening forms. -Entity enters audience | Send an event when an entity condition associated with a profile matches the audience condition. With this event, you must select the entity that triggers Segment to send the event. | Send a reminder to a customer when a credit card associated with their profile has an outstanding balance.
Notify a traveler when a flight associated with their profile is delayed.
Notify a customer when a product associated with their profile's wishlist is back in stock. -Entity exits audience | Send an event when an entity condition associated with a profile no longer matches the audience condition. You must select the entity that triggers Segment to send the event| Send a confirmation to a customer when a credit card associated with their profile has been paid off.
Send a confirmation to the primary doctor when each of their associated patients completes their annual check up. -Profile enters or exits audience| Send an event when a profile's audience membership changes. | Update a user profile in a destination with the most recent audience membership. - | Trigger | Event type | Definition | Examples | | -------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Profile enters audience | Track | Send an event when a profile matches the audience condition. | Send a congratulatory email when a traveler qualifies for premium status with a mileage program. Send a discount to all customers with a particular product on their wishlist. | @@ -188,11 +180,9 @@ As you're enriching your events in Linked Audiences, you should view a preview o ![A screenshot of the Add activation page, where you can review your payload data.](/docs/engage/images/linked_audience_payload.png) -**Important:** It is important to make a copy of the data from your final payload schema; you will need this data later when you set up your destination. - #### Map event -Only required fields are displayed. All optional & pre-filled fields are hidden. +Only required fields are displayed. All optional & pre-filled fields are hidden, though you can view hidden fields by clicking **Show hidden fields**. These fields are pre-filled with properties that will work by default. @@ -204,10 +194,6 @@ Enter the destination User id for the profile you want to use to test the event, The Event content drop-down shows you a preview of what the data sent to your destination might look like. -### Step 3a: Configure your multi-channel marketing campaign - -If you're using a multi-channel marketing tool, set up your email campaign before continuing. See detailed instructions for [Braze](/docs/engage/audiences/linked-audiences-braze/) or [Iterable](/docs/engage/audiences/linked-audiences-iterable/) for more details. - ## Step 4: Enable your Linked Audience After building your Linked Audience, choose **Save and Enable**. You'll be redirected to the Audience Overview page, where you can view the audience you created. Segment automatically disables your audience so that it doesn't start computing until you're ready. A compute is when Segment runs the audience conditions on your data warehouse and sends events downstream. From c224acd28533c51de3de407199c552844349acb9 Mon Sep 17 00:00:00 2001 From: pwseg Date: Thu, 22 Aug 2024 13:36:28 -0400 Subject: [PATCH 22/32] more cleanup --- src/engage/audiences/linked-audiences.md | 25 +++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/src/engage/audiences/linked-audiences.md b/src/engage/audiences/linked-audiences.md index e2de7a34a7..63c226c1ee 100644 --- a/src/engage/audiences/linked-audiences.md +++ b/src/engage/audiences/linked-audiences.md @@ -136,7 +136,7 @@ To activate your Linked Audience: ### Step 2a: Connecting to a destination -[Destinations](/docs/connections/destinations/) are the business tools or apps that Segment forwards your data to. Adding a destination allows you to act on your data and learn more about your customers in real time. To fully take advantage of Linked Audiences, you must connect and configure at least one destination. +[Destinations](/docs/connections/destinations/) are the business tools or apps that Segment forwards your data to. Adding a destination allows you to act on your data and learn more about your customers in real time. To fully take advantage of Linked Audiences, you must connect and configure at least one destination. Segment supports [Actions Destinations](/docs/connections/destinations/actions/#available-actions-based-destinations) for Linked Audiences. **Note:** Ensure your [destination has been enabled](/connections/destinations/catalog/) in Segment before you begin the steps below. @@ -184,7 +184,7 @@ As you're enriching your events in Linked Audiences, you should view a preview o Only required fields are displayed. All optional & pre-filled fields are hidden, though you can view hidden fields by clicking **Show hidden fields**. -These fields are pre-filled with properties that will work by default. +These fields are pre-filled with properties configured by default. ## Step 3: Send a test event to your destination @@ -196,10 +196,9 @@ The Event content drop-down shows you a preview of what the data sent to your de ## Step 4: Enable your Linked Audience -After building your Linked Audience, choose **Save and Enable**. You'll be redirected to the Audience Overview page, where you can view the audience you created. Segment automatically disables your audience so that it doesn't start computing until you're ready. A compute is when Segment runs the audience conditions on your data warehouse and sends events downstream. +After building your Linked Audience, choose **Save and Enable**. You'll be redirected to the Audience Overview page, where you can view the audience you created. Segment automatically disables your audience so that it doesn't start computing until you're ready. A run is when Segment runs the audience conditions on your data warehouse and sends events downstream. -To enable your audience: -Select the **Enabled** toggle, then select **Enable audience**. +To enable your audience, select the **Enabled** toggle, then select **Enable audience**. ### Run Now @@ -219,3 +218,19 @@ You can maintain your run schedule at any time from the audience's **Settings** You can also click **Run Now** on the Audience Overview page at any time (even if the run schedule is **Interval** Overview **Day and time**) to manually trigger a run on your warehouse and send data to enabled destinations. There may be up to a 5 minute delay from the configured start time for audiences that are configured with the **Interval** and **Day and time** run schedules. For example, if you configured an audience with the **Day and time** compute schedule to run on Mondays at 8am, it can compute as late as Monday at 8:05am. This is to help us better manage our system load. + +## Step 5: Monitor your activation + +With your Linked Audience activated, follow these steps to monitor your activation: + +1. From the Audience Overview page, selected one of your connected destinations. +2. Under the **Settings** tab, click **Destination delivery**, which then opens the Linked Audiences Delivery Overview. + +### Delivery Overview for Linked Audiences + +Delivery Overview shows you four steps in your data activation pipeline: + +- **Events from Audience**: Events that Segment created for your activation. The number of events for each compute depends on the changes detected in your audience membership. +- **Filtered at Destination**: The activation pipeline is rich with features that let you control which events make it to the destination. If any events aren't eligible to be sent (for example, due to destination filters, insert function logic, and so on), Segment will show them in Filtered at Destination. +- **Failed Delivery**: Events that Segment attempted but failed to deliver to your destination. Failed Delivery indicates an issue with the destination, like invalid credentials, rate limits, or other error statuses received during delivery. +- **Successful Delivery**: Events that Segment successfully delivered to your destination. You'll see these events in your downstream integration. \ No newline at end of file From 9b05ea26e1afb6a71f143f52b424b0f6dbff53f7 Mon Sep 17 00:00:00 2001 From: pwseg Date: Thu, 22 Aug 2024 13:39:49 -0400 Subject: [PATCH 23/32] add callout about supported destinations --- src/engage/audiences/linked-audiences.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/engage/audiences/linked-audiences.md b/src/engage/audiences/linked-audiences.md index 63c226c1ee..7eb089c003 100644 --- a/src/engage/audiences/linked-audiences.md +++ b/src/engage/audiences/linked-audiences.md @@ -5,7 +5,9 @@ redirect_from: - '/unify/linked-profiles/linked-audiences' --- -Linked Audiences allows you to build a warehouse-first solution that powers individualized customer experiences using the relational data you've defined in your [Data Graph](/docs/unify/data-graph/data-graph/). +Linked Audiences empowers marketers to effortlessly create targeted audiences by combining behavioral data from the Segment Profile and warehouse entity data within a self-serve, no-code interface. + +This tool accelerates audience creation, enabling precise targeting, enhanced customer personalization, and optimized marketing spend without the need for constant data team support. With Linked Audiences, you can: @@ -136,13 +138,16 @@ To activate your Linked Audience: ### Step 2a: Connecting to a destination -[Destinations](/docs/connections/destinations/) are the business tools or apps that Segment forwards your data to. Adding a destination allows you to act on your data and learn more about your customers in real time. To fully take advantage of Linked Audiences, you must connect and configure at least one destination. Segment supports [Actions Destinations](/docs/connections/destinations/actions/#available-actions-based-destinations) for Linked Audiences. +[Destinations](/docs/connections/destinations/) are the business tools or apps that Segment forwards your data to. Adding a destination allows you to act on your data and learn more about your customers in real time. To fully take advantage of Linked Audiences, you must connect and configure at least one destination. + +> info "Linked Audiences destinations" +> Linked Audiences only supports [Actions Destinations](/docs/connections/destinations/actions/#available-actions-based-destinations). **Note:** Ensure your [destination has been enabled](/connections/destinations/catalog/) in Segment before you begin the steps below. 1. Navigate to **Engage > Audiences**. 2. Select the Linked Audience you set up in the previous step. -3. Select **Add destination**. +3. Select **Add destination**. 4. Select a destination from the catalog. 5. Click **Configure data to send to destination**. From 447c0f20e4ff3b3d1c4e0431ff4d7a4feac6020b Mon Sep 17 00:00:00 2001 From: pwseg Date: Thu, 22 Aug 2024 13:42:14 -0400 Subject: [PATCH 24/32] update intro and fix links [netlify-build] --- src/engage/audiences/linked-audiences.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/engage/audiences/linked-audiences.md b/src/engage/audiences/linked-audiences.md index 7eb089c003..731e3e675c 100644 --- a/src/engage/audiences/linked-audiences.md +++ b/src/engage/audiences/linked-audiences.md @@ -33,8 +33,8 @@ To set up your Linked Audience, complete the following steps: - [Step 1: Build a Linked Audience](#step-1-build-a-linked-audience) - [Step 2: Activate your Linked Audiences](#step-2-activate-your-linked-audience) - [Step 3: Send a test event to your destination](#step-3-send-a-test-event-to-your-destination) -- [Step 4: Enable your Linked Audience](step-4-enable-your-linked-audience) -- [Step 5: Monitor your Activation]() +- [Step 4: Enable your Linked Audience](#step-4-enable-your-linked-audience) +- [Step 5: Monitor your Activation](#step-5-monitor-your-activation) ## Step 1: Build a Linked Audience From f26da8cd93e05f8b12d666018b2dc749bfc48d38 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Thu, 22 Aug 2024 13:43:11 -0400 Subject: [PATCH 25/32] missing a bullet point in the ul --- src/privacy/consent-management/configure-consent-management.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/privacy/consent-management/configure-consent-management.md b/src/privacy/consent-management/configure-consent-management.md index 289260b939..f3f13ba274 100644 --- a/src/privacy/consent-management/configure-consent-management.md +++ b/src/privacy/consent-management/configure-consent-management.md @@ -47,7 +47,7 @@ Segment provides a OneTrust wrapper for the following sources: - **Analytics.js**: Please follow the instructions from the README in the [@segmentio/analytics-consent-wrapper-onetrust](https://github.com/segmentio/analytics-next/tree/master/packages/consent/consent-wrapper-onetrust){:target="_blank"} repository. For more information about Segment's Analytics.js OneTrust wrapper, see the [Analytics.js OneTrust Wrapper](/docs/privacy/consent-management/onetrust-wrapper) documentation. You should also navigate to your Analytics.js source in the Segment app, select **Settings > Analytics.js**, and enable **Destination Filters** before enabling your OneTrust wrapper. - **Kotlin**: Please follow the instructions from the README in the [@segment-integrations/analytics-kotlin-consent](https://github.com/segment-integrations/analytics-kotlin-consent/blob/main/README.md#getting-started){:target="_blank"} repository. - **Swift**: Please follow the instructions from the README in the [@segment-integrations/analytics-swift-consent](https://github.com/segment-integrations/analytics-swift-consent#segment-consent-management){:target="_blank"} repository. -**React Native**: Please follow the instructions from the README in the [@segmentio/analytics-react-native](https://github.com/segmentio/analytics-react-native/tree/master/packages/plugins/plugin-onetrust){:target="_blank"} repository. +- **React Native**: Please follow the instructions from the README in the [@segmentio/analytics-react-native](https://github.com/segmentio/analytics-react-native/tree/master/packages/plugins/plugin-onetrust){:target="_blank"} repository. Ketch provides an integration for their Consent & Preference Management product. For more information, see the Ketch [Segment Tag Management Automation](https://docs.ketch.com/ketch/docs/segment-tag-management-automation){:target="_blank"} documentation. From a99ad50e5e9536418c92089e4340bace0b94e93e Mon Sep 17 00:00:00 2001 From: pwseg Date: Thu, 22 Aug 2024 13:44:21 -0400 Subject: [PATCH 26/32] catalog update --- src/_data/catalog/destination_categories.yml | 2 +- src/_data/catalog/destinations.yml | 2 +- src/_data/catalog/destinations_private.yml | 2 +- src/_data/catalog/source_categories.yml | 2 +- src/_data/catalog/sources.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/_data/catalog/destination_categories.yml b/src/_data/catalog/destination_categories.yml index 5d25326fa8..417fd8fed6 100644 --- a/src/_data/catalog/destination_categories.yml +++ b/src/_data/catalog/destination_categories.yml @@ -1,5 +1,5 @@ # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT -# destination categories last updated 2024-08-20 +# destination categories last updated 2024-08-22 items: - display_name: A/B Testing slug: a-b-testing diff --git a/src/_data/catalog/destinations.yml b/src/_data/catalog/destinations.yml index b428f26825..5d918c8088 100644 --- a/src/_data/catalog/destinations.yml +++ b/src/_data/catalog/destinations.yml @@ -1,5 +1,5 @@ # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT -# destination data last updated 2024-08-20 +# destination data last updated 2024-08-22 items: - id: 637e8d185e2dec264895ea89 display_name: 1Flow diff --git a/src/_data/catalog/destinations_private.yml b/src/_data/catalog/destinations_private.yml index 45ba02a311..f2361635f0 100644 --- a/src/_data/catalog/destinations_private.yml +++ b/src/_data/catalog/destinations_private.yml @@ -1,5 +1,5 @@ # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT -# destination data last updated 2024-08-20 +# destination data last updated 2024-08-22 items: - id: 54521fd925e721e32a72eee1 display_name: Pardot diff --git a/src/_data/catalog/source_categories.yml b/src/_data/catalog/source_categories.yml index de5cde6143..47db547ef4 100644 --- a/src/_data/catalog/source_categories.yml +++ b/src/_data/catalog/source_categories.yml @@ -1,5 +1,5 @@ # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT -# source categories last updated 2024-08-20 +# source categories last updated 2024-08-22 items: - display_name: A/B Testing slug: a-b-testing diff --git a/src/_data/catalog/sources.yml b/src/_data/catalog/sources.yml index ca7f251b3f..f815329da6 100644 --- a/src/_data/catalog/sources.yml +++ b/src/_data/catalog/sources.yml @@ -1,5 +1,5 @@ # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT -# sources last updated 2024-08-20 +# sources last updated 2024-08-22 items: - id: 8HWbgPTt3k display_name: .NET From 08b917928b6506da5642308d0ea138c791ad27c4 Mon Sep 17 00:00:00 2001 From: Thomas Gilbert Date: Thu, 22 Aug 2024 13:56:36 -0400 Subject: [PATCH 27/32] hide inkit docs --- src/connections/destinations/catalog/inkit/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/connections/destinations/catalog/inkit/index.md b/src/connections/destinations/catalog/inkit/index.md index 18915b2595..e6a2360d37 100644 --- a/src/connections/destinations/catalog/inkit/index.md +++ b/src/connections/destinations/catalog/inkit/index.md @@ -2,7 +2,9 @@ title: Inkit Destination rewrite: true id: 5f0746ced1c79b49ddee49fd +hidden: true --- + [Inkit](https://inkit.com){:target="_blank"} and Segment empower organizations to securely generate and distribute documents - both digitally as well as through direct mail. For example, automatically create and send electronic documents like invoices, reports, notices, and more through a magic link or e-delivery. Or generate and send documents for e-signature, storage, postcards, letters, and more, all powered by the Inkit integration for Segment. From 4f7db9f5d1fc2f6ebd9020e88d1ad03e25d43ef0 Mon Sep 17 00:00:00 2001 From: pwseg Date: Thu, 22 Aug 2024 13:57:33 -0400 Subject: [PATCH 28/32] Add Linked Audiences pages to sidenav --- src/_data/sidenav/main.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/_data/sidenav/main.yml b/src/_data/sidenav/main.yml index 51679f9cca..9dac1ad523 100644 --- a/src/_data/sidenav/main.yml +++ b/src/_data/sidenav/main.yml @@ -339,6 +339,18 @@ sections: title: Sample Queries - path: /unify/profiles-sync/tables title: Tables & Materialized Views + - section_title: Data Graph + slug: unify/data-graph + section: + - path: /unify/data-graph/ + title: Data Graph + - section_title: Setup Guides + slug: unify/data-graph/setup-guides/ + section: + - path: /unify/data-graph/setup-guides/snowflake-setup/ + title: Snowflake Setup + - path: /unify/data-graph/setup-guides/databricks-setup/ + title: Databricks Setup - section_title: Traits slug: unify/traits section: @@ -409,6 +421,8 @@ sections: section: - path: '/engage/audiences' title: Audiences Overview + - path: '/engage/audiences/linked-audiences' + title: Linked Audiences - path: '/engage/audiences/account-audiences' title: Account-level Audiences - path: '/engage/audiences/generative-audiences' From cf47e3c008a52f1292249637377fbe248385119c Mon Sep 17 00:00:00 2001 From: pwseg <86626706+pwseg@users.noreply.github.com> Date: Thu, 22 Aug 2024 14:00:07 -0400 Subject: [PATCH 29/32] oops --- src/_data/sidenav/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/_data/sidenav/main.yml b/src/_data/sidenav/main.yml index 9dac1ad523..8a50253069 100644 --- a/src/_data/sidenav/main.yml +++ b/src/_data/sidenav/main.yml @@ -345,7 +345,7 @@ sections: - path: /unify/data-graph/ title: Data Graph - section_title: Setup Guides - slug: unify/data-graph/setup-guides/ + slug: /unify/data-graph/setup-guides/ section: - path: /unify/data-graph/setup-guides/snowflake-setup/ title: Snowflake Setup From 48ab8745355b4b87c5dd9f27946059057b7ca877 Mon Sep 17 00:00:00 2001 From: stayseesong Date: Thu, 22 Aug 2024 11:09:11 -0700 Subject: [PATCH 30/32] edits --- .../libraries/server/http-api/index.md | 31 +++++++++---------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/src/connections/sources/catalog/libraries/server/http-api/index.md b/src/connections/sources/catalog/libraries/server/http-api/index.md index 5baca0fb4d..fa6cca8ceb 100644 --- a/src/connections/sources/catalog/libraries/server/http-api/index.md +++ b/src/connections/sources/catalog/libraries/server/http-api/index.md @@ -74,19 +74,6 @@ You can reuse the access token until the expiry period specified on the OAuth ap To send data to Segment's HTTP API, a content-type header must be set to `'application/json'`. -## Errors - -Segment returns a `200` response for all API requests except errors caused by large payloads and JSON errors (which return `400` responses.) To debug events that return `200` responses but aren't accepted by Segment, use the Segment Debugger. - -Common reasons events are not accepted by Segment include: - - **Payload is too large:** The HTTP API can handle API requests that are 32KB or smaller. The batch API endpoint accepts a maximum of 500KB per request, with a limit of 32KB per event in the batch. If these limits are exceeded, Segment returns a 400 Bad Request error. - - **Identifier is not present**: The HTTP API requires that each payload has a userId and/or anonymousId. - - **Track event is missing name**: All Track events sent to Segment must have an `event` field. - - **Deduplication**: Segment deduplicates events using the `messageId` field, which is automatically added to all payloads coming into Segment. If you're setting up the HTTP API yourself, ensure all events have unique messageId values with fewer than 100 characters. - - **Invalid JSON**: If you send an event with invalid JSON, Segment returns a 400 Bad Request error. - -Segment welcomes feedback on API responses and error messages. [Reach out to support](https://segment.com/help/contact/){:target="_blank"} with any requests or suggestions you may have. - ## Rate limits For each workspace, Segment recommends you to not exceed 1,000 requests per second with the HTTP API. If you exceed this, Segment reserves the right to queue any additional events and process those at a rate that doesn't exceed the limit. Requests that exceed acceptable limits may be rejected with HTTP Status Code 429. When Segment rejects the requests, the response header contains `Retry-After` and `X-RateLimit-Reset` headers, which contains the number of seconds after which you can retry the request. @@ -470,11 +457,23 @@ Destination flags are **case sensitive** and match [the destination's name in th When sending a HTTP call from a user's device, you can collect the IP address by setting `context.direct` to `true`. -## Troubleshooting +## Errors + +Segment returns a `200` response for all API requests except errors caused by large payloads and JSON errors (which return `400` responses.) To debug events that return `200` responses but aren't accepted by Segment, use the Segment Debugger. + +Common reasons events are not accepted by Segment include: + - **Payload is too large:** The HTTP API can handle API requests that are 32KB or smaller. The batch API endpoint accepts a maximum of 500KB per request, with a limit of 32KB per event in the batch. If these limits are exceeded, Segment returns a 400 Bad Request error. + - **Identifier is not present**: The HTTP API requires that each payload has a userId and/or anonymousId. If you send events without either the userId or anonymousId, Segment’s tracking API responds with an no_user_anon_id error. Check the event payload and client instrumentation for more details. + - **Track event is missing name**: All Track events sent to Segment must have an `event` field. + - **Deduplication**: Segment deduplicates events using the `messageId` field, which is automatically added to all payloads coming into Segment. If you're setting up the HTTP API yourself, ensure all events have unique messageId values with fewer than 100 characters. + - **Invalid JSON**: If you send an event with invalid JSON, Segment returns a 400 Bad Request error. + - **Incorrect credentials**: Double check your credentials for your downstream destinations. + - **Destination incompatibility**: Make sure that the destination you are troubleshooting can accept server-side API calls. You can see compatibility information on the [Destination comparison by category](/docs/connections/destinations/category-compare/) page and in the documentation for your specific destination. + - **Destination-specific requirements**: Check the documentation specific to the destination to see if there are other requirements for using the method and destination that you're trying to get working. -{% include content/troubleshooting-intro.md %} +Segment welcomes feedback on API responses and error messages. [Reach out to support](https://segment.com/help/contact/){:target="_blank"} with any requests or suggestions you may have. - +## Troubleshooting ### No events in my debugger From 121b21eafa2891fb77db64882f054b9c7e0ae227 Mon Sep 17 00:00:00 2001 From: pwseg Date: Thu, 22 Aug 2024 14:13:33 -0400 Subject: [PATCH 31/32] move Data Graph page --- src/unify/data-graph/{data-graph.md => index.md} | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) rename src/unify/data-graph/{data-graph.md => index.md} (97%) diff --git a/src/unify/data-graph/data-graph.md b/src/unify/data-graph/index.md similarity index 97% rename from src/unify/data-graph/data-graph.md rename to src/unify/data-graph/index.md index 9a23be63e5..f58c23ab3d 100644 --- a/src/unify/data-graph/data-graph.md +++ b/src/unify/data-graph/index.md @@ -3,6 +3,7 @@ title: Data Graph plan: unify redirect_from: - '/unify/linked-profiles/data-graph' + - '/unify/data-graph/data-graph' --- The Data Graph acts as a semantic layer that allows businesses to define relationships between various entity datasets in the warehouse — such as accounts, subscriptions, households, and products — with the Segment Profile. It makes these relational datasets easily accessible to business teams for targeted and personalized customer engagements. @@ -59,7 +60,7 @@ The Data Graph is a semantic layer that represents a subset of relevant business **Defining Relationships** -Similar to the concept of [cardinality in data modeling](en.wikipedia.org/wiki/Cardinality_(data_modeling)), the Data Graph supports 3 types of relationships: +Similar to the concept of [cardinality in data modeling](https://w.wiki/Ay$u){:target="_blank"}, the Data Graph supports 3 types of relationships: - **Profile-to-entity relationship:** This is a relationship between your entity table and the Segment Profiles tables, and is the first level of relationship. - **1:many relationship:** For example, an `account` can have many `carts`, but each `cart` can only be associated with one `account`. - **many:many relationship:** For example, a user can have many `carts`, and each `cart` can have many `products`. However, these `products` can also belong to many `carts`. @@ -228,9 +229,9 @@ data_graph { ### 3c: Define relationships Now define your relationships between your entities. Similar to the concept of [cardinality in data modeling](en.wikipedia.org/wiki/Cardinality_(data_modeling)), the Data Graph supports 3 types of relationships below. All relationship types require you to define the relationship slug, name, and related entity. Each type of relationship has unique join on conditions. -- **Profile-to-entity relationship:** This is a relationship between your entity table and the Segment Profiles tables, and is the first level of relationship. -- **1:many relationship:** For example, an `account` can have many `carts`, but each `cart` can only be associated with one `account`. -- **many:many relationship:** For example, a user can have many `carts`, and each `cart` can have many `products`. However, these `products` can also belong to many `carts`. +- **[Profile-to-entity relationship](#define-profile-to-entity-relationship):** This is a relationship between your entity table and the Segment Profiles tables, and is the first level of relationship. +- **[1:many relationship](#define-a-1many-relationship):** For example, an `account` can have many `carts`, but each `cart` can only be associated with one `account`. +- **[many:many relationship](#define-manymany-relationship):** For example, a user can have many `carts`, and each `cart` can have many `products`. However, these `products` can also belong to many `carts`. #### Define profile-to-entity relationship This is the first level of relationships and a unique type of relationship between the Segment profile entity and a related entity. From 634b1f598a88ba44e917f7faa3cf9473cc92f69a Mon Sep 17 00:00:00 2001 From: pwseg <86626706+pwseg@users.noreply.github.com> Date: Thu, 22 Aug 2024 15:47:54 -0400 Subject: [PATCH 32/32] fix typo --- src/engage/audiences/linked-audiences.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/engage/audiences/linked-audiences.md b/src/engage/audiences/linked-audiences.md index 731e3e675c..26371b4778 100644 --- a/src/engage/audiences/linked-audiences.md +++ b/src/engage/audiences/linked-audiences.md @@ -15,7 +15,7 @@ With Linked Audiences, you can: - Build advanced audience segments that include the rich context needed for personalization downstream. - Use a low code builder, enabling marketers to activate warehouse data without having to wait for data pull requests before launching campaigns to targeted audiences. -To learn more about specific use cases you can set up with Linked Audiences, see [Linked Audiences Use Cases](/docs/engage/audiences/linked-audiences-use-cases/) topic. +To learn more about specific use cases you can set up with Linked Audiences, see [Linked Audiences Use Cases](/docs/engage/audiences/linked-audiences-use-cases/). ## Prerequisites @@ -238,4 +238,4 @@ Delivery Overview shows you four steps in your data activation pipeline: - **Events from Audience**: Events that Segment created for your activation. The number of events for each compute depends on the changes detected in your audience membership. - **Filtered at Destination**: The activation pipeline is rich with features that let you control which events make it to the destination. If any events aren't eligible to be sent (for example, due to destination filters, insert function logic, and so on), Segment will show them in Filtered at Destination. - **Failed Delivery**: Events that Segment attempted but failed to deliver to your destination. Failed Delivery indicates an issue with the destination, like invalid credentials, rate limits, or other error statuses received during delivery. -- **Successful Delivery**: Events that Segment successfully delivered to your destination. You'll see these events in your downstream integration. \ No newline at end of file +- **Successful Delivery**: Events that Segment successfully delivered to your destination. You'll see these events in your downstream integration.