From ff357584617ddb71d6cc1a36c6a4148e4f743fc4 Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Fri, 21 Mar 2025 14:23:07 +0000 Subject: [PATCH 01/29] Update destination functions - including variable scoping.md --- src/connections/functions/destination-functions.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/connections/functions/destination-functions.md b/src/connections/functions/destination-functions.md index ae56dfd98f..dad4329980 100644 --- a/src/connections/functions/destination-functions.md +++ b/src/connections/functions/destination-functions.md @@ -79,6 +79,12 @@ To change which event type the handler listens to, you can rename it to the name > info "" > Functions' runtime includes a `fetch()` polyfill using a `node-fetch` package. Check out the [node-fetch documentation](https://www.npmjs.com/package/node-fetch){:target="_blank"} for usage examples. +### Variable scoping + +When declaring settings variables, make sure to declare them in the function handler rather than globally in your Function. This prevents you leaking the settings values across other function instances. + +The handler for Destination functions is event-specific, for example, `onTrack()`, `onIdentify()`, etc. + ### Errors and error handling {% include content/functions/errors-and-error-handling.md %} From 6cb7e33b1fca2de851754e9b17e155ce878e75c1 Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Fri, 21 Mar 2025 14:27:08 +0000 Subject: [PATCH 02/29] Update insert functions - include variable scoping.md --- src/connections/functions/insert-functions.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/connections/functions/insert-functions.md b/src/connections/functions/insert-functions.md index e364ba6c94..553d48f471 100644 --- a/src/connections/functions/insert-functions.md +++ b/src/connections/functions/insert-functions.md @@ -111,6 +111,12 @@ To ensure the Destination processes an event payload modified by the function, r > info "" > Functions' runtime includes a `fetch()` polyfill using a `node-fetch` package. Check out the [node-fetch documentation](https://www.npmjs.com/package/node-fetch){:target="_blank"} for usage examples. +### Variable scoping + +When declaring settings variables, make sure to declare them in the function handler rather than globally in your Function. This prevents you leaking the settings values across other function instances. + +The handler for Insert functions is event-specific, for example, `onTrack()`, `onIdentify()`, etc. + ### Errors and error handling Segment considers a function's execution successful if it finishes without error. You can `throw` an error to create a failure on purpose. Use these errors to validate event data before processing it to ensure the function works as expected. From 4fb3423fc01b62e6dd68e66ea4dcb1b6a0137b4a Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Fri, 28 Mar 2025 11:32:21 +0000 Subject: [PATCH 03/29] Update src/connections/functions/destination-functions.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- src/connections/functions/destination-functions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/functions/destination-functions.md b/src/connections/functions/destination-functions.md index dad4329980..10a7298912 100644 --- a/src/connections/functions/destination-functions.md +++ b/src/connections/functions/destination-functions.md @@ -83,7 +83,7 @@ To change which event type the handler listens to, you can rename it to the name When declaring settings variables, make sure to declare them in the function handler rather than globally in your Function. This prevents you leaking the settings values across other function instances. -The handler for Destination functions is event-specific, for example, `onTrack()`, `onIdentify()`, etc. +The handler for destination functions is event-specific. For example, you might have an `onTrack()`or `onIdentify()` function handler. ### Errors and error handling From f0d1a42f6b0ba4d408159be2f6194aae561f4da7 Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Fri, 28 Mar 2025 11:32:28 +0000 Subject: [PATCH 04/29] Update src/connections/functions/destination-functions.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- src/connections/functions/destination-functions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/functions/destination-functions.md b/src/connections/functions/destination-functions.md index 10a7298912..f109a68a4a 100644 --- a/src/connections/functions/destination-functions.md +++ b/src/connections/functions/destination-functions.md @@ -81,7 +81,7 @@ To change which event type the handler listens to, you can rename it to the name ### Variable scoping -When declaring settings variables, make sure to declare them in the function handler rather than globally in your Function. This prevents you leaking the settings values across other function instances. +When declaring settings variables, declare them in the function handler rather than globally in your function. This prevents you from leaking the settings values across other function instances. The handler for destination functions is event-specific. For example, you might have an `onTrack()`or `onIdentify()` function handler. From 9015fb226262f07ce031679c04524a826792422d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mar=C3=ADn=20Alcaraz?= Date: Thu, 10 Apr 2025 15:23:45 -0700 Subject: [PATCH 05/29] Deprecation Banner --- .../destinations/catalog/facebook-offline-conversions/index.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/connections/destinations/catalog/facebook-offline-conversions/index.md b/src/connections/destinations/catalog/facebook-offline-conversions/index.md index 388c05465f..affabe1107 100644 --- a/src/connections/destinations/catalog/facebook-offline-conversions/index.md +++ b/src/connections/destinations/catalog/facebook-offline-conversions/index.md @@ -6,6 +6,9 @@ id: 58ae54dc70a3e552b95415f6 --- [Facebook Offline Conversions](https://www.facebook.com/business/help/1782327938668950?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank”} enables offline event tracking, so marketers can run campaigns, upload transaction data, and compare in-store transactions. +> info "Deprecation Notice" +> The Facebook Offline Conversions API that backs this destination will be discontinued on May 14, 2025. [Ref](https://developers.facebook.com/docs/graph-api/changelog/version17.0#offline-conversions-api). This destination will be deprecated and locked down at the same time. Please use [Facebook Conversions API (Actions)](https://segment.com/docs/connections/destinations/catalog/actions-facebook-conversions-api/#purchase) instead. + > info "Customer Information Parameters Requirements" > As of Facebook Marketing API v13.0+, Facebook began enforcing new requirements for customer information parameters (match keys). To ensure your events don't throw an error, Segment recommends that you review [Facebook’s new requirements](https://developers.facebook.com/docs/graph-api/changelog/version13.0#conversions-api){:target="_blank"}. From 672826ecfb7da9f40ae053b69f125b08e143706e Mon Sep 17 00:00:00 2001 From: sade-wusi Date: Fri, 11 Apr 2025 12:35:39 +0100 Subject: [PATCH 06/29] Added permissions prerequisite info --- .../destinations/catalog/actions-tiktok-audiences/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/actions-tiktok-audiences/index.md b/src/connections/destinations/catalog/actions-tiktok-audiences/index.md index 00b9b4b75c..2499fb9f9b 100644 --- a/src/connections/destinations/catalog/actions-tiktok-audiences/index.md +++ b/src/connections/destinations/catalog/actions-tiktok-audiences/index.md @@ -23,7 +23,9 @@ By using Segment's TikTok Audiences destination, you can increase traffic and dr ### Prerequisites -Before connecting to the TikTok Audiences destination, you must have a [TikTok Ads Manager](https://www.tiktok.com/business/en-US/solutions/ads-manager){:target="_blank"} account. +Before connecting to the TikTok Audiences destination, you must have a [TikTok Ads Manager](https://www.tiktok.com/business/en-US/solutions/ads-manager){:target="_blank"} account, with either Admin or Operator permissions. These roles are required to create and manage campaigns in TikTok. + +For more detail on account and access level permissions, refer to [TikTok's documentation](https://ads.tiktok.com/help/article/how-to-assign-asset-level-permissions?lang=en){:target="_blank"}. ### TikTok Audience Segments From 169b0ecfba9e6e9173758dd82fea0c1afbb226b1 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Mon, 14 Apr 2025 11:47:00 -0400 Subject: [PATCH 07/29] add private beta tag --- src/segment-app/extensions/git.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/segment-app/extensions/git.md b/src/segment-app/extensions/git.md index 97b19156e4..5dae126d31 100644 --- a/src/segment-app/extensions/git.md +++ b/src/segment-app/extensions/git.md @@ -6,7 +6,10 @@ Segment's Git extension lets you manage versioning by syncing changes you make i Git Sync supports synchronization from Segment to Git. When you sync data from Segment to Git, you capture the current state of your workspace through a full sync and includes all new records and changes for supported resources. -You can use [bidirectional sync](#bidirectional-sync) to sync data from Git to Segment. After you enable bidirectional sync, Segment automatically listens for pull requests in your repository and manages all related workspace changes. +You can use [bidirectional sync](#bidirectional-sync) to sync data from Git to Segment. After you enable bidirectional sync, Segment automatically listens for pull requests in your repository and manages all related workspace changes. + +> info "Bidirectional sync is in Private Beta" +> Bidirectional sync is in private beta, and Segment is actively working on this feature. Some functionality may change before it becomes generally available. ## Set up Git Sync @@ -88,6 +91,9 @@ For more information on using Terraform, visit [Terraform's documentation](https Bidirectional sync builds on top of the Git Sync extension and lets you manage your Segment workspace directly in GitHub. After you configure and enable bidirectional sync, Segment automatically listens for pull requests in your repository and manages all related workspace changes. Segment only applies changes when you comment `segment apply` on pull requests that can be successfully merged. +> info "Bidirectional sync is in Private Beta" +> Bidirectional sync is in private beta, and Segment is actively working on this feature. Some functionality may change before it becomes generally available. + Bidirectional sync only supports: - Explicit values ([secrets](#use-secrets-with-bidirectional-sync) require additional configuration) - [Segment resources compatible with Git sync](#working-with-git-sync) From 60a46df62ec5d90583e007a47da2575e73cff512 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Mon, 14 Apr 2025 12:14:32 -0400 Subject: [PATCH 08/29] rm Source-Level Archive Retention Periods --- src/privacy/data-retention-policy.md | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/src/privacy/data-retention-policy.md b/src/privacy/data-retention-policy.md index 0a71bc5808..885c56ff39 100644 --- a/src/privacy/data-retention-policy.md +++ b/src/privacy/data-retention-policy.md @@ -55,21 +55,6 @@ Select the default retention period for the workspace in this setting. This valu - 365 days - 3 years (the default setting starting July 15, 2025) - Unlimited (deprecated July 15, 2025) - -### Source-Level Archive Retention Periods - -> warning "Source-Level Archive Retention Periods will be deprecated on April 15, 2025" -> After April 15, you will no longer be able to override your workspace's default retention period on a source-by-source basis. - -Override the workspace default retention period on a per-source level. - -You can select from the following Archive Retention time periods: -- Default (This is the default value you set in the [Workspace Default Archive Retention Period](#workspace-default-archive-retention-period) setting) -- 14 days -- 30 days -- 90 days -- 180 days -- 365 days ### What data is impacted? From 28c2ee54420cd63dc5a60b045490838159ecc4df Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Mon, 14 Apr 2025 12:16:43 -0400 Subject: [PATCH 09/29] Update data-retention-policy.md --- src/privacy/data-retention-policy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/privacy/data-retention-policy.md b/src/privacy/data-retention-policy.md index 885c56ff39..4a887df76b 100644 --- a/src/privacy/data-retention-policy.md +++ b/src/privacy/data-retention-policy.md @@ -46,7 +46,7 @@ To change your data retention settings, open Segment and navigate to **Privacy > ### Workspace Default Archive Retention Period -Select the default retention period for the workspace in this setting. This value applies to all sources in the workspace, unless overridden in the [Source-Level Archive Retention Periods](#source-level-archive-retention-periods) setting. +Select the default retention period for the workspace in this setting. This value applies to all sources in the workspace. - 14 days - 30 days From d932775a57e4300804b8957463d50ae0e6e75228 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Mon, 14 Apr 2025 12:17:08 -0400 Subject: [PATCH 10/29] [netlify-build] --- src/privacy/data-retention-policy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/privacy/data-retention-policy.md b/src/privacy/data-retention-policy.md index 4a887df76b..4778ba8e73 100644 --- a/src/privacy/data-retention-policy.md +++ b/src/privacy/data-retention-policy.md @@ -130,4 +130,4 @@ Segment unrecoverably deletes the workspace after 30 days of inactivity, unless ### Data deletion delays -When data reaches the end of its retention period, deletion is scheduled in accordance with Segment’s data retention policy. While Segment aims to complete the deletion process promptly, there may be occasional delays due to processing times or technical constraints. Segment is committed to initiating data deletions as soon as possible and strives to complete deletions within 7 days of the scheduled date. \ No newline at end of file +When data reaches the end of its retention period, deletion is scheduled in accordance with Segment’s data retention policy. While Segment aims to complete the deletion process promptly, there may be occasional delays due to processing times or technical constraints. Segment is committed to initiating data deletions as soon as possible and strives to complete deletions within 7 days of the scheduled date. From 312397e155e6c98a703bb3c6ea4dd10be29a5c0b Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Mon, 14 Apr 2025 18:43:58 +0100 Subject: [PATCH 11/29] Update src/connections/destinations/catalog/actions-tiktok-audiences/index.md Co-authored-by: stayseesong <83784848+stayseesong@users.noreply.github.com> --- .../destinations/catalog/actions-tiktok-audiences/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/actions-tiktok-audiences/index.md b/src/connections/destinations/catalog/actions-tiktok-audiences/index.md index 2499fb9f9b..d7f3f04a70 100644 --- a/src/connections/destinations/catalog/actions-tiktok-audiences/index.md +++ b/src/connections/destinations/catalog/actions-tiktok-audiences/index.md @@ -23,7 +23,7 @@ By using Segment's TikTok Audiences destination, you can increase traffic and dr ### Prerequisites -Before connecting to the TikTok Audiences destination, you must have a [TikTok Ads Manager](https://www.tiktok.com/business/en-US/solutions/ads-manager){:target="_blank"} account, with either Admin or Operator permissions. These roles are required to create and manage campaigns in TikTok. +Before connecting to the TikTok Audiences destination, you must have a [TikTok Ads Manager](https://www.tiktok.com/business/en-US/solutions/ads-manager){:target="_blank"} account, with either Admin or Operator permissions to create and manage campaigns in TikTok. For more detail on account and access level permissions, refer to [TikTok's documentation](https://ads.tiktok.com/help/article/how-to-assign-asset-level-permissions?lang=en){:target="_blank"}. From a150dfd7ec011305b1973d516f6df14756fde358 Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Mon, 14 Apr 2025 18:44:10 +0100 Subject: [PATCH 12/29] Update src/connections/destinations/catalog/actions-tiktok-audiences/index.md Co-authored-by: stayseesong <83784848+stayseesong@users.noreply.github.com> --- .../destinations/catalog/actions-tiktok-audiences/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/actions-tiktok-audiences/index.md b/src/connections/destinations/catalog/actions-tiktok-audiences/index.md index d7f3f04a70..c8a092e50a 100644 --- a/src/connections/destinations/catalog/actions-tiktok-audiences/index.md +++ b/src/connections/destinations/catalog/actions-tiktok-audiences/index.md @@ -25,7 +25,7 @@ By using Segment's TikTok Audiences destination, you can increase traffic and dr Before connecting to the TikTok Audiences destination, you must have a [TikTok Ads Manager](https://www.tiktok.com/business/en-US/solutions/ads-manager){:target="_blank"} account, with either Admin or Operator permissions to create and manage campaigns in TikTok. -For more detail on account and access level permissions, refer to [TikTok's documentation](https://ads.tiktok.com/help/article/how-to-assign-asset-level-permissions?lang=en){:target="_blank"}. +For more details on account and access level permissions, refer to [TikTok's documentation](https://ads.tiktok.com/help/article/how-to-assign-asset-level-permissions?lang=en){:target="_blank"}. ### TikTok Audience Segments From 7607ec54921eb261321f44fe6309a994be587d5b Mon Sep 17 00:00:00 2001 From: Prayansh Srivastava Date: Mon, 14 Apr 2025 11:59:53 -0700 Subject: [PATCH 13/29] improve RETL setup instructions --- .../databricks-setup.md | 10 ++++++---- .../reverse-etl-source-setup-guides/postgres-setup.md | 9 +++++++++ .../reverse-etl-source-setup-guides/redshift-setup.md | 11 ++++++++++- .../snowflake-setup.md | 1 + 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md index c47619e20a..7ddcce13e8 100644 --- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md +++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md @@ -12,24 +12,26 @@ At a high level, when you set up Databricks for Reverse ETL, the configured serv ## Required permissions * Make sure the service principal you use to connect to Segment has permissions to use that warehouse. In the Databricks console go to **SQL warehouses** and select the warehouse you're using. Navigate to **Overview > Permissions** and make sure the service principal you use to connect to Segment has *can use* permissions. +* Note the Service Principal UUID from (https://accounts.cloud.databricks.com/user-management/serviceprincipals/) for the following SQL operations. + * To grant access to read data from the tables used in the model query, run: ``` - GRANT USAGE ON SCHEMA TO ``; - GRANT SELECT, READ_METADATA ON SCHEMA TO ``; + GRANT USAGE ON SCHEMA TO ``; + GRANT SELECT, READ_METADATA ON SCHEMA TO ``; ``` * To grant Segment access to create a schema to keep track of the running syncs, run: ``` - GRANT CREATE on catalog TO ``; + GRANT CREATE on catalog TO ``; ``` * If you want to create the schema yourself instead and then give Segment access to it, run: ``` CREATE SCHEMA IF NOT EXISTS __segment_reverse_etl; - GRANT ALL PRIVILEGES ON SCHEMA __segment_reverse_etl TO ``; + GRANT ALL PRIVILEGES ON SCHEMA __segment_reverse_etl TO ``; ``` ## Set up guide diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup.md index 42fe99565d..2a6689f0a8 100644 --- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup.md +++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/postgres-setup.md @@ -31,6 +31,15 @@ To set up Postgres with Reverse ETL: -- allows the "segment" user to create new schemas on the specified database. (this is the name you chose when provisioning your cluster) GRANT CREATE ON DATABASE "" TO "segment"; + + -- create Segment schema + CREATE SCHEMA __segment_reverse_etl; + + -- Allow user to use the Segment schema + GRANT USAGE ON SCHEMA __segment_reverse_etl TO segment; + + -- Grant all privileges on all existing tables in the Segment schema + GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA __segment_reverse_etl TO segment; ``` 4. Make sure the user has correct access permissions to the database. 5. Follow the steps listed in the [Add a source](/docs/connections/reverse-etl/setup/#step-1-add-a-source) section to finish adding Postgres as a source. diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup.md index 6ae2d4bdc0..c32f6f6aca 100644 --- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup.md +++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/redshift-setup.md @@ -15,12 +15,21 @@ To set up Redshift with Reverse ETL: 2. Follow the [networking instructions](/docs/connections/storage/catalog/redshift/#networking) to configure the correct network and security settings. 3. Run the SQL commands below to create a user named `segment`. - ```ts + ```sql -- create a user named "segment" that Segment will use when connecting to your Redshift cluster. CREATE USER segment PASSWORD ''; -- allows the "segment" user to create new schemas on the specified database. (this is the name you chose when provisioning your cluster) GRANT CREATE ON DATABASE "" TO "segment"; + + -- create Segment schema + CREATE SCHEMA __segment_reverse_etl; + + -- Allow user to use the Segment schema + GRANT USAGE ON SCHEMA __segment_reverse_etl TO segment; + + -- Grant all privileges on all current tables in the Segment schema + GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA __segment_reverse_etl TO segment; ``` 4. Follow the steps listed in the [Add a source](/docs/connections/reverse-etl/setup/#step-1-add-a-source) section to finish adding Redshift as your source. diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md index 697b375900..2768240b68 100644 --- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md +++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/snowflake-setup.md @@ -55,6 +55,7 @@ Follow the instructions below to set up the Segment Snowflake connector. Segment -- database access GRANT USAGE ON DATABASE segment_reverse_etl TO ROLE segment_reverse_etl; GRANT CREATE SCHEMA ON DATABASE segment_reverse_etl TO ROLE segment_reverse_etl; + GRANT CREATE TABLE ON SCHEMA __segment_reverse_etl TO ROLE segment_reverse_etl; ``` 6. Enter and run one of the following code snippets below to create the user Segment uses to run queries. For added security, Segment recommends creating a user that authenticates using a key pair. From d1ba6b7d0deb825fca6c29a54b1ef3c93333d9e9 Mon Sep 17 00:00:00 2001 From: stayseesong Date: Mon, 14 Apr 2025 13:48:07 -0700 Subject: [PATCH 14/29] info note on junction table joins --- src/unify/data-graph/index.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/unify/data-graph/index.md b/src/unify/data-graph/index.md index 2061cb55e7..0e0d85485f 100644 --- a/src/unify/data-graph/index.md +++ b/src/unify/data-graph/index.md @@ -354,8 +354,12 @@ For many:many relationships, define the join on between the two entity tables wi **Junction table spec** -| Parameters | Definition | -| --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +> info "" +> When used in junctions tables, `left join` is the column on the junction table to link with the parent (left) entity and `right join` is the column on the junction table to join with the child (right) entity. These values don’t actually manipulate the type of join - they are currently always `INNER JOINS`. + + +| 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 | | `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 | From 87aba652279016b3598129796ab406cc8e9ea7ed Mon Sep 17 00:00:00 2001 From: Prayansh Srivastava Date: Tue, 15 Apr 2025 10:42:12 -0700 Subject: [PATCH 15/29] Update src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md --- .../reverse-etl-source-setup-guides/databricks-setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md b/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md index 7ddcce13e8..88ffe7ce51 100644 --- a/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md +++ b/src/connections/reverse-etl/reverse-etl-source-setup-guides/databricks-setup.md @@ -12,7 +12,7 @@ At a high level, when you set up Databricks for Reverse ETL, the configured serv ## Required permissions * Make sure the service principal you use to connect to Segment has permissions to use that warehouse. In the Databricks console go to **SQL warehouses** and select the warehouse you're using. Navigate to **Overview > Permissions** and make sure the service principal you use to connect to Segment has *can use* permissions. -* Note the Service Principal UUID from (https://accounts.cloud.databricks.com/user-management/serviceprincipals/) for the following SQL operations. +Note the Service Principal UUID from the [User Management Page](https://accounts.cloud.databricks.com/user-management/serviceprincipals/){:target="_blank”} (under Service Principals) for the following SQL operations. * To grant access to read data from the tables used in the model query, run: From 3b8dbc2575901b2b644e167e86251dfa5999a72e Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 15 Apr 2025 13:50:30 -0400 Subject: [PATCH 16/29] Update src/privacy/data-retention-policy.md Co-authored-by: stayseesong <83784848+stayseesong@users.noreply.github.com> --- src/privacy/data-retention-policy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/privacy/data-retention-policy.md b/src/privacy/data-retention-policy.md index 4778ba8e73..3721bc4558 100644 --- a/src/privacy/data-retention-policy.md +++ b/src/privacy/data-retention-policy.md @@ -44,7 +44,7 @@ Segment recommends keeping your data for at least 30 days to enable [replays](/d To change your data retention settings, open Segment and navigate to **Privacy > Settings > Data Retention**. -### Workspace Default Archive Retention Period +### Workspace default archive retention period Select the default retention period for the workspace in this setting. This value applies to all sources in the workspace. From ab276695ef0dcbe29628fb9a7684ece3c98534ef Mon Sep 17 00:00:00 2001 From: stayseesong Date: Tue, 15 Apr 2025 17:03:17 -0700 Subject: [PATCH 17/29] edits --- src/unify/data-graph/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/unify/data-graph/index.md b/src/unify/data-graph/index.md index 0e0d85485f..33f78e6559 100644 --- a/src/unify/data-graph/index.md +++ b/src/unify/data-graph/index.md @@ -355,7 +355,7 @@ For many:many relationships, define the join on between the two entity tables wi **Junction table spec** > info "" -> When used in junctions tables, `left join` is the column on the junction table to link with the parent (left) entity and `right join` is the column on the junction table to join with the child (right) entity. These values don’t actually manipulate the type of join - they are currently always `INNER JOINS`. +> When used in junctions tables, `left join` is the column on the junction table to link with the parent (left) entity, and `right join` is the column on the junction table to join with the child (right) entity. These values don’t manipulate the type of join - they are always `INNER JOINS`. | Parameters |Definition | From 5ab7a05d8bb48d94471a38314e694b661fd63002 Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 15 Apr 2025 19:53:00 -0500 Subject: [PATCH 18/29] delete materialized views alert --- src/unify/data-graph/index.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/unify/data-graph/index.md b/src/unify/data-graph/index.md index 2061cb55e7..f0f9e9134e 100644 --- a/src/unify/data-graph/index.md +++ b/src/unify/data-graph/index.md @@ -13,9 +13,6 @@ The Data Graph acts as a semantic layer that allows businesses to define relatio ## Prerequisites -> info "Why you need both materialized and unmaterialized tables" -> Segment recommends using materialized views for Profiles Sync to optimize performance and reduce query costs with Linked Audiences. However, due to schema inference requirements, you still need to select the matching **unmaterialized tables** as well. Segment relies on the unmaterialized tables during setup, even if they’re not used when queries run. - To use the Data Graph, you'll need the following: - A supported data warehouse with the appropriate Data Graph permissions From 7cd354dd42a5273cf7dd39e163e1e5f06d4649b7 Mon Sep 17 00:00:00 2001 From: pwseg Date: Wed, 16 Apr 2025 00:47:56 -0500 Subject: [PATCH 19/29] delete premier section --- src/engage/index.md | 51 ++------------------------------------------- 1 file changed, 2 insertions(+), 49 deletions(-) diff --git a/src/engage/index.md b/src/engage/index.md index b15e7f45d4..f0cdd3d93a 100644 --- a/src/engage/index.md +++ b/src/engage/index.md @@ -22,56 +22,9 @@ Add detail to user profiles with new traits and use them to power personalized m - [**Predictions**:](/docs/unify/traits/predictions/) Predict the likelihood that users will perform custom events tracked in Segment, like LTV, churn, and purchase. #### Build Audiences -Create lists of users or accounts that match specific criteria. For example, after creating an `inactive accounts` audience that lists paid accounts with no logins in 60 days, you can push the audience to your analytics tools or send an SMS, email, or WhatsApp campaign with Engage Channels. Learn more about [Engage audiences](/docs/engage/audiences/). +Create lists of users or accounts that match specific criteria. For example, after creating an `inactive accounts` audience that lists paid accounts with no logins in 60 days, you can push the audience to your analytics tools or send an SMS, email, or WhatsApp campaign with Engage Channels. Learn more about [Engage audiences](/docs/engage/audiences/). #### Sync audiences to downstream tools Once you create your Computed Traits and Audiences, Engage sends them to your Segment Destinations in just a few clicks. You can use these Traits and Audiences to personalize messages across channels, optimize ad spend, and improve targeting. You can also use the [Profile API](/docs/unify/profile-api) to build in-app and onsite personalization. Learn more about [using Engage data](/docs/engage/using-engage-data/) and the [Profile API](/docs/unify/profile-api). -{% include components/reference-button.html href="https://segment.com/customers/drift/" icon="personas.svg" title="Personalizing marketing campaigns" description="Marketing teams use Engage to run real-time multi-channel marketing campaigns based off specific user attributes they've computed in Engage. Read about how Drift used Engage to increase prospect engagement by 150% in two months." %} - -## Market to customers with Engage Premier and Channels - -To send email, SMS, and WhatsApp campaigns with Engage Channels, you'll connect a [Twilio messaging service](https://support.twilio.com/hc/en-us/articles/223181308-Getting-started-with-Messaging-Services){:target="blank"}, [SendGrid subuser account](https://docs.sendgrid.com/ui/account-and-settings/subusers#create-a-subuser){:target="blank"}, and [WhatsApp messaging service](https://www.twilio.com/docs/whatsapp/self-sign-up){:target="blank"} to your Segment Engage space. Use existing accounts, or create new ones. - -View the [onboarding steps](/docs/engage/onboarding/) for more on how to connect Twilio and SendGrid accounts. - -#### Send email, SMS, and WhatsApp messages in Journeys - -Use Engage to build email, SMS, and WhatsApp campaigns within [Journeys](/docs/engage/journeys/). Send campaigns to [subscribed users](#user-subscriptions) based on event behavior and profile traits. With [message analytics](#message-analytics), you can track the performance of your campaigns. - -- **Send Email**: [Build email campaigns](/docs/engage/campaigns/email-campaigns/) with existing templates, or create a new email template within Journeys. Before you send the email, test the template and set [conversion goals](#conversion-goals). - -- **Send SMS messages**: [Build SMS campaigns](/docs/engage/campaigns/sms-campaigns/) to message users in real-time as a step in a Journey. For example, create an abandoned cart campaign that texts users a reminder to complete their purchase, along with a promo code. Add [merge tags](#personalize-with-merge-tags) and set conversion goals. - -- **Send WhatsApp messages**: [Build WhatsApp campaigns](/docs/engage/campaigns/whatsapp-campaigns) that deliver messages to your customers on the world's most used messaging app. - -To learn more, visit the [CSV Uploader](/docs/engage/profiles/csv-upload/) documentation. - -#### Build Email, SMS, and WhatsApp message templates - -Build personalized [email](/docs/engage/content/email/template/), [SMS](/docs/engage/content/sms/template), and [WhatsApp](/docs/engage/content/whatsapp) templates in Twilio Engage for use in your campaigns. Design email templates with a WYSIWYG [Drag and Drop Editor](/docs/engage/content/email/editor/) or the [HTML Editor](/docs/engage/content/email/html-editor/). Engage saves the templates for you to preview, edit, and reuse throughout Journeys. - -#### Personalize with merge tags -Insert real-time user profile traits from merge tags to personalize each message. For example, address recipients by name or highlight new products from a user's favorite brand. - -#### CSV Uploader -Use the CSV uploader to add or update user profiles and [subscription states](/docs/engage/user-subscriptions/). To learn more, visit the [CSV Uploader](/docs/engage/profiles/csv-upload/) documentation. - -#### User subscriptions - -Set user subscription states in two ways: -- [Upload a CSV file](/docs/engage/profiles/csv-upload/) with lists of users along with their phone, email, and WhatsApp subscription states. -- Programmatically with Segment's [Public API](https://api.segmentapis.com/docs/spaces/#replace-messaging-subscriptions-in-spaces){:target="blank"} - -Use Engage to add subscription states to user email addresses and phone numbers. Subscription states help determine which users you can send campaigns to in Engage. You can set user subscription states with a [CSV file upload](/docs/engage/profiles/csv-upload/), or programmatically with Segment's [Public API](https://api.segmentapis.com/docs/spaces/#replace-messaging-subscriptions-in-spaces){:target="blank"}. - -#### Message Analytics -With analytics in Engage, you can monitor real-time conversion data. Track message performance and customer interaction beyond clicks and opens. Use campaign dashboards to view events such as `Email Delivered`, `Unsubscribed`, `Spam Reported`, and more. - -#### Conversion Goals - -For each message step in a Journey, you can set conversion conditions with events and properties in your Segment space. Then, define a duration after message delivery to track goals. - -For example, track users who perform the event **Order Completed** with a promo code that you send them. - -Visit [Message Analytics](/docs/engage/analytics/) to learn more. +{% include components/reference-button.html href="https://segment.com/customers/drift/" icon="personas.svg" title="Personalizing marketing campaigns" description="Marketing teams use Engage to run real-time multi-channel marketing campaigns based off specific user attributes they've computed in Engage. Read about how Drift used Engage to increase prospect engagement by 150% in two months." %} \ No newline at end of file From c588c9c505ffad14df63b5852b1bd13356720320 Mon Sep 17 00:00:00 2001 From: pwseg <86626706+pwseg@users.noreply.github.com> Date: Wed, 16 Apr 2025 00:59:46 -0500 Subject: [PATCH 20/29] rewording --- .../catalog/facebook-offline-conversions/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/destinations/catalog/facebook-offline-conversions/index.md b/src/connections/destinations/catalog/facebook-offline-conversions/index.md index affabe1107..092d34e722 100644 --- a/src/connections/destinations/catalog/facebook-offline-conversions/index.md +++ b/src/connections/destinations/catalog/facebook-offline-conversions/index.md @@ -6,8 +6,8 @@ id: 58ae54dc70a3e552b95415f6 --- [Facebook Offline Conversions](https://www.facebook.com/business/help/1782327938668950?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank”} enables offline event tracking, so marketers can run campaigns, upload transaction data, and compare in-store transactions. -> info "Deprecation Notice" -> The Facebook Offline Conversions API that backs this destination will be discontinued on May 14, 2025. [Ref](https://developers.facebook.com/docs/graph-api/changelog/version17.0#offline-conversions-api). This destination will be deprecated and locked down at the same time. Please use [Facebook Conversions API (Actions)](https://segment.com/docs/connections/destinations/catalog/actions-facebook-conversions-api/#purchase) instead. +> info "Offline Conversions API deprecation" +> Meta will [discontinue the Offline Conversions API](https://developers.facebook.com/docs/graph-api/changelog/version17.0#offline-conversions-api){:target="_blank"} in May 2025. As a result, this destination will stop accepting data at that time and will no longer be available for use. To continue sending offline conversion events to Meta, migrate to the [Facebook Conversions API (Actions)](/docs/connections/destinations/catalog/actions-facebook-conversions-api/#purchase) destination, which supports offline event tracking. > info "Customer Information Parameters Requirements" > As of Facebook Marketing API v13.0+, Facebook began enforcing new requirements for customer information parameters (match keys). To ensure your events don't throw an error, Segment recommends that you review [Facebook’s new requirements](https://developers.facebook.com/docs/graph-api/changelog/version13.0#conversions-api){:target="_blank"}. From 6da3a5569d250ffa58832ab36253e5e00aaaba85 Mon Sep 17 00:00:00 2001 From: sade-wusi Date: Wed, 16 Apr 2025 15:45:58 +0100 Subject: [PATCH 21/29] added whitespace (testing netlify-build) --- .../destinations/catalog/actions-tiktok-audiences/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/actions-tiktok-audiences/index.md b/src/connections/destinations/catalog/actions-tiktok-audiences/index.md index c8a092e50a..1d6340b2e9 100644 --- a/src/connections/destinations/catalog/actions-tiktok-audiences/index.md +++ b/src/connections/destinations/catalog/actions-tiktok-audiences/index.md @@ -25,7 +25,7 @@ By using Segment's TikTok Audiences destination, you can increase traffic and dr Before connecting to the TikTok Audiences destination, you must have a [TikTok Ads Manager](https://www.tiktok.com/business/en-US/solutions/ads-manager){:target="_blank"} account, with either Admin or Operator permissions to create and manage campaigns in TikTok. -For more details on account and access level permissions, refer to [TikTok's documentation](https://ads.tiktok.com/help/article/how-to-assign-asset-level-permissions?lang=en){:target="_blank"}. +For more details on account and access level permissions, refer to [TikTok's documentation](https://ads.tiktok.com/help/article/how-to-assign-asset-level-permissions?lang=en){:target="_blank"}. ### TikTok Audience Segments From 1f6d71e9f053910775927a3a7414aa2664f62d7c Mon Sep 17 00:00:00 2001 From: sade-wusi Date: Wed, 16 Apr 2025 15:49:12 +0100 Subject: [PATCH 22/29] deleted whitespace [netlify-build] --- .../destinations/catalog/actions-tiktok-audiences/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/actions-tiktok-audiences/index.md b/src/connections/destinations/catalog/actions-tiktok-audiences/index.md index 1d6340b2e9..c8a092e50a 100644 --- a/src/connections/destinations/catalog/actions-tiktok-audiences/index.md +++ b/src/connections/destinations/catalog/actions-tiktok-audiences/index.md @@ -25,7 +25,7 @@ By using Segment's TikTok Audiences destination, you can increase traffic and dr Before connecting to the TikTok Audiences destination, you must have a [TikTok Ads Manager](https://www.tiktok.com/business/en-US/solutions/ads-manager){:target="_blank"} account, with either Admin or Operator permissions to create and manage campaigns in TikTok. -For more details on account and access level permissions, refer to [TikTok's documentation](https://ads.tiktok.com/help/article/how-to-assign-asset-level-permissions?lang=en){:target="_blank"}. +For more details on account and access level permissions, refer to [TikTok's documentation](https://ads.tiktok.com/help/article/how-to-assign-asset-level-permissions?lang=en){:target="_blank"}. ### TikTok Audience Segments From bdd3a2310da61a1e9453348583e75b436a4f679f Mon Sep 17 00:00:00 2001 From: rchinn1 Date: Wed, 16 Apr 2025 07:59:29 -0700 Subject: [PATCH 23/29] quick fix --- src/connections/destinations/catalog/facebook-pixel/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/destinations/catalog/facebook-pixel/index.md b/src/connections/destinations/catalog/facebook-pixel/index.md index 5fb11ea0f1..579c00566a 100644 --- a/src/connections/destinations/catalog/facebook-pixel/index.md +++ b/src/connections/destinations/catalog/facebook-pixel/index.md @@ -110,7 +110,7 @@ In addition, Segment sends the following event types as Standard events: - `Products Searched`, which Segment sends as `Search` - `Checkout Started`, which Segment sends as `InitiateCheckout` -Facebook requires a currency for `Purchase` events. If you leave it out a currency, Segment will set a default value of `USD`. +Facebook requires a currency for `Purchase` events. If you leave out a currency, Segment will set a default value of `USD`. You can set custom properties for the events listed above. Use the setting "Standard Events custom properties" to list all the properties you want to send. @@ -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". -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. +The same mapping can be used to change the `content_ids` 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 3310fe6b898d917ab3675853861ecb4d34add454 Mon Sep 17 00:00:00 2001 From: pwseg <86626706+pwseg@users.noreply.github.com> Date: Wed, 16 Apr 2025 12:32:27 -0500 Subject: [PATCH 24/29] style changes --- src/connections/functions/insert-functions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/functions/insert-functions.md b/src/connections/functions/insert-functions.md index 553d48f471..162af72577 100644 --- a/src/connections/functions/insert-functions.md +++ b/src/connections/functions/insert-functions.md @@ -113,9 +113,9 @@ To ensure the Destination processes an event payload modified by the function, r ### Variable scoping -When declaring settings variables, make sure to declare them in the function handler rather than globally in your Function. This prevents you leaking the settings values across other function instances. +When declaring settings variables, make sure to declare them in the function handler rather than globally in your function. This prevents you leaking the settings values across other function instances. -The handler for Insert functions is event-specific, for example, `onTrack()`, `onIdentify()`, etc. +The handler for insert functions is event-specific, for example, `onTrack()`, `onIdentify()`, and so on. ### Errors and error handling From c52aa4c6794a9af07a4087f019a5555d407eaf14 Mon Sep 17 00:00:00 2001 From: pwseg Date: Wed, 16 Apr 2025 12:42:24 -0500 Subject: [PATCH 25/29] fix broken anchor link --- src/connections/functions/insert-functions.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/connections/functions/insert-functions.md b/src/connections/functions/insert-functions.md index 162af72577..f40678d9df 100644 --- a/src/connections/functions/insert-functions.md +++ b/src/connections/functions/insert-functions.md @@ -182,8 +182,7 @@ async function onIdentify(event) { ``` If you don't supply a function for an event type, Segment throws an `EventNotSupported` error by default. - -You can read more about [error handling](#destination-insert-functions-logs-and-errors) below. +See [errors and error handling](#errors-and-error-handling) for more information on supported error types and how to troubleshoot them. ## Runtime and dependencies From f7772bef2b5ca87d5aa9a29126e281362b67b5c4 Mon Sep 17 00:00:00 2001 From: stayseesong Date: Wed, 16 Apr 2025 10:54:48 -0700 Subject: [PATCH 26/29] re-write --- src/unify/data-graph/index.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/unify/data-graph/index.md b/src/unify/data-graph/index.md index 33f78e6559..2850531b10 100644 --- a/src/unify/data-graph/index.md +++ b/src/unify/data-graph/index.md @@ -354,10 +354,6 @@ For many:many relationships, define the join on between the two entity tables wi **Junction table spec** -> info "" -> When used in junctions tables, `left join` is the column on the junction table to link with the parent (left) entity, and `right join` is the column on the junction table to join with the child (right) entity. These values don’t manipulate the type of join - they are always `INNER JOINS`. - - | 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 | @@ -365,6 +361,18 @@ For many:many relationships, define the join on between the two entity tables wi | `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 | + +When you define a many-to-many relationship using a junction table, `left_join_on` and `right_join_on` tell Data Graph how to connect each entity to the junction table: + +* Use `left_join_on` to specify which column in the junction table links to the parent (left) entity. + +* Use `right_join_on` to specify which column links to the child (right) entity. + +These fields define the join conditions, but they don’t control how the join is executed. Data Graph always performs inner joins, even if you specify a `left_join_on`. + +If you need behavior similar to a left join (like including unmatched rows), create a view in your warehouse with the logic you’re targeting and reference that view as an entity in your graph. + + **Example:** ```python From 10ceb70e508f765572f2be0f04175cdfad69ae21 Mon Sep 17 00:00:00 2001 From: stayseesong Date: Wed, 16 Apr 2025 11:12:17 -0700 Subject: [PATCH 27/29] Linked Events syncs clarification --- src/unify/data-graph/linked-events.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/unify/data-graph/linked-events.md b/src/unify/data-graph/linked-events.md index 407b8b303f..ea32cb189e 100644 --- a/src/unify/data-graph/linked-events.md +++ b/src/unify/data-graph/linked-events.md @@ -159,7 +159,7 @@ To configure your sync schedule: 3. Click **Edit** next to **Sync schedule**. 4. Select the **Schedule type**. You can choose from: * **Manual**: Trigger the sync manually or with Segment's API. - * **Interval**: Sync based on a by-the minute, hourly, or daily cycle. For example, once every 2 hours. + * **Interval**: Sync at predefined intervals: 15 min, 30 min, 1 hour, 2 hours, 4 hours, 6 hours, 8 hours, 12 hours, or 1 day * **Day and time**: Sync at specific times on selected days of the week. For example, Mondays at 2:00PM. ### Add entities @@ -213,7 +213,7 @@ To use Linked Events, be sure that you have proper permissions for the Data Ware #### How often do syncs occur? -Segment currently syncs once every hour. +You can configure your syncs to occur at predefined intervals: 15 min, 30 min, 1 hour, 2 hours, 4 hours, 6 hours, 8 hours, 12 hours, or 1 day. See the section on [configuring the sync schedule](#configure-the-sync-schedule) to learn more. #### Which Destinations does Linked Events support? From 33de2fa21e34cf967ac13c377ebc010837e9c91e Mon Sep 17 00:00:00 2001 From: stayseesong Date: Wed, 16 Apr 2025 11:23:38 -0700 Subject: [PATCH 28/29] removed faq from actions-klaviyo --- src/connections/destinations/catalog/actions-klaviyo/index.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/connections/destinations/catalog/actions-klaviyo/index.md b/src/connections/destinations/catalog/actions-klaviyo/index.md index 0521bb9f3f..763ae25b4b 100644 --- a/src/connections/destinations/catalog/actions-klaviyo/index.md +++ b/src/connections/destinations/catalog/actions-klaviyo/index.md @@ -107,10 +107,6 @@ Some customers experience 403 errors when sending audience data to Klaviyo throu To reduce the number of `403` errors that you encounter, enable [IP Allowlisting](/docs/connections/destinations/#ip-allowlisting) for your workspace. For more information the range of IP addresses Klaviyo uses for integration traffic, see Klaviyo's [How to allowlist Klaviyo integration traffic IP addresses](https://help.klaviyo.com/hc/en-us/articles/19143781289115){:target="_blank”} documentation. -#### Can I send Engage Audiences to a pre-created Klaviyo List? - -No. Engage audiences are designed to initiate the creation of new lists in Klaviyo when you use the "Add Profile to List - Engage" mapping. You cannot link Engage lists to existing Klaviyo lists and cannot edit the List ID for Engage audiences. - #### How can I unsuppress a profile when adding it to a list? When adding a user to a list, our action make use of the [Bulk Profile Import](https://developers.klaviyo.com/en/reference/spawn_bulk_profile_import_job){:target="_blank”} endpoint (when batching is enabled), and the [Add Profile To List](https://developers.klaviyo.com/en/reference/create_list_relationships){:target="_blank”} endpoint for non-batched requests. Both of which will not update a users suppression status if they were previously suppressed. From a6b108ae09a3b6a3f99bdc8ee9378329345d10e3 Mon Sep 17 00:00:00 2001 From: stayseesong Date: Wed, 16 Apr 2025 11:45:03 -0700 Subject: [PATCH 29/29] 20250416 make catalog --- 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 ca461149bd..643b9105e5 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 2025-04-10 +# destination categories last updated 2025-04-16 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 59414630d4..27ea7a85e2 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 2025-04-10 +# destination data last updated 2025-04-16 items: - id: 637e8d185e2dec264895ea89 display_name: 1Flow diff --git a/src/_data/catalog/destinations_private.yml b/src/_data/catalog/destinations_private.yml index 61d530d36b..321738d13b 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 2025-04-10 +# destination data last updated 2025-04-16 items: - id: 54521fd925e721e32a72eee1 display_name: Pardot diff --git a/src/_data/catalog/source_categories.yml b/src/_data/catalog/source_categories.yml index af303e8e13..9f2655d02f 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 2025-04-10 +# source categories last updated 2025-04-16 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 b05ab5cfeb..d99cc6d0ff 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 2025-04-10 +# sources last updated 2025-04-16 items: - id: 8HWbgPTt3k display_name: .NET