From 8440514a19164f5e1b1c0cc758302a89ff91a16a Mon Sep 17 00:00:00 2001 From: sade-wusi Date: Tue, 2 Sep 2025 15:36:33 +0100 Subject: [PATCH 01/79] Braze destination docs review and update --- .../catalog/actions-braze-cloud/index.md | 32 ++++++------ .../catalog/actions-braze-web/index.md | 51 ++++++++++--------- 2 files changed, 43 insertions(+), 40 deletions(-) diff --git a/src/connections/destinations/catalog/actions-braze-cloud/index.md b/src/connections/destinations/catalog/actions-braze-cloud/index.md index c332f1969b..3f288b8e82 100644 --- a/src/connections/destinations/catalog/actions-braze-cloud/index.md +++ b/src/connections/destinations/catalog/actions-braze-cloud/index.md @@ -1,12 +1,12 @@ --- -title: Braze Cloud Mode (Actions) Destination +title: Braze Cloud-Mode (Actions) Destination hide-boilerplate: true hide-dossier: false id: 60f9d0d048950c356be2e4da redirect_from: - '/connections/destinations/catalog/braze-cloud-mode-actions/' versions: - - name: 'Braze Web Mode (Actions)' + - name: 'Braze Web-Mode (Actions)' link: '/docs/connections/destinations/catalog/actions-braze-web/' - name: 'Braze (Classic)' link: '/docs/connections/destinations/catalog/braze' @@ -18,17 +18,18 @@ versions: > success "" > **Good to know**: This page is about the [Actions-framework](/docs/connections/destinations/actions/) Braze Segment destination. There's also a page about the [non-Actions Braze destination](/docs/connections/destinations/catalog/braze/). Both of these destinations receives data _from_ Segment. There's also the [Braze source](/docs/connections/sources/catalog/cloud-apps/braze//), which sends data _to_ Segment! -## Benefits of Braze Cloud Mode (Actions) vs Braze Classic +## Benefits of Braze Cloud-Mode (Actions) vs Braze (Classic) -Braze Cloud Mode (Actions) provides the following benefit over Braze Classic: +Braze cloud-mode (Actions) provides the following benefit over Braze (Classic): -- **E-commerce mappings**. Segment implementations that don't follow the e-commerce spec due to incompatible event names (for example, Trip Booked vs Order Completed) can use Event Triggers to log purchases in Braze Cloud Mode (Actions). +- **E-commerce mappings**. Segment implementations that don't follow the e-commerce spec due to incompatible event names (for example, Trip Booked vs Order Completed) can use Event Triggers to log purchases in Braze cloud-mode (Actions). -## Getting Started +## Getting started -1. From the Segment web app, click **Catalog**. -2. Search for "Braze" in the Catalog, select **Braze Cloud Mode (Actions)**, and choose which of your sources to connect the destination to. -3. Add the following Connection Settings: +1. From the Segment web app, navigate to **Connections > Catalog**. +2. Search for "Braze" in the Catalog in the Destinations Catalog and select **Braze**. +3. Choose which of your sources to connect the destination to and follow the steps to create your destination. +4. In the **Settings** tab, add the following Connection Settings: - **API Key**: Created under Developer Console in the Braze Dashboard. - **App ID**: The app identifier used to reference specific Apps in requests made to the Braze API. Created under Developer Console in the Braze Dashboard. - **REST Endpoint**: Your Braze REST Endpoint. For more information, see [API Overview](https://www.braze.com/docs/api/basics/){:target="_blank"} in the Braze documentation. @@ -36,10 +37,9 @@ Braze Cloud Mode (Actions) provides the following benefit over Braze Classic: > info "" > Braze now supports sending `email` as an identifier. Braze requires that you include `userId`, `braze_id`, or `email` for all calls made in cloud-mode. Segment sends a `braze_id` if the `userId` is missing. When you use a device-mode connection, Braze automatically tracks anonymous activity using the `braze_id` if a `userId` is missing. - ## Actions v2 -Segment’s introduced the following v2 Actions to add additional functionality to the Braze Cloud Mode (Actions) destination: +Segment’s introduced the following v2 Actions to add functionality to the Braze cloud-mode (Actions) destination: - [Update User Profile v2](#update-user-profile-v2) - [Track Event v2](#track-event-v2) - [Identify User v2](#identify-user-v2) @@ -71,8 +71,10 @@ Keep the following in mind if you plan to move to Braze (Actions) from the class ## Troubleshooting -### Missing required fields -Braze requires one of either `external_id`, `user_alias`, or `braze_id` to be present in all events sent. If events are failing to send, please check your event mappings to make sure these fields are resolving to valid values. +##### Missing required fields +Braze requires one of either `external_id`, `user_alias`, or `braze_id` to be present in all events sent. If events are failing to send, check your event mappings to make sure these fields are resolving to valid values. + +#### Missing events +When an event is sent under an alias, it might appear to be missing if the alias cannot be found in Braze. This might be due to an incorrect search for the alias in Braze. -### Missing events -When an event is sent under an alias, the event may seem to be missing when the alias cannot be found in Braze. This may be due to incorrect search for the alias in Braze. To search for an alias in Braze, use the format "Alias Label:Alias Name". For example, if the "Alias Label" field is set as email and "Alias Name" field is set as email address (for example: "test@email.com"), use "email:test@email.com" to search for the alias in Braze. +To search for an alias in Braze, use the format `Alias Label:Alias Name`. For example, if the "Alias Label" field is set as email and "Alias Name" field is set as email address, for example: "test@email.com", you should search for the alias using "email:test@email.com". diff --git a/src/connections/destinations/catalog/actions-braze-web/index.md b/src/connections/destinations/catalog/actions-braze-web/index.md index d1420d8c4d..099694216f 100644 --- a/src/connections/destinations/catalog/actions-braze-web/index.md +++ b/src/connections/destinations/catalog/actions-braze-web/index.md @@ -1,5 +1,5 @@ --- -title: Braze Web Mode (Actions) Destination +title: Braze Web-Mode (Actions) Destination hide-boilerplate: true hide-dossier: false redirect_from: @@ -7,7 +7,7 @@ redirect_from: - '/connections/destinations/catalog/braze-web-device-mode-actions/' id: 60fb01aec459242d3b6f20c1 versions: - - name: 'Braze Cloud Mode (Actions)' + - name: 'Braze Cloud-Mode (Actions)' link: '/docs/connections/destinations/catalog/actions-braze-cloud' - name: 'Braze (Classic)' link: '/docs/connections/destinations/catalog/braze' @@ -16,19 +16,20 @@ versions: [Braze](https://www.braze.com/){:target="_blank"}, formerly Appboy, is an engagement platform that empowers growth by helping marketing teams to build customer loyalty through mobile, omni-channel customer experiences. -## Benefits of Braze Web Mode (Actions) vs Braze Classic +## Benefits of Braze Web-Mode (Actions) vs Braze (Classic) -Braze Web Mode (Actions) provides the following benefits over Braze Classic: +Braze web-mode (Actions) provides the following benefits over Braze (Classic): -- **E-commerce mappings**. Users who can't follow the e-commerce spec due to incompatible event names (for example, Trip Booked vs Order Completed) can log purchases in Braze Web Mode (Actions). +- **E-commerce mappings**. Users who can't follow the e-commerce spec due to incompatible event names (for example, Trip Booked vs Order Completed) can log purchases in Braze web-mode (Actions). ## Getting Started -1. From the Segment web app, click **Catalog**. -2. Search for "Braze" in the Catalog, select **Braze Web Mode (Actions)**, and choose which of your sources to connect the destination to. -3. Configure the Connection Settings. **API Key** and **SDK Endpoint** are required settings. +1. From the Segment web app, navigate to **Connections > Catalog**. +2. Search for "Braze" in the Catalog in the Destinations Catalog and select **Braze**. +3. Choose which of your sources to connect the destination to and follow the steps to create your destination. +4. In the **Settings** tab, configure the connection settings. **API Key**, **SDK Endpoint**, and **REST Endpoint** are required settings. -After setting up your Braze Web Mode (Action) destination in the Segment app, Segment's Analytics.js library starts asynchronously loading the Braze SDK on your page and sending data. Data appears in the Segment CDN in about 45 minutes. +After setting up your Braze web-mode (Action) destination in the Segment app, Segment's Analytics.js library starts asynchronously loading the Braze SDK on your page and sending data. Data appears in the Segment CDN in about 45 minutes. > info "" > If you're using a device-mode connection, Braze's SDK assigns a `device_id` and a backend identifier, `braze_id`, to every user. This allows Braze to capture anonymous activity from the device by matching on those identifiers instead of `userId`. This applies to _device-mode connections_. @@ -38,11 +39,11 @@ After setting up your Braze Web Mode (Action) destination in the Segment app, Se ## Other features -Braze Web Mode (Actions) can use the following features of Braze. +Braze web-mode (Actions) can use the following features of Braze. -### In-app Messaging +### In-app messaging -Once configured, you can trigger in-app message display as a result of several different event types. By default, all In-App Messages that a user is eligible for are automatically delivered to the user upon a session start event. A new session automatically starts when a user loads your site. If you'd like to force a new session for a user, make an Identify call with the corresponding [userId](/docs/connections/spec/identify/#user-id) for that user. +Once configured, you can trigger in-app message display as a result of several different event types. By default, all In-App Messages that a user is eligible for are automatically delivered to the user upon a session start event. A new session automatically starts when a user loads your site. If you'd like to force a new session for a user, make an [Identify](/docs/connections/spec/identify/) call with the corresponding [userId](/docs/connections/spec/identify/#user-id) for that user. If you don't want your site to display new In-App Messages as they're received, disable automatic display and register your own display subscribers. To do this: @@ -66,11 +67,11 @@ The `inAppMessages` parameter will be an array of [`appboy.ab.InAppMessage`](htt -### Push Notifications +### Push notifications -1. To support push notifications on Chrome, you'll need to enable FCM/GCM as well as configure your site. Check out steps [one and two here for detailed instructions on both](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/initial_sdk_setup#step-1-to-support-chrome-enable-fcmgcm){:target="_blank"}. +1. To support push notifications on Chrome, you must enable FCM/GCM and configure your site. See steps [one and two in the Braze docs for detailed instructions on both](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/initial_sdk_setup#step-1-to-support-chrome-enable-fcmgcm){:target="_blank"}. -2. Browser Registration. In order for a browser to receive push notifications, you must register it for push by calling: +2. **Browser Registration**: For a browser to receive push notifications, you must register it for push by calling: ```js analytics.ready(function() { @@ -78,9 +79,9 @@ The `inAppMessages` parameter will be an array of [`appboy.ab.InAppMessage`](htt }); ``` - **Note:** Place this snippet outside of your [Segment Snippet](/docs/connections/sources/catalog/libraries/website/javascript/quickstart/#step-2-copy-the-segment-snippet) within your `script` tag. + **Note**: Place this snippet outside of your [Segment Snippet](/docs/connections/sources/catalog/libraries/website/javascript/quickstart/#step-2-copy-the-segment-snippet) within your `script` tag. - **Note:** This requests push permission from the user. + **Note**: This requests push permission from the user. To show your own push-related UI to the user before requesting push permission (known as a soft push prompt), you can test to see if the user's browser supports push by calling: @@ -106,9 +107,9 @@ analytics.ready(function() { 2. To support push notifications on Safari, add your Website Push ID into your Segment Settings UI and Segment sends it when the Braze Web SDK initializes. To get your Website Push ID, follow the first two bullet points in [these instructions](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/initial_sdk_setup#step-5-configure-safari-push){:target="_blank"}. -### Soft Push Prompts +### Soft push prompts -1. Follow [step one](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/push_notifications/soft_push_prompt/#step-1-create-a-push-primer-campaign){:target="_blank"} to create a "Prime for Push" in-app messaging Campaign on the Braze dashboard. +1. Follow [step one](https://www.braze.com/docs/developer_guide/platform_integration_guides/web/push_notifications/soft_push_prompt/#step-1-create-a-push-primer-campaign){:target="_blank"} detailed in the Braze docs, to create a "Prime for Push" in-app messaging Campaign on the Braze dashboard. 2. Add the following snippet to your site: @@ -162,24 +163,24 @@ For more details on this snippet, see Braze's [Soft push prompt](https://www.bra }); ``` -### Enable SDK Authentication +### Enable SDK authentication When "Enable SDK Authentication" is enabled, Segment will set Braze's `enableSdkAuthentication` to `true`. When this feature is enabled, the Braze SDK will append the current user’s last known JWT to network requests made to Braze Servers. -## Important differences from the classic Braze destination -- Braze Web Mode (Actions) supports the Braze [Web](https://github.com/segment-integrations/analytics.js-integration-appboy){:target="_blank"} integration. [Braze Cloud Mode (Actions)](/docs/connections/destinations/catalog/actions-braze-cloud) supports server and mobile sources, but to use mobile sources in device-mode, use the Braze Classic destination. +## Important differences from Braze (Classic) destination +- Braze web-mode (Actions) supports the Braze [Web](https://github.com/segment-integrations/analytics.js-integration-appboy){:target="_blank"} integration. [Braze Cloud-Mode (Actions)](/docs/connections/destinations/catalog/actions-braze-cloud) supports server and mobile sources, but to use mobile sources in device-mode, use the Braze Classic destination. -## Migration from Braze Classic +## Migration from Braze (Classic) Keep the following in mind if you plan to move to Braze (Actions) from the classic Braze destination. {% include components/actions-map-table.html name="braze-web" %} -## FAQ +## FAQs -### How does the Debounce Middleware Action work? +#### How does the Debounce Middleware Action work? The following [Debounce Middleware](/docs/connections/destinations/catalog/actions-braze-web/#debounce-middleware) logic is executed at the source-level: From cf343c6ac2ebbfed116bd0b24eb5b6e1ef5f290f Mon Sep 17 00:00:00 2001 From: sade-wusi Date: Tue, 2 Sep 2025 15:37:15 +0100 Subject: [PATCH 02/79] [netlify-build] --- .../destinations/catalog/actions-braze-cloud/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/actions-braze-cloud/index.md b/src/connections/destinations/catalog/actions-braze-cloud/index.md index 3f288b8e82..fa166ac903 100644 --- a/src/connections/destinations/catalog/actions-braze-cloud/index.md +++ b/src/connections/destinations/catalog/actions-braze-cloud/index.md @@ -77,4 +77,4 @@ Braze requires one of either `external_id`, `user_alias`, or `braze_id` to be pr #### Missing events When an event is sent under an alias, it might appear to be missing if the alias cannot be found in Braze. This might be due to an incorrect search for the alias in Braze. -To search for an alias in Braze, use the format `Alias Label:Alias Name`. For example, if the "Alias Label" field is set as email and "Alias Name" field is set as email address, for example: "test@email.com", you should search for the alias using "email:test@email.com". +To search for an alias in Braze, use the format `Alias Label:Alias Name`. For example, if the "Alias Label" field is set as email and "Alias Name" field is set as email address, for example: "test@email.com", you should search for the alias using "email:test@email.com". \ No newline at end of file From b53ef10f815849598c0c3c3a1f719262b1645c42 Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Tue, 2 Sep 2025 16:23:14 +0100 Subject: [PATCH 03/79] web-mode see mappings reqs callout [netlify-build] --- .../destinations/catalog/actions-braze-web/index.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/connections/destinations/catalog/actions-braze-web/index.md b/src/connections/destinations/catalog/actions-braze-web/index.md index 099694216f..15a02d5063 100644 --- a/src/connections/destinations/catalog/actions-braze-web/index.md +++ b/src/connections/destinations/catalog/actions-braze-web/index.md @@ -27,6 +27,10 @@ Braze web-mode (Actions) provides the following benefits over Braze (Classic): 1. From the Segment web app, navigate to **Connections > Catalog**. 2. Search for "Braze" in the Catalog in the Destinations Catalog and select **Braze**. 3. Choose which of your sources to connect the destination to and follow the steps to create your destination. +> warning "Mapping settings" +> Some events require specific property names to map correctly into Braze. +> For example, purchase events must use a `products` arry with `product_id` and `price. +> See [Braze-web settings mappings](#braze-web-settings-mapping) for the full list before setting up mappings. 4. In the **Settings** tab, configure the connection settings. **API Key**, **SDK Endpoint**, and **REST Endpoint** are required settings. After setting up your Braze web-mode (Action) destination in the Segment app, Segment's Analytics.js library starts asynchronously loading the Braze SDK on your page and sending data. Data appears in the Segment CDN in about 45 minutes. From 3fc38302e8e60e16139d8afb4da6f6f22a1539d8 Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Tue, 2 Sep 2025 16:33:10 +0100 Subject: [PATCH 04/79] typo/ wording fix --- .../destinations/catalog/actions-braze-web/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/destinations/catalog/actions-braze-web/index.md b/src/connections/destinations/catalog/actions-braze-web/index.md index 15a02d5063..ec38d61f17 100644 --- a/src/connections/destinations/catalog/actions-braze-web/index.md +++ b/src/connections/destinations/catalog/actions-braze-web/index.md @@ -29,8 +29,8 @@ Braze web-mode (Actions) provides the following benefits over Braze (Classic): 3. Choose which of your sources to connect the destination to and follow the steps to create your destination. > warning "Mapping settings" > Some events require specific property names to map correctly into Braze. -> For example, purchase events must use a `products` arry with `product_id` and `price. -> See [Braze-web settings mappings](#braze-web-settings-mapping) for the full list before setting up mappings. +> For example, purchase events must use a `products` array with `product_id` and `price. +> See [Braze-web settings mappings](#braze-web-settings-mapping) for the full list of requirements before setting up mappings. 4. In the **Settings** tab, configure the connection settings. **API Key**, **SDK Endpoint**, and **REST Endpoint** are required settings. After setting up your Braze web-mode (Action) destination in the Segment app, Segment's Analytics.js library starts asynchronously loading the Braze SDK on your page and sending data. Data appears in the Segment CDN in about 45 minutes. From 3a7a8b2c482d6c3598dcd4f9da5c20c4861555bd Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Tue, 2 Sep 2025 17:34:53 +0100 Subject: [PATCH 05/79] clarifying mappings link --- src/connections/destinations/catalog/actions-braze-web/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/actions-braze-web/index.md b/src/connections/destinations/catalog/actions-braze-web/index.md index ec38d61f17..f090442c72 100644 --- a/src/connections/destinations/catalog/actions-braze-web/index.md +++ b/src/connections/destinations/catalog/actions-braze-web/index.md @@ -30,7 +30,7 @@ Braze web-mode (Actions) provides the following benefits over Braze (Classic): > warning "Mapping settings" > Some events require specific property names to map correctly into Braze. > For example, purchase events must use a `products` array with `product_id` and `price. -> See [Braze-web settings mappings](#braze-web-settings-mapping) for the full list of requirements before setting up mappings. +> See [Braze-web settings mappings](#braze-web-settings-mapping) for "Device-web" for the full list of requirements before setting up mappings. 4. In the **Settings** tab, configure the connection settings. **API Key**, **SDK Endpoint**, and **REST Endpoint** are required settings. After setting up your Braze web-mode (Action) destination in the Segment app, Segment's Analytics.js library starts asynchronously loading the Braze SDK on your page and sending data. Data appears in the Segment CDN in about 45 minutes. From 9a733c0631e4acd069e309ca57d2b6d34daef681 Mon Sep 17 00:00:00 2001 From: Erica Pramer Date: Mon, 15 Sep 2025 10:26:54 -0700 Subject: [PATCH 06/79] Update insert-functions.md per a support request between the company I work for and Segment support, Segment's engineers were able to repro a bug on their side with the onBatch handler, and recommended that consumers preserve the ordering. I have copied their explanation and code sample verbatim. --- src/connections/functions/insert-functions.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/connections/functions/insert-functions.md b/src/connections/functions/insert-functions.md index 12a9147f96..87f36ccc5a 100644 --- a/src/connections/functions/insert-functions.md +++ b/src/connections/functions/insert-functions.md @@ -267,7 +267,7 @@ To prevent your insert function from processing data, toggle Enable Function off ## Batching the destination insert function -Batch handlers are an extension of insert functions. When you define an `onBatch` handler alongside the handler functions for single events (for example, `onTrack` or `onIdentity`), you're telling Segment that the insert function can accept and handle batches of events. +Batch handlers are an extension of insert functions. When you define an `onBatch` handler alongside the handler functions for single events (for example, `onTrack` or `onIdentity`), you're telling Segment that the insert function can accept and handle batches of events. > info "" > Batching is available for destination and destination insert functions only. @@ -289,6 +289,8 @@ Segment collects the events over a short period of time and combines them into a To create a batch handler, define an `onBatch` function within your destination insert function. You can also use the "Default Batch" template found in the Functions editor to get started quickly. +**However**, Segment's function invoker service relies on positional consistency between the input and output arrays when using the `onBatch` handler. When a function returns a transformed batch, Segment pairs each output event with its corresponding input using array index positions—not event IDs or timestamps. Consumers must preserve the original order in their `onBatch` implementation. + ```js async function onBatch(events, settings){ // handle the batch of events @@ -306,6 +308,7 @@ The handler function receives an array of events. The events can be of any suppo { "type": "identify", "userId": "019mr8mf4r", + "messageId": "ajs-next-1757955997356-c029ce21-9034-45a6-ac62-b8b23b655df5", "traits": { "email": "jake@yahoo.com", "name": "Jake Peterson", @@ -315,6 +318,7 @@ The handler function receives an array of events. The events can be of any suppo { "type": "track", "userId": "019mr8mf4r", + "messageId": "ajs-next-1757955997356-bde2ad8e-2af9-45f5-837b-993671f6b1b0", "event": "Song Played", "properties": { "name": "Fallin for You", @@ -324,6 +328,7 @@ The handler function receives an array of events. The events can be of any suppo { "type": "track", "userId": "971mj8mk7p", + "messageId": "ajs-next-1757955997356-9e2ba07c-0085-4a5b-8928-e4450a417f74", "event": "Song Played", "properties": { "name": "Get Right", @@ -339,6 +344,9 @@ Segment batches together any event _of any type_ that it sees over a short perio ```js async function onBatch(events, settings) { + // store original order + const originalOrder = events.map(event => event.messageId); + // group events by type const eventsByType = {} for (const event of events) { @@ -361,7 +369,10 @@ async function onBatch(events, settings) { try { const results = await Promise.all(promises); const batchResult = [].concat(...results); // Combine arrays into a single array - return batchResult; + + // restore original order + const resultMap = new Map(batchResult.map(e => [e.messageId, e])); + return originalOrder.map(id => resultMap.get(id)); } catch (error) { throw new RetryError(error.message); } From a26cbf6b8ca78494807821382f4c15ee20613198 Mon Sep 17 00:00:00 2001 From: maxmilhan <34718789+maxmilhan@users.noreply.github.com> Date: Thu, 16 Oct 2025 22:09:48 -0400 Subject: [PATCH 07/79] Refactor enrichment journey context structure --- .../v2/event-triggered-journeys-steps.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/engage/journeys/v2/event-triggered-journeys-steps.md b/src/engage/journeys/v2/event-triggered-journeys-steps.md index 0bbac2063f..0eb237231a 100644 --- a/src/engage/journeys/v2/event-triggered-journeys-steps.md +++ b/src/engage/journeys/v2/event-triggered-journeys-steps.md @@ -372,15 +372,16 @@ Here's an example of a payload before and after enrichment: "Reservation Booked": { "reservation_id": 12345, "hotel_id": 67890 - }, - "Reservations": { - "check_in_time": "2025-11-01T20:00:00Z", - "check_out_time": "2025-11-04T15:00:00Z" - }, - "Hotels": { - "hotel_name": "Hotel California", - "hotel_address": "1000 Sunset Boulevard, Los Angeles, CA" } + }, + "Reservations": { + "check_in_time": "2025-11-01T20:00:00Z", + "check_out_time": "2025-11-04T15:00:00Z" + }, + "Hotels": { + "hotel_name": "Hotel California", + "hotel_address": "1000 Sunset Boulevard, Los Angeles, CA" + } } } } From a4b396917f16497ac6c3b88bd019dc9a2c659f8a Mon Sep 17 00:00:00 2001 From: Erica Pramer Date: Mon, 20 Oct 2025 15:28:14 -0700 Subject: [PATCH 08/79] Update src/connections/functions/insert-functions.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- src/connections/functions/insert-functions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/functions/insert-functions.md b/src/connections/functions/insert-functions.md index 87f36ccc5a..4d10127e6d 100644 --- a/src/connections/functions/insert-functions.md +++ b/src/connections/functions/insert-functions.md @@ -289,7 +289,7 @@ Segment collects the events over a short period of time and combines them into a To create a batch handler, define an `onBatch` function within your destination insert function. You can also use the "Default Batch" template found in the Functions editor to get started quickly. -**However**, Segment's function invoker service relies on positional consistency between the input and output arrays when using the `onBatch` handler. When a function returns a transformed batch, Segment pairs each output event with its corresponding input using array index positions—not event IDs or timestamps. Consumers must preserve the original order in their `onBatch` implementation. +You must preserve the original order in the `onBatch` implementation, as Segment's function invoker service relies on positional consistency in the `onBatch` handler between the input and output arrays. When a function returns a transformed batch, Segment pairs each output event with its corresponding input using array index positions, not event IDs or timestamps. ```js async function onBatch(events, settings){ From 49addd8cb193a65ed9990b5d7bd48ff8359978d2 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 21 Oct 2025 12:33:35 -0400 Subject: [PATCH 09/79] Update effective dates --- src/privacy/data-retention-policy.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/privacy/data-retention-policy.md b/src/privacy/data-retention-policy.md index f24d440dbe..421740a1fc 100644 --- a/src/privacy/data-retention-policy.md +++ b/src/privacy/data-retention-policy.md @@ -17,7 +17,8 @@ Segment enforces a strict data retention policy for all: ## Effective date Segment’s enforcement of this data retention policy for active customers begins on: - **April 15, 2025** for Object Store data -- **August 15, 2025** for Archive event and Profile events data stores +- **September 15, 2025** for Archive event data stores +- **January 15, 2025** for Profile event data stores ## Active customers From ee57d36f03c8e4337b66e3b6bae7a7f707dd3e70 Mon Sep 17 00:00:00 2001 From: Carolina Lopez Date: Tue, 21 Oct 2025 15:41:16 -0500 Subject: [PATCH 10/79] Use quotes --- .../content/connection-modes-intro.md | 23 ++++++------------- src/_includes/content/dev-center-note.md | 4 +++- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/src/_includes/content/connection-modes-intro.md b/src/_includes/content/connection-modes-intro.md index ee41cacb81..4579ca6626 100644 --- a/src/_includes/content/connection-modes-intro.md +++ b/src/_includes/content/connection-modes-intro.md @@ -2,22 +2,13 @@ Segment's web source (Analytics.js), and native client-side libraries (iOS, Andr - **Cloud-mode**: The sources send data directly to the Segment servers, which then translate it for each connected downstream destination, and send it on. Translation is done on the Segment servers, keeping your page size, method count, and load time small. -
-
-
-

Healthcare and Life Sciences (HLS) customers can encrypt data flowing into their destinations

-

HLS customers with a HIPAA eligible workspace can encrypt data in fields marked as Yellow in the Privacy Portal before they flow into an event stream, cloud-mode destination. -
To learn more about data encryption, see the HIPAA Eligible Segment documentation.

-
-
+> info "Healthcare and Life Sciences (HLS) customers can encrypt data flowing into their destination" +> +> HLS customers with a HIPAA eligible workspace can encrypt data in fields marked as Yellow in the Privacy Portal before they flow into an event stream, cloud-mode destination. +> To learn more about data encryption, see the [HIPAA Eligible Segment documentation](/docs/segment/privacy/hipaa-eligible-segment/#data-encryption). - **Device-mode**: You include additional code on your website or mobile app which allows Segment to use the data you collect on the device to make calls directly to the destination tool's API, without sending it to the Segment servers _first_. (You still send your data to the Segment servers, but this occurs asynchronously.) This is also called *wrapping* or *bundling*, and it might be required when the source has to be loaded on the page to work, or loaded directly on the device to function correctly. When you use Analytics.js, you can change the device-mode destinations that a specific source sends from within the Segment web app, without touching any code. - -
-
-
-

-

If you use Server source libraries, they only send data directly to Segment in Cloud-mode. Server library implementations operate in the server backend, and can't load additional destination SDKs.

-
-
+> info "" +> +> If you use Server source libraries, they only send data directly to Segment in Cloud-mode. Server library implementations operate in the server backend, and can't load additional destination SDKs. diff --git a/src/_includes/content/dev-center-note.md b/src/_includes/content/dev-center-note.md index 5884344d34..c15e7034a5 100644 --- a/src/_includes/content/dev-center-note.md +++ b/src/_includes/content/dev-center-note.md @@ -1 +1,3 @@ -

Developer Center no longer accepts new components.

Segment is redeveloping the Developer Center and will launch a new version when complete. To stay up to date, add your contact information [in this Airtable form](https://airtable.com/shrT3b4C7agUEBKVS){:target="_blank"}.

\ No newline at end of file +> info "Developer Center no longer accepts new components" +> +> Segment is redeveloping the Developer Center and will launch a new version when complete. To stay up to date, add your contact information [in this Airtable form](https://airtable.com/shrT3b4C7agUEBKVS) From 1521b6aed14f39cfe29201312f0b37e7d3b196c4 Mon Sep 17 00:00:00 2001 From: Carolina Lopez Date: Wed, 22 Oct 2025 14:20:47 -0500 Subject: [PATCH 11/79] Remove inline code for titles --- .../sources/catalog/libraries/server/http-api/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 40c374c8a5..b350819e8a 100644 --- a/src/connections/sources/catalog/libraries/server/http-api/index.md +++ b/src/connections/sources/catalog/libraries/server/http-api/index.md @@ -7,7 +7,7 @@ The Segment HTTP Tracking API lets you record analytics data from any website or Segment has native [sources](/docs/connections/sources/) for most use cases (like JavaScript and iOS) that are open-source and built for high-performance. But for unsupported use cases, [blocked event forwarding](/docs/protocols/enforce/forward-blocked-events/) or when you're using [Segment-Managed Custom Domain](/docs/connections/sources/custom-domain/), you may want to send data to Segment's HTTP API directly. -> info "HTTP API sources in EU workspaces should use the `events.eu1.segmentapis.com` endpoint" +> info "HTTP API sources in EU workspaces should use the events.eu1.segmentapis.com endpoint" > If you are located in the EU and use the `https://api.segment.io/v1/` endpoint, you might not see any errors, but your events will not appear in the Segment app. For more information about regional support, see the [Source Regional support](/docs/guides/regional-segment/#source-regional-support) documentation. ## Headers From 1e60d36986dfc56df6fe95457f708df123a684e1 Mon Sep 17 00:00:00 2001 From: Carolina Lopez Date: Wed, 22 Oct 2025 14:31:34 -0500 Subject: [PATCH 12/79] Add languages --- .../sources/catalog/libraries/server/http-api/index.md | 4 ++-- 1 file changed, 2 insertions(+), 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 b350819e8a..735efde5aa 100644 --- a/src/connections/sources/catalog/libraries/server/http-api/index.md +++ b/src/connections/sources/catalog/libraries/server/http-api/index.md @@ -23,7 +23,7 @@ Choose between [writeKey authentication](#writeKey-authentication), [basic authe Authenticate to the Tracking API by sending your project's **Write Key** along with a request. The authentication writeKey should be sent as part of the body of the request. This will be encrypted over https. -``` +```shell curl --location 'https://api.segment.io/v1/track' \ --header 'Content-Type: application/json' \ --data-raw '{ @@ -58,7 +58,7 @@ Include the access token in the Authorization header as a Bearer token along wit For example, to use the access token in the HTTP API Source, use `access_token` in the header and `write_key` in the payload. An example cURL request looks like: -``` +```shell curl --location 'https://api.segment.io/v1/track' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ' \ From ff8be3b7b1e499910760be3f86beadeba52a4e5b Mon Sep 17 00:00:00 2001 From: Carolina Lopez Date: Wed, 22 Oct 2025 16:15:49 -0500 Subject: [PATCH 13/79] Indent blocknote inside list --- src/_includes/content/connection-modes-intro.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/_includes/content/connection-modes-intro.md b/src/_includes/content/connection-modes-intro.md index 4579ca6626..6167cf4dc4 100644 --- a/src/_includes/content/connection-modes-intro.md +++ b/src/_includes/content/connection-modes-intro.md @@ -2,13 +2,13 @@ Segment's web source (Analytics.js), and native client-side libraries (iOS, Andr - **Cloud-mode**: The sources send data directly to the Segment servers, which then translate it for each connected downstream destination, and send it on. Translation is done on the Segment servers, keeping your page size, method count, and load time small. -> info "Healthcare and Life Sciences (HLS) customers can encrypt data flowing into their destination" -> -> HLS customers with a HIPAA eligible workspace can encrypt data in fields marked as Yellow in the Privacy Portal before they flow into an event stream, cloud-mode destination. -> To learn more about data encryption, see the [HIPAA Eligible Segment documentation](/docs/segment/privacy/hipaa-eligible-segment/#data-encryption). + > info "Healthcare and Life Sciences (HLS) customers can encrypt data flowing into their destination" + > + > HLS customers with a HIPAA eligible workspace can encrypt data in fields marked as Yellow in the Privacy Portal before they flow into an event stream, cloud-mode destination. + > To learn more about data encryption, see the [HIPAA Eligible Segment documentation](/docs/segment/privacy/hipaa-eligible-segment/#data-encryption). - **Device-mode**: You include additional code on your website or mobile app which allows Segment to use the data you collect on the device to make calls directly to the destination tool's API, without sending it to the Segment servers _first_. (You still send your data to the Segment servers, but this occurs asynchronously.) This is also called *wrapping* or *bundling*, and it might be required when the source has to be loaded on the page to work, or loaded directly on the device to function correctly. When you use Analytics.js, you can change the device-mode destinations that a specific source sends from within the Segment web app, without touching any code. -> info "" -> -> If you use Server source libraries, they only send data directly to Segment in Cloud-mode. Server library implementations operate in the server backend, and can't load additional destination SDKs. + > info "" + > + > If you use Server source libraries, they only send data directly to Segment in Cloud-mode. Server library implementations operate in the server backend, and can't load additional destination SDKs. From 2919dffa70a81d4050bc809c134040bdc0f2be0d Mon Sep 17 00:00:00 2001 From: Carolina Lopez Date: Wed, 22 Oct 2025 16:24:17 -0500 Subject: [PATCH 14/79] Fix heading level --- src/unify/Traits/sql-traits.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/unify/Traits/sql-traits.md b/src/unify/Traits/sql-traits.md index f23d94b39b..2c904767f1 100644 --- a/src/unify/Traits/sql-traits.md +++ b/src/unify/Traits/sql-traits.md @@ -28,7 +28,7 @@ This unlocks some interesting possibilities to help you meet your business goals > info "" > Note that after you bring in data with SQL Traits, changing data types for fields may not be compatible with all destinations. -### Example: cloud sources sync +## Example: cloud sources sync SQL Traits allow you to import data from [object cloud sources](/docs/connections/sources/#object-cloud-sources) like Salesforce, Stripe, Zendesk, Hubspot, Marketo, Intercom, and more. For example, bring in Salesforce Leads or Accounts, Zendesk ticket behavior, or Stripe LTV calculations. From 261962e8618ea42eb928dcddc0443e7bf7aca7e3 Mon Sep 17 00:00:00 2001 From: Carolina Lopez Date: Wed, 22 Oct 2025 16:38:28 -0500 Subject: [PATCH 15/79] Remove "warning" for a warning --- src/segment-app/iam/sso.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/segment-app/iam/sso.md b/src/segment-app/iam/sso.md index 7ee2e8cf79..2eb2284aa8 100644 --- a/src/segment-app/iam/sso.md +++ b/src/segment-app/iam/sso.md @@ -102,7 +102,7 @@ Enter your domain and click "Add Domain." When you click verify, you're given tw To configure SSO for multiple workspaces, your admin must configure access to each workspace as a separate app in your identity provider. You are unable to use verified domain(s) across multiple workspaces and will encounter the following error if you add a domain that is already verified in another workspace: > warning "" -> **Warning**: This domain has already been claimed. +> This domain has already been claimed. After your administrator configures separate apps for each workspace in your IdP, the end-users can log in to the IdP and click on the relevant app for the workspace you are trying to access. This is also referred to as IdP-initiated SSO. From cdf1416d0a9b55e9a64c268ac8a185ee17cf2494 Mon Sep 17 00:00:00 2001 From: Carolina Lopez Date: Wed, 22 Oct 2025 16:41:59 -0500 Subject: [PATCH 16/79] Fix heading level --- src/protocols/starter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/protocols/starter.md b/src/protocols/starter.md index d28857e4e5..625c6551a6 100644 --- a/src/protocols/starter.md +++ b/src/protocols/starter.md @@ -12,7 +12,7 @@ With Segment tracking plans you can choose from the most common Events, and crea This is a great way to get a head start on your tracking, and also to monitor events coming into your workspace as you implement your Segment tracking. -### Starter tracking plan access +## Starter tracking plan access Only Workspace Owners can set up or edit the starter tracking plan. From f3b4b5a97fe203a948fda9d06eba0fcb8866948a Mon Sep 17 00:00:00 2001 From: Carolina Lopez Date: Wed, 22 Oct 2025 18:33:43 -0500 Subject: [PATCH 17/79] Remove inline code for callout title --- src/getting-started/02-simple-install.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/getting-started/02-simple-install.md b/src/getting-started/02-simple-install.md index 8cb42d55e3..116def8647 100644 --- a/src/getting-started/02-simple-install.md +++ b/src/getting-started/02-simple-install.md @@ -82,7 +82,7 @@ That snippet loads Analytics.js onto the page _asynchronously_, so it won't affe
The [Identify](/docs/connections/spec/identify/) method tells Segment who the current user is. It includes a unique user ID and any optional traits you know about them. You can read more about it in the [Identify method reference](/docs/connections/sources/catalog/libraries/website/javascript#identify).

-> info "You don't need to call `identify` for anonymous visitors to your site" +> info "You don't need to call identify for anonymous visitors to your site" > Segment automatically assigns them an `anonymousId` so just calling `page` and `track` works without `identify`.
Here's an example of what a basic call to `identify` might look like: From 354a10f883968f9d4d9a3e17353ea141ebeff6ab Mon Sep 17 00:00:00 2001 From: Carolina Lopez Date: Thu, 23 Oct 2025 09:39:11 -0500 Subject: [PATCH 18/79] Revert premonition changes --- .../content/connection-modes-intro.md | 23 +++++++++++++------ src/_includes/content/dev-center-note.md | 4 +--- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/_includes/content/connection-modes-intro.md b/src/_includes/content/connection-modes-intro.md index 6167cf4dc4..ee41cacb81 100644 --- a/src/_includes/content/connection-modes-intro.md +++ b/src/_includes/content/connection-modes-intro.md @@ -2,13 +2,22 @@ Segment's web source (Analytics.js), and native client-side libraries (iOS, Andr - **Cloud-mode**: The sources send data directly to the Segment servers, which then translate it for each connected downstream destination, and send it on. Translation is done on the Segment servers, keeping your page size, method count, and load time small. - > info "Healthcare and Life Sciences (HLS) customers can encrypt data flowing into their destination" - > - > HLS customers with a HIPAA eligible workspace can encrypt data in fields marked as Yellow in the Privacy Portal before they flow into an event stream, cloud-mode destination. - > To learn more about data encryption, see the [HIPAA Eligible Segment documentation](/docs/segment/privacy/hipaa-eligible-segment/#data-encryption). +
+
+
+

Healthcare and Life Sciences (HLS) customers can encrypt data flowing into their destinations

+

HLS customers with a HIPAA eligible workspace can encrypt data in fields marked as Yellow in the Privacy Portal before they flow into an event stream, cloud-mode destination. +
To learn more about data encryption, see the HIPAA Eligible Segment documentation.

+
+
- **Device-mode**: You include additional code on your website or mobile app which allows Segment to use the data you collect on the device to make calls directly to the destination tool's API, without sending it to the Segment servers _first_. (You still send your data to the Segment servers, but this occurs asynchronously.) This is also called *wrapping* or *bundling*, and it might be required when the source has to be loaded on the page to work, or loaded directly on the device to function correctly. When you use Analytics.js, you can change the device-mode destinations that a specific source sends from within the Segment web app, without touching any code. - > info "" - > - > If you use Server source libraries, they only send data directly to Segment in Cloud-mode. Server library implementations operate in the server backend, and can't load additional destination SDKs. + +
+
+
+

+

If you use Server source libraries, they only send data directly to Segment in Cloud-mode. Server library implementations operate in the server backend, and can't load additional destination SDKs.

+
+
diff --git a/src/_includes/content/dev-center-note.md b/src/_includes/content/dev-center-note.md index c15e7034a5..6a379449d9 100644 --- a/src/_includes/content/dev-center-note.md +++ b/src/_includes/content/dev-center-note.md @@ -1,3 +1 @@ -> info "Developer Center no longer accepts new components" -> -> Segment is redeveloping the Developer Center and will launch a new version when complete. To stay up to date, add your contact information [in this Airtable form](https://airtable.com/shrT3b4C7agUEBKVS) +

Developer Center no longer accepts new components.

Segment is redeveloping the Developer Center and will launch a new version when complete. To stay up to date, add your contact information [in this Airtable form](https://airtable.com/shrT3b4C7agUEBKVS){:target="_blank"}.

From 7f00f9c8da0bd8fae0e557ce696ff35d560e7262 Mon Sep 17 00:00:00 2001 From: Carolina Lopez Date: Thu, 23 Oct 2025 10:55:11 -0500 Subject: [PATCH 19/79] Do not use blockquotes in _includes/content [netlify-build] --- src/_includes/content/connection-modes-intro.md | 2 +- src/_includes/content/dev-center-note.md | 8 +++++++- src/_includes/content/tracking-api-limit.md | 10 +++++++--- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/_includes/content/connection-modes-intro.md b/src/_includes/content/connection-modes-intro.md index ee41cacb81..deb5314860 100644 --- a/src/_includes/content/connection-modes-intro.md +++ b/src/_includes/content/connection-modes-intro.md @@ -6,7 +6,7 @@ Segment's web source (Analytics.js), and native client-side libraries (iOS, Andr

Healthcare and Life Sciences (HLS) customers can encrypt data flowing into their destinations

-

HLS customers with a HIPAA eligible workspace can encrypt data in fields marked as Yellow in the Privacy Portal before they flow into an event stream, cloud-mode destination. +

HLS customers with a HIPAA eligible workspace can encrypt data in fields marked as Yellow in the Privacy Portal before they flow into an event stream, cloud-mode destination.
To learn more about data encryption, see the HIPAA Eligible Segment documentation.

diff --git a/src/_includes/content/dev-center-note.md b/src/_includes/content/dev-center-note.md index 6a379449d9..0566725c0a 100644 --- a/src/_includes/content/dev-center-note.md +++ b/src/_includes/content/dev-center-note.md @@ -1 +1,7 @@ -

Developer Center no longer accepts new components.

Segment is redeveloping the Developer Center and will launch a new version when complete. To stay up to date, add your contact information [in this Airtable form](https://airtable.com/shrT3b4C7agUEBKVS){:target="_blank"}.

+
+
+
+

Developer Center no longer accepts new components.

+

Segment is redeveloping the Developer Center and will launch a new version when complete. To stay up to date, add your contact information [in this Airtable form](https://airtable.com/shrT3b4C7agUEBKVS){:target="_blank"}.

+
+
diff --git a/src/_includes/content/tracking-api-limit.md b/src/_includes/content/tracking-api-limit.md index 60bfddfeed..17cfc6619e 100644 --- a/src/_includes/content/tracking-api-limit.md +++ b/src/_includes/content/tracking-api-limit.md @@ -1,3 +1,7 @@ -> warning "HTTP Tracking API limits" -> -> Segment's HTTP Tracking API accepts batch requests up to **500 KB**. To avoid errors in event creation, ensure that individual event payload sizes remain below **32 KB**. +
+
+
+

HTTP Tracking API limits

+

Segment's HTTP Tracking API accepts batch requests up to 500 KB. To avoid errors in event creation, ensure that individual event payload sizes remain below 32 KB.

+
+
From 695fae16c1874b52f75be8be7c1a1adb6d927e31 Mon Sep 17 00:00:00 2001 From: Carolina Lopez Date: Thu, 23 Oct 2025 12:29:30 -0500 Subject: [PATCH 20/79] Revert premonition changes --- src/_includes/content/reset-mobile.md | 8 ++++++-- src/_includes/content/syntax-note.md | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/_includes/content/reset-mobile.md b/src/_includes/content/reset-mobile.md index 095db3ead6..6bba3cd76d 100644 --- a/src/_includes/content/reset-mobile.md +++ b/src/_includes/content/reset-mobile.md @@ -1,2 +1,6 @@ -> info "" -> The reset method doesn't clear the `userId` from connected client-side integrations. If you want to clear the `userId` from connected client-side destination plugins, you'll need to call the equivalent reset method for that library. +
+
+
+

The reset method doesn't clear the `userId` from connected client-side integrations. If you want to clear the `userId` from connected client-side destination plugins, you'll need to call the equivalent reset method for that library.

+
+
diff --git a/src/_includes/content/syntax-note.md b/src/_includes/content/syntax-note.md index b5b80c855d..a3a2ef855a 100644 --- a/src/_includes/content/syntax-note.md +++ b/src/_includes/content/syntax-note.md @@ -1,2 +1,6 @@ -> info "" -> Based on the library you use, the syntax in the examples might be different. You can find library-specific documentation on the [Sources Overview](/docs/connections/sources/) page. +
+
+
+

Based on the library you use, the syntax in the examples might be different. You can find library-specific documentation on the [Sources Overview](/docs/connections/sources/) page.

+
+
From 7cdc8ef2b6d41a1bba9edb37590e71836ca202b9 Mon Sep 17 00:00:00 2001 From: Carolina Lopez Date: Thu, 23 Oct 2025 14:39:53 -0500 Subject: [PATCH 21/79] double not needed- just one button --- src/getting-started/index.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/getting-started/index.md b/src/getting-started/index.md index 62865a3e84..4989fcd045 100644 --- a/src/getting-started/index.md +++ b/src/getting-started/index.md @@ -8,7 +8,4 @@ With Segment, you can track [first-party customer data](https://segment.com/lear Segment simplifies the process of collecting data and connecting new tools, allowing you to spend more time using your data and less time trying to collect, process, and share it with business tools. In most cases, you won't even need to touch your tracking code to connect to new tools. -
-
- {% include components/reference-button.html newtab="false" href="/getting-started/01-what-is-segment/" icon="symbols/arrow-right.svg" title="Ready to get started?" description="Let's walk through the steps to get up and running on Segment. Let's go!" variant="related" subtitle="next" %} -
+{% include components/reference-button.html newtab="false" href="/getting-started/01-what-is-segment/" icon="symbols/arrow-right.svg" title="Ready to get started?" description="Let's walk through the steps to get up and running on Segment. Let's go!" variant="related" subtitle="next" %} From c4487121320599ed473ca7afd087596729134240 Mon Sep 17 00:00:00 2001 From: Sharon Adewusi Date: Thu, 23 Oct 2025 23:02:40 +0100 Subject: [PATCH 22/79] Add redirect for Microsoft Bing CAPI destination --- .../destinations/catalog/actions-ms-bing-capi/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/connections/destinations/catalog/actions-ms-bing-capi/index.md b/src/connections/destinations/catalog/actions-ms-bing-capi/index.md index 47ed1d627d..1d10d5056d 100644 --- a/src/connections/destinations/catalog/actions-ms-bing-capi/index.md +++ b/src/connections/destinations/catalog/actions-ms-bing-capi/index.md @@ -2,6 +2,7 @@ title: Microsoft Bing CAPI Destination id: 68b82be249b48bae343517c7a beta: true +redirect_from: "/connections/destinations/catalog/microsoft-bing-capi/" --- {% include content/plan-grid.md name="actions" %} From 30bd23df20fd479656b7055c688e06cac3dc8b63 Mon Sep 17 00:00:00 2001 From: Carolina Lopez Date: Thu, 23 Oct 2025 18:39:57 -0500 Subject: [PATCH 23/79] Separate endraw --- src/engage/index.md | 2 +- src/protocols/apis-and-extensions/anomaly_detection.md | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/engage/index.md b/src/engage/index.md index f0cdd3d93a..4425dcb561 100644 --- a/src/engage/index.md +++ b/src/engage/index.md @@ -27,4 +27,4 @@ Create lists of users or accounts that match specific criteria. For example, aft #### 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." %} \ No newline at end of file +{% 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." %} diff --git a/src/protocols/apis-and-extensions/anomaly_detection.md b/src/protocols/apis-and-extensions/anomaly_detection.md index f7064f1f42..8ff7b4c677 100644 --- a/src/protocols/apis-and-extensions/anomaly_detection.md +++ b/src/protocols/apis-and-extensions/anomaly_detection.md @@ -52,7 +52,8 @@ After you've enabled [Violation Forwarding](/docs/protocols/validate/forward-vio You can copy and paste the example snippet below into the Event Template field to format the Slack message with the event name, violation description and source name. You can customize this message however you want, including adding @ mentions, and any of the [properties included in the Violation Generated event](/docs/protocols/validate/forward-violations/). ``` -Source: {% raw %}`{{properties.sourceName}}` \nEvent: `{{properties.eventName}}` \nViolation: `{{properties.violationDescription}}`{% endraw %} +Source: {% raw %}`{{properties.sourceName}}` \nEvent: `{{properties.eventName}}` \nViolation: `{{properties.violationDescription}}` +{% endraw %} ``` When you're done, it'll look like the screenshot below. From ebbdd380ac10c67ea4d3377b9ba8ce1414c3c4a8 Mon Sep 17 00:00:00 2001 From: pwseg Date: Thu, 23 Oct 2025 17:14:51 -0700 Subject: [PATCH 24/79] cmon just work --- src/connections/destinations/catalog/gameball/index.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/connections/destinations/catalog/gameball/index.md b/src/connections/destinations/catalog/gameball/index.md index 62e3c38e2a..860e526ff5 100644 --- a/src/connections/destinations/catalog/gameball/index.md +++ b/src/connections/destinations/catalog/gameball/index.md @@ -56,3 +56,6 @@ Set up your [custom `track` events in Gameball](https://help.gameball.co/en/arti All `track` events _must_ contain a `userID` property. Segment sends `track` calls to Gameball as a `track` event. + +Let's see if this ends up triggering a PR. + From 794c1be2c9f1cfaed210675bc958ecc27aec4843 Mon Sep 17 00:00:00 2001 From: pwseg Date: Thu, 23 Oct 2025 18:00:06 -0700 Subject: [PATCH 25/79] remove from this branch too --- netlify.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netlify.toml b/netlify.toml index 76d7ade33b..615e146c61 100644 --- a/netlify.toml +++ b/netlify.toml @@ -10,7 +10,7 @@ command = "yarn develop" # Check this file to see if the site should build. ignore.sh checks for the presence of # [netlify-build] in the commit message - ignore = "./scripts/ignore.sh" + # ignore = "./scripts/ignore.sh" [context.branch-deploy] command = "yarn build" From 4e24d7099867654390b3b5289bba43a03984b35d Mon Sep 17 00:00:00 2001 From: pwseg Date: Thu, 23 Oct 2025 21:30:03 -0700 Subject: [PATCH 26/79] fix gameball file --- src/connections/destinations/catalog/gameball/index.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/connections/destinations/catalog/gameball/index.md b/src/connections/destinations/catalog/gameball/index.md index 860e526ff5..4bb8341549 100644 --- a/src/connections/destinations/catalog/gameball/index.md +++ b/src/connections/destinations/catalog/gameball/index.md @@ -55,7 +55,4 @@ Set up your [custom `track` events in Gameball](https://help.gameball.co/en/arti All `track` events _must_ contain a `userID` property. -Segment sends `track` calls to Gameball as a `track` event. - -Let's see if this ends up triggering a PR. - +Segment sends `track` calls to Gameball as a `track` event. \ No newline at end of file From 7fa48951f77bb9dd3733671c575fee1224344a7a Mon Sep 17 00:00:00 2001 From: Carolina Lopez Date: Fri, 24 Oct 2025 09:28:29 -0500 Subject: [PATCH 27/79] indent sublists --- src/engage/content/sms/template.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/engage/content/sms/template.md b/src/engage/content/sms/template.md index f4d9352f52..df7eb7b1c5 100644 --- a/src/engage/content/sms/template.md +++ b/src/engage/content/sms/template.md @@ -46,9 +46,9 @@ Send a test SMS message before you include it as a step in your Journey. 1. After you build your SMS template, click **Test SMS**. 2. If your template has profile traits, enter a trait value for the test SMS. This ensures that your merge tags work as expected. -- Empty fields show the default value that you've assigned. For example, `loyal customer` would be the default for the following merge tag: {% raw %}```{{profile.traits.first_name | default: "loyal customer"}}```{% endraw %}. If there's no default value, the field will be blank. + - Empty fields show the default value that you've assigned. For example, `loyal customer` would be the default for the following merge tag: {% raw %}```{{profile.traits.first_name | default: "loyal customer"}}```{% endraw %}. If there's no default value, the field will be blank. 3. Enter recipient phone numbers for the test message. -- Profiles that you send test messages to must have a userId in Segment. + - Profiles that you send test messages to must have a userId in Segment. 4. Click **Send test SMS**. From c022e0c0811a116b91150de0308e5982d5cd1be7 Mon Sep 17 00:00:00 2001 From: Carolina Lopez Date: Fri, 24 Oct 2025 11:58:28 -0500 Subject: [PATCH 28/79] Not h1 titles --- src/connections/destinations/catalog/actions-absmartly/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/actions-absmartly/index.md b/src/connections/destinations/catalog/actions-absmartly/index.md index 13980624e4..5b838d339a 100644 --- a/src/connections/destinations/catalog/actions-absmartly/index.md +++ b/src/connections/destinations/catalog/actions-absmartly/index.md @@ -29,7 +29,7 @@ This destination is maintained by ABsmartly. For any issues with the destination > info "" > If you need support setting things up, you can contact the ABsmartly support team on Slack or [via email](mailto:support@absmartly.com). -# Sending exposures to Segment +## Sending exposures to Segment It can be useful to send experiment exposures to Segment for visibility from other destinations. The Segment Spec includes the [Experiment Viewed semantic event](/docs/connections/spec/ab-testing/) From 5179533da8b5f5b594a8365ca9c9844bec286030 Mon Sep 17 00:00:00 2001 From: Carolina Lopez Date: Fri, 24 Oct 2025 14:16:34 -0500 Subject: [PATCH 29/79] remove end-comment, no init comment in all file --- src/engage/journeys/v2/use-cases.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/engage/journeys/v2/use-cases.md b/src/engage/journeys/v2/use-cases.md index 1d5720610d..c5121bd3f7 100644 --- a/src/engage/journeys/v2/use-cases.md +++ b/src/engage/journeys/v2/use-cases.md @@ -632,7 +632,3 @@ These examples show key moments in the journey, from entry to conversion milesto ``` {% endcodeexampletab %} {% endcodeexample %} - - - ---> \ No newline at end of file From 3579b8e26c1665bb4b5b694dee1ca94f13864bea Mon Sep 17 00:00:00 2001 From: Paulo Borges Date: Mon, 27 Oct 2025 10:36:02 -0300 Subject: [PATCH 30/79] fixes for batch 5.3 (#8096) * fixes for batch 5.3 * remove liquid syntax and keep the note generic * fix numbering --- src/_includes/content/sync-frequency-note.md | 2 +- .../index.md | 37 +++++---------- .../actions-google-analytics-4-web/index.md | 6 +-- .../catalog/actions-hubspot-cloud/index.md | 4 +- .../catalog/actions-kafka/index.md | 47 +++++-------------- 5 files changed, 28 insertions(+), 68 deletions(-) diff --git a/src/_includes/content/sync-frequency-note.md b/src/_includes/content/sync-frequency-note.md index efb0e050c1..6b5d38ba24 100644 --- a/src/_includes/content/sync-frequency-note.md +++ b/src/_includes/content/sync-frequency-note.md @@ -2,6 +2,6 @@

Real-time to batch destination sync frequency

-

Real-time audience syncs to {{page.title| replace: "Destination", " "}} may take six or more hours for the initial sync to complete. Upon completion, a sync frequency of two to three hours is expected.

+

Real-time audience syncs may take six or more hours for the initial sync to complete. Upon completion, a sync frequency of two to three hours is expected.

diff --git a/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md b/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md index 204e20c776..99b1872934 100644 --- a/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md +++ b/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md @@ -43,36 +43,21 @@ This destination sends audiences, or lists of users, to Facebook Custom Audience After you've connected your Facebook Custom Audiences destination to Segment, set up a mapping that adds users to a new or existing Custom Audience. +> warning "Added or updated records is the only supported additive sync mode" +> Selecting any other sync mode might lead to sync failures with the Facebook Custom Audiences (Actions) destination. + 1. Navigate to **Connections > Sources** and select your Reverse ETL source. 2. On the Models page, select the model you'd like to use and click **Add Mapping**. 3. Select the Facebook Custom Audience (Actions) destination and the Sync Audience action, then click **Create Mapping**. 4. Enter a descriptive name for your mapping. Segment recommends a name that includes both the audience name and sync mode, for example, `Loyalty Users (Add)`. 5. Under **Select record to map and send**, select **Added or updated records**. The Added or updated records sync mode both adds new records and attempts to re-add any updated records to the custom audience. Adding updated records to your destination enables better match rates as more user identifiers are added to the source model over time. - -> warning "Added or updated records is the only supported additive sync mode" -> Selecting any other sync mode might lead to sync failures with the Facebook Custom Audiences (Actions) destination. - -
    -
  1. - Set how often your model syncs by setting the [Sync schedule](/docs/connections/reverse-etl/#step-4-create-mappings). -
  2. -
  3. - Select or create an audience in Facebook to sync your data with. Click the **Select or create audience in Facebook** button to save the audience ID to your mapping. -
  4. -
  5. - Map your model columns to the appropriate Facebook Custom Audience parameters. For more context about data formatting, see the [Sync Audience](#sync-audience) and [Data processing](#data-processing) documentation. -
      -
    • Map External ID to a unique user identifier from your system (like User ID, CRM ID, or anonymous ID.) Segment recommends using the External ID column as your primary key when setting up your Reverse ETL model so you can more easily remove users from your custom audience. External ID is the only field Facebook requires.
    • -
    • Segment recommends mapping as many parameters as you have available in your source model so that you can increase your match rates.
    • -
    -
  6. -
  7. - Send a test record. If successful, you should see a 200 response in Segment and one added record to your custom audience. To verify that the record was successfully added to your custom audience, open Facebook Ads Manager and navigate to **Audiences > {Audience Name} > History**. -
  8. -
  9. - Click **Save Mapping** and enable the mapping. -
  10. -
+6. Set how often your model syncs by setting the [Sync schedule](/docs/connections/reverse-etl/#step-4-create-mappings). +7. Select or create an audience in Facebook to sync your data with. Click the **Select or create audience in Facebook** button to save the audience ID to your mapping. +8. Map your model columns to the appropriate Facebook Custom Audience parameters. For more context about data formatting, see the [Sync Audience](#sync-audience) and [Data processing](#data-processing) documentation. + - Map External ID to a unique user identifier from your system (like User ID, CRM ID, or anonymous ID.) Segment recommends using the External ID column as your primary key when setting up your Reverse ETL model so you can more easily remove users from your custom audience. External ID is the only field Facebook requires. + - Segment recommends mapping as many parameters as you have available in your source model so that you can increase your match rates. +9. Send a test record. If successful, you should see a 200 response in Segment and one added record to your custom audience. To verify that the record was successfully added to your custom audience, open Facebook Ads Manager and navigate to **Audiences > \{Audience Name\} > History**. +10. Click **Save Mapping** and enable the mapping. ### Remove users from a Custom Audience @@ -84,7 +69,7 @@ After you've connected your Facebook Custom Audiences destination to Segment, se 6. Set how often your model syncs by setting the [Sync schedule](/docs/connections/reverse-etl/#step-4-create-mappings). 7. Select or create an audience in Facebook to sync your data with. Click the **Select or create audience in Facebook** button to save the audience ID to your mapping. 8. Map your model columns to the appropriate Facebook Custom Audience parameters. Only the External ID is required. When a record is deleted from your source model, only the model primary key is sent to the mapping; other columns from your source model are not sent. Segment recommends using the External ID as your primary key in your source model. -9. Send a test record. If successful, you should see a `200` response in Segment and one record removed from your custom audience. To verify that the record was successfully removed from your custom audience, open Facebook Ads Manager and navigate to **Audiences > {Audience Name} > History**. +9. Send a test record. If successful, you should see a `200` response in Segment and one record removed from your custom audience. To verify that the record was successfully removed from your custom audience, open Facebook Ads Manager and navigate to **Audiences > \{Audience Name\} > History**. 10. Click **Save Mapping** and enable the mapping. {% include components/actions-fields.html %} diff --git a/src/connections/destinations/catalog/actions-google-analytics-4-web/index.md b/src/connections/destinations/catalog/actions-google-analytics-4-web/index.md index 9ff0d60a40..cd507cb1f5 100644 --- a/src/connections/destinations/catalog/actions-google-analytics-4-web/index.md +++ b/src/connections/destinations/catalog/actions-google-analytics-4-web/index.md @@ -32,9 +32,9 @@ To connect the Google Analytics 4 Web destination: 7. Analytics.js requires an initial Page call to send data to Google Analytics 4 Web. The [Segment snippet](/docs/connections/sources/catalog/libraries/website/javascript/quickstart/#step-2-add-the-segment-snippet) includes this initial call by default. 8. For GA4 to accept events on page, enable Set Configuration Mapping triggered by the first Segment event called after analytics.load(). Set Configuration Mapping calls the gtag(‘config’) command to enable tracking to your GA4 Measurement ID. -After you've set up and enabled the Set Configuration Mapping, enable at least one event in your **Mappings** tab. From there, view your events and parameters using the Google [Realtime](https://support.google.com/analytics/answer/9271392){:target="_blank"} or[DebugView](https://support.google.com/analytics/answer/7201382){:target="_blank"} reports. These two reports show you the events users trigger on your website as they occur. The DebugView report requires additional configuration before you can use it. Additional tools for debugging are to view all your Google enabled tracking via https://tagassistant.google.com(https://tagassistant.google.com){:target=”_blank”} or in your browser’s Dev Tools, view GA4 collect requests by filtering by /collect. +After you've set up and enabled the Set Configuration Mapping, enable at least one event in your **Mappings** tab. From there, view your events and parameters using the Google [Realtime](https://support.google.com/analytics/answer/9271392){:target="_blank"} or [DebugView](https://support.google.com/analytics/answer/7201382){:target="_blank"} reports. These two reports show you the events users trigger on your website as they occur. The DebugView report requires additional configuration before you can use it. Additional tools for debugging are to view all your Google enabled tracking via [Tag Assistant](https://tagassistant.google.com){:target="_blank"} or in your browser’s Dev Tools, view GA4 collect requests by filtering by /collect. -Google Analytics automatically populates some events and parameters. For example, there are [Automatically Collected](https://support.google.com/analytics/answer/9234069){:target=”_blank”} events collected by triggering the Set Configuration Mapping. Calling gtag(‘config’) and enabling [Enhanced Measurement events](https://support.google.com/analytics/answer/9216061){:target=”_blank”}, which are controlled by toggling “on” in your GA4 Admin panel, use event listeners to send events. All events tracked via GA4 Web populate some commonly used parameters like `page_location` without additional configuration. Review the [Google Analytics event parameters](https://support.google.com/analytics/table/13594742){:target=”_blank” documentation for more information. +Google Analytics automatically populates some events and parameters. For example, there are [Automatically Collected](https://support.google.com/analytics/answer/9234069){:target=”_blank”} events collected by triggering the Set Configuration Mapping. Calling gtag(‘config’) and enabling [Enhanced Measurement events](https://support.google.com/analytics/answer/9216061){:target=”_blank”}, which are controlled by toggling “on” in your GA4 Admin panel, use event listeners to send events. All events tracked via GA4 Web populate some commonly used parameters like `page_location` without additional configuration. Review the [Google Analytics event parameters](https://support.google.com/analytics/table/13594742){:target=”_blank”} documentation for more information. ### Recommended events @@ -62,7 +62,7 @@ With Google Analytics 4, you must create custom dimensions and metrics, also kno Similar to how properties relate to Segment events, parameters provide additional information about the ways users interact with your website. For example, when someone views a product you sell, you can include parameters that describe the product they viewed, like `product_name`, `category`, and `price`. -Automatically Collected and Enhanced Measurement events include a defined set of parameters by default. Google also provides a set of required and optional parameters to include with each Recommended event, and you can add more event parameters when you need them. Segment recommends that you review GA4’s list of defined event parameters, as anything beyond that list is a custom event parameter. The [Event collection limits](https://https://support.google.com/analytics/answer/9267744){:target=_blank”} also impact how many Custom Definitions your GA4 instance allows and how many parameters you can send with each event. +Automatically Collected and Enhanced Measurement events include a defined set of parameters by default. Google also provides a set of required and optional parameters to include with each Recommended event, and you can add more event parameters when you need them. Segment recommends that you review GA4’s list of defined event parameters, as anything beyond that list is a custom event parameter. The [Event collection limits](https://https://support.google.com/analytics/answer/9267744){:target="_blank"} also impact how many Custom Definitions your GA4 instance allows and how many parameters you can send with each event. ### Conversion events diff --git a/src/connections/destinations/catalog/actions-hubspot-cloud/index.md b/src/connections/destinations/catalog/actions-hubspot-cloud/index.md index a21b6e64d8..d6038422f9 100644 --- a/src/connections/destinations/catalog/actions-hubspot-cloud/index.md +++ b/src/connections/destinations/catalog/actions-hubspot-cloud/index.md @@ -141,8 +141,8 @@ Follow the steps outlined in HubSpot's [Uninstall an app](https://knowledge.hubs #### How does disconnecting and uninstalling affect a user's data and HubSpot account? Segment immediately stops sending data to HubSpot after you disconnect and uninstall a HubSpot account. -#### Understanding HubSpot's `date` and dateTime` custom property types -If you plan on sending a _date_ value that includes time data to your mapped HubSpot custom properties, select HubSpot's `dateTime` property type in HubSpot. If you plan to send a _date_ value that does not contain time data, select the `date` property value in HubSpot. For more information about custom property types, see HubSpot's [Custom objects](https://developers.hubspot.com/docs/api/crm/crm-custom-objects#properties){:target="_blank”} documentation. +#### Understanding HubSpot's `date` and `dateTime` custom property types +If you plan on sending a _date_ value that includes time data to your mapped HubSpot custom properties, select HubSpot's `dateTime` property type in HubSpot. If you plan to send a _date_ value that does not contain time data, select the `date` property value in HubSpot. For more information about custom property types, see HubSpot's [Custom objects](https://developers.hubspot.com/docs/api/crm/crm-custom-objects#properties){:target="_blank"} documentation. If you send a _date_ value that contains time data to a custom property in HubSpot with a `date` property type, the event might fail due to an "**Invalid Date Error**." diff --git a/src/connections/destinations/catalog/actions-kafka/index.md b/src/connections/destinations/catalog/actions-kafka/index.md index 3748bd60c4..4306627f0b 100644 --- a/src/connections/destinations/catalog/actions-kafka/index.md +++ b/src/connections/destinations/catalog/actions-kafka/index.md @@ -20,45 +20,20 @@ id: 65dde5755698cb0dab09b489 The way you've configured your Kafka Cluster informs the authentication and encryption settings you'll need to apply to the Segment Kafka Destination. You may need the assistance of someone technical to provide values for the following Settings: -
    -
  1. - On the Settings tab, enter values into the **Client ID**, **Brokers** and **Authentication Mechanism** setting fields. -
  2. -
  3. - Populate fields based on the value you selected from the Authentication Mechanism field: -
      -
    • - Plain or SCRAM-SHA-256 / 512 authentication: provide values for Username and Password fields. -
    • -
    • - Client Certificate authentication: provide values for the SSL Client Key and SSL Client Certificate fields. -
    • -
    -
  4. -
  5. - Populate the **SSL Certificate Authority** field, if necessary. -
  6. -
  7. - Save your changes and proceed to [Configure the Send Action](#configure-the-send-action). -
  8. -
+1. On the Settings tab, enter values into the **Client ID**, **Brokers** and **Authentication Mechanism** setting fields. +2. Populate fields based on the value you selected from the **Authentication Mechanism** field: + - **Plain** or **SCRAM-SHA-256 / 512** authentication: provide values for **Username** and **Password** fields. + - **Client Certificate** authentication: provide values for the **SSL Client Key** and **SSL Client Certificate** fields. +3. Populate the **SSL Certificate Authority** field, if necessary. +4. Save your changes and proceed to [Configure the Send Action](#configure-the-send-action). ### Configure the "Send" Action -
    -
  1. - Select the Mappings tab and add a new **Send** mapping. -
  2. -
  3. - Select a Topic to send data to. This field should auto-populate based on the credentials you provided in the Settings tab. -
  4. -
  5. - Map your payload using the **Payload** field.
    _(Optional)_: Specify partitioning preferences, Headers and Message Key values. -
  6. -
  7. - Save and enable the Action, then navigate back to the Kafka destination's Settings tab to enable and save the Destination. -
  8. -
+1. Select the Mappings tab and add a new **Send** mapping. +2. Select a Topic to send data to. This field should auto-populate based on the credentials you provided in the Settings tab. +3. Map your payload using the **Payload** field. + _(Optional)_: Specify partitioning preferences, Headers and Message Key values. +4. Save and enable the Action, then navigate back to the Kafka destination's Settings tab to enable and save the Destination. {% include components/actions-fields.html %} From bad9ad5bd537554671cd053f1a64b2af397afa56 Mon Sep 17 00:00:00 2001 From: Paulo Borges Date: Mon, 27 Oct 2025 10:36:02 -0300 Subject: [PATCH 31/79] fixes for batch 5.3 (#8096) * fixes for batch 5.3 * remove liquid syntax and keep the note generic * fix numbering --- src/_includes/content/sync-frequency-note.md | 2 +- .../index.md | 37 +++++---------- .../actions-google-analytics-4-web/index.md | 6 +-- .../catalog/actions-hubspot-cloud/index.md | 4 +- .../catalog/actions-kafka/index.md | 47 +++++-------------- 5 files changed, 28 insertions(+), 68 deletions(-) diff --git a/src/_includes/content/sync-frequency-note.md b/src/_includes/content/sync-frequency-note.md index efb0e050c1..6b5d38ba24 100644 --- a/src/_includes/content/sync-frequency-note.md +++ b/src/_includes/content/sync-frequency-note.md @@ -2,6 +2,6 @@

Real-time to batch destination sync frequency

-

Real-time audience syncs to {{page.title| replace: "Destination", " "}} may take six or more hours for the initial sync to complete. Upon completion, a sync frequency of two to three hours is expected.

+

Real-time audience syncs may take six or more hours for the initial sync to complete. Upon completion, a sync frequency of two to three hours is expected.

diff --git a/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md b/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md index 204e20c776..99b1872934 100644 --- a/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md +++ b/src/connections/destinations/catalog/actions-facebook-custom-audiences/index.md @@ -43,36 +43,21 @@ This destination sends audiences, or lists of users, to Facebook Custom Audience After you've connected your Facebook Custom Audiences destination to Segment, set up a mapping that adds users to a new or existing Custom Audience. +> warning "Added or updated records is the only supported additive sync mode" +> Selecting any other sync mode might lead to sync failures with the Facebook Custom Audiences (Actions) destination. + 1. Navigate to **Connections > Sources** and select your Reverse ETL source. 2. On the Models page, select the model you'd like to use and click **Add Mapping**. 3. Select the Facebook Custom Audience (Actions) destination and the Sync Audience action, then click **Create Mapping**. 4. Enter a descriptive name for your mapping. Segment recommends a name that includes both the audience name and sync mode, for example, `Loyalty Users (Add)`. 5. Under **Select record to map and send**, select **Added or updated records**. The Added or updated records sync mode both adds new records and attempts to re-add any updated records to the custom audience. Adding updated records to your destination enables better match rates as more user identifiers are added to the source model over time. - -> warning "Added or updated records is the only supported additive sync mode" -> Selecting any other sync mode might lead to sync failures with the Facebook Custom Audiences (Actions) destination. - -
    -
  1. - Set how often your model syncs by setting the [Sync schedule](/docs/connections/reverse-etl/#step-4-create-mappings). -
  2. -
  3. - Select or create an audience in Facebook to sync your data with. Click the **Select or create audience in Facebook** button to save the audience ID to your mapping. -
  4. -
  5. - Map your model columns to the appropriate Facebook Custom Audience parameters. For more context about data formatting, see the [Sync Audience](#sync-audience) and [Data processing](#data-processing) documentation. -
      -
    • Map External ID to a unique user identifier from your system (like User ID, CRM ID, or anonymous ID.) Segment recommends using the External ID column as your primary key when setting up your Reverse ETL model so you can more easily remove users from your custom audience. External ID is the only field Facebook requires.
    • -
    • Segment recommends mapping as many parameters as you have available in your source model so that you can increase your match rates.
    • -
    -
  6. -
  7. - Send a test record. If successful, you should see a 200 response in Segment and one added record to your custom audience. To verify that the record was successfully added to your custom audience, open Facebook Ads Manager and navigate to **Audiences > {Audience Name} > History**. -
  8. -
  9. - Click **Save Mapping** and enable the mapping. -
  10. -
+6. Set how often your model syncs by setting the [Sync schedule](/docs/connections/reverse-etl/#step-4-create-mappings). +7. Select or create an audience in Facebook to sync your data with. Click the **Select or create audience in Facebook** button to save the audience ID to your mapping. +8. Map your model columns to the appropriate Facebook Custom Audience parameters. For more context about data formatting, see the [Sync Audience](#sync-audience) and [Data processing](#data-processing) documentation. + - Map External ID to a unique user identifier from your system (like User ID, CRM ID, or anonymous ID.) Segment recommends using the External ID column as your primary key when setting up your Reverse ETL model so you can more easily remove users from your custom audience. External ID is the only field Facebook requires. + - Segment recommends mapping as many parameters as you have available in your source model so that you can increase your match rates. +9. Send a test record. If successful, you should see a 200 response in Segment and one added record to your custom audience. To verify that the record was successfully added to your custom audience, open Facebook Ads Manager and navigate to **Audiences > \{Audience Name\} > History**. +10. Click **Save Mapping** and enable the mapping. ### Remove users from a Custom Audience @@ -84,7 +69,7 @@ After you've connected your Facebook Custom Audiences destination to Segment, se 6. Set how often your model syncs by setting the [Sync schedule](/docs/connections/reverse-etl/#step-4-create-mappings). 7. Select or create an audience in Facebook to sync your data with. Click the **Select or create audience in Facebook** button to save the audience ID to your mapping. 8. Map your model columns to the appropriate Facebook Custom Audience parameters. Only the External ID is required. When a record is deleted from your source model, only the model primary key is sent to the mapping; other columns from your source model are not sent. Segment recommends using the External ID as your primary key in your source model. -9. Send a test record. If successful, you should see a `200` response in Segment and one record removed from your custom audience. To verify that the record was successfully removed from your custom audience, open Facebook Ads Manager and navigate to **Audiences > {Audience Name} > History**. +9. Send a test record. If successful, you should see a `200` response in Segment and one record removed from your custom audience. To verify that the record was successfully removed from your custom audience, open Facebook Ads Manager and navigate to **Audiences > \{Audience Name\} > History**. 10. Click **Save Mapping** and enable the mapping. {% include components/actions-fields.html %} diff --git a/src/connections/destinations/catalog/actions-google-analytics-4-web/index.md b/src/connections/destinations/catalog/actions-google-analytics-4-web/index.md index 9ff0d60a40..cd507cb1f5 100644 --- a/src/connections/destinations/catalog/actions-google-analytics-4-web/index.md +++ b/src/connections/destinations/catalog/actions-google-analytics-4-web/index.md @@ -32,9 +32,9 @@ To connect the Google Analytics 4 Web destination: 7. Analytics.js requires an initial Page call to send data to Google Analytics 4 Web. The [Segment snippet](/docs/connections/sources/catalog/libraries/website/javascript/quickstart/#step-2-add-the-segment-snippet) includes this initial call by default. 8. For GA4 to accept events on page, enable Set Configuration Mapping triggered by the first Segment event called after analytics.load(). Set Configuration Mapping calls the gtag(‘config’) command to enable tracking to your GA4 Measurement ID. -After you've set up and enabled the Set Configuration Mapping, enable at least one event in your **Mappings** tab. From there, view your events and parameters using the Google [Realtime](https://support.google.com/analytics/answer/9271392){:target="_blank"} or[DebugView](https://support.google.com/analytics/answer/7201382){:target="_blank"} reports. These two reports show you the events users trigger on your website as they occur. The DebugView report requires additional configuration before you can use it. Additional tools for debugging are to view all your Google enabled tracking via https://tagassistant.google.com(https://tagassistant.google.com){:target=”_blank”} or in your browser’s Dev Tools, view GA4 collect requests by filtering by /collect. +After you've set up and enabled the Set Configuration Mapping, enable at least one event in your **Mappings** tab. From there, view your events and parameters using the Google [Realtime](https://support.google.com/analytics/answer/9271392){:target="_blank"} or [DebugView](https://support.google.com/analytics/answer/7201382){:target="_blank"} reports. These two reports show you the events users trigger on your website as they occur. The DebugView report requires additional configuration before you can use it. Additional tools for debugging are to view all your Google enabled tracking via [Tag Assistant](https://tagassistant.google.com){:target="_blank"} or in your browser’s Dev Tools, view GA4 collect requests by filtering by /collect. -Google Analytics automatically populates some events and parameters. For example, there are [Automatically Collected](https://support.google.com/analytics/answer/9234069){:target=”_blank”} events collected by triggering the Set Configuration Mapping. Calling gtag(‘config’) and enabling [Enhanced Measurement events](https://support.google.com/analytics/answer/9216061){:target=”_blank”}, which are controlled by toggling “on” in your GA4 Admin panel, use event listeners to send events. All events tracked via GA4 Web populate some commonly used parameters like `page_location` without additional configuration. Review the [Google Analytics event parameters](https://support.google.com/analytics/table/13594742){:target=”_blank” documentation for more information. +Google Analytics automatically populates some events and parameters. For example, there are [Automatically Collected](https://support.google.com/analytics/answer/9234069){:target=”_blank”} events collected by triggering the Set Configuration Mapping. Calling gtag(‘config’) and enabling [Enhanced Measurement events](https://support.google.com/analytics/answer/9216061){:target=”_blank”}, which are controlled by toggling “on” in your GA4 Admin panel, use event listeners to send events. All events tracked via GA4 Web populate some commonly used parameters like `page_location` without additional configuration. Review the [Google Analytics event parameters](https://support.google.com/analytics/table/13594742){:target=”_blank”} documentation for more information. ### Recommended events @@ -62,7 +62,7 @@ With Google Analytics 4, you must create custom dimensions and metrics, also kno Similar to how properties relate to Segment events, parameters provide additional information about the ways users interact with your website. For example, when someone views a product you sell, you can include parameters that describe the product they viewed, like `product_name`, `category`, and `price`. -Automatically Collected and Enhanced Measurement events include a defined set of parameters by default. Google also provides a set of required and optional parameters to include with each Recommended event, and you can add more event parameters when you need them. Segment recommends that you review GA4’s list of defined event parameters, as anything beyond that list is a custom event parameter. The [Event collection limits](https://https://support.google.com/analytics/answer/9267744){:target=_blank”} also impact how many Custom Definitions your GA4 instance allows and how many parameters you can send with each event. +Automatically Collected and Enhanced Measurement events include a defined set of parameters by default. Google also provides a set of required and optional parameters to include with each Recommended event, and you can add more event parameters when you need them. Segment recommends that you review GA4’s list of defined event parameters, as anything beyond that list is a custom event parameter. The [Event collection limits](https://https://support.google.com/analytics/answer/9267744){:target="_blank"} also impact how many Custom Definitions your GA4 instance allows and how many parameters you can send with each event. ### Conversion events diff --git a/src/connections/destinations/catalog/actions-hubspot-cloud/index.md b/src/connections/destinations/catalog/actions-hubspot-cloud/index.md index a21b6e64d8..d6038422f9 100644 --- a/src/connections/destinations/catalog/actions-hubspot-cloud/index.md +++ b/src/connections/destinations/catalog/actions-hubspot-cloud/index.md @@ -141,8 +141,8 @@ Follow the steps outlined in HubSpot's [Uninstall an app](https://knowledge.hubs #### How does disconnecting and uninstalling affect a user's data and HubSpot account? Segment immediately stops sending data to HubSpot after you disconnect and uninstall a HubSpot account. -#### Understanding HubSpot's `date` and dateTime` custom property types -If you plan on sending a _date_ value that includes time data to your mapped HubSpot custom properties, select HubSpot's `dateTime` property type in HubSpot. If you plan to send a _date_ value that does not contain time data, select the `date` property value in HubSpot. For more information about custom property types, see HubSpot's [Custom objects](https://developers.hubspot.com/docs/api/crm/crm-custom-objects#properties){:target="_blank”} documentation. +#### Understanding HubSpot's `date` and `dateTime` custom property types +If you plan on sending a _date_ value that includes time data to your mapped HubSpot custom properties, select HubSpot's `dateTime` property type in HubSpot. If you plan to send a _date_ value that does not contain time data, select the `date` property value in HubSpot. For more information about custom property types, see HubSpot's [Custom objects](https://developers.hubspot.com/docs/api/crm/crm-custom-objects#properties){:target="_blank"} documentation. If you send a _date_ value that contains time data to a custom property in HubSpot with a `date` property type, the event might fail due to an "**Invalid Date Error**." diff --git a/src/connections/destinations/catalog/actions-kafka/index.md b/src/connections/destinations/catalog/actions-kafka/index.md index 3748bd60c4..4306627f0b 100644 --- a/src/connections/destinations/catalog/actions-kafka/index.md +++ b/src/connections/destinations/catalog/actions-kafka/index.md @@ -20,45 +20,20 @@ id: 65dde5755698cb0dab09b489 The way you've configured your Kafka Cluster informs the authentication and encryption settings you'll need to apply to the Segment Kafka Destination. You may need the assistance of someone technical to provide values for the following Settings: -
    -
  1. - On the Settings tab, enter values into the **Client ID**, **Brokers** and **Authentication Mechanism** setting fields. -
  2. -
  3. - Populate fields based on the value you selected from the Authentication Mechanism field: -
      -
    • - Plain or SCRAM-SHA-256 / 512 authentication: provide values for Username and Password fields. -
    • -
    • - Client Certificate authentication: provide values for the SSL Client Key and SSL Client Certificate fields. -
    • -
    -
  4. -
  5. - Populate the **SSL Certificate Authority** field, if necessary. -
  6. -
  7. - Save your changes and proceed to [Configure the Send Action](#configure-the-send-action). -
  8. -
+1. On the Settings tab, enter values into the **Client ID**, **Brokers** and **Authentication Mechanism** setting fields. +2. Populate fields based on the value you selected from the **Authentication Mechanism** field: + - **Plain** or **SCRAM-SHA-256 / 512** authentication: provide values for **Username** and **Password** fields. + - **Client Certificate** authentication: provide values for the **SSL Client Key** and **SSL Client Certificate** fields. +3. Populate the **SSL Certificate Authority** field, if necessary. +4. Save your changes and proceed to [Configure the Send Action](#configure-the-send-action). ### Configure the "Send" Action -
    -
  1. - Select the Mappings tab and add a new **Send** mapping. -
  2. -
  3. - Select a Topic to send data to. This field should auto-populate based on the credentials you provided in the Settings tab. -
  4. -
  5. - Map your payload using the **Payload** field.
    _(Optional)_: Specify partitioning preferences, Headers and Message Key values. -
  6. -
  7. - Save and enable the Action, then navigate back to the Kafka destination's Settings tab to enable and save the Destination. -
  8. -
+1. Select the Mappings tab and add a new **Send** mapping. +2. Select a Topic to send data to. This field should auto-populate based on the credentials you provided in the Settings tab. +3. Map your payload using the **Payload** field. + _(Optional)_: Specify partitioning preferences, Headers and Message Key values. +4. Save and enable the Action, then navigate back to the Kafka destination's Settings tab to enable and save the Destination. {% include components/actions-fields.html %} From 4ce3f53613cbdb0c3d2fe0af0941954186685e65 Mon Sep 17 00:00:00 2001 From: Carolina Lopez Date: Mon, 27 Oct 2025 11:36:08 -0500 Subject: [PATCH 32/79] Fix --- src/connections/destinations/catalog/actions-braze-web/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/actions-braze-web/index.md b/src/connections/destinations/catalog/actions-braze-web/index.md index 20db884ddc..5661750e78 100644 --- a/src/connections/destinations/catalog/actions-braze-web/index.md +++ b/src/connections/destinations/catalog/actions-braze-web/index.md @@ -29,7 +29,7 @@ Braze web-mode (Actions) provides the following benefits over Braze (Classic): 3. Choose which of your sources to connect the destination to and follow the steps to create your destination. > warning "Mapping settings" > Some events require specific property names to map correctly into Braze. -> For example, purchase events must use a `products` array with `product_id` and `price. +> For example, purchase events must use a `products` array with `product_id` and `price`. > See [Braze-web settings mappings](#braze-web-settings-mapping) for "Device-web" for the full list of requirements before setting up mappings. 4. In the **Settings** tab, configure the connection settings. **API Key**, **SDK Endpoint**, and **REST Endpoint** are required settings. From bf61307abba10b7a8d97e25230272a4f4b166681 Mon Sep 17 00:00:00 2001 From: Carolina Lopez Date: Mon, 27 Oct 2025 11:47:10 -0500 Subject: [PATCH 33/79] Rename file, change html to md --- src/_includes/content/{papi-ga.html => papi-ga.md} | 0 src/api/config-api/api-design.md | 2 +- src/api/config-api/authentication.md | 2 +- src/api/config-api/index.md | 2 +- src/api/public-api/fql.md | 2 +- 5 files changed, 4 insertions(+), 4 deletions(-) rename src/_includes/content/{papi-ga.html => papi-ga.md} (100%) diff --git a/src/_includes/content/papi-ga.html b/src/_includes/content/papi-ga.md similarity index 100% rename from src/_includes/content/papi-ga.html rename to src/_includes/content/papi-ga.md diff --git a/src/api/config-api/api-design.md b/src/api/config-api/api-design.md index da2b06217f..b70743300c 100644 --- a/src/api/config-api/api-design.md +++ b/src/api/config-api/api-design.md @@ -2,7 +2,7 @@ title: API Design --- -{% include content/papi-ga.html %} +{% include content/papi-ga.md %} ## API Evolution: Versioning and Compatibility diff --git a/src/api/config-api/authentication.md b/src/api/config-api/authentication.md index cdec1e547e..d3b6445e13 100644 --- a/src/api/config-api/authentication.md +++ b/src/api/config-api/authentication.md @@ -2,7 +2,7 @@ title: Authentication --- -{% include content/papi-ga.html %} +{% include content/papi-ga.md %} You can access the Config API programmatically using access tokens. When you authenticate with an access token, you have access to any resource and permission assigned to the token. diff --git a/src/api/config-api/index.md b/src/api/config-api/index.md index 3e03b97ec6..d700ccf363 100644 --- a/src/api/config-api/index.md +++ b/src/api/config-api/index.md @@ -4,7 +4,7 @@ redirect_from: - '/config-api' --- -{% include content/papi-ga.html %} +{% include content/papi-ga.md %} The Config API lets you programmatically manage Segment workspaces, sources, destinations, and more. diff --git a/src/api/public-api/fql.md b/src/api/public-api/fql.md index 58f439bd7c..c15b3bdd00 100644 --- a/src/api/public-api/fql.md +++ b/src/api/public-api/fql.md @@ -5,7 +5,7 @@ redirect_from: - /api/config-api/fql --- -{% include content/papi-ga.html %} +{% include content/papi-ga.md %} This reference provides a comprehensive overview of the Segment Destination Filter query language. For information on the Destination Filters API (including information on migrating from the Config API), visit the [Destination Filters API reference](https://docs.segmentapis.com/tag/Destination-Filters){:target="_blank"}. From f0bd5b447a2d7a740f13835f59af8e2b7f5fe15b Mon Sep 17 00:00:00 2001 From: Carolina Lopez Date: Mon, 27 Oct 2025 12:02:00 -0500 Subject: [PATCH 34/79] escape < --- src/api/config-api/api-design.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/api/config-api/api-design.md b/src/api/config-api/api-design.md index b70743300c..8688d6cfe3 100644 --- a/src/api/config-api/api-design.md +++ b/src/api/config-api/api-design.md @@ -28,13 +28,13 @@ The Config API is a set of REST APIs for managing Segment resources. The primary You can manage each resource using standard methods: -| Method | HTTP Mapping | -|--------|-----------------------| -| List | GET | -| Get | GET | -| Create | POST | -| Update | PATCH | -| Delete | DELETE | +| Method | HTTP Mapping | +|--------|------------------------| +| List | GET \ | +| Get | GET \ | +| Create | POST \ | +| Update | PATCH \ | +| Delete | DELETE \ | ## Errors From 044f7d82806d294ba81655b71c10cb28f523f982 Mon Sep 17 00:00:00 2001 From: CristhianMotoche Date: Fri, 24 Oct 2025 16:22:18 -0500 Subject: [PATCH 35/79] chore: Changes to simplify migration --- src/connections/destinations/catalog/optimizely-web/index.md | 4 ++-- src/connections/destinations/catalog/quantcast/index.md | 2 +- src/connections/destinations/catalog/trubrics/index.md | 4 ++-- src/connections/functions/destination-functions.md | 2 +- src/connections/functions/environment.md | 2 +- src/connections/functions/insert-functions.md | 2 +- src/connections/functions/source-functions.md | 2 +- .../sources/catalog/cloud-apps/autopilothq/index.md | 3 +-- src/connections/sources/catalog/cloud-apps/blueshift/index.md | 2 +- .../sources/catalog/cloud-apps/friendbuy-legacy/index.md | 2 +- .../sources/catalog/cloud-apps/launchdarkly/index.md | 3 ++- 11 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/connections/destinations/catalog/optimizely-web/index.md b/src/connections/destinations/catalog/optimizely-web/index.md index c203028a89..d59a358490 100644 --- a/src/connections/destinations/catalog/optimizely-web/index.md +++ b/src/connections/destinations/catalog/optimizely-web/index.md @@ -135,7 +135,7 @@ This appends an additional property in your "Experiment Viewed" events called `n #### Sending Experiment Viewed event properties as Google Analytics Custom Dimensions -If you're sending your experiment data to Google Analytics in the form of `track` calls, Segment recommends creating hit-scoped custom dimensions in Google Analytics with titles like "Experiment Name" and "Variation Name," and then map the properties to those Custom Dimensions accordingly. For example, if you set Custom Dimension 5 to "Experiment Name" and Custom Dimension 1 to "Variation Name," here's how you'd configure the mappings in your Segment<>GA settings: +If you're sending your experiment data to Google Analytics in the form of `track` calls, Segment recommends creating hit-scoped custom dimensions in Google Analytics with titles like "Experiment Name" and "Variation Name," and then map the properties to those Custom Dimensions accordingly. For example, if you set Custom Dimension 5 to "Experiment Name" and Custom Dimension 1 to "Variation Name," here's how you'd configure the mappings in your Segment\<>GA settings: ![A screenshot of the Custom Dimensions tab of Optimizely.](images/customdimensions.png) @@ -195,7 +195,7 @@ If you are sending anonymous data to Optimizely X Full Stack using their server- ### No Data for Anonymous Users -Segment does not map any data to Optimizely from the Segment<>Optimizely Web destination for anonymous users - in other words, to map `track` and `page` data, a user must be `identified` with a `userId`. +Segment does not map any data to Optimizely from the Segment\<>Optimizely Web destination for anonymous users - in other words, to map `track` and `page` data, a user must be `identified` with a `userId`. ### Lower Experiment Viewed counts inside Segment and other tools vs. Optimizely unique visitors diff --git a/src/connections/destinations/catalog/quantcast/index.md b/src/connections/destinations/catalog/quantcast/index.md index ef578a007a..eb81594c56 100644 --- a/src/connections/destinations/catalog/quantcast/index.md +++ b/src/connections/destinations/catalog/quantcast/index.md @@ -32,7 +32,7 @@ For purchase events, you should send an event called `Order Completed` per our s ### Features #### Labels -When you call `page`, `track` or `screen`, we'll pass the page name, event name or screen name and the category (if provided) to Quantcast as a label. The standard label will look like this "" for page or screen, and "<name>" for track events. If you enable Quantcast for advertisers then we'll send "_fp.event.<name>" to match Quantcast's internal data structures for advertisers. If you do not pass any `category` or `name` for a `.page()` call, we will fallback on Quantcast's default label. +When you call `page`, `track` or `screen`, we'll pass the page name, event name or screen name and the category (if provided) to Quantcast as a label. The standard label will look like this "\<title>" for page or screen, and "\<name>" for track events. If you enable Quantcast for advertisers then we'll send "_fp.event.\<name>" to match Quantcast's internal data structures for advertisers. If you do not pass any `category` or `name` for a `.page()` call, we will fallback on Quantcast's default label. Here's an example for Quantcast Advertisers: diff --git a/src/connections/destinations/catalog/trubrics/index.md b/src/connections/destinations/catalog/trubrics/index.md index 34aa98c72e..df87831e6d 100644 --- a/src/connections/destinations/catalog/trubrics/index.md +++ b/src/connections/destinations/catalog/trubrics/index.md @@ -19,8 +19,8 @@ This destination is maintained by Trubrics. For any issues with the destination, 4. Go to the [Trubrics app](https://app.trubrics.com){:target="_blank"}, and copy the **Project API key** from the settings page. 5. Enter the **Project API Key** in the Trubrics destination settings in Segment, then enable the destination. 6. Add mappings for your AI/user properties. - - To learn more about adding mappings, see [Trubrics <> Segment Mapping Events](https://www.loom.com/share/3bc3a02cf38d47b4b865c50314dbc8fb){:target="_blank”}. + - To learn more about adding mappings, see [Trubrics \<> Segment Mapping Events](https://www.loom.com/share/3bc3a02cf38d47b4b865c50314dbc8fb){:target="_blank”}. <!--- TODO: write this instead of having it in a video ---> -{% include components/actions-fields.html %} \ No newline at end of file +{% include components/actions-fields.html %} diff --git a/src/connections/functions/destination-functions.md b/src/connections/functions/destination-functions.md index 56c3cee001..42dfaf0e46 100644 --- a/src/connections/functions/destination-functions.md +++ b/src/connections/functions/destination-functions.md @@ -371,7 +371,7 @@ async function getAccessToken () { ### Functions permissions -{% include content/functions/perms.md%} +{% include content/functions/perms.md %} ### Editing and deleting functions diff --git a/src/connections/functions/environment.md b/src/connections/functions/environment.md index c64591c48a..fd29a04725 100644 --- a/src/connections/functions/environment.md +++ b/src/connections/functions/environment.md @@ -119,7 +119,7 @@ View Segment's [Public API](https://docs.segmentapis.com/tag/Functions){:target= ## Functions permissions -{% include content/functions/perms.md%} +{% include content/functions/perms.md %} ## ️Settings and secrets diff --git a/src/connections/functions/insert-functions.md b/src/connections/functions/insert-functions.md index f55e5ef83e..f633d9c2bc 100644 --- a/src/connections/functions/insert-functions.md +++ b/src/connections/functions/insert-functions.md @@ -480,7 +480,7 @@ You can view Segment's list of [Integration Error Codes](/docs/connections/integ ### Functions permissions -{% include content/functions/perms.md%} +{% include content/functions/perms.md %} ### Editing and deleting functions diff --git a/src/connections/functions/source-functions.md b/src/connections/functions/source-functions.md index 466764e397..502302ecfd 100644 --- a/src/connections/functions/source-functions.md +++ b/src/connections/functions/source-functions.md @@ -391,7 +391,7 @@ Segment only attempts to run your source function again if a **Retry** error occ ### Source functions permissions -{% include content/functions/perms.md%} +{% include content/functions/perms.md %} ### Editing and deleting source functions diff --git a/src/connections/sources/catalog/cloud-apps/autopilothq/index.md b/src/connections/sources/catalog/cloud-apps/autopilothq/index.md index 407b871b3f..aa8fe7cdd5 100644 --- a/src/connections/sources/catalog/cloud-apps/autopilothq/index.md +++ b/src/connections/sources/catalog/cloud-apps/autopilothq/index.md @@ -50,8 +50,7 @@ Additionally, Autopilot also sends `email` and `contact_id` under `context.trait </tr> <tr> <td>Email Marked as Spam</td> - <td>Recipient marked message as spam - </td> + <td>Recipient marked message as spam</td> </tr> <tr> <td>Email Opened</td> diff --git a/src/connections/sources/catalog/cloud-apps/blueshift/index.md b/src/connections/sources/catalog/cloud-apps/blueshift/index.md index fe1a83f3ab..09b6176648 100644 --- a/src/connections/sources/catalog/cloud-apps/blueshift/index.md +++ b/src/connections/sources/catalog/cloud-apps/blueshift/index.md @@ -12,7 +12,7 @@ In your favorite BI or analytics tool, you'll be able to analyze your email camp ## Getting Started -1. From your workspace's segment.com/<your-workspace>/sources page, click Add source. +1. From your workspace's segment.com/\<your-workspace>/sources page, click Add source. 2. Choose Blueshift. 3. Give the Source a nickname and a schema name. The nickname is a label used in the Segment interface, and the schema name is the namespace you query against in your warehouse. You can name them however you'd like, but we recommend sticking to something that reflects the Source itself, like Blueshift for nickname and Blueshift for the schema name. 4. The next page ("Overview") will surface your Segment write key for Blueshift. Copy this write key. diff --git a/src/connections/sources/catalog/cloud-apps/friendbuy-legacy/index.md b/src/connections/sources/catalog/cloud-apps/friendbuy-legacy/index.md index 253702d73b..07e3cf870e 100644 --- a/src/connections/sources/catalog/cloud-apps/friendbuy-legacy/index.md +++ b/src/connections/sources/catalog/cloud-apps/friendbuy-legacy/index.md @@ -21,7 +21,7 @@ These events can be passed to your Segment Destinations such as data warehouses 6. Login to your Friendbuy account and enter this Segment write key at this location: [Settings>Configurations>Integrations](https://retailer.friendbuy.com/app){:target="_blank"}. 7. Click Save. -![Segment write key](images/segment-write-key.png) +![Segment write key](../friendbuy/images/segment-write-key.png) 8. From your Segment account, click into your Friendbuy Source and you'll be able to add other downstream Destinations where you want to see referral events. diff --git a/src/connections/sources/catalog/cloud-apps/launchdarkly/index.md b/src/connections/sources/catalog/cloud-apps/launchdarkly/index.md index 72017319a8..29649235d9 100644 --- a/src/connections/sources/catalog/cloud-apps/launchdarkly/index.md +++ b/src/connections/sources/catalog/cloud-apps/launchdarkly/index.md @@ -60,7 +60,8 @@ Below are tables outlining the properties included in the events listed above. <td><code>event</code></td> <td>event type</td> </tr> - <tr><td><b>Common Properties</b></td> + <tr> + <td><b>Common Properties</b></td> <td>Properties common to all event types</td> </tr> <tr> From fa47ec8f21875dc8b7930ebd286236532027b387 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Mon, 27 Oct 2025 14:16:40 -0400 Subject: [PATCH 36/79] call out onetrust wrapper behavior --- .../configure-consent-management.md | 4 ++-- .../consent-in-segment-connections.md | 13 ++++++++----- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/privacy/consent-management/configure-consent-management.md b/src/privacy/consent-management/configure-consent-management.md index 3a0c8fff64..3f76a05246 100644 --- a/src/privacy/consent-management/configure-consent-management.md +++ b/src/privacy/consent-management/configure-consent-management.md @@ -39,7 +39,7 @@ Before you can configure consent in Segment, take the following steps: ## Step 2: Integrating your CMP with Segment -Once you've created consent categories in the Segment app, you need to integrate your CMP with Segment. +Once you've created consent categories in the Segment app, you need to integrate your CMP with Segment and add the consent object to every event. If you're using Segment's OneTrust wrapper, the consent object automatically populates on each event. However, other methods may require you to manually include the consent object on your events. Segment supports the following CMPs: @@ -56,7 +56,7 @@ Segment supports the following CMPs: If you'd like to integrate with any other CMP, Segment requires you to build your own wrapper or use any mechanism provided it meets the following requirements for data and event generation: - Reads the end user consent preference from your CMP and includes the [consent object](/docs/privacy/consent-management/consent-in-segment-connections/#consent-object) in every event - - If using Unify and Engage, generates the [Segment Consent Preference Updated](/docs/privacy/consent-management/consent-in-unify/#segment-consent-preference-updated-event) event every time a user provides or updates their consent preferences with their anonymousId and userId + - If using Unify or Twilio Engage, generates the [Segment Consent Preference Updated](/docs/privacy/consent-management/consent-in-unify/#segment-consent-preference-updated-event) event every time a user provides or updates their consent preferences with their anonymousId and userId To get started building your own wrapper, follow the instructions in the [@segment/analytics-consent-tools](https://github.com/segmentio/analytics-next/tree/master/packages/consent/consent-tools){:target="_blank"} repository. diff --git a/src/privacy/consent-management/consent-in-segment-connections.md b/src/privacy/consent-management/consent-in-segment-connections.md index b4fc4c87c8..4698a04d83 100644 --- a/src/privacy/consent-management/consent-in-segment-connections.md +++ b/src/privacy/consent-management/consent-in-segment-connections.md @@ -20,10 +20,10 @@ If your sources also contain the integrations object, Segment looks at the conse ## Consent object -Segment requires every event from all of your sources to include the end user consent preferences, captured by your CMP or your application logic, in the form of the **consent object**. The consent object is a JSON object nestled inside of the [context object](/docs/connections/spec/common/#context) with the following format: +Segment requires every event from all of your sources to include the end user consent preferences, captured by your CMP or your application logic, in the form of the **consent object**. + +The consent object is a JSON object nestled inside of the [context object](/docs/connections/spec/common/#context) with the following format: -> success "" -> The JSON keys in the consent object should represent the `categoryId` for each consent category. ```json { @@ -41,9 +41,12 @@ Segment requires every event from all of your sources to include the end user co ``` -Events without the consent object continue to flow to destinations without consent enforcement. +> success "" +> The JSON keys in the consent object should represent the `categoryId` for each consent category. + +[Segment's OneTrust wrapper](/docs/privacy/consent-management/configure-consent-management/#step-2-integrating-your-cmp-with-segment) automatically adds the consent object to your events, but you can also manually add the consent object to your events if you're using a different CMP. -Events that don't include a context object, a consent object, or that include them but leave them empty, don’t affect [Profile-level consent preferences](/docs/privacy/consent-management/consent-in-unify) and flow to all destinations. +Events without the consent object continue to flow to destinations without consent enforcement. Events that don't include a context object, a consent object, or that include them but leave them empty, don’t affect [Profile-level consent preferences](/docs/privacy/consent-management/consent-in-unify) and flow to all destinations. ## Reconcile consent conflicts From 5711260eb600d1432c1bd7d627305446c0265650 Mon Sep 17 00:00:00 2001 From: CristhianMotoche <cmotoche@twilio.com> Date: Mon, 27 Oct 2025 14:56:54 -0500 Subject: [PATCH 37/79] chore: Fix table --- .../catalog/personas-facebook-custom-audiences/index.md | 3 ++- src/connections/destinations/catalog/trubrics/index.md | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/connections/destinations/catalog/personas-facebook-custom-audiences/index.md b/src/connections/destinations/catalog/personas-facebook-custom-audiences/index.md index a795b65e6d..d878aed968 100644 --- a/src/connections/destinations/catalog/personas-facebook-custom-audiences/index.md +++ b/src/connections/destinations/catalog/personas-facebook-custom-audiences/index.md @@ -110,7 +110,8 @@ Once created, the audience should be available in Facebook in ten minutes unless [Trait Enrichment](/docs/engage/trait-activation/trait-enrichment/) allows you to send an expanded list of identifiers or traits to Facebook, so that Facebook can try to use these additional data points to match to their user profiles. If you have this feature enabled and implemented any of these traits in your Segment tracking, Engage can send this data to Facebook. Segment can now also sync multiple emails if the profile contains more than one. Additionally as part of this feature, Segment hashes fields before sending them downstream to Facebook, if required. (See the table below for hashing requirements.) Note that the trait data implemented in your Segment tracking must match the naming convention and format specified in the table below, otherwise Segment can't send it to Facebook. -| **Name** | **Trait Key formats supported** | **Facebook Keys** | **FB Hashing Required** | **FB Guidelines** | +| **Name** | **Trait Key formats supported** | **Facebook Keys** | **FB Hashing Required** | **FB Guidelines** | +| ----------- | ------------------------------------------------------------ | -------------------- | ----------------------- | --------------------- | | Email | | EMAIL | Yes (Segment does the hashing for you. In case you are *already* hashing emails, emails will get sent to Facebook double-hashed. Facebook will still match on double-hashed emails, but this is *not* recommended. | Trim leading, trail whitespace, and convert all characters to lowercase. | | Mobile ID | | MADID | No | Use all lowercase, keep hyphens. | | First Name | first_name<br>firstname<br>firstName<br>first | FN | Yes | Use `a`-`z` only. Lowercase only, no punctuation. Special characters in UTF8 format. | diff --git a/src/connections/destinations/catalog/trubrics/index.md b/src/connections/destinations/catalog/trubrics/index.md index df87831e6d..1fcca5867d 100644 --- a/src/connections/destinations/catalog/trubrics/index.md +++ b/src/connections/destinations/catalog/trubrics/index.md @@ -19,7 +19,7 @@ This destination is maintained by Trubrics. For any issues with the destination, 4. Go to the [Trubrics app](https://app.trubrics.com){:target="_blank"}, and copy the **Project API key** from the settings page. 5. Enter the **Project API Key** in the Trubrics destination settings in Segment, then enable the destination. 6. Add mappings for your AI/user properties. - - To learn more about adding mappings, see [Trubrics \<> Segment Mapping Events](https://www.loom.com/share/3bc3a02cf38d47b4b865c50314dbc8fb){:target="_blank”}. + - To learn more about adding mappings, see [Trubrics \<> Segment Mapping Events](https://www.loom.com/share/3bc3a02cf38d47b4b865c50314dbc8fb){:target="_blank”}. <!--- TODO: write this instead of having it in a video ---> From 7f79cfb7435541aac04fdca2a12f114c48df1175 Mon Sep 17 00:00:00 2001 From: Rahul Lalmalani <lalmalani@live.com> Date: Mon, 27 Oct 2025 16:18:48 -0700 Subject: [PATCH 38/79] Revise Live Plugins documentation for Public Beta Updated the documentation for Live Plugins to reflect the transition from pilot to Public Beta, clarified setup instructions, and improved descriptions of functionality. Eliminated references to CLI and added instructions for accessing via WYSIWYG UI --- .../libraries/mobile/apple/live-plugins.md | 93 +++++-------------- 1 file changed, 22 insertions(+), 71 deletions(-) diff --git a/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md b/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md index 69f1d6d0d8..d3263634c1 100644 --- a/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md +++ b/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md @@ -3,24 +3,26 @@ title: Live Plugins strat: swift --- -Live plugins are JavaScript code snippets published to your Segment workspace and then downloaded directly to the mobile devices of end users. Live plugins let you perform real-time modifications to events before they leave the mobile device. +Segment has launched the [Auto-Instrumentation Public Beta](https://segment.com/docs/connections/auto-instrumentation/){:target="_blank"} to Public Beta, which simplifies instrumenting your websites & apps with a simple WYSIWYG interface, directly from your Segment workspace. In addition to creating events remotely, Segment also offers the ability to transform events remotely via Live Plugins. -On this page, you'll learn how to set up live plugins and how to create your own live plugins. You'll also see example live plugins that address common use cases. +Live Plugins are JavaScript code snippets which are published via your Segment source, and then downloaded directly to the mobile devices of end users. Live Plugins let you perform real-time modifications to events, before they leave the mobile device, without having to rebuild & redistribute your apps. -> info "Live Plugins is in pilot" -> Live Plugins is currently in Pilot and available to select Business Tier Customers only. To enable this feature for your workspace, contact your CSM. +On this page, you'll learn how to set up your mobile app to support Live Plugins, and how to create and deploy your own Live Plugins directly to your end users. You'll also see examples of Live Plugins that address common use cases. + +> info "Live Plugins is in Public Beta" +> Live Plugins is currently in Beta and available to select Business Tier Customers only. To enable this feature for your workspace, contact your CSM. ## Live plugins overview -You can use JavaScript live plugins with Analytics-Swift and Analytics-Kotlin to filter and modify data remotely. As a result, you can filter and modify analytics events without having to deploy updates to the app store for each change, ensuring data quality and consistency for all your mobile users. +You can use JavaScript live plugins with Analytics-Swift and Analytics-Kotlin to filter and modify data remotely. As a result, you can filter and modify Analytics events without having to deploy updates to the app store for each change, ensuring data quality and consistency for all your mobile users. -Because live plugins let you modify event data before it leaves a mobile device, you can use the same function to modify data meant for all your cloud-mode and device-mode destinations. +Because Live Plugins let you modify event data before it leaves a mobile device, you can use the same Javascript code to modify data meant for all your cloud-mode and device-mode destinations, or scope your changes to specific Destinations. ## Setup -To use live plugins, you first need to set up your mobile app with a one-time configuration. +To use Live Plugins, you first need to set up your mobile app with a one-time configuration. -To configure live plugins: +To configure Live Plugins: 1. Include the [Analytics Live for Swift plugin](https://github.com/segment-integrations/analytics-swift-live){:target="_blank"} and [Analytics Live for Kotlin plugin](https://github.com/segment-integrations/analytics-kotlin-live){:target="_blank"} @@ -49,68 +51,17 @@ analytics.add(LivePlugins()) {% endcodeexampletab %} {% endcodeexample %} -After you've completed setup, you can deploy your apps to the Apple App Store and Google Play Store. You can then add new JavaScript plugin code to your mobile apps through the CLI and perform updates as often as needed. - -## Live plugin tutorial - -This section walks you through a sample live plugin implementation. - -### 1. Write a live plugin in JavaScript - -Copy and save the following file, which anonymizes events by removing user IDs and device IDs: - -```js -class PrivacyLivePlugin extends LivePlugin { - // The execute function is called for every event. - execute(event) { - // Remove the user ID and device ID from the event to anonymize it. - event.userId = null; - delete event.context.device.id; - return event; - } -} -``` - -Note the name of your saved file. You'll need it in the next step. - -### 2. Deploy the plugin with the Live Plugin CLI - -With your plugin saved, you'll next deploy the plugin with Segment's Live Plugin CLI. Follow these steps: - -#### Install the CLI with Homebrew - -Run this command to install the Segment CLI: - -```shell -$ brew install segment-integrations/formulae/segmentcli -``` - -#### Authenticate with Segment - -Next, you'll authenticate with Segment to give the CLI access to your workspace: - -1. Within your Segment workspace, navigate to **Settings > Workspace Settings > Access Management > Tokens**. -2. Click **Create token** to generate a new token with the `Workspace Owner` role. Copy the token. -3. Return to your command line and use your token to authenticate: - - ```shell - $ segmentcli auth <ProfileName> <AuthToken> - ``` -4. Copy your source's ID. You'll find the Source ID under **Settings > API Keys > Source ID** on your source's page. -7. Use your source ID and live plugin file name to upload your live plugin: - - ```shell - $ segmentcli liveplugins upload <SourceID> <FileName> - ``` - -You've now successfully attached your live plugin(s) to your mobile source. The next time your users launch your app, their Segment SDK will download the latest live plugins, which will run every time new events are generated. - -> info "" -> Because the CDN settings object takes a few minutes to rebuild, your live plugins might not be available immediately. +After you've completed setup, you can deploy your apps to the Apple App Store and Google Play Store. You can then add new JavaScript plugin code to your mobile apps through the Segment website, and perform updates as often as needed. ## Create your own live plugin -Follow the steps in this section to create your own live plugin. +To access Live Plugins for you Swift and Kotlin sources +1. Navigate to Connections > Sources. +2. Select your Swift or Kotlin source (or create a new one). +3. From the Source's overview, select the Live Plugin tab +<img width="1119" height="578" alt="Access Live Plugins from the Source overview tab" src="https://github.com/user-attachments/assets/e228bddb-4cb8-4469-9ac6-8a2c322edcbc" /> + +Follow the steps in this section to create and deploy your own Live Plugin. ### 1. Subclass the `LivePlugin` class @@ -137,9 +88,9 @@ analytics.add(new UserIdLivePlugin(LivePluginType.enrichment, null)); In this example, you've created a `UserIdLivePlugin` by subclassing `LivePlugin` and implementing the `execute()` function. This function gets applied to every event. -### 2. Add your live plugin to the Analytics instance +### 2. Add your Live Plugin to the Analytics instance -After you define your custom live plugin, you need to add it to the Analytics instance. The Analytics object is globally accessible, and you can use the `add()` method to include your live plugin. +After you define your custom Live Plugin, you need to add it to the Analytics instance. The Analytics object is globally accessible, and you can use the `add()` method to include your Live Plugin. When you adding a new instance, you specify the `LivePluginType` and the destination to which it applies, or use null to apply it to all destinations. @@ -325,7 +276,7 @@ This section covers the primary event callbacks. #### The `execute` callback -The `execute` callback function serves as the primary entry point for live plugins to intercept and modify events. When you implement the `execute` function in your plugin, you can decide whether to keep the event by returning it or drop it by returning `null`. +The `execute` callback function serves as the primary entry point for Live Plugins to intercept and modify events. When you implement the `execute` function in your plugin, you can decide whether to keep the event by returning it or drop it by returning `null`. This callback is versatile, as you can use it for various event types when the event type itself is not critical. Additionally, `execute` lets you invoke more specific callbacks based on the event type. @@ -351,4 +302,4 @@ There's one non-event function: | Function | Description | | --------------- | --------------------------------------------------------------------------- | -| `reset(): null` | Called when the Analytics instance is about to be reset. Nothing to return. | \ No newline at end of file +| `reset(): null` | Called when the Analytics instance is about to be reset. Nothing to return. | From 3d2474cb70d1d989abc8ca9a50f6022281fd0fab Mon Sep 17 00:00:00 2001 From: Paulo Borges <paulohtb@hotmail.com> Date: Mon, 27 Oct 2025 21:26:18 -0300 Subject: [PATCH 39/79] Update ID for Koala (Cloud) Destination ID is the same as `actions-koala` which doesn't look right. This ID makes more sense --- .../destinations/catalog/actions-koala-cloud/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/actions-koala-cloud/index.md b/src/connections/destinations/catalog/actions-koala-cloud/index.md index 0147339057..47ecd5d341 100644 --- a/src/connections/destinations/catalog/actions-koala-cloud/index.md +++ b/src/connections/destinations/catalog/actions-koala-cloud/index.md @@ -1,6 +1,6 @@ --- title: Koala (Cloud) Destination -id: 6230c835c0d6535357ee950d +id: 6489c893dd5357493f365a96 --- {% include content/plan-grid.md name="actions" %} From ef295a1288844120c08be93aa9ee26742bf1e9e6 Mon Sep 17 00:00:00 2001 From: Elijah Hunt <ehunt@twilio.com> Date: Tue, 28 Oct 2025 12:49:05 +0100 Subject: [PATCH 40/79] Header link adjustment --- .../destinations/catalog/facebook-pixel-server-side/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/facebook-pixel-server-side/index.md b/src/connections/destinations/catalog/facebook-pixel-server-side/index.md index 35ec10ed08..360b51bd42 100644 --- a/src/connections/destinations/catalog/facebook-pixel-server-side/index.md +++ b/src/connections/destinations/catalog/facebook-pixel-server-side/index.md @@ -70,7 +70,7 @@ The Segment Facebook Conversions API destination gives you several ways to imple The following implementation options are available: 1. [Send the same events from both the browser and the server](#send-the-same-events-from-both-the-browser-and-the-server). -2. [Send different events; some from the browser others from the server](#send-different-events-some-from-the-browser-others-from-the-server). +2. [Send different events - some from the browser others from the server](#send-different-events---some-from-the-browser-others-from-the-server). 3. [Only send events from the server](#only-send-events-from-the-server). ### Send the same events from both the browser and the server From 43974699338c206fd062bb86e37ac7f7e8aa3b41 Mon Sep 17 00:00:00 2001 From: Paulo Borges <paulohtb@hotmail.com> Date: Tue, 28 Oct 2025 09:24:23 -0300 Subject: [PATCH 41/79] fix for callout (#8102) --- src/connections/destinations/catalog/actions-klaviyo/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/actions-klaviyo/index.md b/src/connections/destinations/catalog/actions-klaviyo/index.md index 14e850ecbd..be1b106e57 100644 --- a/src/connections/destinations/catalog/actions-klaviyo/index.md +++ b/src/connections/destinations/catalog/actions-klaviyo/index.md @@ -49,7 +49,7 @@ Klaviyo (Actions) Destination can accept [Reverse ETL](/docs/connections/reverse | Unsubscribe Profile | <img class="inline" src="/docs/images/supported.svg" /> | <img class="inline" src="/docs/images/unsupported.svg" /> | <img class="inline" src="/docs/images/supported.svg" /> | > info "" -> **\***Though technically possible, this may not be the most intuitive approach to using Reverse ETL. +> **\*** Though technically possible, this may not be the most intuitive approach to using Reverse ETL. In order to add users to a list, use the **Upsert Profile** Action and fill out the **List** field with the Klaviyo list you'd like to add the profile to. From 28c42b1a96daef3aaa593557684864687e8fa89b Mon Sep 17 00:00:00 2001 From: Elijah Hunt <ehunt@twilio.com> Date: Tue, 28 Oct 2025 18:33:40 +0100 Subject: [PATCH 42/79] include removal for static content --- src/connections/destinations/catalog/appsflyer/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/appsflyer/index.md b/src/connections/destinations/catalog/appsflyer/index.md index c19cab1b09..97f471fc35 100644 --- a/src/connections/destinations/catalog/appsflyer/index.md +++ b/src/connections/destinations/catalog/appsflyer/index.md @@ -60,7 +60,7 @@ To prevent this, you can enable the new **Fallback to send IDFV when advertising #### Additional React Native device-mode set up -{% include content/react2-dest.md %} +The device-mode destination SDK has platform restrictions in React Native. To add device-mode destination SDKs to a React Native project using Segment's new 2.0 release, please reference the [Destination Plugin documentation](/docs/connections/sources/catalog/libraries/mobile/react-native/#supported-destinations). ## Server From 2edfa9fbd1940939616b4ff6b98ad1c12f187b41 Mon Sep 17 00:00:00 2001 From: Rahul Lalmalani <lalmalani@live.com> Date: Tue, 28 Oct 2025 11:54:01 -0700 Subject: [PATCH 43/79] Fix image tag for Live Plugins access instructions Updated the image tag for accessing Live Plugins in the documentation. --- .../sources/catalog/libraries/mobile/apple/live-plugins.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md b/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md index d3263634c1..e25e4c0ccd 100644 --- a/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md +++ b/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md @@ -59,7 +59,7 @@ To access Live Plugins for you Swift and Kotlin sources 1. Navigate to Connections > Sources. 2. Select your Swift or Kotlin source (or create a new one). 3. From the Source's overview, select the Live Plugin tab -<img width="1119" height="578" alt="Access Live Plugins from the Source overview tab" src="https://github.com/user-attachments/assets/e228bddb-4cb8-4469-9ac6-8a2c322edcbc" /> +<img alt="Access Live Plugins from the Source overview tab" src="https://github.com/user-attachments/assets/e228bddb-4cb8-4469-9ac6-8a2c322edcbc" /> Follow the steps in this section to create and deploy your own Live Plugin. From 3e13b9117d3965c099f3054e24f9abb9d7ba89f5 Mon Sep 17 00:00:00 2001 From: Alon Binman <alon@getrise.ai> Date: Tue, 28 Oct 2025 22:13:57 +0200 Subject: [PATCH 44/79] Add Rise AI Source documentation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add documentation for Rise AI cloud source integration, including setup instructions, event definitions (walkthrough-progress and chats), and event properties. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> --- .../catalog/cloud-apps/rise-ai/index.md | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 src/connections/sources/catalog/cloud-apps/rise-ai/index.md diff --git a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md new file mode 100644 index 0000000000..0f71ca442b --- /dev/null +++ b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md @@ -0,0 +1,63 @@ +--- +title: Rise AI Source +--- + +[Rise AI](https://rise.ai/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank"} provides AI-powered user guidance and automation, helping users accomplish their jobs-to-be-done with intelligent walkthroughs and contextual assistance. + +This is an [Event Cloud Source](/docs/sources/#event-cloud-sources) which can not only export data into your Segment warehouse, but can also federate the exported data into your other enabled Segment Destinations. + +This source is maintained by Rise AI. For any issues with the source, [contact their Support team](mailto:support@rise.ai). + +## Getting started + +1. From your workspace's [Sources catalog page](https://app.segment.com/goto-my-workspace/sources/catalog){:target="_blank"} click **Add Source**. +2. Search for "Rise AI" in the Sources Catalog, select Rise AI, and click **Add Source**. +3. On the next screen, give the Source a name configure any other settings. + + - The name is used as a label in the Segment app, and Segment creates a related schema name in your warehouse. The name can be anything, but we recommend using something that reflects the source itself and distinguishes amongst your environments (eg. RiseAI_Prod, RiseAI_Staging, RiseAI_Dev). + +4. Click **Add Source** to save your settings. +5. Copy the Write key from the Segment UI. +6. Log in to your Rise AI account - navigate to Settings > Integrations > Segment Integration and paste the key to connect. + +## Stream + +Rise AI uses our stream Source component to send Segment event data. It uses a server-side `track` method to send data to Segment. These events are then available in any destination that accepts server-side events, and available in a schema in your data warehouse, so you can query using SQL. + +Rise AI includes the `userId` when available, along with a unique `tenant_id` for tenant isolation to ensure data privacy and proper attribution across different workspaces. + +## Events + +The table below lists events that Rise AI sends to Segment. These events appear as tables in your warehouse, and as regular events in other Destinations. Rise AI includes the `userId` if available. + +| Event Name | Description | +| ------------------- | ------------------------------------------------------------------ | +| walkthrough-progress | User progress through AI-guided walkthroughs and onboarding flows | +| chats | AI chat session creation and interactions | + + +## Event Properties + +The table below list the properties included in the events listed above. + +| Property Name | Description | +| ------------------------- | ---------------------------------------------------------------- | +| `batch_id` | Unique identifier for the event batch | +| `chat_id` | Unique identifier for the chat session | +| `environment` | Environment where the event occurred (production, staging, etc.) | +| `event_timestamp` | Timestamp when the event occurred | +| `tenant_id` | Unique identifier for the tenant/workspace | +| `step_index` | Position of the current step in the walkthrough (walkthrough-progress only) | +| `step_title` | Title of the current walkthrough step (walkthrough-progress only) | +| `fulfillment_action` | Action taken to fulfill the step (walkthrough-progress only) | +| `walkthrough_job_to_be_done` | The job-to-be-done that the walkthrough helps accomplish (walkthrough-progress only) | +| `chat_type` | Type of chat interaction (chats only) | + + +## Adding Destinations + +Now that your Source is set up, you can connect it with Destinations. + +Log into your downstream tools and check to see that your events appear as expected, and that they contain all of the properties you expect. If your events and properties don't appear, check the [Event Delivery](/docs/connections/event-delivery/) tool, and refer to the Destination docs for each tool for troubleshooting. + +If there are any issues with how the events are arriving to Segment, [contact the Rise AI support team](mailto:support@rise.ai). From 75c5c232b771f65a507baa538f47f49874d05ac0 Mon Sep 17 00:00:00 2001 From: Alon Binman <alon@getrise.ai> Date: Tue, 28 Oct 2025 22:15:28 +0200 Subject: [PATCH 45/79] Fix Rise AI domain to getrise.ai MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update all references from rise.ai to getrise.ai for correct website and support email addresses. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> --- src/connections/sources/catalog/cloud-apps/rise-ai/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md index 0f71ca442b..8cfe9a554a 100644 --- a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md +++ b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md @@ -2,11 +2,11 @@ title: Rise AI Source --- -[Rise AI](https://rise.ai/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank"} provides AI-powered user guidance and automation, helping users accomplish their jobs-to-be-done with intelligent walkthroughs and contextual assistance. +[Rise AI](https://getrise.ai/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank"} provides AI-powered user guidance and automation, helping users accomplish their jobs-to-be-done with intelligent walkthroughs and contextual assistance. This is an [Event Cloud Source](/docs/sources/#event-cloud-sources) which can not only export data into your Segment warehouse, but can also federate the exported data into your other enabled Segment Destinations. -This source is maintained by Rise AI. For any issues with the source, [contact their Support team](mailto:support@rise.ai). +This source is maintained by Rise AI. For any issues with the source, [contact their Support team](mailto:support@getrise.ai). ## Getting started @@ -60,4 +60,4 @@ Now that your Source is set up, you can connect it with Destinations. Log into your downstream tools and check to see that your events appear as expected, and that they contain all of the properties you expect. If your events and properties don't appear, check the [Event Delivery](/docs/connections/event-delivery/) tool, and refer to the Destination docs for each tool for troubleshooting. -If there are any issues with how the events are arriving to Segment, [contact the Rise AI support team](mailto:support@rise.ai). +If there are any issues with how the events are arriving to Segment, [contact the Rise AI support team](mailto:support@getrise.ai). From 12e22240bad60aaa46c754dbffab61282cc20827 Mon Sep 17 00:00:00 2001 From: Rahul Lalmalani <lalmalani@live.com> Date: Tue, 28 Oct 2025 14:27:35 -0700 Subject: [PATCH 46/79] Revise Live Plugins documentation for clarity Cleaned up redundant text --- .../libraries/mobile/apple/live-plugins.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md b/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md index e25e4c0ccd..2ddb11ce55 100644 --- a/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md +++ b/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md @@ -3,20 +3,20 @@ title: Live Plugins strat: swift --- -Segment has launched the [Auto-Instrumentation Public Beta](https://segment.com/docs/connections/auto-instrumentation/){:target="_blank"} to Public Beta, which simplifies instrumenting your websites & apps with a simple WYSIWYG interface, directly from your Segment workspace. In addition to creating events remotely, Segment also offers the ability to transform events remotely via Live Plugins. +Segment has launched the [Auto-Instrumentation](https://segment.com/docs/connections/auto-instrumentation/){:target="_blank"} to Public Beta, which simplifies instrumenting your websites & apps with a simple WYSIWYG interface, directly from your Segment workspace. As part of this launch, Segment also offers the ability to transform events remotely via Live Plugins. -Live Plugins are JavaScript code snippets which are published via your Segment source, and then downloaded directly to the mobile devices of end users. Live Plugins let you perform real-time modifications to events, before they leave the mobile device, without having to rebuild & redistribute your apps. +Live Plugins are JavaScript code snippets which are published from your Segment workspace directly to the devices of your end users. Live Plugins let you perform real-time modifications to events, before they leave the end-user device, without having to rebuild & redistribute your apps. On this page, you'll learn how to set up your mobile app to support Live Plugins, and how to create and deploy your own Live Plugins directly to your end users. You'll also see examples of Live Plugins that address common use cases. > info "Live Plugins is in Public Beta" -> Live Plugins is currently in Beta and available to select Business Tier Customers only. To enable this feature for your workspace, contact your CSM. +> Live Plugins is currently in Beta for Swift & Kotlin, and available to select Business Tier Customers only. To enable this feature for your workspace, contact your CSM. -## Live plugins overview +## Live Plugins overview You can use JavaScript live plugins with Analytics-Swift and Analytics-Kotlin to filter and modify data remotely. As a result, you can filter and modify Analytics events without having to deploy updates to the app store for each change, ensuring data quality and consistency for all your mobile users. -Because Live Plugins let you modify event data before it leaves a mobile device, you can use the same Javascript code to modify data meant for all your cloud-mode and device-mode destinations, or scope your changes to specific Destinations. +Because Live Plugins let you modify event data before it leaves a mobile device, you can use the same Javascript code to modify data across all your cloud-mode and device-mode destinations, or you can scope your changes to specific destinations. ## Setup @@ -24,8 +24,8 @@ To use Live Plugins, you first need to set up your mobile app with a one-time co To configure Live Plugins: -1. Include the [Analytics Live for Swift plugin](https://github.com/segment-integrations/analytics-swift-live){:target="_blank"} - and [Analytics Live for Kotlin plugin](https://github.com/segment-integrations/analytics-kotlin-live){:target="_blank"} +1. Include [Analytics-Live for Swift plugin](https://github.com/segment-integrations/analytics-swift-live){:target="_blank"} + and [Analytics-Live for Kotlin](https://github.com/segment-integrations/analytics-kotlin-live){:target="_blank"} in your project. 2. Add the plugin to your instance of Analytics, using the following code: @@ -53,7 +53,7 @@ analytics.add(LivePlugins()) After you've completed setup, you can deploy your apps to the Apple App Store and Google Play Store. You can then add new JavaScript plugin code to your mobile apps through the Segment website, and perform updates as often as needed. -## Create your own live plugin +## Create your own Live Plugin To access Live Plugins for you Swift and Kotlin sources 1. Navigate to Connections > Sources. @@ -102,7 +102,7 @@ analytics.add(new UserIdLivePlugin(LivePluginType.enrichment, "adobe")); ### 3. Use the `LivePluginType` enums -To control when your custom live plugin runs during event processing, you can use `LivePluginType` enums, which define different timing options for your live plugin. Here are the available types: +To control when your custom Live Plugin runs during the event lifecycle, you can use `LivePluginType` enums, which define different timing options for your Live Plugin. Here are the available types: ```js const LivePluginType = { @@ -113,9 +113,9 @@ const LivePluginType = { } ``` -With these enums, you can select the timing that best fits your custom live plugin's target use case. These types align with categories used for Native Plugins. +With these enums, you can select the timing that best fits your custom Live Plugin's target use case. These types align with categories used for Native Plugins. -## Live plugin examples +## Live Plugin examples The following live plugin examples address common use cases: @@ -252,7 +252,7 @@ analytics.add(new DownSampleLivePlugin(LivePluginType.enrichment, null)); ## Live Plugins API -Live plugins follow an interface that let you intercept Segment events and modify their data. This interface includes several functions that you can implement for custom behavior: +Live Plugins expose an interface that lets you intercept Segment events and modify their data. This interface includes several functions that you can implement for custom behavior: ```js // Interface for Live Plugins: From 6ede5c01378b66f497ec82ce6fb3bb6a09b71b1b Mon Sep 17 00:00:00 2001 From: Paulo Borges <pborges@twilio.com> Date: Tue, 28 Oct 2025 20:29:14 -0300 Subject: [PATCH 47/79] remove iterable strat --- .../destinations/catalog/actions-iterable-lists/index.md | 1 - src/connections/destinations/catalog/actions-iterable/index.md | 1 - 2 files changed, 2 deletions(-) diff --git a/src/connections/destinations/catalog/actions-iterable-lists/index.md b/src/connections/destinations/catalog/actions-iterable-lists/index.md index 1875548fd8..6c9871e6b0 100644 --- a/src/connections/destinations/catalog/actions-iterable-lists/index.md +++ b/src/connections/destinations/catalog/actions-iterable-lists/index.md @@ -1,6 +1,5 @@ --- title: Iterable Lists (Actions) Destination -strat: iterable hide-boilerplate: true id: 66a7c28810bbaf446695d27d hide-dossier: true diff --git a/src/connections/destinations/catalog/actions-iterable/index.md b/src/connections/destinations/catalog/actions-iterable/index.md index 55ca1d3206..cafad4bb25 100644 --- a/src/connections/destinations/catalog/actions-iterable/index.md +++ b/src/connections/destinations/catalog/actions-iterable/index.md @@ -1,6 +1,5 @@ --- title: Iterable (Actions) Destination -strat: iterable hide-boilerplate: true id: 645babd9362d97b777391325 hide-dossier: true From 3709e72792980eb1b82fc752b11e40f54e17b3fc Mon Sep 17 00:00:00 2001 From: Carolina Lopez <calopez@twilio.com> Date: Tue, 28 Oct 2025 21:42:36 -0500 Subject: [PATCH 48/79] Update storage-do-include.md --- src/_includes/content/storage-do-include.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/_includes/content/storage-do-include.md b/src/_includes/content/storage-do-include.md index bcd47d3812..45eb7e8c46 100644 --- a/src/_includes/content/storage-do-include.md +++ b/src/_includes/content/storage-do-include.md @@ -1,4 +1,10 @@ {% capture title %}{{page.title}}{% endcapture %} {% capture name %}{{page.title | replace: 'Destination', ''}}{% endcapture %} -<div class="premonition info"><div class="fa fa-info-circle"></div><div class="content"><p class="header">View observability metrics about your {{title}} with Delivery Overview</p><p markdown=1>Delivery Overview, Segment's built-in observability tool, is now in public beta for storage destinations. For more information, see the [Delivery Overview](/docs/connections/delivery-overview/) documentation.</p></div></div> \ No newline at end of file +<div class="premonition info"> + <div class="fa fa-info-circle"></div> + <div class="content"> + <p class="header">View observability metrics about your {{title}} with Delivery Overview</p> + <p markdown=1>Delivery Overview, Segment's built-in observability tool, is now in public beta for storage destinations. For more information, see the [Delivery Overview](/docs/connections/delivery-overview/) documentation.</p> + </div> +</div> From 34a2b938358e76f0811e48cb3f40498dd38d14d5 Mon Sep 17 00:00:00 2001 From: Paulo Borges <paulohtb@hotmail.com> Date: Wed, 29 Oct 2025 09:03:10 -0300 Subject: [PATCH 49/79] small fixes for batch 5.3 (#8107) --- .../catalog/actions-facebook-conversions-api/index.md | 2 +- src/connections/destinations/catalog/actions-klaviyo/index.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/connections/destinations/catalog/actions-facebook-conversions-api/index.md b/src/connections/destinations/catalog/actions-facebook-conversions-api/index.md index f98a6813d2..08d22f6af8 100644 --- a/src/connections/destinations/catalog/actions-facebook-conversions-api/index.md +++ b/src/connections/destinations/catalog/actions-facebook-conversions-api/index.md @@ -89,7 +89,7 @@ Available sync modes for the Facebook Conversions API (Actions) include: ## Configuration options -The Facebook Conversions API (Actions) destination gives you several ways to implement your conversion tracking. You can use it with [Facebook Pixel](/docs/connections/destinations/catalog/facebook-pixel/), or as a stand-alone alternative. You can read more about implementation options below and in [Facebook documentation](https://developers.facebook.com/docs/marketing-api/conversions-api/guides/end-to-end-implementation#pick-your-integration-type){:target="_blank"}. | +The Facebook Conversions API (Actions) destination gives you several ways to implement your conversion tracking. You can use it with [Facebook Pixel](/docs/connections/destinations/catalog/facebook-pixel/), or as a stand-alone alternative. You can read more about implementation options below and in [Facebook documentation](https://developers.facebook.com/docs/marketing-api/conversions-api/guides/end-to-end-implementation#pick-your-integration-type){:target="_blank"}. ### Send events from both the browser and the server diff --git a/src/connections/destinations/catalog/actions-klaviyo/index.md b/src/connections/destinations/catalog/actions-klaviyo/index.md index be1b106e57..02fa5edf41 100644 --- a/src/connections/destinations/catalog/actions-klaviyo/index.md +++ b/src/connections/destinations/catalog/actions-klaviyo/index.md @@ -45,11 +45,11 @@ Klaviyo (Actions) Destination can accept [Reverse ETL](/docs/connections/reverse | Track Event | <img class="inline" src="/docs/images/supported.svg" /> | <img class="inline" src="/docs/images/unsupported.svg" /> | <img class="inline" src="/docs/images/unsupported.svg" /> | | Upsert Profile | <img class="inline" src="/docs/images/supported.svg" /> | <img class="inline" src="/docs/images/supported.svg" /> | <img class="inline" src="/docs/images/unsupported.svg" /> | | Remove Profile | <img class="inline" src="/docs/images/supported.svg" /> | <img class="inline" src="/docs/images/unsupported.svg" /> | <img class="inline" src="/docs/images/supported.svg" /> | -| Subscribe Profile | <img class="inline" src="/docs/images/supported.svg" /> | <img class="inline" src="/docs/images/unsupported.svg" /> | <img class="inline" src="/docs/images/supported.svg" /> **\*** | +| Subscribe Profile | <img class="inline" src="/docs/images/supported.svg" /> | <img class="inline" src="/docs/images/unsupported.svg" /> | <img class="inline" src="/docs/images/supported.svg" /> \* | | Unsubscribe Profile | <img class="inline" src="/docs/images/supported.svg" /> | <img class="inline" src="/docs/images/unsupported.svg" /> | <img class="inline" src="/docs/images/supported.svg" /> | > info "" -> **\*** Though technically possible, this may not be the most intuitive approach to using Reverse ETL. +> \* Though technically possible, this may not be the most intuitive approach to using Reverse ETL. In order to add users to a list, use the **Upsert Profile** Action and fill out the **List** field with the Klaviyo list you'd like to add the profile to. From ae337f88e28c95931e1d0cd3643e2bdc6b4f4575 Mon Sep 17 00:00:00 2001 From: alon-getrise <alon@getrise.ai> Date: Wed, 29 Oct 2025 18:56:09 +0200 Subject: [PATCH 50/79] Update src/connections/sources/catalog/cloud-apps/rise-ai/index.md Co-authored-by: rchinn1 <93161299+rchinn1@users.noreply.github.com> --- src/connections/sources/catalog/cloud-apps/rise-ai/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md index 8cfe9a554a..26e91ba070 100644 --- a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md +++ b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md @@ -12,7 +12,7 @@ This source is maintained by Rise AI. For any issues with the source, [contact t 1. From your workspace's [Sources catalog page](https://app.segment.com/goto-my-workspace/sources/catalog){:target="_blank"} click **Add Source**. 2. Search for "Rise AI" in the Sources Catalog, select Rise AI, and click **Add Source**. -3. On the next screen, give the Source a name configure any other settings. +3. On the next screen, give the source a name, then configure any other settings. - The name is used as a label in the Segment app, and Segment creates a related schema name in your warehouse. The name can be anything, but we recommend using something that reflects the source itself and distinguishes amongst your environments (eg. RiseAI_Prod, RiseAI_Staging, RiseAI_Dev). From d6118d15d74be03c36c39325d11680957461e7a7 Mon Sep 17 00:00:00 2001 From: alon-getrise <alon@getrise.ai> Date: Wed, 29 Oct 2025 18:56:20 +0200 Subject: [PATCH 51/79] Update src/connections/sources/catalog/cloud-apps/rise-ai/index.md Co-authored-by: rchinn1 <93161299+rchinn1@users.noreply.github.com> --- src/connections/sources/catalog/cloud-apps/rise-ai/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md index 26e91ba070..470fab9340 100644 --- a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md +++ b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md @@ -14,7 +14,7 @@ This source is maintained by Rise AI. For any issues with the source, [contact t 2. Search for "Rise AI" in the Sources Catalog, select Rise AI, and click **Add Source**. 3. On the next screen, give the source a name, then configure any other settings. - - The name is used as a label in the Segment app, and Segment creates a related schema name in your warehouse. The name can be anything, but we recommend using something that reflects the source itself and distinguishes amongst your environments (eg. RiseAI_Prod, RiseAI_Staging, RiseAI_Dev). + - The name is used as a label in the Segment app, and Segment creates a related schema name in your warehouse. The name can be anything, but we recommend using something that reflects the source itself and distinguishes amongst your environments (for example, `RiseAI_Prod`, `RiseAI_Staging`, or `RiseAI_Dev`). 4. Click **Add Source** to save your settings. 5. Copy the Write key from the Segment UI. From 3c165c73480493ced1befff8e57919f04c71849e Mon Sep 17 00:00:00 2001 From: alon-getrise <alon@getrise.ai> Date: Wed, 29 Oct 2025 18:56:32 +0200 Subject: [PATCH 52/79] Update src/connections/sources/catalog/cloud-apps/rise-ai/index.md Co-authored-by: rchinn1 <93161299+rchinn1@users.noreply.github.com> --- src/connections/sources/catalog/cloud-apps/rise-ai/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md index 470fab9340..b6ff7c87b9 100644 --- a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md +++ b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md @@ -18,7 +18,7 @@ This source is maintained by Rise AI. For any issues with the source, [contact t 4. Click **Add Source** to save your settings. 5. Copy the Write key from the Segment UI. -6. Log in to your Rise AI account - navigate to Settings > Integrations > Segment Integration and paste the key to connect. +6. Log in to your Rise AI account, then navigate to **Settings** > **Integrations** > **Segment Integration** and paste the key to connect. ## Stream From cd5316c8f85cf10cde71e2f6c260b7e78e6f795d Mon Sep 17 00:00:00 2001 From: alon-getrise <alon@getrise.ai> Date: Wed, 29 Oct 2025 18:56:43 +0200 Subject: [PATCH 53/79] Update src/connections/sources/catalog/cloud-apps/rise-ai/index.md Co-authored-by: rchinn1 <93161299+rchinn1@users.noreply.github.com> --- src/connections/sources/catalog/cloud-apps/rise-ai/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md index b6ff7c87b9..6ee49a0aac 100644 --- a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md +++ b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md @@ -22,7 +22,7 @@ This source is maintained by Rise AI. For any issues with the source, [contact t ## Stream -Rise AI uses our stream Source component to send Segment event data. It uses a server-side `track` method to send data to Segment. These events are then available in any destination that accepts server-side events, and available in a schema in your data warehouse, so you can query using SQL. +Rise AI uses our stream source component to send Segment event data. It uses a server-side Track method to send data to Segment. These events are then available in any destination that accepts server-side events, and available in a schema in your data warehouse, so you can query using SQL. Rise AI includes the `userId` when available, along with a unique `tenant_id` for tenant isolation to ensure data privacy and proper attribution across different workspaces. From 36311c20553d4b26374b4db7a5f695fa8e0ec1bf Mon Sep 17 00:00:00 2001 From: alon-getrise <alon@getrise.ai> Date: Wed, 29 Oct 2025 18:56:52 +0200 Subject: [PATCH 54/79] Update src/connections/sources/catalog/cloud-apps/rise-ai/index.md Co-authored-by: rchinn1 <93161299+rchinn1@users.noreply.github.com> --- src/connections/sources/catalog/cloud-apps/rise-ai/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md index 6ee49a0aac..f1d38db24c 100644 --- a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md +++ b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md @@ -28,7 +28,7 @@ Rise AI includes the `userId` when available, along with a unique `tenant_id` fo ## Events -The table below lists events that Rise AI sends to Segment. These events appear as tables in your warehouse, and as regular events in other Destinations. Rise AI includes the `userId` if available. +The table below lists events that Rise AI sends to Segment. These events appear as tables in your warehouse, and as regular events in other destinations. Rise AI includes the `userId` if available. | Event Name | Description | | ------------------- | ------------------------------------------------------------------ | From 0bc4808159ab753c0ac39f29235bea9d2393f74b Mon Sep 17 00:00:00 2001 From: alon-getrise <alon@getrise.ai> Date: Wed, 29 Oct 2025 18:57:02 +0200 Subject: [PATCH 55/79] Update src/connections/sources/catalog/cloud-apps/rise-ai/index.md Co-authored-by: rchinn1 <93161299+rchinn1@users.noreply.github.com> --- src/connections/sources/catalog/cloud-apps/rise-ai/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md index f1d38db24c..ea24cd20ad 100644 --- a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md +++ b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md @@ -40,7 +40,7 @@ The table below lists events that Rise AI sends to Segment. These events appear The table below list the properties included in the events listed above. -| Property Name | Description | +| Property name | Description | | ------------------------- | ---------------------------------------------------------------- | | `batch_id` | Unique identifier for the event batch | | `chat_id` | Unique identifier for the chat session | From a58d430086975816199be8735fdf6f4ed38efd9d Mon Sep 17 00:00:00 2001 From: alon-getrise <alon@getrise.ai> Date: Wed, 29 Oct 2025 18:57:11 +0200 Subject: [PATCH 56/79] Update src/connections/sources/catalog/cloud-apps/rise-ai/index.md Co-authored-by: rchinn1 <93161299+rchinn1@users.noreply.github.com> --- src/connections/sources/catalog/cloud-apps/rise-ai/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md index ea24cd20ad..a6ed9660a8 100644 --- a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md +++ b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md @@ -44,7 +44,7 @@ The table below list the properties included in the events listed above. | ------------------------- | ---------------------------------------------------------------- | | `batch_id` | Unique identifier for the event batch | | `chat_id` | Unique identifier for the chat session | -| `environment` | Environment where the event occurred (production, staging, etc.) | +| `environment` | Environment where the event occurred (for example, production or staging) | | `event_timestamp` | Timestamp when the event occurred | | `tenant_id` | Unique identifier for the tenant/workspace | | `step_index` | Position of the current step in the walkthrough (walkthrough-progress only) | From 23dd15ac4a98985d78ca3274b2c7d079228bf5e1 Mon Sep 17 00:00:00 2001 From: alon-getrise <alon@getrise.ai> Date: Wed, 29 Oct 2025 18:57:19 +0200 Subject: [PATCH 57/79] Update src/connections/sources/catalog/cloud-apps/rise-ai/index.md Co-authored-by: rchinn1 <93161299+rchinn1@users.noreply.github.com> --- src/connections/sources/catalog/cloud-apps/rise-ai/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md index a6ed9660a8..9662a5b862 100644 --- a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md +++ b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md @@ -54,7 +54,7 @@ The table below list the properties included in the events listed above. | `chat_type` | Type of chat interaction (chats only) | -## Adding Destinations +## Adding destinations Now that your Source is set up, you can connect it with Destinations. From 36efb3cbfdf48934e7ec3f76889512ea21d586b4 Mon Sep 17 00:00:00 2001 From: alon-getrise <alon@getrise.ai> Date: Wed, 29 Oct 2025 18:57:27 +0200 Subject: [PATCH 58/79] Update src/connections/sources/catalog/cloud-apps/rise-ai/index.md Co-authored-by: rchinn1 <93161299+rchinn1@users.noreply.github.com> --- src/connections/sources/catalog/cloud-apps/rise-ai/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md index 9662a5b862..0c1f2e3160 100644 --- a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md +++ b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md @@ -56,7 +56,7 @@ The table below list the properties included in the events listed above. ## Adding destinations -Now that your Source is set up, you can connect it with Destinations. +Now that your source is set up, you can connect it with destinations. Log into your downstream tools and check to see that your events appear as expected, and that they contain all of the properties you expect. If your events and properties don't appear, check the [Event Delivery](/docs/connections/event-delivery/) tool, and refer to the Destination docs for each tool for troubleshooting. From dfbd40f5580fcb46ddd2df73016f0de093599813 Mon Sep 17 00:00:00 2001 From: alon-getrise <alon@getrise.ai> Date: Wed, 29 Oct 2025 18:57:37 +0200 Subject: [PATCH 59/79] Update src/connections/sources/catalog/cloud-apps/rise-ai/index.md Co-authored-by: rchinn1 <93161299+rchinn1@users.noreply.github.com> --- src/connections/sources/catalog/cloud-apps/rise-ai/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md index 0c1f2e3160..84dc0e2131 100644 --- a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md +++ b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md @@ -30,7 +30,7 @@ Rise AI includes the `userId` when available, along with a unique `tenant_id` fo The table below lists events that Rise AI sends to Segment. These events appear as tables in your warehouse, and as regular events in other destinations. Rise AI includes the `userId` if available. -| Event Name | Description | +| Event name | Description | | ------------------- | ------------------------------------------------------------------ | | walkthrough-progress | User progress through AI-guided walkthroughs and onboarding flows | | chats | AI chat session creation and interactions | From 86caf108297fc38ac8b3e64b4fed629177e5d7f4 Mon Sep 17 00:00:00 2001 From: alon-getrise <alon@getrise.ai> Date: Wed, 29 Oct 2025 18:57:47 +0200 Subject: [PATCH 60/79] Update src/connections/sources/catalog/cloud-apps/rise-ai/index.md Co-authored-by: rchinn1 <93161299+rchinn1@users.noreply.github.com> --- src/connections/sources/catalog/cloud-apps/rise-ai/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md index 84dc0e2131..69b7fe98dc 100644 --- a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md +++ b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md @@ -36,7 +36,7 @@ The table below lists events that Rise AI sends to Segment. These events appear | chats | AI chat session creation and interactions | -## Event Properties +## Event properties The table below list the properties included in the events listed above. From 2a3194c8895f62beff02a64ed3c258a227181be7 Mon Sep 17 00:00:00 2001 From: alon-getrise <alon@getrise.ai> Date: Wed, 29 Oct 2025 18:58:00 +0200 Subject: [PATCH 61/79] Update src/connections/sources/catalog/cloud-apps/rise-ai/index.md Co-authored-by: rchinn1 <93161299+rchinn1@users.noreply.github.com> --- src/connections/sources/catalog/cloud-apps/rise-ai/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md index 69b7fe98dc..e2375e3b60 100644 --- a/src/connections/sources/catalog/cloud-apps/rise-ai/index.md +++ b/src/connections/sources/catalog/cloud-apps/rise-ai/index.md @@ -58,6 +58,6 @@ The table below list the properties included in the events listed above. Now that your source is set up, you can connect it with destinations. -Log into your downstream tools and check to see that your events appear as expected, and that they contain all of the properties you expect. If your events and properties don't appear, check the [Event Delivery](/docs/connections/event-delivery/) tool, and refer to the Destination docs for each tool for troubleshooting. +Log into your downstream tools and check to see that your events appear as expected, and that they contain all of the properties you expect. If your events and properties don't appear, check the [Event Delivery](/docs/connections/event-delivery/) tool, and refer to the destination docs for each tool for troubleshooting. If there are any issues with how the events are arriving to Segment, [contact the Rise AI support team](mailto:support@getrise.ai). From ad1fab194b5c1843e1b0befa8a0b566a28ccef42 Mon Sep 17 00:00:00 2001 From: CristhianMotoche <cmotoche@twilio.com> Date: Wed, 29 Oct 2025 13:52:47 -0500 Subject: [PATCH 62/79] chore: Make beta-note.md a more generic note --- src/_includes/content/beta-note.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/_includes/content/beta-note.md b/src/_includes/content/beta-note.md index 71c0fcf159..adc5cef3fe 100644 --- a/src/_includes/content/beta-note.md +++ b/src/_includes/content/beta-note.md @@ -1,7 +1,7 @@ <div class="premonition info"> <div class="fa fa-info-circle"></div> <div class="content"> - <p class="header">This document is about a {{ page.integration_type }} which is in beta</p> - <p markdown=1>This means that the {{ page.title }} is in active development, and some functionality may change before it becomes generally available.</p> + <p class="header">This document is about a feature in beta</p> + <p markdown=1>This means the feature is actively being developed, and some functionality may change before it becomes generally available.</p> </div> </div> From 64ba8320a4168184316683bfe60d1a53faa7bdef Mon Sep 17 00:00:00 2001 From: Joe Ayoub <joe.ayoub@segment.com> Date: Thu, 30 Oct 2025 08:06:38 +0000 Subject: [PATCH 63/79] updating docs for stackadapt audience destination --- .../catalog/actions-stackadapt-audiences/index.md | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/connections/destinations/catalog/actions-stackadapt-audiences/index.md b/src/connections/destinations/catalog/actions-stackadapt-audiences/index.md index 1a485b74a8..ac07f8f984 100644 --- a/src/connections/destinations/catalog/actions-stackadapt-audiences/index.md +++ b/src/connections/destinations/catalog/actions-stackadapt-audiences/index.md @@ -10,7 +10,9 @@ redirect_from: "/connections/destinations/catalog/actions-stackadapt/" {% include content/plan-grid.md name="actions" %} -[StackAdapt](https://www.stackadapt.com/){:target="\_blank"} is a programmatic advertising platform specializing in audience engagement. StackAdapt lets marketers deliver high-performing advertising campaigns across channels through real-time bidding, detailed audience targeting, and data-driven insights. StackAdapt’s integration with [Engage](/docs/engage/) helps you sync user data to optimize targeting and improve your campaign outcomes. +[StackAdapt](https://www.stackadapt.com/){:target="_blank"} is a leading programmatic advertising platform designed to maximize audience engagement. It enables marketers to run high-performing, cross-channel campaigns through real-time bidding, advanced audience targeting, and powerful data-driven insights. + +With the [Engage](/docs/engage/) integration, you can seamlessly sync your Engage Audiences and user data with StackAdapt to refine targeting precision and drive stronger campaign performance. This destination is maintained by StackAdapt. For any issues with the destination, submit a ticket to [StackAdapt's support team](https://support.stackadapt.com/hc/en-us/requests/new?ticket_form_id=360006572593){:target="\_blank"}. @@ -57,7 +59,6 @@ Each Engage audience should only contain profiles that have a valid email addres - (**Required**:) Select a default value for `Marketing Status`. - (**Required**:) Confirm that you have a valid source field for `Email`. - Select the source field for `Standard User Properties`. Ensure the source field matches the profile traits selected in step 4. You can learn more about the field format by hovering over the info icon of the field. - - Create mappings for `Custom User Properties` if applicable. - Follow the Destinations Actions documentation to [customize mappings](/docs/connections/destinations/actions/#customize-mappings). To verify that your audience syncs with StackAdapt, open StackAdapt and navigate to **Audience & Attribution > Customer Data > Profiles**. On the Profiles tab, you should be able to see a list of profiles being synced to the StackAdapt platform. @@ -77,13 +78,6 @@ To create a StackAdapt audience from your Engage audience: > Use the _snake_case_ name of the Segment Engage audience which can be found in **Settings**, shown in the following screenshot. > ![Image showing sample audience settings tab](./images/audience-example.png) -### Sending an audience to StackAdapt - -1. In Segment, go to **Engage > Audiences** and select the audience to sync with StackAdapt. -2. Click **Add Destination** and select **StackAdapt Audiences**. -3. Toggle **Send Track** and **Send Identify** on. -4. Click **Save**. - ## Data and privacy Review [StackAdapt's Data Processing Agreement](https://www.stackadapt.com/data-processing-agreement){:target="\_blank"} to learn more about StackAdapt's privacy and data terms. From 99af894cbf8db6e98f1a823f968f9803e3abb178 Mon Sep 17 00:00:00 2001 From: KC Ong <kc.ong@taguchi.com.sg> Date: Thu, 30 Oct 2025 16:38:29 +0800 Subject: [PATCH 64/79] add taguchi action destination docs --- .../catalog/actions-taguchi/index.md | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/connections/destinations/catalog/actions-taguchi/index.md diff --git a/src/connections/destinations/catalog/actions-taguchi/index.md b/src/connections/destinations/catalog/actions-taguchi/index.md new file mode 100644 index 0000000000..27443e95a5 --- /dev/null +++ b/src/connections/destinations/catalog/actions-taguchi/index.md @@ -0,0 +1,37 @@ +--- +title: Taguchi (Actions)Destination +--- + +{% include content/plan-grid.md name="actions" %} + +[Taguchi](https://taguchi.com.au){:target="_blank”} is a distributed customer engagement platform that allows you to communicate with your customers the way you’ve always wanted, but never thought you could. We offer advanced solutions across various industries, including digital marketing, customer engagement, loyalty, marketing automation, customer re-targeting campaigns, and local area digital marketing + +This destination is maintained by Taguchi. For any issues with the destination, [contact their Support team](mailto:support@taguchi.com). + + +## Getting started + +1. From your workspace's [Destination catalog page](https://app.segment.com/goto-my-workspace/destinations/catalog) search for "taguchi". +2. Select taguchi and click **Add Destination**. +3. Select an existing Source to connect to Taguchi (Actions). +4. Go to the [Taguchi credential dashboard](https://login.taguchi.com.au/<organization>/settings/credentials), add and copy this new credential **API key** to be used in APIv5 integration for Segment. +5. Enter the **API Key** in the Taguchi destination settings in Segment. +6. Go to the [Taguchi integration dashboard](https://login.taguchi.com.au/<organization>/settings/integration), and proceed to create a new integration. +- Fill in appropriate IntegrationName +- select API: V5 endpoint(authenticated) type +- Select the newly created credential in step 4 in the credential to use drop down +- Select the External ID (ref) in the identify profiles by drop down +- Tick the required and appropriate checkboxes +- Once the above steps are completed, proceed to save and activate this newly created integration +7. Copy the ***Production Endpoint URL*** in the integration created in the previous step to the Taguchi destination settings in Segment +8. Fill in the organization ID found in taguchi dashboard to the ***Organization ID*** field in the Taguchi destination settings in Segment. + +{% include components/actions-fields.html settings="true" %} + +## Identify (Sync User Profile) +1. To sync identify profiles from segment to Taguchi, we will select ***Sync User Profile*** in the set up mapping. +2. Select ***event type*** is ***Identify*** in the define event trigger section where each of the user recorded traits on Segment will be mapped to the corresponding Taguchi fields and send to Taguchi as subscriber profile. + +## Track (Sync Event) +1. To sync identify profiles actions from segment to Taguchi, we will select ***Sync Event*** in the set up mapping. +2. Select ***event type*** is ***Track*** in the define event trigger section where each of the user recorded action on Segment will be mapped to the corresponding Taguchi fields and send to Taguchi as subscriber event. \ No newline at end of file From 762aa57cb1bcd48a612b3ec524a2cd7f10a58de8 Mon Sep 17 00:00:00 2001 From: Charly Monedero <cmonedero@twilio.com> Date: Thu, 30 Oct 2025 12:06:34 +0100 Subject: [PATCH 65/79] chore: add blockquotes --- src/connections/storage/catalog/amazon-s3/index.md | 4 +++- src/connections/storage/catalog/aws-s3/index.md | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/connections/storage/catalog/amazon-s3/index.md b/src/connections/storage/catalog/amazon-s3/index.md index bad80cfdfa..6fd7c6e306 100644 --- a/src/connections/storage/catalog/amazon-s3/index.md +++ b/src/connections/storage/catalog/amazon-s3/index.md @@ -83,7 +83,9 @@ Segment stores logs as gzipped, newline-separated JSON containing the full call Segment groups logs by day, and names them using the following format: - s3://{bucket}/segment-logs/{source-id}/{received-day}/filename.gz +``` +s3://{bucket}/segment-logs/{source-id}/{received-day}/filename.gz +``` The received-day refers to the UTC date unix timestamp, that the API receives the file, which makes it easy to find all calls received within a certain timeframe. diff --git a/src/connections/storage/catalog/aws-s3/index.md b/src/connections/storage/catalog/aws-s3/index.md index e79b16e872..6c09bd5355 100644 --- a/src/connections/storage/catalog/aws-s3/index.md +++ b/src/connections/storage/catalog/aws-s3/index.md @@ -462,7 +462,9 @@ Segment stores logs as gzipped, newline-separated JSON containing the full call Segment groups logs by day, and names them using the following format: - s3://{bucket}/segment-logs/{source-id}/{received-day}/filename.gz +``` +s3://{bucket}/segment-logs/{source-id}/{received-day}/filename.gz +``` The received-day refers to the UTC date Unix timestamp, that the API receives the file, which makes it easy to find all calls received within a certain timeframe. From 2b8392b7080baf78e1b56d3372ccbc0f1a88cb84 Mon Sep 17 00:00:00 2001 From: Sharon Adewusi <sadewusi@twilio.com> Date: Thu, 30 Oct 2025 12:45:25 +0000 Subject: [PATCH 66/79] Revisions to fit Seg style Updated the Taguchi (Actions) destination documentation for clarity and consistency. Revised text and formatting for better readability. --- .../catalog/actions-taguchi/index.md | 56 +++++++++++-------- 1 file changed, 34 insertions(+), 22 deletions(-) diff --git a/src/connections/destinations/catalog/actions-taguchi/index.md b/src/connections/destinations/catalog/actions-taguchi/index.md index 27443e95a5..1a24856be1 100644 --- a/src/connections/destinations/catalog/actions-taguchi/index.md +++ b/src/connections/destinations/catalog/actions-taguchi/index.md @@ -1,37 +1,49 @@ --- -title: Taguchi (Actions)Destination +title: Taguchi (Actions) Destination +id: 68b6ddcd033b3f6d006d8e1f +beta: true --- {% include content/plan-grid.md name="actions" %} -[Taguchi](https://taguchi.com.au){:target="_blank”} is a distributed customer engagement platform that allows you to communicate with your customers the way you’ve always wanted, but never thought you could. We offer advanced solutions across various industries, including digital marketing, customer engagement, loyalty, marketing automation, customer re-targeting campaigns, and local area digital marketing - -This destination is maintained by Taguchi. For any issues with the destination, [contact their Support team](mailto:support@taguchi.com). +[Taguchi](https://taguchi.com.au){:target="_blank”} is a distributed customer engagement platform designed to help you communicate with customers. Taguchi provides tools for digital marketing, customer engagement, loyalty, marketing automation, targeting campaigns, and localized digital marketing. +This destination is maintained by Taguchi. For any issues with the destination, [contact the Taguchi support team](mailto:support@taguchi.com){:target="_blank”}. ## Getting started -1. From your workspace's [Destination catalog page](https://app.segment.com/goto-my-workspace/destinations/catalog) search for "taguchi". -2. Select taguchi and click **Add Destination**. -3. Select an existing Source to connect to Taguchi (Actions). -4. Go to the [Taguchi credential dashboard](https://login.taguchi.com.au/<organization>/settings/credentials), add and copy this new credential **API key** to be used in APIv5 integration for Segment. -5. Enter the **API Key** in the Taguchi destination settings in Segment. -6. Go to the [Taguchi integration dashboard](https://login.taguchi.com.au/<organization>/settings/integration), and proceed to create a new integration. -- Fill in appropriate IntegrationName -- select API: V5 endpoint(authenticated) type -- Select the newly created credential in step 4 in the credential to use drop down -- Select the External ID (ref) in the identify profiles by drop down -- Tick the required and appropriate checkboxes -- Once the above steps are completed, proceed to save and activate this newly created integration -7. Copy the ***Production Endpoint URL*** in the integration created in the previous step to the Taguchi destination settings in Segment -8. Fill in the organization ID found in taguchi dashboard to the ***Organization ID*** field in the Taguchi destination settings in Segment. +1. In your Segment workspace, go to the [Destination catalog page](https://app.segment.com/goto-my-workspace/destinations/catalog) and search for "Taguchi". +2. Select the Taguchi (Actions) destination and click **Add Destination**. +3. Select an existing source to connect to Taguchi (Actions). +4. Go to the [Taguchi credential dashboard](https://login.taguchi.com.au/<organization>/settings/credentials){:target="_blank”}. Create a new credential and copy the **API key**. +5. In Segment, paste the **API Key** in the Taguchi destination settings. +6. Next, go to the [Taguchi integration dashboard](https://login.taguchi.com.au/<organization>/settings/integration){:target="_blank”} and create a new integration. +7. Configure the integration: +- Give it an appropriate `IntegrationName`. +- Select API: **V5 endpoint (authenticated)** type. +- Select the credential in Step 4 from the credential dropdown. +- Select the **External ID (ref)** option in the Identify Profiles dropdown. +- Enable the required checkboxes. +8. Save and activate the integration. +9. Copy the **Production Endpoint URL** from Taguchi. Return to Segment and paste the **Production Endpoint URL** in the Taguchi destination settings. +10. Enter the **Organization ID** (found in the Taguchi dashboard). {% include components/actions-fields.html settings="true" %} ## Identify (Sync User Profile) -1. To sync identify profiles from segment to Taguchi, we will select ***Sync User Profile*** in the set up mapping. -2. Select ***event type*** is ***Identify*** in the define event trigger section where each of the user recorded traits on Segment will be mapped to the corresponding Taguchi fields and send to Taguchi as subscriber profile. + +Use [Identify](docs/connections/spec/identify) calls to sync user profile data toTaguchi. When configuring mappings in the destination setup: + +1. Select **Sync User Profile**. +2. Define the **Event type** as **Identify**. + +Segment maps user traits to corresponding Taguchi fields, sending them to Taguchi as a subscriber profile. ## Track (Sync Event) -1. To sync identify profiles actions from segment to Taguchi, we will select ***Sync Event*** in the set up mapping. -2. Select ***event type*** is ***Track*** in the define event trigger section where each of the user recorded action on Segment will be mapped to the corresponding Taguchi fields and send to Taguchi as subscriber event. \ No newline at end of file + +Use [Track](docs/connections/spec/track/) call to sync event data to Taguchi. When configuring mappings in the destination setup: + +1. Select **Sync Event**. +2. Define the **Event type*** as **Track**. + +Segment maps user actions to corresponding Taguchi fields, sending them to Taguchi as subscriber events. From 57b659c6d620d9c9a089914449d9ca9543d4c742 Mon Sep 17 00:00:00 2001 From: Sharon Adewusi <sadewusi@twilio.com> Date: Thu, 30 Oct 2025 12:46:05 +0000 Subject: [PATCH 67/79] Fix typo --- src/connections/destinations/catalog/actions-taguchi/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/actions-taguchi/index.md b/src/connections/destinations/catalog/actions-taguchi/index.md index 1a24856be1..642b6a38f8 100644 --- a/src/connections/destinations/catalog/actions-taguchi/index.md +++ b/src/connections/destinations/catalog/actions-taguchi/index.md @@ -41,7 +41,7 @@ Segment maps user traits to corresponding Taguchi fields, sending them to Taguch ## Track (Sync Event) -Use [Track](docs/connections/spec/track/) call to sync event data to Taguchi. When configuring mappings in the destination setup: +Use [Track](docs/connections/spec/track/) calls to sync event data to Taguchi. When configuring mappings in the destination setup: 1. Select **Sync Event**. 2. Define the **Event type*** as **Track**. From efc18282fc9e3df0d99c86dd1b9d52adad584f9b Mon Sep 17 00:00:00 2001 From: Sharon Adewusi <sadewusi@twilio.com> Date: Thu, 30 Oct 2025 12:47:16 +0000 Subject: [PATCH 68/79] Fix typo [netlify-build] --- src/connections/destinations/catalog/actions-taguchi/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/actions-taguchi/index.md b/src/connections/destinations/catalog/actions-taguchi/index.md index 642b6a38f8..dad4f2209b 100644 --- a/src/connections/destinations/catalog/actions-taguchi/index.md +++ b/src/connections/destinations/catalog/actions-taguchi/index.md @@ -32,7 +32,7 @@ This destination is maintained by Taguchi. For any issues with the destination, ## Identify (Sync User Profile) -Use [Identify](docs/connections/spec/identify) calls to sync user profile data toTaguchi. When configuring mappings in the destination setup: +Use [Identify](docs/connections/spec/identify) calls to sync user profile data to Taguchi. When configuring mappings in the destination setup: 1. Select **Sync User Profile**. 2. Define the **Event type** as **Identify**. From 6380a4004dcd1584822509682f243737b3f72a24 Mon Sep 17 00:00:00 2001 From: Sharon Adewusi <sadewusi@twilio.com> Date: Thu, 30 Oct 2025 12:54:39 +0000 Subject: [PATCH 69/79] preening --- src/connections/destinations/catalog/actions-taguchi/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/destinations/catalog/actions-taguchi/index.md b/src/connections/destinations/catalog/actions-taguchi/index.md index dad4f2209b..d53bc753a8 100644 --- a/src/connections/destinations/catalog/actions-taguchi/index.md +++ b/src/connections/destinations/catalog/actions-taguchi/index.md @@ -19,7 +19,7 @@ This destination is maintained by Taguchi. For any issues with the destination, 5. In Segment, paste the **API Key** in the Taguchi destination settings. 6. Next, go to the [Taguchi integration dashboard](https://login.taguchi.com.au/<organization>/settings/integration){:target="_blank”} and create a new integration. 7. Configure the integration: -- Give it an appropriate `IntegrationName`. +- Give it an appropriate Integration name. - Select API: **V5 endpoint (authenticated)** type. - Select the credential in Step 4 from the credential dropdown. - Select the **External ID (ref)** option in the Identify Profiles dropdown. @@ -44,6 +44,6 @@ Segment maps user traits to corresponding Taguchi fields, sending them to Taguch Use [Track](docs/connections/spec/track/) calls to sync event data to Taguchi. When configuring mappings in the destination setup: 1. Select **Sync Event**. -2. Define the **Event type*** as **Track**. +2. Define the **Event type** as **Track**. Segment maps user actions to corresponding Taguchi fields, sending them to Taguchi as subscriber events. From 5100045ba62ce8f71f39598a37c456451612185b Mon Sep 17 00:00:00 2001 From: Charly Monedero <cmonedero@twilio.com> Date: Thu, 30 Oct 2025 15:42:26 +0100 Subject: [PATCH 70/79] chore: remove engage section, just use the one from the footer --- src/connections/storage/catalog/aws-s3/index.md | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/src/connections/storage/catalog/aws-s3/index.md b/src/connections/storage/catalog/aws-s3/index.md index 6c09bd5355..df08fd9f4d 100644 --- a/src/connections/storage/catalog/aws-s3/index.md +++ b/src/connections/storage/catalog/aws-s3/index.md @@ -2,7 +2,6 @@ title: AWS S3 with IAM Role Support Destination redirect_from: - '/connections/destinations/catalog/aws-s3/' -hide-personas-partial: true --- ## Differences between the Amazon S3 destination and the AWS S3 destination @@ -480,18 +479,6 @@ To use a custom key prefix for the files in your bucket, append the path to the Amazon provides several methods to download data from an S3 bucket. For more information, see [Downloading an object](https://docs.aws.amazon.com/AmazonS3/latest/userguide/download-objects.html){:target="_blank"}. - -## Engage - -> warning "" -> As mentioned above, the AWS S3 destination works differently than other destinations in Segment. As a result, Segment sends **all** data from a Engage source to S3 during the sync process, not only the connected audiences and traits. - -You can send computed traits and audiences generated using [Engage](/docs/engage) to this destination as a **user property**. - -For user-property destinations, Segment sends an [identify](/docs/connections/spec/identify/) call to the destination for each user added and removed. The property name is the snake_cased version of the audience name, with a true/false value to indicate membership. For example, when a user first completes an order in the last 30 days, Engage sends an Identify call with the property `order_completed_last_30days: true`. When the user no longer satisfies this condition (for example, it's been more than 30 days since their last order), Engage sets that value to `false`. - -When you first create an audience, Engage sends an Identify call for every user in that audience. Later audience syncs send updates for users whose membership has changed since the last sync. - ## FAQ ### AWS S3 destination connection error “Multiple instance of AWS S3 are not allowed for this source" From fd7588c08ca407a1e930158a22c416dc392509eb Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Thu, 30 Oct 2025 11:21:47 -0400 Subject: [PATCH 71/79] rm hidden true --- .../destinations/catalog/actions-stackadapt-audiences/index.md | 1 - 1 file changed, 1 deletion(-) diff --git a/src/connections/destinations/catalog/actions-stackadapt-audiences/index.md b/src/connections/destinations/catalog/actions-stackadapt-audiences/index.md index ac07f8f984..32e805c715 100644 --- a/src/connections/destinations/catalog/actions-stackadapt-audiences/index.md +++ b/src/connections/destinations/catalog/actions-stackadapt-audiences/index.md @@ -4,7 +4,6 @@ hide-boilerplate: true hide-dossier: true beta: true id: 66e96b9f4ee97f41caa06487 -hidden: true redirect_from: "/connections/destinations/catalog/actions-stackadapt/" --- From 7f7e5a275c2afa02d785afbc31dfdc92ed1a2410 Mon Sep 17 00:00:00 2001 From: pwseg <paul.wooley@segment.com> Date: Thu, 30 Oct 2025 11:36:37 -0500 Subject: [PATCH 72/79] update intro section --- .../catalog/libraries/mobile/apple/live-plugins.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md b/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md index 2ddb11ce55..11b0ea8bdc 100644 --- a/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md +++ b/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md @@ -3,14 +3,14 @@ title: Live Plugins strat: swift --- -Segment has launched the [Auto-Instrumentation](https://segment.com/docs/connections/auto-instrumentation/){:target="_blank"} to Public Beta, which simplifies instrumenting your websites & apps with a simple WYSIWYG interface, directly from your Segment workspace. As part of this launch, Segment also offers the ability to transform events remotely via Live Plugins. +Live Plugins let you modify analytics events in real time, directly on user devices, without rebuilding or redeploying your app. They’re JavaScript snippets that you publish from your Segment workspace, where they run on your users’ mobile devices to filter or transform data before it’s sent to Segment. -Live Plugins are JavaScript code snippets which are published from your Segment workspace directly to the devices of your end users. Live Plugins let you perform real-time modifications to events, before they leave the end-user device, without having to rebuild & redistribute your apps. +Live Plugins work alongside [Auto-Instrumentation](/docs/connections/auto-instrumentation/) to give you flexible control over your event data. -On this page, you'll learn how to set up your mobile app to support Live Plugins, and how to create and deploy your own Live Plugins directly to your end users. You'll also see examples of Live Plugins that address common use cases. +On this page, you’ll learn how to set up your mobile app to support Live Plugins, create and deploy custom plugins, and explore examples for common use cases. > info "Live Plugins is in Public Beta" -> Live Plugins is currently in Beta for Swift & Kotlin, and available to select Business Tier Customers only. To enable this feature for your workspace, contact your CSM. +> Live Plugins is in public beta for Swift and Kotlin and available to select Business Tier Customers only. To enable this feature for your workspace, contact your CSM. ## Live Plugins overview From d4b75337b746a82a713f4fc30105ecf2af196fed Mon Sep 17 00:00:00 2001 From: pwseg <paul.wooley@segment.com> Date: Thu, 30 Oct 2025 11:40:20 -0500 Subject: [PATCH 73/79] overview rewording --- .../sources/catalog/libraries/mobile/apple/live-plugins.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md b/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md index 11b0ea8bdc..bb33bb0000 100644 --- a/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md +++ b/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md @@ -14,9 +14,9 @@ On this page, you’ll learn how to set up your mobile app to support Live Plugi ## Live Plugins overview -You can use JavaScript live plugins with Analytics-Swift and Analytics-Kotlin to filter and modify data remotely. As a result, you can filter and modify Analytics events without having to deploy updates to the app store for each change, ensuring data quality and consistency for all your mobile users. +You can use JavaScript Live Plugins with Analytics-Swift and Analytics-Kotlin to modify or filter event data directly on user devices. This lets you make real-time updates to your tracking logic without redeploying your app, helping you maintain data quality and consistency across your mobile users. -Because Live Plugins let you modify event data before it leaves a mobile device, you can use the same Javascript code to modify data across all your cloud-mode and device-mode destinations, or you can scope your changes to specific destinations. +Because Live Plugins run before data leaves the device, you can apply the same logic to all destinations or target specific destinations as needed. ## Setup From 63f44ee24137bec4d73061f2ceecf07310600985 Mon Sep 17 00:00:00 2001 From: pwseg <paul.wooley@segment.com> Date: Thu, 30 Oct 2025 11:41:14 -0500 Subject: [PATCH 74/79] fix typo --- .../sources/catalog/libraries/mobile/apple/live-plugins.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md b/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md index bb33bb0000..3b273cd3ff 100644 --- a/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md +++ b/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md @@ -55,7 +55,8 @@ After you've completed setup, you can deploy your apps to the Apple App Store an ## Create your own Live Plugin -To access Live Plugins for you Swift and Kotlin sources +To access Live Plugins for your Swift and Kotlin sources: + 1. Navigate to Connections > Sources. 2. Select your Swift or Kotlin source (or create a new one). 3. From the Source's overview, select the Live Plugin tab From 71dde5887633e423bed709607bf30c44db8be545 Mon Sep 17 00:00:00 2001 From: pwseg <paul.wooley@segment.com> Date: Thu, 30 Oct 2025 11:42:29 -0500 Subject: [PATCH 75/79] last changes --- .../sources/catalog/libraries/mobile/apple/live-plugins.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md b/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md index 3b273cd3ff..2ed355627e 100644 --- a/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md +++ b/src/connections/sources/catalog/libraries/mobile/apple/live-plugins.md @@ -57,9 +57,9 @@ After you've completed setup, you can deploy your apps to the Apple App Store an To access Live Plugins for your Swift and Kotlin sources: -1. Navigate to Connections > Sources. +1. In your Segment workspace, go to **Connections > Sources**. 2. Select your Swift or Kotlin source (or create a new one). -3. From the Source's overview, select the Live Plugin tab +3. From the source's overview page, click the Live Plugin tab.. <img alt="Access Live Plugins from the Source overview tab" src="https://github.com/user-attachments/assets/e228bddb-4cb8-4469-9ac6-8a2c322edcbc" /> Follow the steps in this section to create and deploy your own Live Plugin. From 494a2c5b89a6a59cbc7b9f7aae9f37cf04ac2384 Mon Sep 17 00:00:00 2001 From: pwseg <paul.wooley@segment.com> Date: Thu, 30 Oct 2025 11:56:12 -0500 Subject: [PATCH 76/79] move auto-instrumentation docs to sub folder --- src/_data/sidenav/main.yml | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/_data/sidenav/main.yml b/src/_data/sidenav/main.yml index 9ab207e67c..be5ef988bd 100644 --- a/src/_data/sidenav/main.yml +++ b/src/_data/sidenav/main.yml @@ -155,8 +155,19 @@ sections: - path: /connections/sources/catalog title: Sources Catalog menu_icon: read-more - - path: /connections/auto-instrumentation - title: Auto-Instrumentation + - section_title: Auto-Instrumentation + slug: connections/auto-instrumentation + section: + - path: /connections/auto-instrumentation + title: Overview + - path: /connections/auto-instrumentation/web-setup/ + title: Web Setup + - path: /connections/auto-instrumentation/swift-setup/ + title: Swift Setup + - path: /connections/auto-instrumentation/kotlin-setup/ + title: Swift Setup + - path: /connections/auto-instrumentation/configuration/ + title: Configuration - path: /connections/sources/about-cloud-sources title: Cloud Sources - path: /connections/sources/debugger From 4fe1b95cf720961ab51ec46455df4c49ca07336e Mon Sep 17 00:00:00 2001 From: pwseg <paul.wooley@segment.com> Date: Thu, 30 Oct 2025 11:57:38 -0500 Subject: [PATCH 77/79] unhide some of the pages --- src/connections/auto-instrumentation/configuration.md | 1 - src/connections/auto-instrumentation/kotlin-setup.md | 1 - src/connections/auto-instrumentation/swift-setup.md | 1 - src/connections/auto-instrumentation/web-setup.md | 1 - 4 files changed, 4 deletions(-) diff --git a/src/connections/auto-instrumentation/configuration.md b/src/connections/auto-instrumentation/configuration.md index 20e6d57d7f..03f1e2943b 100644 --- a/src/connections/auto-instrumentation/configuration.md +++ b/src/connections/auto-instrumentation/configuration.md @@ -1,6 +1,5 @@ --- title: Generate Events from Signals -hidden: true --- This guide details how to use signals and their associated data, generated in one of the Signals SDKs with the Auto-Instrumentation dashboard in your Segment workspace. On this page, find details on: diff --git a/src/connections/auto-instrumentation/kotlin-setup.md b/src/connections/auto-instrumentation/kotlin-setup.md index 4f2454d7f3..b7fa63241a 100644 --- a/src/connections/auto-instrumentation/kotlin-setup.md +++ b/src/connections/auto-instrumentation/kotlin-setup.md @@ -1,6 +1,5 @@ --- title: Auto-Instrumentation Setup -hidden: true --- Segment’s Signals library powers [Auto-Instrumentation](/docs/connections/auto-instrumentation/) in Android apps, capturing user interactions and behavior without manual event tracking. diff --git a/src/connections/auto-instrumentation/swift-setup.md b/src/connections/auto-instrumentation/swift-setup.md index 9f60552391..7133f052d8 100644 --- a/src/connections/auto-instrumentation/swift-setup.md +++ b/src/connections/auto-instrumentation/swift-setup.md @@ -1,6 +1,5 @@ --- title: Auto-Instrumentation Setup -hidden: true --- This guide outlines the steps required to set up the Signals SDK in your Apple OS applications using Swift. diff --git a/src/connections/auto-instrumentation/web-setup.md b/src/connections/auto-instrumentation/web-setup.md index c22c5d465f..052ee9733d 100644 --- a/src/connections/auto-instrumentation/web-setup.md +++ b/src/connections/auto-instrumentation/web-setup.md @@ -1,6 +1,5 @@ --- title: Auto-Instrumentation Setup -hidden: true --- This guide outlines the steps required to set up the Signals SDK in your JavaScript website. From 185e780478ff712ac555ea649793eed37b05b643 Mon Sep 17 00:00:00 2001 From: pwseg <paul.wooley@segment.com> Date: Thu, 30 Oct 2025 12:07:42 -0500 Subject: [PATCH 78/79] fix typo [netlify-build] --- 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 be5ef988bd..002a15fe82 100644 --- a/src/_data/sidenav/main.yml +++ b/src/_data/sidenav/main.yml @@ -165,7 +165,7 @@ sections: - path: /connections/auto-instrumentation/swift-setup/ title: Swift Setup - path: /connections/auto-instrumentation/kotlin-setup/ - title: Swift Setup + title: Android Setup - path: /connections/auto-instrumentation/configuration/ title: Configuration - path: /connections/sources/about-cloud-sources From 58a8feaf2777e35eadafafa04732f5e6b43d8f6a Mon Sep 17 00:00:00 2001 From: stayseesong <STACY.S.SONG@GMAIL.COM> Date: Thu, 30 Oct 2025 10:27:16 -0700 Subject: [PATCH 79/79] make catalog --- src/_data/catalog/destination_categories.yml | 2 +- src/_data/catalog/destinations.yml | 1178 +++++++++++++++--- src/_data/catalog/destinations_private.yml | 2 +- src/_data/catalog/source_categories.yml | 2 +- src/_data/catalog/sources.yml | 2 +- 5 files changed, 984 insertions(+), 202 deletions(-) diff --git a/src/_data/catalog/destination_categories.yml b/src/_data/catalog/destination_categories.yml index ad2f288c7c..d653dbdb3f 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-10-23 +# destination categories last updated 2025-10-30 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 82fcaf9202..029021c75e 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-10-23 +# destination data last updated 2025-10-30 items: - id: 637e8d185e2dec264895ea89 display_name: 1Flow @@ -46086,7 +46086,7 @@ items: hidden: false defaultTrigger: event = "Audience Entered" fields: - - id: xuwgsAQuKxdRGXHQh1zApq + - id: asLVxgzatTT6dCnSi39NHD sortOrder: 0 fieldKey: mobileDeviceIds label: Mobile Device IDs @@ -46112,7 +46112,7 @@ items: hidden: false defaultTrigger: event = "Audience Entered" fields: - - id: dpYdPCh2hAVKAFDBHJBrPP + - id: mjCFd3WMCQatMT6QrAsdyN sortOrder: 0 fieldKey: mobileDeviceIds label: Mobile Device IDs @@ -46138,7 +46138,7 @@ items: hidden: false defaultTrigger: event = "Audience Entered" fields: - - id: ts9KJyfnahEcam8GEZkd1e + - id: cB75wB7Pfdtz3wzdkeqTcK sortOrder: 0 fieldKey: emails label: Emails @@ -46154,7 +46154,7 @@ items: choices: null dynamic: false allowNull: false - - id: jy2ZtwMsBpoLLxH4pdZazF + - id: jk1ryrgmxFwRYTR1gUhskk sortOrder: 1 fieldKey: phoneNumbers label: Phone Numbers @@ -46170,7 +46170,7 @@ items: choices: null dynamic: false allowNull: false - - id: t1AUHRiBTU8YX9p1pAXgDX + - id: aAx3tfk9ENtHMJiErieCMk sortOrder: 2 fieldKey: zipCodes label: ZIP Codes @@ -46184,7 +46184,7 @@ items: choices: null dynamic: false allowNull: false - - id: kG9cMVVhC7DRxHXcB9p14T + - id: tZKU5A4iUW6FFtHcXJZSSG sortOrder: 3 fieldKey: firstName label: First Name @@ -46200,7 +46200,7 @@ items: choices: null dynamic: false allowNull: false - - id: mSn8c16R93ZatU2YBUpBJM + - id: wqAJLtMwHnqeQMv7AeDCsB sortOrder: 4 fieldKey: lastName label: Last Name @@ -46216,7 +46216,7 @@ items: choices: null dynamic: false allowNull: false - - id: w8w54EpGkLkizPGqXp93nC + - id: 8ze9kSzjNvcLz5k7zT4bnS sortOrder: 5 fieldKey: countryCode label: Country Code @@ -46240,7 +46240,7 @@ items: hidden: false defaultTrigger: event = "Audience Exited" fields: - - id: uj5ZxvzKc7DfAXbyDJ6v82 + - id: v58ArBPzLwKrTvPk6ip8gG sortOrder: 0 fieldKey: emails label: Emails @@ -46256,7 +46256,7 @@ items: choices: null dynamic: false allowNull: false - - id: egzgNFRTjecbJB6Hf1tNkG + - id: 3QTVkHAWd1eke6tkEn14ne sortOrder: 1 fieldKey: phoneNumbers label: Phone Numbers @@ -46272,7 +46272,7 @@ items: choices: null dynamic: false allowNull: false - - id: k6C5BNjFjX71q28Z8okDeG + - id: 4Tc8QPEfg5GBkC2mVLJmS7 sortOrder: 2 fieldKey: zipCodes label: ZIP Codes @@ -46286,7 +46286,7 @@ items: choices: null dynamic: false allowNull: false - - id: bgn33X5H4EPZCfWnsdqnc9 + - id: 7pAjWhZRkBrW5pcbpbzGW4 sortOrder: 3 fieldKey: firstName label: First Name @@ -46302,7 +46302,7 @@ items: choices: null dynamic: false allowNull: false - - id: GgRGr63xubq6RPdAbb5KW + - id: gUH65VBNHQNSBbQYpy37od sortOrder: 4 fieldKey: lastName label: Last Name @@ -46318,7 +46318,7 @@ items: choices: null dynamic: false allowNull: false - - id: efdzq5Nt61MB7UKNg9H8DM + - id: uLRiQnkCJ3Zv13Xh9TWTXa sortOrder: 5 fieldKey: countryCode label: Country Code @@ -60596,7 +60596,10 @@ items: - name: domain type: string defaultValue: www.googletagmanager.com - description: A custom domain to load the Google Analytics script from. + description: >- + A custom domain to load the Google Analytics script from. For more + information see [Google's + Documentation](https://developers.google.com/tag-platform/tag-manager/server-side/dependency-serving?tag=gtag&option=cdn). required: false label: Domain - name: enableConsentMode @@ -60643,7 +60646,7 @@ items: hidden: false defaultTrigger: type = "track" and event = "Product Added" fields: - - id: k9g9zhwrSBWBQ5ozrK1UMU + - id: 5nEhpudr9vUMGLeqNaFdYM sortOrder: 0 fieldKey: user_id label: User ID @@ -60661,7 +60664,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 6vk751AgdpDJzk9FSedS1S + - id: c75x2WShQdtZX6PAfJufA5 sortOrder: 1 fieldKey: currency label: Currency @@ -60678,7 +60681,7 @@ items: dynamic: false allowNull: false hidden: false - - id: b2MbVQACv8i2YAgAssRS8S + - id: eELMnsWtGMsMsUj9BV5NSZ sortOrder: 2 fieldKey: items label: Products @@ -60712,7 +60715,7 @@ items: dynamic: false allowNull: false hidden: false - - id: rqMqyPpKJzfReDAxoG2tsJ + - id: rcVLZcwzkeTHiSa5uQhMcD sortOrder: 3 fieldKey: value label: Value @@ -60727,7 +60730,7 @@ items: dynamic: false allowNull: false hidden: false - - id: vhWtF9dJn6W72dHfwJgBbj + - id: 6sUVMc8nEYYxe1ugxLvBtS sortOrder: 4 fieldKey: user_properties label: User Properties @@ -60745,7 +60748,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 3KeUc7SyXRiCgaPW2SmXwL + - id: oQke661gHBigby4dewfQN sortOrder: 5 fieldKey: params label: Event Parameters @@ -60758,7 +60761,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 7J2Mo6SCj6G74WnaSSfnRC + - id: 2db3kvEwHtzxBau2tLEioW sortOrder: 6 fieldKey: send_to label: Send To @@ -60781,7 +60784,7 @@ items: hidden: false defaultTrigger: type = "track" and event = "Products Searched" fields: - - id: 8BtnBgWAgEPgwPy7EuNq88 + - id: 8z75Q9S7KfgaNYh8FLTH8k sortOrder: 0 fieldKey: user_id label: User ID @@ -60799,7 +60802,7 @@ items: dynamic: false allowNull: false hidden: false - - id: eoNWPCMHEFQzzyTh9i7zZH + - id: dRL3Rurm3jPmGMu5HyssFE sortOrder: 1 fieldKey: user_properties label: User Properties @@ -60817,7 +60820,7 @@ items: dynamic: false allowNull: false hidden: false - - id: dt6SuUFnc2iyEKedbL9J8S + - id: k7gAD9vUbWJNgsZLJ6MxX2 sortOrder: 2 fieldKey: params label: Event Parameters @@ -60830,7 +60833,7 @@ items: dynamic: false allowNull: false hidden: false - - id: kn9VFwaS1mjbPEJYuRYmvt + - id: n8exD8sxQCYaMYxKi4GPnq sortOrder: 3 fieldKey: search_term label: Search Term @@ -60845,7 +60848,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 41wzkTtfjzNb5oQConvUxJ + - id: 9MBjKpTy21ohiJho31mKfZ sortOrder: 4 fieldKey: send_to label: Send To @@ -60868,7 +60871,7 @@ items: hidden: false defaultTrigger: type = "track" and event = "Product Clicked" fields: - - id: dMXhAjCE5JVErcn9X8trt5 + - id: 7gQo6jhpiSWJXk1nCNU55G sortOrder: 0 fieldKey: user_id label: User ID @@ -60886,7 +60889,7 @@ items: dynamic: false allowNull: false hidden: false - - id: rUT4jTixgFqk1M4xJtox4W + - id: 2agW9ohzDviwC764JPrhYT sortOrder: 1 fieldKey: item_list_name label: Item List Name @@ -60901,7 +60904,7 @@ items: dynamic: false allowNull: false hidden: false - - id: oPkpwMbFVdZXxeHTAF7XzT + - id: bZAFba453rxwME2G5Dnb25 sortOrder: 2 fieldKey: item_list_id label: Item List Id @@ -60916,7 +60919,7 @@ items: dynamic: false allowNull: false hidden: false - - id: iQcbN7mJzJEnF3WzkgRNgG + - id: 8oW7AMCWyZJ5NiowTdNMfF sortOrder: 3 fieldKey: items label: Products @@ -60950,7 +60953,7 @@ items: dynamic: false allowNull: false hidden: false - - id: nNAM9zNwE5jrih3hEdZsJQ + - id: e58S5Gvch8mxy5bFsfJZYh sortOrder: 4 fieldKey: user_properties label: User Properties @@ -60968,7 +60971,7 @@ items: dynamic: false allowNull: false hidden: false - - id: k8aRFovrhBLkv5sDiYhZkc + - id: cZBXtshRg6GFoyYec1MdzB sortOrder: 5 fieldKey: params label: Event Parameters @@ -60981,7 +60984,7 @@ items: dynamic: false allowNull: false hidden: false - - id: voDiV76WXNUBJipyf5iBRg + - id: rTa2yBFKauiSugxhr5iWRq sortOrder: 6 fieldKey: send_to label: Send To @@ -61006,7 +61009,7 @@ items: hidden: false defaultTrigger: type = "track" and event = "Product List Viewed" fields: - - id: dM1TacY1zDi5JLBmrF2SDD + - id: ad2Tz2pjzReKTbEoXLrBfd sortOrder: 0 fieldKey: user_id label: User ID @@ -61024,7 +61027,7 @@ items: dynamic: false allowNull: false hidden: false - - id: osJi1NUUtf3owpEQzZSXx6 + - id: 221XsW8ZNuVzk33brZNTk1 sortOrder: 1 fieldKey: item_list_id label: Item List Id @@ -61039,7 +61042,7 @@ items: dynamic: false allowNull: false hidden: false - - id: smMwk9WP9HSL3nxvcrLHAL + - id: aB7Kw72wNZUmCjYsbTXzed sortOrder: 2 fieldKey: item_list_name label: Item List Name @@ -61054,7 +61057,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 5cFeWyi3fVT1LGbmAUZNXJ + - id: 6d8Rhyy2RcERL8fKVkaBYU sortOrder: 3 fieldKey: items label: Products @@ -61090,7 +61093,7 @@ items: dynamic: false allowNull: false hidden: false - - id: gestNS5jsCW3B1fhAFjqb2 + - id: oih7QUUTRjSN67TvZSibCJ sortOrder: 4 fieldKey: user_properties label: User Properties @@ -61108,7 +61111,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 8yXKiEQhgbqNgm89d9qo1X + - id: iNPJEhbV6RxaVFCRmbUup3 sortOrder: 5 fieldKey: params label: Event Parameters @@ -61121,7 +61124,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 2UFhgeMVwkjkf14bi97k5N + - id: tCsAsh3k7EZsR2n9GhjCR5 sortOrder: 6 fieldKey: send_to label: Send To @@ -61144,7 +61147,7 @@ items: hidden: false defaultTrigger: type = "track" and event = "Signed Up" fields: - - id: d2aagtj6W7GVes6qZPKB2V + - id: 3KYFibQ6BkKFyrNcUXsFDK sortOrder: 0 fieldKey: user_id label: User ID @@ -61162,7 +61165,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 6myEUYtpe6MDgtwNhR3Vu9 + - id: 332N456JKGUZY24gjxpFJf sortOrder: 1 fieldKey: method label: Method @@ -61177,7 +61180,7 @@ items: dynamic: false allowNull: false hidden: false - - id: aWsb2dc57Fxm9mUuroh3ts + - id: 2dDZ4bQyYNyY7vsCqsAGq2 sortOrder: 2 fieldKey: user_properties label: User Properties @@ -61195,7 +61198,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 5HMZfKyAqfeND6vxcLS1eQ + - id: rPC177Fsn7cYbHk26uPmC7 sortOrder: 3 fieldKey: params label: Event Parameters @@ -61208,7 +61211,7 @@ items: dynamic: false allowNull: false hidden: false - - id: pt3YY8jbHGdNfr1XJ7fERG + - id: dw9ygoTmhAsTjZBQuX4Q2E sortOrder: 4 fieldKey: send_to label: Send To @@ -61231,7 +61234,7 @@ items: hidden: false defaultTrigger: type = "track" fields: - - id: rxz2GVMyBzsanxTGk3RaJk + - id: eAUzniRHBCxUXjwCCjxHjL sortOrder: 0 fieldKey: name label: Event Name @@ -61251,7 +61254,7 @@ items: dynamic: false allowNull: false hidden: false - - id: qnKU8XXtTwhUYq4JDdMFFU + - id: sb3oS9usnG177TGj9Nx5UY sortOrder: 1 fieldKey: lowercase label: Lowercase Event Name @@ -61270,7 +61273,7 @@ items: dynamic: false allowNull: false hidden: false - - id: eSdPEJxraRzdQmqnPjPZUQ + - id: nvkv8MFXE7Q9fJeZ8uwqJ7 sortOrder: 2 fieldKey: user_id label: User ID @@ -61288,7 +61291,7 @@ items: dynamic: false allowNull: false hidden: false - - id: sJ9vTdyH6Vv5uGZwzH11Jg + - id: xfs2pu4kfVNKiDCkoyTCxH sortOrder: 3 fieldKey: user_properties label: User Properties @@ -61306,7 +61309,7 @@ items: dynamic: false allowNull: false hidden: false - - id: igzRcEB5poUSFfxaA3Mk1C + - id: knvxXJ2K5EoQCX8pPsG4XZ sortOrder: 4 fieldKey: params label: Event Parameters @@ -61319,7 +61322,7 @@ items: dynamic: false allowNull: false hidden: false - - id: eBc7kFtZred7xxnJkGfn51 + - id: 3CmStgBPfxDm2Qkuh4pSXY sortOrder: 5 fieldKey: send_to label: Send To @@ -61342,7 +61345,7 @@ items: hidden: false defaultTrigger: type = "track" and event = "Order Refunded" fields: - - id: hCcz4A7g8Av1oUk7kJE4Vz + - id: vq9onMdWbbA7icgqjktb5b sortOrder: 0 fieldKey: user_id label: User ID @@ -61360,7 +61363,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 9sgCAy418GXvtgFPKjCg12 + - id: 8dHgTF4hS82fWq7VbtGqLX sortOrder: 1 fieldKey: currency label: Currency @@ -61377,7 +61380,7 @@ items: dynamic: false allowNull: false hidden: false - - id: bc2aVNGPsC1Pud4t6p6szv + - id: 6ep5HRGZ6RNnZ3UUKitGyn sortOrder: 2 fieldKey: transaction_id label: Order Id @@ -61392,7 +61395,7 @@ items: dynamic: false allowNull: false hidden: false - - id: bqsgQf6UemwpYXfpmUKixB + - id: bA5rZZc9zcMNjYn6hxEDWo sortOrder: 3 fieldKey: value label: Value @@ -61407,7 +61410,7 @@ items: dynamic: false allowNull: false hidden: false - - id: raXbK6CAGMT4uPCwtran9f + - id: 5U8Uq536d3KmVx5LNqLwvS sortOrder: 4 fieldKey: affiliation label: Affiliation @@ -61424,7 +61427,7 @@ items: dynamic: false allowNull: false hidden: false - - id: uRA79wrMoqXLSKkWmHWaSS + - id: wC92Lev1c4Qx8sMV3T1gfu sortOrder: 5 fieldKey: coupon label: Coupon @@ -61437,7 +61440,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 7WPHapt2KbPaYRzTNap21D + - id: qevBKonQQVLxakttaq5QAG sortOrder: 6 fieldKey: shipping label: Shipping @@ -61452,7 +61455,7 @@ items: dynamic: false allowNull: false hidden: false - - id: swLSZQkZVC8VyVXxHqVXDK + - id: 6yZpB7DoXVK4Ga3rL8eYqx sortOrder: 7 fieldKey: tax label: Tax @@ -61467,7 +61470,7 @@ items: dynamic: false allowNull: false hidden: false - - id: gJHpnKJERhLziY8z9QrjMH + - id: fDRJLUV4SbD2yWXnjMAZXT sortOrder: 8 fieldKey: items label: Products @@ -61503,7 +61506,7 @@ items: dynamic: false allowNull: false hidden: false - - id: prAWLm6yqXbEFDEYB53cfs + - id: pVhCxmGji81CdaqrEYtUzD sortOrder: 9 fieldKey: user_properties label: User Properties @@ -61521,7 +61524,7 @@ items: dynamic: false allowNull: false hidden: false - - id: cZEkBKsBP9WppbGsDkr7uY + - id: f6SjC3tSFS8JDEmd3AziFF sortOrder: 10 fieldKey: params label: Event Parameters @@ -61534,7 +61537,7 @@ items: dynamic: false allowNull: false hidden: false - - id: fKZjgYmHEux9HgbTmFHA1M + - id: 4g3CdeMUDKwM7BriUcevDw sortOrder: 11 fieldKey: send_to label: Send To @@ -61557,7 +61560,7 @@ items: hidden: false defaultTrigger: type = "track" and event = "Payment Info Entered" fields: - - id: x7bo4o5LRahkGDPf7JLMt + - id: w3QW2R1AGg76C1J1NmZutJ sortOrder: 0 fieldKey: user_id label: User ID @@ -61575,7 +61578,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 9f7Q4mHcg592fQB4wP6mhf + - id: 5Lu24j34DApvTpPqu7ZLi sortOrder: 1 fieldKey: currency label: Currency @@ -61592,7 +61595,7 @@ items: dynamic: false allowNull: false hidden: false - - id: cLjy31cfMe4dCSYkf4KhVe + - id: c92n7zbtgJMTxWqmGCUZDP sortOrder: 2 fieldKey: value label: Value @@ -61607,7 +61610,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 49fkzxJRwapTiTEVhPWvUP + - id: 5fLuGEi5HMye5zC1yKfzjY sortOrder: 3 fieldKey: coupon label: Coupon @@ -61620,7 +61623,7 @@ items: dynamic: false allowNull: false hidden: false - - id: viNErJgxDKiuRD4RgeP2fj + - id: 4YXcvfrd5cKpMDZTDJNiPW sortOrder: 4 fieldKey: payment_type label: Payment Type @@ -61635,7 +61638,7 @@ items: dynamic: false allowNull: false hidden: false - - id: go9DVdyw4aziYoWMSZcUyR + - id: 8nh8cF4yaLBZ36LFNya72G sortOrder: 5 fieldKey: items label: Products @@ -61671,7 +61674,7 @@ items: dynamic: false allowNull: false hidden: false - - id: gpAF8qDuETbAZMpSYXHQGk + - id: rhjT5u8hxPYPWLppMtCfvi sortOrder: 6 fieldKey: user_properties label: User Properties @@ -61689,7 +61692,7 @@ items: dynamic: false allowNull: false hidden: false - - id: vc8UmgT3osGcv81sVLrXFN + - id: oQMmCtHbpbkofFamneYK79 sortOrder: 7 fieldKey: params label: Event Parameters @@ -61702,7 +61705,7 @@ items: dynamic: false allowNull: false hidden: false - - id: poKm5coTBEUzcuWiRVhqmc + - id: tMFw6hA5Ato4NWKk3KXUk3 sortOrder: 8 fieldKey: send_to label: Send To @@ -61725,7 +61728,7 @@ items: hidden: false defaultTrigger: type = "track" and event = "Cart Viewed" fields: - - id: kTThbrba4Zad9BpfWSDs8G + - id: gPLhjCxvxEwtk6oCvhYeFy sortOrder: 0 fieldKey: user_id label: User ID @@ -61743,7 +61746,7 @@ items: dynamic: false allowNull: false hidden: false - - id: d2foLb2uR59wN9iwRLssJi + - id: a5w7WWqYjzoxz3FKNyDwnm sortOrder: 1 fieldKey: currency label: Currency @@ -61760,7 +61763,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 8BZ2sufZnvTBAKBZkoCaGS + - id: nS9HfvG3nYo8KzTY3U7zVD sortOrder: 2 fieldKey: value label: Value @@ -61775,7 +61778,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 6y8Tr3TeJxrHrbQ6YayuH1 + - id: j59GKWg9RzCnrBee81MwGW sortOrder: 3 fieldKey: items label: Products @@ -61811,7 +61814,7 @@ items: dynamic: false allowNull: false hidden: false - - id: pwkDxcRwx45ZNM5MVD9hnL + - id: f3HjpTN5DpjGEoLphmdnp7 sortOrder: 4 fieldKey: user_properties label: User Properties @@ -61829,7 +61832,7 @@ items: dynamic: false allowNull: false hidden: false - - id: peDaxrqrrVE19Yak9wDS2K + - id: oXmY4bs9rqBfjc1dfSQL55 sortOrder: 5 fieldKey: params label: Event Parameters @@ -61842,7 +61845,7 @@ items: dynamic: false allowNull: false hidden: false - - id: ueowCno5o6a4uTyKfb8ryR + - id: gmCZK1xqhZA7uBaTKEK2qe sortOrder: 6 fieldKey: send_to label: Send To @@ -61865,7 +61868,7 @@ items: hidden: false defaultTrigger: type = "page" fields: - - id: r3zk5353AER14kKXgbZLQm + - id: 42dsYU9o7AnmmSfB1HTkwd sortOrder: 0 fieldKey: user_id label: User ID @@ -61883,7 +61886,7 @@ items: dynamic: false allowNull: false hidden: false - - id: vTMseaS3V4a3BFNaSzfNWM + - id: hCEbDLoPnZBQa4HuvG4PiU sortOrder: 1 fieldKey: user_properties label: User Properties @@ -61901,7 +61904,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 69nx7Y6FeJaqpFcwXgQVx + - id: iEmgKNuUQj4QeKEgY3X19w sortOrder: 2 fieldKey: ads_storage_consent_state label: Ads Storage Consent State @@ -61921,7 +61924,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 55rsbxyhL74HzXSb9ozwgn + - id: hiHqAFfn6WHXYEVJ5mciGj sortOrder: 3 fieldKey: analytics_storage_consent_state label: Analytics Storage Consent State @@ -61941,7 +61944,7 @@ items: dynamic: false allowNull: false hidden: false - - id: mjuStCeNwwmtiqHQJYWL3E + - id: w9cQ3Fa6F3jicRSXbqDJig sortOrder: 4 fieldKey: ad_user_data_consent_state label: Ad User Data Consent State @@ -61960,7 +61963,7 @@ items: value: denied dynamic: false allowNull: false - - id: 4sePijuQ51dbn8PWFxvcX4 + - id: 7BXpk2H9N2keyJWdm9s1oA sortOrder: 5 fieldKey: ad_personalization_consent_state label: Ad Personalization Consent State @@ -61979,7 +61982,7 @@ items: value: denied dynamic: false allowNull: false - - id: cZ17Xu3k4k1JbodZgQwzBY + - id: kdPVfe6odgQeKdh5rKNsF8 sortOrder: 6 fieldKey: campaign_content label: Campaign Content @@ -61995,7 +61998,7 @@ items: dynamic: false allowNull: false hidden: false - - id: rK68TvMo5BcdBYRoTcHcjX + - id: 2vZaG5PHHo5KTyGFnEw2iy sortOrder: 7 fieldKey: campaign_id label: Campaign ID @@ -62010,7 +62013,7 @@ items: dynamic: false allowNull: false hidden: false - - id: kQee3Y9iXkj6GnuyUm6e42 + - id: oJ5dfjeEeE36jpdCJFc4Hq sortOrder: 8 fieldKey: campaign_medium label: Campaign Medium @@ -62026,7 +62029,7 @@ items: dynamic: false allowNull: false hidden: false - - id: eWdzSuwvS5SizzEntRetKM + - id: 54auWAdbXYiDYyvWPDbBzA sortOrder: 9 fieldKey: campaign_name label: Campaign Name @@ -62041,7 +62044,7 @@ items: dynamic: false allowNull: false hidden: false - - id: bSozbt1SPSMXnY6QCbcEcy + - id: TQngkudxuCFo1zyTLhuTA sortOrder: 10 fieldKey: campaign_source label: Campaign Source @@ -62057,7 +62060,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 8cGN7KzZzPetzQcDUwtmHX + - id: jXHpwyUDQ4s6nMmkRF5vVt sortOrder: 11 fieldKey: campaign_term label: Campaign Term @@ -62072,7 +62075,7 @@ items: dynamic: false allowNull: false hidden: false - - id: fiFtzLBayJk1mLEKSs4jhK + - id: 4fg4nf8f1ipHkqqtjH2RsE sortOrder: 12 fieldKey: content_group label: Content Group @@ -62088,7 +62091,7 @@ items: dynamic: false allowNull: false hidden: false - - id: MHAUwQwXCdie6k1JBbqtT + - id: ST2K7gBJaAJCdT1fahzLS sortOrder: 13 fieldKey: language label: Language @@ -62103,7 +62106,7 @@ items: dynamic: false allowNull: false hidden: false - - id: vTzpCtKHcwbHPWD6VSMWZc + - id: 9JNWTZGsqf1BcZcW4uiqy3 sortOrder: 14 fieldKey: page_location label: Page Location @@ -62118,7 +62121,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 5XiEeGAvgABtmY1WjwCP13 + - id: 6XU1rSaH1m9jYA8RRoF99Y sortOrder: 15 fieldKey: page_referrer label: Page Referrer @@ -62134,7 +62137,7 @@ items: dynamic: false allowNull: false hidden: false - - id: kMPjMj2DgZ83TE1FoSAxvW + - id: k59rdF634L6EHVAY43Xydi sortOrder: 16 fieldKey: page_title label: Page Title @@ -62149,7 +62152,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 8YcprRkjhA6hRyeFgWwrz7 + - id: bMrSqdzzdikj95Zxi2VaZB sortOrder: 17 fieldKey: screen_resolution label: Screen Resolution @@ -62165,7 +62168,7 @@ items: dynamic: false allowNull: false hidden: false - - id: u8APgAGSvTUyJ7JjrdaaBg + - id: 9VhTXWhnJXuxv1eD5eX3qP sortOrder: 18 fieldKey: send_page_view label: Send Page Views @@ -62182,7 +62185,7 @@ items: value: false dynamic: false allowNull: false - - id: qtupe8G2HSgRnL6sDXKe6s + - id: nWkLZewDCvUhCG6GfT81ra sortOrder: 19 fieldKey: params label: Event Parameters @@ -62202,7 +62205,7 @@ items: hidden: false defaultTrigger: type = "track" and event = "Order Completed" fields: - - id: hzAfDRsdZXqmcrSA1YPSRE + - id: wbY2Qigor6x2kxUMnR9FgL sortOrder: 0 fieldKey: user_id label: User ID @@ -62220,7 +62223,7 @@ items: dynamic: false allowNull: false hidden: false - - id: q9eed8xx48KNErGrND8Fn7 + - id: 5owyUZhwsbgKcbgx32o2dL sortOrder: 1 fieldKey: coupon label: Coupon @@ -62235,7 +62238,7 @@ items: dynamic: false allowNull: false hidden: false - - id: q8Uc5DGzYXac7DQ9PZiZZW + - id: gGpNiZf2cNFa2nspGKTwhk sortOrder: 2 fieldKey: currency label: Currency @@ -62252,7 +62255,7 @@ items: dynamic: false allowNull: false hidden: false - - id: fJr9pdodyP4VM9iSvwXWTP + - id: 2nsANxcHTazgSDVuNe6xrH sortOrder: 3 fieldKey: items label: Products @@ -62288,7 +62291,7 @@ items: dynamic: false allowNull: false hidden: false - - id: dBEcEa7aAKPByrBh91cP3Y + - id: tMADbSq62YMbLQCPWjqJyM sortOrder: 4 fieldKey: transaction_id label: Order Id @@ -62303,7 +62306,7 @@ items: dynamic: false allowNull: false hidden: false - - id: mLz7nRuGUAt1ejkfWU2MTp + - id: cVspkK3ZHfGZ9jGeLm6P4P sortOrder: 5 fieldKey: shipping label: Shipping @@ -62318,7 +62321,7 @@ items: dynamic: false allowNull: false hidden: false - - id: AhsQTSHBU3TS63we5uVdC + - id: 5Nv19AHx53LMmbZ9dWgGoT sortOrder: 6 fieldKey: tax label: Tax @@ -62333,7 +62336,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 8LSNuNu89gVxjNAbXuuA9j + - id: u8nPCF9T8WwCqN4aheXAhR sortOrder: 7 fieldKey: value label: Value @@ -62348,7 +62351,7 @@ items: dynamic: false allowNull: false hidden: false - - id: cxRtavFNQ257vHfWpeDon + - id: wCPnHJevDzeQ9DkeEXFZ5D sortOrder: 8 fieldKey: user_properties label: User Properties @@ -62366,7 +62369,7 @@ items: dynamic: false allowNull: false hidden: false - - id: wkFZi7Qe3VJMsJTZSek9Pp + - id: gFv6b4WxQ1J3stBY7MBQYY sortOrder: 9 fieldKey: params label: Event Parameters @@ -62379,7 +62382,7 @@ items: dynamic: false allowNull: false hidden: false - - id: gBVS8BT7pQZPLkuK3amp25 + - id: f1bidTsZNrx64UEfcugRyu sortOrder: 10 fieldKey: send_to label: Send To @@ -62402,7 +62405,7 @@ items: hidden: false defaultTrigger: type = "track" and event = "Promotion Viewed" fields: - - id: 2fiZBgHNECU7QqdEkoNWYc + - id: c6KZLwUCeAWYk1knPXyJRe sortOrder: 0 fieldKey: user_id label: User ID @@ -62420,7 +62423,7 @@ items: dynamic: false allowNull: false hidden: false - - id: xdkU8QUj8hc4fmLSr9annn + - id: gyL3Gncw9VsTb8NLwxyrQZ sortOrder: 1 fieldKey: creative_name label: Creative Name @@ -62433,7 +62436,7 @@ items: dynamic: false allowNull: false hidden: false - - id: uWFU62e37hRzcT6pPSbPLJ + - id: 9qYb9DU3UNnxFGVkTg3uqk sortOrder: 2 fieldKey: creative_slot label: Creative Slot @@ -62448,7 +62451,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 3yiRQQyYfCrjHJbcWax8Hg + - id: 9BqLNc1g7X2sKKYULEvoP3 sortOrder: 3 fieldKey: location_id label: Location ID @@ -62463,7 +62466,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 83ZZkJ68piy8YVRhnJHxPP + - id: xkobgVdHiAkJfzFf9CDjD1 sortOrder: 4 fieldKey: promotion_id label: Promotion ID @@ -62478,7 +62481,7 @@ items: dynamic: false allowNull: false hidden: false - - id: kUe6BBgfcLSAJSLAXXkMCz + - id: 5xRucufRrBPguhUHNeqKBs sortOrder: 5 fieldKey: promotion_name label: Promotion Name @@ -62493,7 +62496,7 @@ items: dynamic: false allowNull: false hidden: false - - id: k67Lzrdk55JVKGS3aG1rSd + - id: 7ASsBoqFscvoTQic13F7Tb sortOrder: 6 fieldKey: items label: Products @@ -62527,7 +62530,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 6KJ8RBts9eQzoiM142vi5C + - id: s1Sf8dirAvtRiNSssgc4RT sortOrder: 7 fieldKey: user_properties label: User Properties @@ -62545,7 +62548,7 @@ items: dynamic: false allowNull: false hidden: false - - id: WXCmm7ZRcpZZiLnkrweLo + - id: cVDRPo6ogo13d11Gcn5q6K sortOrder: 8 fieldKey: params label: Event Parameters @@ -62558,7 +62561,7 @@ items: dynamic: false allowNull: false hidden: false - - id: hnfsZTNpNuahmzuu6hSGk2 + - id: kaP2WU3zi2F8wwH3LhJePD sortOrder: 9 fieldKey: send_to label: Send To @@ -62583,7 +62586,7 @@ items: hidden: false defaultTrigger: type = "track" and event = "Product Added to Wishlist" fields: - - id: jPmMQArNNWhtt2ACaV8vYR + - id: aBCnonyDQqMkpUcDtcMo9r sortOrder: 0 fieldKey: user_id label: User ID @@ -62601,7 +62604,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 98Wqf6T6iBAwHAudSF86f8 + - id: 8HQrj49dCVyBbmGRYsDmCX sortOrder: 1 fieldKey: currency label: Currency @@ -62618,7 +62621,7 @@ items: dynamic: false allowNull: false hidden: false - - id: fgbytLjhJki87NSMB9exX5 + - id: rgh4YmVD3CfxxinVezS6Zg sortOrder: 2 fieldKey: value label: Value @@ -62633,7 +62636,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 52VDcpSZHjpZRVnijneogM + - id: tkwxrDYLbHtPz5WCP7Q3R3 sortOrder: 3 fieldKey: items label: Products @@ -62667,7 +62670,7 @@ items: dynamic: false allowNull: false hidden: false - - id: orWsw2B26UkMVb5dKJZvTA + - id: hx5Cg4TXVmTy51ZkQSpnBL sortOrder: 4 fieldKey: user_properties label: User Properties @@ -62685,7 +62688,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 6GER64dW1hrm3iGb2Frt3e + - id: gvmnvLo6KYTqS7g452dpA9 sortOrder: 5 fieldKey: params label: Event Parameters @@ -62698,7 +62701,7 @@ items: dynamic: false allowNull: false hidden: false - - id: tpjdh9yFPEjrBjZoN3vwF5 + - id: hhnMy8XF5MUHbVoaKBCs5g sortOrder: 6 fieldKey: send_to label: Send To @@ -62721,7 +62724,7 @@ items: hidden: false defaultTrigger: type = "track" and event = "Product Removed" fields: - - id: je2FuNVYjw9nWVuJdUaJrM + - id: pafkNZzi4hwrngYQUztoxc sortOrder: 0 fieldKey: user_id label: User ID @@ -62739,7 +62742,7 @@ items: dynamic: false allowNull: false hidden: false - - id: sYgBWwKRqnYiBDDaAHhHHf + - id: guTaWstTFTnzGSdY3Dyjgm sortOrder: 1 fieldKey: currency label: Currency @@ -62756,7 +62759,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 9FmN2ynyiBDJpDeTq1HDG9 + - id: vimhMUEwyvz6UG76taaZ9u sortOrder: 2 fieldKey: value label: Value @@ -62771,7 +62774,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 3dshb149sZMaPGhqVkZ7eA + - id: aEmQdSQRb8NDd4mS5R9oXW sortOrder: 3 fieldKey: items label: Products @@ -62805,7 +62808,7 @@ items: dynamic: false allowNull: false hidden: false - - id: nqZwv66JnoMeeGY25DvdFh + - id: 5wbT7qbTnnS3isyY99Sreh sortOrder: 4 fieldKey: user_properties label: User Properties @@ -62823,7 +62826,7 @@ items: dynamic: false allowNull: false hidden: false - - id: n6YKaw8sZ3wtYKbtGb8KCe + - id: ekd7gpFYmfV2uEX21FjLnY sortOrder: 5 fieldKey: params label: Event Parameters @@ -62836,7 +62839,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 3ks8y3VKqmtsnaDroNFXVK + - id: mewDLsHhwKQ4ctgraGdfjq sortOrder: 6 fieldKey: send_to label: Send To @@ -62861,7 +62864,7 @@ items: hidden: false defaultTrigger: type = "track" fields: - - id: xyLzkwJPGQFF8qWzAoR5AL + - id: bJqrmboNVvAWwHxuWjk5KW sortOrder: 0 fieldKey: user_id label: User ID @@ -62879,7 +62882,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 4Vq3fmsd87Fkv5171B1syW + - id: 5U7nPzKXMoXvaqUhq1amCE sortOrder: 1 fieldKey: currency label: Currency @@ -62896,7 +62899,7 @@ items: dynamic: false allowNull: false hidden: false - - id: dDbDpg1ySMoM4cVdcDK5wY + - id: qTnkhUmnpg8koyUeNfjkC4 sortOrder: 2 fieldKey: value label: Value @@ -62911,7 +62914,7 @@ items: dynamic: false allowNull: false hidden: false - - id: ciwGuHH2pTCws37hbUbgSc + - id: wMwZngsoeD9JqRgh8L1sqs sortOrder: 3 fieldKey: user_properties label: User Properties @@ -62929,7 +62932,7 @@ items: dynamic: false allowNull: false hidden: false - - id: dx31r6UmPrMjvmQeVBpA9c + - id: bLzFN2iYiPGAbJjGN5PyzN sortOrder: 4 fieldKey: params label: Event Parameters @@ -62942,7 +62945,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 3aw7mEcSAYsZjYhRM62ZHs + - id: giGJpCqEX13nMB79REejLe sortOrder: 5 fieldKey: send_to label: Send To @@ -62965,7 +62968,7 @@ items: hidden: false defaultTrigger: type = "track" and event = "Promotion Clicked" fields: - - id: fraVrKYZnNSqgsmW7FktjS + - id: zhRUViPy4zBCsQiQ1bmbe sortOrder: 0 fieldKey: user_id label: User ID @@ -62983,7 +62986,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 9SABKEDNmQCxEjcG2bn9yA + - id: 2o4icdo5KM6fGY1b1pRAxJ sortOrder: 1 fieldKey: creative_name label: Creative Name @@ -62996,7 +62999,7 @@ items: dynamic: false allowNull: false hidden: false - - id: w37ceNAU7pvZESGoDbZCkv + - id: 5fEviYvQcjEQKWTg3vDmRR sortOrder: 2 fieldKey: creative_slot label: Creative Slot @@ -63011,7 +63014,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 8H69EkrX12pmfcYBtbT5HY + - id: 6tBhQGiXGTrLhXH7EqbBLr sortOrder: 3 fieldKey: location_id label: Location ID @@ -63026,7 +63029,7 @@ items: dynamic: false allowNull: false hidden: false - - id: by56ChdfQWqCiRuSREuMUQ + - id: fr8YtvX8q6uNus32QiGvyz sortOrder: 4 fieldKey: promotion_id label: Promotion ID @@ -63041,7 +63044,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 9MjuTxKYiHEZQ5989yae7G + - id: vAmLuyQjeo1oKrtkKtMrSV sortOrder: 5 fieldKey: promotion_name label: Promotion Name @@ -63056,7 +63059,7 @@ items: dynamic: false allowNull: false hidden: false - - id: w8RU7MPBFy97NCf8xqYgK5 + - id: oPC2vUpy4DmnGWWNkMSuqQ sortOrder: 6 fieldKey: items label: Products @@ -63090,7 +63093,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 3H4eUfpfLWE1wpVtTG2wEA + - id: 58qaW9DHqW8qgiLXmEJUY5 sortOrder: 7 fieldKey: user_properties label: User Properties @@ -63108,7 +63111,7 @@ items: dynamic: false allowNull: false hidden: false - - id: bV1mmwq4ZAfozt4SziGT67 + - id: 3kHrPRQKXoCRi3QmGKPMYP sortOrder: 8 fieldKey: params label: Event Parameters @@ -63121,7 +63124,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 2Z7yUZja4PYK87Z9KKaWCA + - id: dka1pEKedqnB7GFewNhQvd sortOrder: 9 fieldKey: send_to label: Send To @@ -63146,7 +63149,7 @@ items: hidden: false defaultTrigger: type = "track" and event = "Product Viewed" fields: - - id: oRBQrZ1mXDT3kZhrSjjDZX + - id: cxnJaGYdcbVPsjNLzZH231 sortOrder: 0 fieldKey: user_id label: User ID @@ -63164,7 +63167,7 @@ items: dynamic: false allowNull: false hidden: false - - id: uB1mRsFRgdEXknEc4XQGTF + - id: rgL69wnbwhnAFRm9bf64yD sortOrder: 1 fieldKey: currency label: Currency @@ -63181,7 +63184,7 @@ items: dynamic: false allowNull: false hidden: false - - id: egL1fAiayzarPLoKvCYdtm + - id: tgFwEENwvdfe5MX9FDfk4X sortOrder: 2 fieldKey: value label: Value @@ -63196,7 +63199,7 @@ items: dynamic: false allowNull: false hidden: false - - id: w4WxF37Bsk17MaSJiMdUiN + - id: 7H7WZahgTTe6o2mRQWbmJh sortOrder: 3 fieldKey: items label: Products @@ -63230,7 +63233,7 @@ items: dynamic: false allowNull: false hidden: false - - id: gM6H8AVzuHGJLb5BEEpmtY + - id: mihDapEcy1fod5FdMgUB9S sortOrder: 4 fieldKey: user_properties label: User Properties @@ -63248,7 +63251,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 8sbd2VvnbxXF2srUtrYmei + - id: xxAQmnr2RhTCKgubV8gGP8 sortOrder: 5 fieldKey: params label: Event Parameters @@ -63261,7 +63264,7 @@ items: dynamic: false allowNull: false hidden: false - - id: kULyC7TqytMsvDAHkcx7gA + - id: bEbR8eiPzmhWXj2FXXWC4b sortOrder: 6 fieldKey: send_to label: Send To @@ -63284,7 +63287,7 @@ items: hidden: false defaultTrigger: type = "track" and event = "Checkout Started" fields: - - id: 3cJRiLNnagPuP14TJgsP8G + - id: eULGkbF8t8dZtuVV5AQLY7 sortOrder: 0 fieldKey: user_id label: User ID @@ -63302,7 +63305,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 8ktrJdeuMwNL3PVJRJSAQT + - id: e3VxMrH42Zi8qHZPvNZeiF sortOrder: 1 fieldKey: coupon label: Coupon @@ -63317,7 +63320,7 @@ items: dynamic: false allowNull: false hidden: false - - id: gNmj7uRfJq8q773fZAcJEf + - id: mvE42zVFGhbmNWfgHoyHjp sortOrder: 2 fieldKey: currency label: Currency @@ -63334,7 +63337,7 @@ items: dynamic: false allowNull: false hidden: false - - id: fgcvGHgaR9iNLnctTZCaqP + - id: 9Exptv7KQgnW36RZ51smAw sortOrder: 3 fieldKey: items label: Products @@ -63370,7 +63373,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 2xN1nkgenwdgZtsUmKgur7 + - id: w4obsUJzqVBSFbKGJaVnjq sortOrder: 4 fieldKey: value label: Value @@ -63385,7 +63388,7 @@ items: dynamic: false allowNull: false hidden: false - - id: cZu8cH3qVg6MBSxjQ5DkZY + - id: pRXi7ttsSvCjaj1ArY3HVR sortOrder: 5 fieldKey: params label: Event Parameters @@ -63398,7 +63401,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 4ujXYV72wVXeJGTdQtLJ8A + - id: rchgYh2dv9ZX5p2uQrKK1j sortOrder: 6 fieldKey: user_properties label: User Properties @@ -63416,7 +63419,7 @@ items: dynamic: false allowNull: false hidden: false - - id: aCiDmer8Pzw6JP226fR26V + - id: hTRiSYeJVfzVQPLfZRp7w6 sortOrder: 7 fieldKey: send_to label: Send To @@ -63439,7 +63442,7 @@ items: hidden: false defaultTrigger: type = "track" and event = "Signed In" fields: - - id: kKx9Nr9JTvtCCx72c8GAqV + - id: hMj5KvAxMJD7dy2YY1HdWg sortOrder: 0 fieldKey: user_id label: User ID @@ -63457,7 +63460,7 @@ items: dynamic: false allowNull: false hidden: false - - id: rS82rWLmZB24nZs9cLV6Tj + - id: h6J9n9RiFthHzDJyYxHPz5 sortOrder: 1 fieldKey: method label: Method @@ -63472,7 +63475,7 @@ items: dynamic: false allowNull: false hidden: false - - id: ovzhtVX7569wpd84tMD52b + - id: pU9DSjPRRtL5smv3hwx3eF sortOrder: 2 fieldKey: user_properties label: User Properties @@ -63490,7 +63493,7 @@ items: dynamic: false allowNull: false hidden: false - - id: tzdppTDLhY95LYCYEEeCnG + - id: 8VgJTgY9zGfhTs5FFAijjz sortOrder: 3 fieldKey: params label: Event Parameters @@ -63503,7 +63506,7 @@ items: dynamic: false allowNull: false hidden: false - - id: ifGRgvqsVHQmw8cueiJziU + - id: gWcKS6eQY6XbFjq3MTUZ1Q sortOrder: 4 fieldKey: send_to label: Send To @@ -83045,7 +83048,7 @@ items: hidden: false defaultTrigger: type = "track" fields: - - id: 7o75eA6RHceZPoKFoJxAKt + - id: wUbTCp2jJqdUq5xJ5edgWB sortOrder: 0 fieldKey: conversionHappenedAt label: Timestamp @@ -83062,7 +83065,7 @@ items: choices: null dynamic: false allowNull: false - - id: pos31aCSbkTEEnSF1JXudv + - id: 82HoAtyZnp8JyHpt8dUi8j sortOrder: 1 fieldKey: conversionValue label: Conversion Value @@ -83081,7 +83084,7 @@ items: choices: null dynamic: false allowNull: false - - id: hQW44davugg3iViBGLQ6WH + - id: kvN2BseeRvUQRy3nkESm3f sortOrder: 2 fieldKey: eventId label: Event ID @@ -83097,7 +83100,7 @@ items: choices: null dynamic: false allowNull: false - - id: aMKi4zSDQkSuXLrUpi5Ati + - id: cFWnBr7PtZUyWRfLPTSpC2 sortOrder: 3 fieldKey: email label: Email @@ -83115,7 +83118,7 @@ items: choices: null dynamic: false allowNull: false - - id: tcpxzK36MLK5aagpQFb3FG + - id: vvFzj3fxi7X99HqAGSUJnN sortOrder: 4 fieldKey: linkedInUUID label: LinkedIn First Party Ads Tracking UUID @@ -83132,7 +83135,7 @@ items: choices: null dynamic: false allowNull: false - - id: bGcfUiV2mN93edSs5sD94e + - id: cRq4k3kBo4wvQaNL3Xowjd sortOrder: 5 fieldKey: acxiomID label: Acxiom ID @@ -83146,7 +83149,7 @@ items: choices: null dynamic: false allowNull: false - - id: phQ7enzPKdunMvQLT7MU9A + - id: 93xFmuqotny5Sc6kUY6BSJ sortOrder: 6 fieldKey: oracleID label: Oracle ID @@ -83161,7 +83164,7 @@ items: choices: null dynamic: false allowNull: false - - id: qHwAjKSrNmZa3MVCw1xt1E + - id: 2iA7k2arzwpjLwMUMqawvW sortOrder: 7 fieldKey: userInfo label: User Info @@ -83175,8 +83178,23 @@ items: choices: null dynamic: false allowNull: false - - id: 2GgCAmNJF9eqkcuS7CcUkh - sortOrder: 10 + - id: sfJWbQhTMjGtJN1FiYEPYZ + sortOrder: 8 + fieldKey: externalIds + label: External ID + type: STRING + description: >- + An identifier your organization uses for the user. See [LinkedIn's + documentation](https://learn.microsoft.com/en-us/linkedin/marketing/conversions/custom-matching-identifiers?view=li-lms-2025-08) + for more details. + placeholder: '' + required: false + multiple: true + choices: null + dynamic: false + allowNull: false + - id: hGAwsx21jfcBNwJR9bHATm + sortOrder: 11 fieldKey: adAccountId label: Ad Account type: STRING @@ -83191,8 +83209,8 @@ items: choices: null dynamic: true allowNull: false - - id: wJkL7ahpM6jhhiMLgYBNZq - sortOrder: 11 + - id: tGc5gQyDZUjnniwdT9JiFv + sortOrder: 12 fieldKey: campaignId label: Add Campaigns to Conversion type: STRING @@ -83207,8 +83225,8 @@ items: choices: null dynamic: true allowNull: false - - id: 9EWjFkVeeqUQBC5vwQRFSP - sortOrder: 12 + - id: 9bZnh199VJa6Ny9ciGNzR9 + sortOrder: 13 fieldKey: conversionRuleId label: Existing Conversion Rule ID type: STRING @@ -83221,8 +83239,8 @@ items: choices: null dynamic: true allowNull: false - - id: h8EvRqZaSUu7ohPGjRtYRD - sortOrder: 13 + - id: we6E3X5zY7kmrLzxBJ3zbK + sortOrder: 14 fieldKey: name label: Name type: STRING @@ -83233,8 +83251,8 @@ items: choices: null dynamic: false allowNull: false - - id: 3an5jd315q2ctBijeBQf63 - sortOrder: 14 + - id: 4KZPf69wT1DA4vWNuRX1ti + sortOrder: 15 fieldKey: conversionType label: Conversion Type type: STRING @@ -83317,8 +83335,8 @@ items: value: SALES_QUALIFIED_LEAD dynamic: false allowNull: false - - id: xnWVinzaqE6eEfUDbRHk8u - sortOrder: 15 + - id: aZgDeQk6qSvWALah4mGrWt + sortOrder: 16 fieldKey: attribution_type label: Attribution Type type: STRING @@ -83333,8 +83351,8 @@ items: value: LAST_TOUCH_BY_CONVERSION dynamic: false allowNull: false - - id: gdDQRiLx5TqrcsVj6qwpZh - sortOrder: 16 + - id: qWd8S3JvKjAmLnErVg9Zdf + sortOrder: 17 fieldKey: post_click_attribution_window_size label: Post-Click Attribution Window Size type: NUMBER @@ -83357,8 +83375,8 @@ items: value: 90 dynamic: false allowNull: false - - id: f2Bx1JXXKwC1vScuKcZdRi - sortOrder: 17 + - id: wGMV5B5spC9TKhhDRZvnJs + sortOrder: 18 fieldKey: view_through_attribution_window_size label: View-Through Attribution Window Size type: NUMBER @@ -83381,8 +83399,8 @@ items: value: 90 dynamic: false allowNull: false - - id: dzvm3hAiiCrY5tNy1uYiF5 - sortOrder: 18 + - id: otqobqgHsyGGQsJNtLG3Ho + sortOrder: 19 fieldKey: onMappingSave label: Create a Conversion Rule type: OBJECT @@ -146283,6 +146301,770 @@ items: actions: [] presets: [] partnerOwned: false +- id: 689b6590095a4d2957bc50ca + display_name: Yonoma + name: Yonoma + slug: yonoma + hidden: false + endpoints: + - US + regions: + - us-west-2 + - eu-west-1 + url: connections/destinations/catalog/yonoma + previous_names: + - Yonoma + website: https://yonoma.io + status: PUBLIC_BETA + categories: + - Marketing Automation + - Email Marketing + logo: + url: https://cdn-devcenter.segment.com/25bdffc5-6509-448c-9032-d36ad6bdfd97.svg + mark: + url: https://cdn-devcenter.segment.com/89b454b7-6d68-475e-bd03-3689be787d15.svg + methods: + track: true + identify: true + group: true + alias: true + screen: false + page: true + platforms: + browser: true + mobile: false + server: true + warehouse: false + cloudAppObject: false + linkedAudiences: true + components: [] + browserUnbundlingSupported: false + browserUnbundlingPublic: false + replay: false + connection_modes: + device: + web: false + mobile: false + server: false + cloud: + web: true + mobile: false + server: true + settings: + - name: apiKey + type: string + defaultValue: '' + description: Your Yonoma API key. + required: true + label: API Key + actions: + - id: 5KKTndhyLSh2RNvHoonSkC + name: Track Page View + slug: trackPageView + description: >- + Log page visits to build behavioral profiles and trigger view-based + automations in Yonoma. + platform: CLOUD + hidden: false + defaultTrigger: type = "page" + fields: + - id: 6Xqc2ND628foWUeynHTZKe + sortOrder: 0 + fieldKey: identifiers + label: Identifiers + type: OBJECT + description: Unique identifiers for the contact. + placeholder: '' + defaultValue: + userId: + '@path': $.userId + anonymousId: + '@path': $.anonymousId + email: + '@if': + exists: + '@path': $.context.traits.email + then: + '@path': $.context.traits.email + else: + '@path': $.properties.email + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: t87Jfu4ikDibLvQqpuaU6H + sortOrder: 1 + fieldKey: listId + label: List ID + type: STRING + description: The Yonoma list to add the contact to. + placeholder: '' + defaultValue: + '@if': + exists: + '@path': $.context.traits.list_id + then: + '@path': $.context.traits.list_id + else: + '@path': $.properties.list_id + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + - id: fGH4mjSbSGgyHrbCiTPMzx + sortOrder: 2 + fieldKey: timestamp + label: Timestamp + type: STRING + description: >- + The timestamp of the event. Defaults to the current time if not + provided. + placeholder: '' + defaultValue: + '@path': $.timestamp + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: fdXVBZbReMQges7pVyVV7C + sortOrder: 3 + fieldKey: ip + label: IP Address + type: STRING + description: >- + The IP address of the user. Defaults to the current user IP if not + provided. + placeholder: '' + defaultValue: + '@path': $.context.ip + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: n1PMtpfMofvDTQt9GWf9QQ + sortOrder: 4 + fieldKey: userAgent + label: User Agent + type: STRING + description: The user agent of the user. + placeholder: '' + defaultValue: + '@path': $.context.userAgent + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: fR2W9kSSW1RE29jcGtcGsG + sortOrder: 5 + fieldKey: page + label: Page + type: OBJECT + description: The details of the page being viewed. + placeholder: '' + defaultValue: + title: + '@path': $.context.page.title + url: + '@path': $.context.page.url + referrer: + '@path': $.context.page.referrer + path: + '@path': $.context.page.path + search: + '@path': $.context.page.search + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: ppUsyFJjYCTTnVg1vtyyZ4 + sortOrder: 6 + fieldKey: campaign + label: Campaign + type: OBJECT + description: The marketing campaign that referred the user to the site. + placeholder: '' + defaultValue: + name: + '@path': $.context.campaign.name + source: + '@path': $.context.campaign.source + medium: + '@path': $.context.campaign.medium + term: + '@path': $.context.campaign.term + content: + '@path': $.context.campaign.content + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: b7jn22R6Xr8QRPTWhJ13L4 + sortOrder: 7 + fieldKey: location + label: Location + type: OBJECT + description: The geographic location of the user. + placeholder: '' + defaultValue: + country: + '@path': $.context.location.country + region: + '@path': $.context.location.region + city: + '@path': $.context.location.city + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: icnL51PVu3fGQ7aDKkosxr + sortOrder: 8 + fieldKey: properties + label: Additional Page Properties + type: OBJECT + description: Additional properties associated with the event. + placeholder: '' + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: dH5vFnemijiCK3MTJ6hvVj + name: Upsert Contact + slug: upsertContact + description: Sync Segment user profile details to Yonoma Contacts. + platform: CLOUD + hidden: false + defaultTrigger: type = "identify" + fields: + - id: mhfnss6zivHb6QDnEyxZ8c + sortOrder: 0 + fieldKey: identifiers + label: Identifiers + type: OBJECT + description: >- + Unique identifiers for the contact. User ID and email are required. + Anonymous ID is optional. + placeholder: '' + defaultValue: + userId: + '@path': $.userId + anonymousId: + '@path': $.anonymousId + email: + '@path': $.traits.email + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + - id: nWJaTNRmbj8Wz7Neutp3uR + sortOrder: 1 + fieldKey: listId + label: List ID + type: STRING + description: The Yonoma list to add the contact to. + placeholder: '' + defaultValue: + '@path': $.traits.list_id + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + - id: kAX9ost47gGzyEfLcK9ZY8 + sortOrder: 2 + fieldKey: status + label: Email subscription status + type: BOOLEAN + description: >- + Indicates if the Contact is subscribed or unsubscribed from marketing + emails. Set to true to subscribe, false to unsubscribe. + placeholder: '' + defaultValue: true + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + - id: uiUB37Lr5xtzNJ6Qn6hsw6 + sortOrder: 3 + fieldKey: timestamp + label: Timestamp + type: STRING + description: >- + The timestamp of the event. Defaults to the current time if not + provided. + placeholder: '' + defaultValue: + '@path': $.timestamp + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: eSscUiV162EFDf82e9iduY + sortOrder: 4 + fieldKey: ip + label: IP Address + type: STRING + description: >- + The IP address of the user. Defaults to the current user IP if not + provided. + placeholder: '' + defaultValue: + '@path': $.context.ip + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: 4WK6QtBZ6yDVLw1wmHw39Y + sortOrder: 5 + fieldKey: userAgent + label: User Agent + type: STRING + description: The user agent of the user. + placeholder: '' + defaultValue: + '@path': $.context.userAgent + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: wYRW7AeCn3aruD2eDsnDmj + sortOrder: 6 + fieldKey: page + label: Page + type: OBJECT + description: The details of the page being viewed. + placeholder: '' + defaultValue: + title: + '@path': $.context.page.title + url: + '@path': $.context.page.url + referrer: + '@path': $.context.page.referrer + path: + '@path': $.context.page.path + search: + '@path': $.context.page.search + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: fiLQxQPv3k2A2t1NAVaY4p + sortOrder: 7 + fieldKey: campaign + label: Campaign + type: OBJECT + description: The marketing campaign that referred the user to the site. + placeholder: '' + defaultValue: + name: + '@path': $.context.campaign.name + source: + '@path': $.context.campaign.source + medium: + '@path': $.context.campaign.medium + term: + '@path': $.context.campaign.term + content: + '@path': $.context.campaign.content + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: mLgKXxPXFhmPWcxyVHNgYV + sortOrder: 8 + fieldKey: location + label: Location + type: OBJECT + description: The geographic location of the user. + placeholder: '' + defaultValue: + country: + '@path': $.context.location.country + region: + '@path': $.context.location.region + city: + '@path': $.context.location.city + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: 2TZrUTSGRD1gQNq7bosT9U + sortOrder: 9 + fieldKey: properties + label: Contact Properties + type: OBJECT + description: Additional Contact metadata. + placeholder: '' + defaultValue: + firstName: + '@path': $.traits.first_name + lastName: + '@path': $.traits.last_name + phone: + '@path': $.traits.phone + dateOfBirth: + '@path': $.traits.birthday + address: + '@path': $.traits.address.street + city: + '@path': $.traits.address.city + state: + '@path': $.traits.address.state + country: + '@path': $.traits.address.country + zipcode: + '@path': $.traits.address.postal_code + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: 7ZBTEBiHioFRYaRSK6sytR + sortOrder: 10 + fieldKey: tags_to_add + label: Tags to Add + type: STRING + description: >- + List of tags to add to the Contact. Can be a single string or array of + tags. Tags must already exist in Yonoma. + placeholder: '' + defaultValue: + '@path': $.traits.tags_to_add + required: false + multiple: true + choices: null + dynamic: false + allowNull: false + - id: qZszJVEgY2UsehtiRwTYpG + sortOrder: 11 + fieldKey: tags_to_remove + label: Tags to Remove + type: STRING + description: >- + List of tags to remove from the Contact. Can be a single string or array + of strings. Tags must already exist in Yonoma. + placeholder: '' + defaultValue: + '@path': $.traits.tags_to_remove + required: false + multiple: true + choices: null + dynamic: false + allowNull: false + - id: k8fftye8REGsnSM5pKGqrf + name: Send Event + slug: sendEvent + description: Trigger automation based on a contact’s action within your product + platform: CLOUD + hidden: false + defaultTrigger: type = "track" + fields: + - id: 3SpboHhHDixCZAMA7pbvLr + sortOrder: 0 + fieldKey: event + label: Event Name + type: STRING + description: The name of the event to track. + placeholder: '' + defaultValue: + '@path': $.event + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + - id: qw1mKUYDehA6pR59oW3F5C + sortOrder: 1 + fieldKey: identifiers + label: Identifiers + type: OBJECT + description: >- + Unique identifiers for the contact. At least one of userId or + anonymousId is required. + placeholder: '' + defaultValue: + userId: + '@path': $.userId + anonymousId: + '@path': $.anonymousId + email: + '@if': + exists: + '@path': $.context.traits.email + then: + '@path': $.context.traits.email + else: + '@path': $.properties.email + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + - id: fLd2FrxFsFQsKV8sVa8Ji1 + sortOrder: 2 + fieldKey: listId + label: List ID + type: STRING + description: The Yonoma list to add the contact to. + placeholder: '' + defaultValue: + '@if': + exists: + '@path': $.context.traits.list_id + then: + '@path': $.context.traits.list_id + else: + '@path': $.properties.list_id + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + - id: ejCjnRdbvB8Qph8x1D4dKt + sortOrder: 3 + fieldKey: properties + label: Event Properties + type: OBJECT + description: Additional properties associated with the event. + placeholder: '' + defaultValue: + '@path': $.properties + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: et7UNsYuVsVKB7KVc1xLUL + sortOrder: 4 + fieldKey: timestamp + label: Timestamp + type: STRING + description: >- + The timestamp of the event. Defaults to the current time if not + provided. + placeholder: '' + defaultValue: + '@path': $.timestamp + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: kboxrxxQminrT6hkzFYZ9A + name: Track Event + slug: trackEvent + description: >- + Capture behavioral events for both known and anonymous users to build a + complete activity timeline in Yonoma. + platform: CLOUD + hidden: false + defaultTrigger: type = "track" + fields: + - id: hN8wfDhZDyCzeywMx2kevM + sortOrder: 0 + fieldKey: event + label: Event Name + type: STRING + description: The name of the event to track. + placeholder: '' + defaultValue: + '@path': $.event + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + - id: vFYkoV27BefBtD16QNZA6d + sortOrder: 1 + fieldKey: identifiers + label: Identifiers + type: OBJECT + description: >- + Unique identifiers for the contact. User ID and email are required. + Anonymous ID is optional. + placeholder: '' + defaultValue: + userId: + '@path': $.userId + anonymousId: + '@path': $.anonymousId + email: + '@if': + exists: + '@path': $.context.traits.email + then: + '@path': $.context.traits.email + else: + '@path': $.properties.email + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + - id: 8V2avD6N2AKXTyVj7sasiq + sortOrder: 2 + fieldKey: listId + label: List ID + type: STRING + description: The Yonoma list to add the contact to. + placeholder: '' + defaultValue: + '@if': + exists: + '@path': $.context.traits.list_id + then: + '@path': $.context.traits.list_id + else: + '@path': $.properties.list_id + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + - id: fFvd4S4EGiDboLRgiiQM88 + sortOrder: 3 + fieldKey: timestamp + label: Timestamp + type: STRING + description: >- + The timestamp of the event. Defaults to the current time if not + provided. + placeholder: '' + defaultValue: + '@path': $.timestamp + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: hpdD271ktWBPu4eHmbNndK + sortOrder: 4 + fieldKey: ip + label: IP Address + type: STRING + description: >- + The IP address of the user. Defaults to the current user IP if not + provided. + placeholder: '' + defaultValue: + '@path': $.context.ip + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: teHfDYRaK4sKFiaJRLHocf + sortOrder: 5 + fieldKey: userAgent + label: User Agent + type: STRING + description: The user agent of the user. + placeholder: '' + defaultValue: + '@path': $.context.userAgent + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: iNvaZwFSQKDM6kHyQ7aC6 + sortOrder: 6 + fieldKey: page + label: Page + type: OBJECT + description: The details of the page being viewed. + placeholder: '' + defaultValue: + title: + '@path': $.context.page.title + url: + '@path': $.context.page.url + referrer: + '@path': $.context.page.referrer + path: + '@path': $.context.page.path + search: + '@path': $.context.page.search + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: kYvpCWbT4f7BSR6zsdGAkD + sortOrder: 7 + fieldKey: campaign + label: Campaign + type: OBJECT + description: The marketing campaign that referred the user to the site. + placeholder: '' + defaultValue: + name: + '@path': $.context.campaign.name + source: + '@path': $.context.campaign.source + medium: + '@path': $.context.campaign.medium + term: + '@path': $.context.campaign.term + content: + '@path': $.context.campaign.content + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: pRqWpmgM1AQFcVYsFN21Tn + sortOrder: 8 + fieldKey: location + label: Location + type: OBJECT + description: The geographic location of the user. + placeholder: '' + defaultValue: + country: + '@path': $.context.location.country + region: + '@path': $.context.location.region + city: + '@path': $.context.location.city + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: kdCjZd7ibaFk3bfbKyDTM + sortOrder: 9 + fieldKey: properties + label: Event Properties + type: OBJECT + description: Properties associated with the event. + placeholder: '' + defaultValue: + '@path': $.properties + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + presets: [] + partnerOwned: true - id: 59c04bd6432df886f42eea37 display_name: Youbora name: Youbora diff --git a/src/_data/catalog/destinations_private.yml b/src/_data/catalog/destinations_private.yml index 484ca29406..2c5d663608 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-10-23 +# destination data last updated 2025-10-30 items: - id: 54521fd925e721e32a72eee1 display_name: Pardot diff --git a/src/_data/catalog/source_categories.yml b/src/_data/catalog/source_categories.yml index e2024abe79..04947a52c7 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-10-23 +# source categories last updated 2025-10-30 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 89b09410f6..88b1da4c2a 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-10-23 +# sources last updated 2025-10-30 items: - id: 8HWbgPTt3k display_name: .NET