From 82c5a1dc662b01caa0124ae2a3789cd6cb0fb136 Mon Sep 17 00:00:00 2001 From: Courtney Garcia <97773072+courtneyga@users.noreply.github.com> Date: Thu, 18 Apr 2024 15:34:56 -0500 Subject: [PATCH 01/20] Update index.md --- src/connections/destinations/catalog/mailchimp/index.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/connections/destinations/catalog/mailchimp/index.md b/src/connections/destinations/catalog/mailchimp/index.md index 033a1fbc16..50de3586a7 100644 --- a/src/connections/destinations/catalog/mailchimp/index.md +++ b/src/connections/destinations/catalog/mailchimp/index.md @@ -133,6 +133,9 @@ Again, this will **NOT** work for new users. New users will always have their su ### Why are my calls with trait arrays not showing up in Mailchimp? Mailchimp doesn't support arrays as traits values. This can cause calls to not show up. +### Frequent 404 Bad Requests from Identify events without error message? +If you are sending concurrent requests for the same userId, MailChimp will block the events due to how MailChimp restricts each API key to a maximum of 10 concurrent requests. + ## Engage You can send computed traits and audiences generated using [Engage](/docs/engage/) to Mailchimp as a **user property**. To learn more about Engage, schedule a [demo](https://segment.com/demo/){:target="_blank"}. From 55e4fe60bf614d7fb56ebf436c9b63c952e511e9 Mon Sep 17 00:00:00 2001 From: Samantha Crespo <100810716+samkcrespo@users.noreply.github.com> Date: Wed, 8 May 2024 16:10:14 -0700 Subject: [PATCH 02/20] Update index.md --- .../destinations/catalog/webhooks/index.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/connections/destinations/catalog/webhooks/index.md b/src/connections/destinations/catalog/webhooks/index.md index 93ec0da4af..456190fa21 100644 --- a/src/connections/destinations/catalog/webhooks/index.md +++ b/src/connections/destinations/catalog/webhooks/index.md @@ -217,6 +217,24 @@ if (signature === digest) { } ``` +For Batch events, the process to authenticate these requests slightly differs as it involves verifying the X-Signature header against a hash of the **first event** in the batch. + +An example of how one might authenticate batch requests would be: + +```javascript + const signature = req.headers['x-signature']; + const digest = crypto + .createHmac('sha1', 'sharedsecretvalue') + .update(JSON.stringify(req.body[0]),'utf-8') + .digest('hex'); + +if (signature === digest) { + + // do cool stuff + +} +``` + ### SSL Certification If your server is using HTTPS, note that our webhooks destination does not work with self-signed certs. If webhooks detects a self-signed cert it will throw an error and no request will be sent. From 299daf09a3cdc6069106f2c1f332784adf378cb0 Mon Sep 17 00:00:00 2001 From: Samantha Crespo <100810716+samkcrespo@users.noreply.github.com> Date: Mon, 13 May 2024 13:05:43 -0700 Subject: [PATCH 03/20] Update index.md - add FAQ Google Sheets & fix error --- .../destinations/catalog/actions-google-sheets/index.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/actions-google-sheets/index.md b/src/connections/destinations/catalog/actions-google-sheets/index.md index e6d9191e4f..b1bf446555 100644 --- a/src/connections/destinations/catalog/actions-google-sheets/index.md +++ b/src/connections/destinations/catalog/actions-google-sheets/index.md @@ -37,8 +37,12 @@ The Record Identifier mapping is used to make a distinction between adding a new ### How do I define the columns in my spreadsheet? -The Fields mapping controls which fields in your model will be written as columns. Input the desired column name(s) on the left, and select the data variable that will populate the value for that column on the right. Please note, at least one field must be configured to send data to Google Sheets otherwise no columns will be created or synced. +The Fields mapping controls which fields in your model will be written as columns. Input the desired column name(s) on the right, and select the data variable that will populate the value for that column on the left. Please note, at least one field must be configured to send data to Google Sheets otherwise no columns will be created or synced. ### How are columns formatted when synced to my spreadsheet? When syncing data to Google Sheets, the columns will be arranged alphabetically, based on the names defined in the Fields mapping. + +### Can I add or remove columns after data has been synced? + +Once data has been synced to Google Sheets, any subsequent addition or removal of columns in the RETL Model and/or Mapping may lead to misalignment of existing data, as Segment does not retroactively adjust previously synced data. For updates involving column modifications, it is advisable to start with a new Sheet to ensure data integrity. From a257fde4050d12221ae5a39cd4991e3dbcfa5cb2 Mon Sep 17 00:00:00 2001 From: Samantha Crespo <100810716+samkcrespo@users.noreply.github.com> Date: Mon, 12 Aug 2024 15:31:07 -0700 Subject: [PATCH 04/20] Update faqs.md - profile explorer --- src/unify/faqs.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/unify/faqs.md b/src/unify/faqs.md index e004025b04..d37728cf82 100644 --- a/src/unify/faqs.md +++ b/src/unify/faqs.md @@ -56,4 +56,6 @@ No. Alternatively, you may delete the entire user profile from Segment using a [ ### How does profile creation affect MTUs, particularly where a profile isn't merged with the parent profile due to exceeding the merge limit? Segment determines the Monthly Tracked Users (MTUs) count by the number of unique user IDs and anonymous IDs processed, regardless of how you manage these profiles in Unify and Engage. This count is taken as events are sent to Segment, before they reach Unify and Engage. Therefore, the creation of new profiles or the merging of profiles in Unify doesn't affect the MTU count. The MTU count only increases when you send new unique user or anonymous IDs to Segment. - + +### What is the event lookback period on the Profile Explorer? +The [Profile Explorer](/docs/unify/#profile-explorer) retains event details for a period of up to 2 weeks. For accessing event information beyond this timeframe, it is recommended to use [Profiles Sync](/docs/unify/profiles-sync/overview/) for comprehensive event analysis and retention. From 1fbb77e5d74f0a1e0ab10bcc394e197d6393b983 Mon Sep 17 00:00:00 2001 From: Ian Vanagas <34755028+ivanagas@users.noreply.github.com> Date: Thu, 22 Aug 2024 15:11:20 -0700 Subject: [PATCH 05/20] Update PostHog Destination docs --- .../destinations/catalog/posthog/index.md | 46 +++++++++++++------ 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/src/connections/destinations/catalog/posthog/index.md b/src/connections/destinations/catalog/posthog/index.md index b601022555..3cccaa462c 100644 --- a/src/connections/destinations/catalog/posthog/index.md +++ b/src/connections/destinations/catalog/posthog/index.md @@ -3,23 +3,23 @@ title: PostHog Destination rewrite: true id: 5ece242d61055a0b1bb2e103 --- -[PostHog](https://posthog.com/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank"} is a self-hosted, open-source analytics product. Get the same powerful features as other product analytics software but keep full control over your data. +[PostHog](https://posthog.com/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank"} is an open-source suite of product and data tools including product analytics, session replays, feature flags, A/B testing, surveys, and more. -This destination is maintained by PostHog. For any issues with the destination, check out the [PostHog users slack](https://posthog.com/slack){:target="_blank"} or [contact the PostHog Support team](mailto:hey@posthog.com). - -## Getting Started +You can find out more about the destination in their [Segment documentation](https://posthog.com/docs/libraries/segment){:target="_blank"}. +This destination is maintained by PostHog. For any issues with the destination, ask a question in the [PostHog community](https://posthog.com/questions){:target="_blank"} or [contact the PostHog support team in-app](https://us.posthog.com/#panel=support). +## Getting Started 1. From the Destinations catalog page in the Segment App, click **Add Destination**. 2. Search for "PostHog" in the Destinations Catalog, and select the PostHog destination. 3. Choose which Source should send data to the PostHog destination. -4. Go to your [PostHog set up page](https://app.posthog.com/setup){:target="_blank"}, and copy the **API key**. -5. Enter the PostHog API Key that you copied in the PostHog destination settings in Segment. -6. Enter your PostHog instance URL as the address to your instance **without any trailing slash**, for example: - - `https://app.posthog.com` if you use PostHog Cloud US - - `https://eu.posthog.com` if you use PostHog Cloud EU - - `https://posthog-example.herokuapp.com` if you self-host on Heroku +4. Go to your [PostHog project settings](https://us.posthog.com/settings/project#variables){:target="_blank"}, and copy the **project API key**. +5. Enter the project API Key that you copied in the PostHog destination settings in Segment. +6. Enter your PostHog instance address **without any trailing slash**, for example: + - `https://us.i.posthog.com` if you use PostHog US Cloud + - `https://eu.i.posthog.com` if you use PostHog EU Cloud + - Your self-hosted URL if you self-host ## Page @@ -53,7 +53,7 @@ analytics.identify('userId123', { }); ``` -Segment sends Identify calls to PostHog as an `identify` event. Data from Identify calls appears in PostHog under the **People** tab. +Segment sends Identify calls to PostHog as an `$identify` event. Data from Identify calls appears in PostHog under the **People** tab. ## Track @@ -64,7 +64,7 @@ If you aren't familiar with the Segment Spec, take a look at the [Track method d analytics.track('Login Button Clicked') ``` -Segment sends Track calls to PostHog as a `track` event. +Segment sends Track calls to PostHog using the event name you provide. ## Alias @@ -74,4 +74,24 @@ If you aren't familiar with the Segment Spec, take a look at the [Alias method d analytics.alias('507f191e81') ``` -Segment sends Alias calls to PostHog as an `alias` event. +Segment sends Alias calls to PostHog as an `$create_alias` event. + +## Group + +If you aren't familiar with the Segment Spec, take a look at the [Group method documentation](/docs/connections/spec/group/) to learn about what it does. An example call would look like: + +```js +analytics.group("0e8c78ea9d97a7b8185e8632", { + name: "Initech", + industry: "Technology", + employees: 329, +}); +``` + +Segment sends Group calls to PostHog as an `$groupidentify` event. This creates or updates a group with the group type `segment_group` in PostHog. To create or update a group with a different group type, call `track` with a `$group` property. + +```js +analytics.track('user_signed_up', { + $groups: { company: 'Initech' } +}) +``` From c53cb3329e4008de8b17cb308ccdbf9110626a31 Mon Sep 17 00:00:00 2001 From: pwseg Date: Fri, 23 Aug 2024 22:37:06 -0400 Subject: [PATCH 06/20] fix broken link --- src/connections/functions/copilot.md | 6 +++--- src/connections/functions/index.md | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/connections/functions/copilot.md b/src/connections/functions/copilot.md index 9fb5d4f713..d394acd353 100644 --- a/src/connections/functions/copilot.md +++ b/src/connections/functions/copilot.md @@ -22,9 +22,9 @@ Functions Copilot can help you: This table lists example prompts you can use with Functions Copilot: -| Function Type | Example Prompts | -| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | -| **Source Functions** | "Transform incoming data into a track event."

"Enrich user data with additional demographic details using an external API." | +| Function Type | Example Prompts | +| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| **Source Functions** | "Transform incoming data into a track event."

"Enrich user data with additional demographic details using an external API." | | **Destination Functions** | "Create a function that enriches an Identify event using the Profile API."

"Remove PII data and hash email addresses in an Identify event." | | **Destination Insert Functions** | "Enrich an Identify event using an external API."

"Tokenize PII data before sending it downstream." | diff --git a/src/connections/functions/index.md b/src/connections/functions/index.md index e8af169cd8..e173effb0e 100644 --- a/src/connections/functions/index.md +++ b/src/connections/functions/index.md @@ -46,4 +46,4 @@ To learn more, visit [destination insert functions](/docs/connections/functions/ With Functions Copilot, you can instrument custom integrations, enrich and transform data, and even secure sensitive data nearly instantaneously without writing a line of code. -To learn more, visit the [Functions Copilot documentation](//docs/connections/functions/functions-copilot). \ No newline at end of file +To learn more, visit the [Functions Copilot documentation](/docs/connections/functions/copilot/). \ No newline at end of file From 74f86e88bd892af7ef71d780453012a2beb51d89 Mon Sep 17 00:00:00 2001 From: prigiattiperrut <47340158+prigiattiperrut@users.noreply.github.com> Date: Mon, 26 Aug 2024 15:13:35 +0100 Subject: [PATCH 07/20] Update common.md --- src/connections/spec/common.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/connections/spec/common.md b/src/connections/spec/common.md index 32559d39ae..becf7ca7da 100644 --- a/src/connections/spec/common.md +++ b/src/connections/spec/common.md @@ -298,3 +298,25 @@ Segment calculates `timestamp` as `timestamp = receivedAt - (sentAt - originalTi > info "" > For client-side tracking it's possible for the client to spoof the `originalTimeStamp`, which may result in a calculated `timestamp` value set in the future. +> + +## FAQ + +### Why Are Events Received with Timestamps Set in the Past or Future? + +If you're using one of Segment's client-side libraries, please note that several factors can cause timestamp discrepancies in your event data. + +1. **Overriding Timestamp Value:** + - When a manual timestamp is set in the payload with a date in the past, it can cause events to appear as if they were sent earlier than they actually were. + +2. **Analytics.js Source with Retries Enabled:** + - The [Retries](https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/#retries) feature supports offline traffic by queuing events in Analytics.js. These events are sent or retried later when an internet connection is available, keeping the original timestamp intact. + +3. **Mobile App Backgrounded or Closed:** + - If a user closes the app, events may be queued within the app. These queued events won't be sent until the app is re-opened, potentially in the future, leading to timestamp discrepancies. + +4. **Inaccurate Browser/Device Clock Settings:** + - Timestamps can be incorrect if the client's device time is inaccurate, as the `originalTimestamp` relies on the client device's clock, which can be manually adjusted. + +5. **Traffic from Internet Bots:** + - [Internet Bots](https://segment.com/docs/guides/ignore-bots/#whats-a-bot) can sometimes send requests with unusual timestamps, either intentionally or due to incorrect settings, leading to discrepancies. From bb6a062bbee3de3f1b8e615b751224be8a0bf966 Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 27 Aug 2024 00:39:11 -0500 Subject: [PATCH 08/20] add new page and structure --- src/unify/salesforce-unify.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 src/unify/salesforce-unify.md diff --git a/src/unify/salesforce-unify.md b/src/unify/salesforce-unify.md new file mode 100644 index 0000000000..6ac11dc63f --- /dev/null +++ b/src/unify/salesforce-unify.md @@ -0,0 +1,4 @@ +--- +title: Salesforce Unify Integration Guide +plan: unify +--- \ No newline at end of file From 98f11afd95256fe0566e2296148b49ef954584c3 Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 27 Aug 2024 01:20:10 -0500 Subject: [PATCH 09/20] add screenshot to placate people [netlify-build] --- src/unify/images/select_mappings.png | Bin 0 -> 103495 bytes src/unify/salesforce-unify.md | 87 ++++++++++++++++++++++++++- 2 files changed, 85 insertions(+), 2 deletions(-) create mode 100644 src/unify/images/select_mappings.png diff --git a/src/unify/images/select_mappings.png b/src/unify/images/select_mappings.png new file mode 100644 index 0000000000000000000000000000000000000000..42e848694c7386b0fe9ea4fffd3160b50acb55f4 GIT binary patch literal 103495 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 Catalog > Cloud App Objects**. +2. Select Salesforce as your source. +3. Name your Salesforce source and authenticate with your Salesforce credentials. +4. Once connected, use Selective Sync to choose the Salesforce collections and columns you want to sync. + +After successful authentication, Segment adds the source but disables it by default. You'll enable it later. + +### 2. Add a Segment Profiles destination + +Next, add a Segment Profiles destination: + +1. From the overview tab of your new Salesforce source, click **Add destination**. +2. From the catalog destination page, click **Segment Profiles**, then click **Add destination**. +3. Name your destination, then click **Create**. + +### 3. Create a data model + +1. In the Salesforce source you created, navigate to the Models tab and click **Create Model**. +3. Select the fields you want to map to the Segment Profiles destination. +4. Preview and validate the schema with real-time Salesforce data. +5. Name your model and save it. + +### 4. Configure mapping + +1. In the Salesforce source, navigate to **Models > Add mapping**. +2. Segment returns you to the Segment Profiles Destination. Click **Add mapping**. +2. Select your data model and map your selected Salesforce data to fields in Segment Profiles (typically "Identify" for profile updates). + - Select the Profile space you want to update. + - Map Salesforce fields to Segment Profile fields. + - **You must map either a User ID or Anonymous ID field.** +4. Test your mapping with real data from Salesforce. +5. Save your mapping configuration. + +![A screenshot of the "Select Mappings" interface in Segment, showing fields for mapping event data from a source to a destination. The interface includes options for selecting objects, customizing objects, and mapping fields such as Profile Space, User ID, Anonymous ID, Group ID, Traits, and Timestamp.](./images/select_mappings.png) + +### 5. Enable the destination mapping and Salesforce source + +Finish by enabling the destination mappings and the source: + +1. From the overview tab of the Segment Profiles destination you created, toggle the **Mapping Status** switch to **Enabled**. +2. Return to your Salesforce source and navigate to **Settings > Basic settings.** +2. Toggle the **Enable source** switch to on. + +Data now begins syncing between Salesforce and Segment. + +## Data synchronization + +After you've connected Salesforce and the Segment Profiles destination, the integration begin syncing data based on the following: + +- New or updated records in Salesforce get sent to Segment Profiles based on your mapping configuration. +- The initial sync includes historical data within the range specified in your Selective Sync settings. +- Further syncs take place at regular intervals (typically hourly). + +## Best practices + +Keep the following in mind as you work with the Salesforce Unify Direct Integration: + +- Start with a subset of data to test your integration before expanding to all Salesforce objects. +- Regularly review your mapping to ensure it reflects any changes in your Salesforce schema or Segment Profile needs. +- Monitor your integration for any errors or data discrepancies. + +The Salesforce Unify Direct Integration supports mapping from a single Salesforce collection per data model. For complex use cases requiring data from multiple collections, you may need to create multiple data models and mappings. \ No newline at end of file From 1101d69d968c867ffe031570ac35a2a0ed37a3bb Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Tue, 27 Aug 2024 11:05:17 -0400 Subject: [PATCH 10/20] Apply suggestions from code review --- .../destinations/catalog/actions-google-sheets/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/destinations/catalog/actions-google-sheets/index.md b/src/connections/destinations/catalog/actions-google-sheets/index.md index b1bf446555..0788216d54 100644 --- a/src/connections/destinations/catalog/actions-google-sheets/index.md +++ b/src/connections/destinations/catalog/actions-google-sheets/index.md @@ -37,7 +37,7 @@ The Record Identifier mapping is used to make a distinction between adding a new ### How do I define the columns in my spreadsheet? -The Fields mapping controls which fields in your model will be written as columns. Input the desired column name(s) on the right, and select the data variable that will populate the value for that column on the left. Please note, at least one field must be configured to send data to Google Sheets otherwise no columns will be created or synced. +The Fields mapping controls which fields in your model will be written as columns. Input the desired column name(s) on the right, and select the data variable that will populate the value for that column on the left. Please note, at least one field must be configured to send data to Google Sheets or no columns will be created or synced. ### How are columns formatted when synced to my spreadsheet? @@ -45,4 +45,4 @@ When syncing data to Google Sheets, the columns will be arranged alphabetically, ### Can I add or remove columns after data has been synced? -Once data has been synced to Google Sheets, any subsequent addition or removal of columns in the RETL Model and/or Mapping may lead to misalignment of existing data, as Segment does not retroactively adjust previously synced data. For updates involving column modifications, it is advisable to start with a new Sheet to ensure data integrity. +Once data has been synced to Google Sheets, any subsequent addition or removal of columns in the RETL Model and/or Mapping may lead to misalignment of existing data, as Segment does not retroactively adjust previously synced data. For updates involving column modifications, Segment recommends starting with a new Sheet to ensure data integrity. From 4b3578a56c968f3f82d4e0056d5719b2806e3099 Mon Sep 17 00:00:00 2001 From: stayseesong <83784848+stayseesong@users.noreply.github.com> Date: Tue, 27 Aug 2024 09:05:53 -0700 Subject: [PATCH 11/20] Apply suggestions from code review --- src/connections/destinations/catalog/posthog/index.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/connections/destinations/catalog/posthog/index.md b/src/connections/destinations/catalog/posthog/index.md index 3cccaa462c..cfb0650695 100644 --- a/src/connections/destinations/catalog/posthog/index.md +++ b/src/connections/destinations/catalog/posthog/index.md @@ -5,18 +5,18 @@ id: 5ece242d61055a0b1bb2e103 --- [PostHog](https://posthog.com/?utm_source=segmentio&utm_medium=docs&utm_campaign=partners){:target="_blank"} is an open-source suite of product and data tools including product analytics, session replays, feature flags, A/B testing, surveys, and more. -You can find out more about the destination in their [Segment documentation](https://posthog.com/docs/libraries/segment){:target="_blank"}. +You can find out more about the destination in [PostHog's Segment documentation](https://posthog.com/docs/libraries/segment){:target="_blank"}. This destination is maintained by PostHog. For any issues with the destination, ask a question in the [PostHog community](https://posthog.com/questions){:target="_blank"} or [contact the PostHog support team in-app](https://us.posthog.com/#panel=support). -## Getting Started +## Getting started 1. From the Destinations catalog page in the Segment App, click **Add Destination**. 2. Search for "PostHog" in the Destinations Catalog, and select the PostHog destination. 3. Choose which Source should send data to the PostHog destination. 4. Go to your [PostHog project settings](https://us.posthog.com/settings/project#variables){:target="_blank"}, and copy the **project API key**. 5. Enter the project API Key that you copied in the PostHog destination settings in Segment. -6. Enter your PostHog instance address **without any trailing slash**, for example: +6. Enter your PostHog instance address *without any trailing slash*, for example: - `https://us.i.posthog.com` if you use PostHog US Cloud - `https://eu.i.posthog.com` if you use PostHog EU Cloud - Your self-hosted URL if you self-host @@ -74,7 +74,7 @@ If you aren't familiar with the Segment Spec, take a look at the [Alias method d analytics.alias('507f191e81') ``` -Segment sends Alias calls to PostHog as an `$create_alias` event. +Segment sends Alias calls to PostHog as a `$create_alias` event. ## Group @@ -88,7 +88,7 @@ analytics.group("0e8c78ea9d97a7b8185e8632", { }); ``` -Segment sends Group calls to PostHog as an `$groupidentify` event. This creates or updates a group with the group type `segment_group` in PostHog. To create or update a group with a different group type, call `track` with a `$group` property. +Segment sends Group calls to PostHog as a `$groupidentify` event. This creates or updates a group with the group type `segment_group` in PostHog. To create or update a group with a different group type, call `track` with a `$group` property. ```js analytics.track('user_signed_up', { From 76d870812d74541ffb2ddcfb60e25fc71aaf26de Mon Sep 17 00:00:00 2001 From: stayseesong <83784848+stayseesong@users.noreply.github.com> Date: Tue, 27 Aug 2024 09:53:29 -0700 Subject: [PATCH 12/20] Apply suggestions from code review --- src/connections/destinations/catalog/mailchimp/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/destinations/catalog/mailchimp/index.md b/src/connections/destinations/catalog/mailchimp/index.md index 50de3586a7..ab195bf643 100644 --- a/src/connections/destinations/catalog/mailchimp/index.md +++ b/src/connections/destinations/catalog/mailchimp/index.md @@ -133,8 +133,8 @@ Again, this will **NOT** work for new users. New users will always have their su ### Why are my calls with trait arrays not showing up in Mailchimp? Mailchimp doesn't support arrays as traits values. This can cause calls to not show up. -### Frequent 404 Bad Requests from Identify events without error message? -If you are sending concurrent requests for the same userId, MailChimp will block the events due to how MailChimp restricts each API key to a maximum of 10 concurrent requests. +### Why are there frequent 404 Bad Requests from Identify events without an error message? +If you send concurrent requests for the same userId, MailChimp blocks the events because MailChimp restricts each API key to a maximum of 10 concurrent requests. ## Engage From 00999d7f1bea0448d1b6a169bfb9ede20a4d1e06 Mon Sep 17 00:00:00 2001 From: pwseg <86626706+pwseg@users.noreply.github.com> Date: Tue, 27 Aug 2024 12:02:03 -0500 Subject: [PATCH 13/20] Update src/unify/salesforce-unify.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- src/unify/salesforce-unify.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/unify/salesforce-unify.md b/src/unify/salesforce-unify.md index d21b4dfc58..eb7fca7bab 100644 --- a/src/unify/salesforce-unify.md +++ b/src/unify/salesforce-unify.md @@ -12,7 +12,7 @@ Once configured, this integration lets you send Salesforce data directly to Segm Before you begin, make sure that you have the following: - a Segment workspace with [Unify](/docs/unify/) enabled and [Identity Resolution](/docs/unify/identity-resolution/) set up -- administrator access to your Salesforce account +- Administrator access to your Salesforce account - Salesforce Unify Direct Integration enabled for your workspace. [Contact Segment](https://segment.com/help/contact/){:target="_blank"} if you don't yet have the integration enabled. ## Integration steps From d4b907c217b9803d036ae55cf0ed98a44633c36c Mon Sep 17 00:00:00 2001 From: pwseg <86626706+pwseg@users.noreply.github.com> Date: Tue, 27 Aug 2024 12:02:15 -0500 Subject: [PATCH 14/20] Update src/unify/salesforce-unify.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- src/unify/salesforce-unify.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/unify/salesforce-unify.md b/src/unify/salesforce-unify.md index eb7fca7bab..53719b5f68 100644 --- a/src/unify/salesforce-unify.md +++ b/src/unify/salesforce-unify.md @@ -51,8 +51,7 @@ Next, add a Segment Profiles destination: 2. Segment returns you to the Segment Profiles Destination. Click **Add mapping**. 2. Select your data model and map your selected Salesforce data to fields in Segment Profiles (typically "Identify" for profile updates). - Select the Profile space you want to update. - - Map Salesforce fields to Segment Profile fields. - - **You must map either a User ID or Anonymous ID field.** + - Map Salesforce fields to Segment Profile fields. **You must map either a User ID or Anonymous ID field.** 4. Test your mapping with real data from Salesforce. 5. Save your mapping configuration. From 96e7ffaa423fef8a1c30b256be4568c53bfa5891 Mon Sep 17 00:00:00 2001 From: pwseg <86626706+pwseg@users.noreply.github.com> Date: Tue, 27 Aug 2024 12:02:28 -0500 Subject: [PATCH 15/20] Update src/unify/salesforce-unify.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- src/unify/salesforce-unify.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/unify/salesforce-unify.md b/src/unify/salesforce-unify.md index 53719b5f68..b4f289fc6d 100644 --- a/src/unify/salesforce-unify.md +++ b/src/unify/salesforce-unify.md @@ -69,7 +69,7 @@ Data now begins syncing between Salesforce and Segment. ## Data synchronization -After you've connected Salesforce and the Segment Profiles destination, the integration begin syncing data based on the following: +After you've connected Salesforce and the Segment Profiles destination, the integration begins syncing data: - New or updated records in Salesforce get sent to Segment Profiles based on your mapping configuration. - The initial sync includes historical data within the range specified in your Selective Sync settings. From 696676a21281330ac2d885ce789c83032ac73a55 Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 27 Aug 2024 12:04:56 -0500 Subject: [PATCH 16/20] clarify best practices --- src/unify/salesforce-unify.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/unify/salesforce-unify.md b/src/unify/salesforce-unify.md index b4f289fc6d..341171a8f5 100644 --- a/src/unify/salesforce-unify.md +++ b/src/unify/salesforce-unify.md @@ -81,6 +81,6 @@ Keep the following in mind as you work with the Salesforce Unify Direct Integrat - Start with a subset of data to test your integration before expanding to all Salesforce objects. - Regularly review your mapping to ensure it reflects any changes in your Salesforce schema or Segment Profile needs. -- Monitor your integration for any errors or data discrepancies. +- Monitor both your Salesforce source and Segment Profiles destination for errors and data discrepancies. The Salesforce Unify Direct Integration supports mapping from a single Salesforce collection per data model. For complex use cases requiring data from multiple collections, you may need to create multiple data models and mappings. \ No newline at end of file From 8735079021a525f93593ad35f4fe984ec4053cc7 Mon Sep 17 00:00:00 2001 From: pwseg <86626706+pwseg@users.noreply.github.com> Date: Tue, 27 Aug 2024 12:08:49 -0500 Subject: [PATCH 17/20] some cleanup --- src/unify/faqs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/unify/faqs.md b/src/unify/faqs.md index d37728cf82..251af20490 100644 --- a/src/unify/faqs.md +++ b/src/unify/faqs.md @@ -58,4 +58,4 @@ No. Alternatively, you may delete the entire user profile from Segment using a [ Segment determines the Monthly Tracked Users (MTUs) count by the number of unique user IDs and anonymous IDs processed, regardless of how you manage these profiles in Unify and Engage. This count is taken as events are sent to Segment, before they reach Unify and Engage. Therefore, the creation of new profiles or the merging of profiles in Unify doesn't affect the MTU count. The MTU count only increases when you send new unique user or anonymous IDs to Segment. ### What is the event lookback period on the Profile Explorer? -The [Profile Explorer](/docs/unify/#profile-explorer) retains event details for a period of up to 2 weeks. For accessing event information beyond this timeframe, it is recommended to use [Profiles Sync](/docs/unify/profiles-sync/overview/) for comprehensive event analysis and retention. +The [Profile Explorer](/docs/unify/#profile-explorer) retains event details for a period of up to 2 weeks. If you need event information beyond this timeframe, Segment recommends using [Profiles Sync](/docs/unify/profiles-sync/overview/) for comprehensive event analysis and retention. From 5daf69b59ac4d2c928a2a9cc434b2d3be9241a64 Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 27 Aug 2024 12:26:50 -0500 Subject: [PATCH 18/20] fix SQL syntax highlighting --- .../data-graph/setup-guides/databricks-setup.md | 15 +++++++-------- .../data-graph/setup-guides/snowflake-setup.md | 11 +++++------ 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/unify/data-graph/setup-guides/databricks-setup.md b/src/unify/data-graph/setup-guides/databricks-setup.md index 9a899774da..3445abfd35 100644 --- a/src/unify/data-graph/setup-guides/databricks-setup.md +++ b/src/unify/data-graph/setup-guides/databricks-setup.md @@ -43,7 +43,7 @@ If you already have a Service Principal user you'd like to use, grant it "Can us > Segment recommends creating a new database for the Data Graph. > If you choose to use an existing database that has also been used for [Segment Reverse ETL](/docs/connections/reverse-etl/), you must follow the [additional instructions](#update-user-access-for-segment-reverse-etl-catalog) to update user access for the Segment Reverse ETL catalog. -```SQL +```sql CREATE CATALOG IF NOT EXISTS `SEGMENT_LINKED_PROFILES_DB`; -- Copy the saved Client ID from previously generated secret GRANT USAGE ON CATALOG `SEGMENT_LINKED_PROFILES_DB` TO `${client_id}`; @@ -55,14 +55,14 @@ GRANT SELECT ON CATALOG `SEGMENT_LINKED_PROFILES_DB` TO `${client_id}`; Run the following SQL to grant the Data Graph read-only access to the Profiles Sync catalog: -```SQL +```sql GRANT USAGE, SELECT, USE SCHEMA ON CATALOG `${profiles_sync_catalog}` TO `${client_id}`; ``` ## Step 4: Grant read-only access to additional catalogs for the Data Graph Run the following SQL to grant your Service Principal user read-only access to any additional catalogs you want to use for the Data Graph. -```SQL +```sql -- ********** REPEAT THIS COMMAND FOR EACH CATALOG YOU WANT TO USE FOR THE DATA GRAPH ********** GRANT USAGE, SELECT, USE SCHEMA ON CATALOG `${catalog}` TO `${client_id}`; ``` @@ -73,18 +73,17 @@ GRANT USAGE, SELECT, USE SCHEMA ON CATALOG `${catalog}` TO `${client_id}`; Restrict access to specific schemas by running the following SQL: -```SQL +```sql GRANT USAGE ON CATALOG `${catalog}` TO `${client_id}`; USE CATALOG `${catalog}`; GRANT USAGE, SELECT ON SCHEMA `${schema_1}` TO `${client_id}`; GRANT USAGE, SELECT ON SCHEMA `${schema_2}` TO `${client_id}`; ... - ``` ### Restrict read-only access to tables Restrict access to specific tables by running the following SQL: -```SQL +```sql GRANT USAGE ON CATALOG `${catalog}` TO `${client_id}`; USE CATALOG `${catalog}`; GRANT USAGE ON SCHEMA `${schema_1}` TO `${client_id}`; @@ -102,7 +101,7 @@ Sign in to the [Databricks CLI with your Client ID secret](https://docs.databric > success "" > If this command succeeds, you can view the table. -```SQL +```sql USE DATABASE ${linked_read_only_database} ; SHOW SCHEMAS; SELECT * FROM ${schema}.${table} LIMIT 10; @@ -128,6 +127,6 @@ To connect your warehouse to the Data Graph: ## Update user access for Segment Reverse ETL catalog If Segment Reverse ETL has ever run in the catalog you are configuring as the Segment connection catalog, a Segment-managed schema is already created and you need to provide the new Segment user access to the existing catalog. Run the following SQL if you run into an error on the Segment app indicating that the user doesn’t have sufficient privileges on an existing `_segment_reverse_etl` catalog. -```SQL +```sql GRANT ALL PRIVILEGES ON SCHEMA ${segment_internal_catalog}.__segment_reverse_etl TO `${client_id}`; ``` diff --git a/src/unify/data-graph/setup-guides/snowflake-setup.md b/src/unify/data-graph/setup-guides/snowflake-setup.md index e458744f88..faadc78e8a 100644 --- a/src/unify/data-graph/setup-guides/snowflake-setup.md +++ b/src/unify/data-graph/setup-guides/snowflake-setup.md @@ -26,7 +26,7 @@ Segment recommends setting up a new Snowflake user and only giving this user per > If you choose to use an existing database that has also been used for [Segment Reverse ETL](/docs/connections/reverse-etl/), you must follow the [additional instructions](#update-user-access-for-segment-reverse-etl-schema)to update user access for the Segment Reverse ETL schema. -```SQL +```sql -- ********** SET UP THE FOLLOWING WAREHOUSE PERMISSIONS ********** -- Update the following variables @@ -82,7 +82,7 @@ GRANT CREATE SCHEMA ON DATABASE identifier($segment_connection_db) TO ROLE iden Next, give the Segment role **read-only** access to additional databases you want to use for Data Graph including the Profiles Sync database. Repeat the following SQL query for **each** database you want to use for the Data Graph. -``` SQL +```sql SET segment_connection_role = 'SEGMENT_LINKED_ROLE'; @@ -107,7 +107,7 @@ GRANT SELECT ON FUTURE MATERIALIZED VIEWS IN DATABASE identifier($linked_read_on If you want to restrict access to specific [Snowflake schemas and tables](https://docs.snowflake.com/en/user-guide/security-access-control-privileges#table-privileges){:target="_blank"}, then run the following commands: -```SQL +```sql -- [Optional] Further restrict access to only specific schemas and tables SET db = 'MY_DB'; SET schema = 'MY_DB.MY_SCHEMA_NAME'; @@ -131,7 +131,7 @@ GRANT SELECT ON FUTURE MATERIALIZED VIEWS IN SCHEMA identifier($linked_read_only To verify you have set up the right permissions for a specific table, log in with the username and password you created for `SEGMENT_CONNECTION_USERNAME` and run the following command to verify the role you created has the correct permissions. If this command succeeds, you should be able to view the respective table. -``` SQL +```sql set segment_connection_role = 'SEGMENT_LINKED_ROLE'; set linked_read_only_database = 'YOUR_DB'; set table_name = 'YOUR_DB.SCHEMA.TABLE'; @@ -163,12 +163,11 @@ To connect your warehouse to the Data Graph: ## Update user acccess for Segment Reverse ETL schema If Segment Reverse ETL has ever run in the database you are configuring as the Segment connection database, a Segment-managed schema is already created and you need to provide the new Segment user access to the existing schema. Run the following SQL if you run into an error on the Segment app indicating that the user doesn't have sufficient privileges on an existing `_segment_reverse_etl` schema. -``` SQL +```sql -- If you want to use an existing database that already has Segment Reverse ETL schemas, you’ll need to run some additional steps below to grant the role access to the existing schemas. SET retl_schema = concat($segment_connection_db,'.__segment_reverse_etl'); GRANT USAGE ON SCHEMA identifier($retl_schema) TO ROLE identifier($segment_connection_role); GRANT CREATE TABLE ON SCHEMA identifier($retl_schema) TO ROLE identifier($segment_connection_role); GRANT SELECT,INSERT,UPDATE,DELETE ON ALL TABLES IN SCHEMA identifier($retl_schema) TO ROLE identifier($segment_connection_role); - ``` \ No newline at end of file From 75c180fb3f78792384bbc5d5de57856d4e351ba1 Mon Sep 17 00:00:00 2001 From: stayseesong <83784848+stayseesong@users.noreply.github.com> Date: Tue, 27 Aug 2024 10:29:54 -0700 Subject: [PATCH 19/20] Apply suggestions from code review --- src/connections/destinations/catalog/webhooks/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/destinations/catalog/webhooks/index.md b/src/connections/destinations/catalog/webhooks/index.md index 456190fa21..f02d690277 100644 --- a/src/connections/destinations/catalog/webhooks/index.md +++ b/src/connections/destinations/catalog/webhooks/index.md @@ -217,9 +217,9 @@ if (signature === digest) { } ``` -For Batch events, the process to authenticate these requests slightly differs as it involves verifying the X-Signature header against a hash of the **first event** in the batch. +For Batch events, the process to authenticate these requests slightly differs as it involves verifying the X-Signature header against a hash of the *first event* in the batch. -An example of how one might authenticate batch requests would be: +An example of how you might authenticate batch requests would be: ```javascript const signature = req.headers['x-signature']; From 8a5f03e028b5ae388612aa7ad34519633a5784bf Mon Sep 17 00:00:00 2001 From: stayseesong Date: Tue, 27 Aug 2024 10:35:40 -0700 Subject: [PATCH 20/20] make catalog --- src/_data/catalog/destination_categories.yml | 2 +- src/_data/catalog/destinations.yml | 960 +++++++++++-------- src/_data/catalog/destinations_private.yml | 2 +- src/_data/catalog/source_categories.yml | 2 +- src/_data/catalog/sources.yml | 2 +- 5 files changed, 569 insertions(+), 399 deletions(-) diff --git a/src/_data/catalog/destination_categories.yml b/src/_data/catalog/destination_categories.yml index 417fd8fed6..38560f57a9 100644 --- a/src/_data/catalog/destination_categories.yml +++ b/src/_data/catalog/destination_categories.yml @@ -1,5 +1,5 @@ # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT -# destination categories last updated 2024-08-22 +# destination categories last updated 2024-08-27 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 5d918c8088..f907790525 100644 --- a/src/_data/catalog/destinations.yml +++ b/src/_data/catalog/destinations.yml @@ -1,5 +1,5 @@ # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT -# destination data last updated 2024-08-22 +# destination data last updated 2024-08-27 items: - id: 637e8d185e2dec264895ea89 display_name: 1Flow @@ -21731,7 +21731,7 @@ items: hidden: false defaultTrigger: type = "identify" fields: - - id: rRqYDjduqBzuFRsQwtGfsK + - id: gWMtCPKhYpHNKJ7wmLEZaK sortOrder: 0 fieldKey: external_id label: External User ID @@ -21745,7 +21745,7 @@ items: choices: null dynamic: false allowNull: false - - id: 4usSnQDexcG2GYvdkdGnaM + - id: bbSq3bctftu6GWY3mfmU2r sortOrder: 1 fieldKey: user_alias label: User Alias Object @@ -21759,7 +21759,7 @@ items: choices: null dynamic: false allowNull: false - - id: bdCvmPLShapL8rD2meAbWw + - id: r6U2iEEn27fhpM7ngYmrkz sortOrder: 2 fieldKey: braze_id label: Braze User Identifier @@ -21773,7 +21773,7 @@ items: choices: null dynamic: false allowNull: true - - id: kLj1HpmaY7bVbywczJcyXK + - id: obUiaKkQQn86g5mdtQniPn sortOrder: 3 fieldKey: country label: Country @@ -21787,7 +21787,7 @@ items: choices: null dynamic: false allowNull: true - - id: 7UZz4wqFZcNj1BB3PNhQxi + - id: gUWycRqZ1JtDPrh3dggPFQ sortOrder: 4 fieldKey: current_location label: Current Location @@ -21804,7 +21804,7 @@ items: choices: null dynamic: false allowNull: true - - id: nWiQsy194WXWtod5xgTYQC + - id: wfYWnjYvQCsrtxssNZHzcN sortOrder: 5 fieldKey: date_of_first_session label: Date of First Session @@ -21816,7 +21816,7 @@ items: choices: null dynamic: false allowNull: true - - id: wJXhojws4JQVCEyMHJ33HZ + - id: q2i93JgYZotT8h1ZPDmjsP sortOrder: 6 fieldKey: date_of_last_session label: Date of Last Session @@ -21828,7 +21828,7 @@ items: choices: null dynamic: false allowNull: true - - id: eTDRVZZyZ6ZJfzBqccb32P + - id: Y4bNqN3e8vDoJcYW1eQkt sortOrder: 7 fieldKey: dob label: Date of Birth @@ -21840,7 +21840,7 @@ items: choices: null dynamic: false allowNull: true - - id: 7PvqBc7fDSJ67bCv6yjqfu + - id: ei96vhiyv3H58PnpVQKEfL sortOrder: 8 fieldKey: email label: Email @@ -21854,7 +21854,7 @@ items: choices: null dynamic: false allowNull: true - - id: g7k7ooMe3mwSuQx86Lbdf3 + - id: 8G8NbyDJ5LswGkrXVTZYgE sortOrder: 9 fieldKey: email_subscribe label: Email Subscribe @@ -21869,7 +21869,7 @@ items: choices: null dynamic: false allowNull: false - - id: wiwE6hKWo7j86FwYMtke99 + - id: 3EvkDQzEKHqdLHFM3G5u7s sortOrder: 10 fieldKey: email_open_tracking_disabled label: Email Open Tracking Disabled @@ -21883,7 +21883,7 @@ items: choices: null dynamic: false allowNull: false - - id: devCEjvYD52xtsyMLkDn5G + - id: v4oV9P7We4smsxwzbwHGBr sortOrder: 11 fieldKey: email_click_tracking_disabled label: Email Click Tracking Disabled @@ -21897,7 +21897,7 @@ items: choices: null dynamic: false allowNull: false - - id: ojcBSpPbvnBQauMsgq9aZe + - id: 2MNkda9rLBLjFSeo2KXFYC sortOrder: 12 fieldKey: facebook label: Facebook Attribution Data @@ -21911,7 +21911,7 @@ items: choices: null dynamic: false allowNull: false - - id: 5XCQAw3qkRedQMQTpp82Jj + - id: 5g6NuZN8AkX5c3rhtKn22F sortOrder: 13 fieldKey: first_name label: First Name @@ -21925,7 +21925,7 @@ items: choices: null dynamic: false allowNull: true - - id: oYhNtYQFriMiQdUuqcqSnE + - id: fnPhQXde1UpLcvr8fSKpn6 sortOrder: 14 fieldKey: gender label: Gender @@ -21941,7 +21941,7 @@ items: choices: null dynamic: false allowNull: true - - id: pMnjwKAVi1HA8SsBwE9fHm + - id: cV4KkBQ1bGLfaoNQaXJUwn sortOrder: 15 fieldKey: home_city label: Home City @@ -21955,7 +21955,7 @@ items: choices: null dynamic: false allowNull: true - - id: boCScwXd4zT11LsmBrQBMM + - id: 5nVWv1MPWfEA9s3j8UsL2c sortOrder: 16 fieldKey: image_url label: Image URL @@ -21969,7 +21969,7 @@ items: choices: null dynamic: false allowNull: true - - id: tGMKXFVggkrHNic4kKFor4 + - id: dQpQDs3vrfV8DofBqgQfLX sortOrder: 17 fieldKey: language label: Language @@ -21981,7 +21981,7 @@ items: choices: null dynamic: false allowNull: true - - id: ij7H2MsiahGcwU3Vp2dsN7 + - id: 56RfxX2XuGMrZPLHKoGZ4e sortOrder: 18 fieldKey: last_name label: Last Name @@ -21995,7 +21995,7 @@ items: choices: null dynamic: false allowNull: false - - id: rDPSFGnL1qq2VVQpEWUTq + - id: p6RpzcSiBBicUE3KXFUouY sortOrder: 19 fieldKey: marked_email_as_spam_at label: Marked Email as Spam At @@ -22007,7 +22007,7 @@ items: choices: null dynamic: false allowNull: true - - id: 6FyFek2fx1CmJfSdNKF7EP + - id: b67f8epgxQpMPr5o9wE1DL sortOrder: 20 fieldKey: phone label: Phone Number @@ -22021,7 +22021,7 @@ items: choices: null dynamic: false allowNull: true - - id: mVaqUoX6aC9zCKKGD9Ho1e + - id: dD9u5hadnL7ELQq5vPAFHD sortOrder: 21 fieldKey: push_subscribe label: Push Subscribe @@ -22036,7 +22036,7 @@ items: choices: null dynamic: false allowNull: false - - id: fYjqoTeG2MgKrewJvSrNtZ + - id: 97cEbQWxeUTsQ9GqbvCg8e sortOrder: 22 fieldKey: push_tokens label: Push Tokens @@ -22053,7 +22053,7 @@ items: choices: null dynamic: false allowNull: false - - id: qMyARHMVeRxkLoZQstzy6G + - id: usT8yd63GijUWBF2enb5gc sortOrder: 23 fieldKey: time_zone label: Time zone @@ -22068,7 +22068,7 @@ items: choices: null dynamic: false allowNull: false - - id: 6nKmYtwuwXwh49HHEpSCwd + - id: x7UPcubwZ6xVTCs2DBJCwc sortOrder: 24 fieldKey: twitter label: Twitter Attribution Data @@ -22083,7 +22083,7 @@ items: choices: null dynamic: false allowNull: false - - id: sURGGekV6NMnvScTv3naov + - id: jscpiTqc6Lr58dmsUzySjJ sortOrder: 25 fieldKey: custom_attributes label: Custom Attributes @@ -22097,7 +22097,7 @@ items: choices: null dynamic: false allowNull: false - - id: xiN8n57hqzgSwUXGLcLRcN + - id: txy4Rp4GsWJ5rFDime2XaN sortOrder: 26 fieldKey: _update_existing_only label: Update Existing Only @@ -22112,7 +22112,7 @@ items: choices: null dynamic: false allowNull: false - - id: e2JNRq4Ya3NCfAVe17nPFF + - id: nHLUzQSTkwU4vZq9Q4Jo5q sortOrder: 27 fieldKey: enable_batching label: Batch Data to Braze @@ -22135,7 +22135,7 @@ items: hidden: false defaultTrigger: type = "track" and event != "Order Completed" fields: - - id: 6PaXNXHJ4GYEumQZ8XPrwa + - id: QGnVX7kx7Nfp5LFaFwwv9 sortOrder: 0 fieldKey: external_id label: External User ID @@ -22149,7 +22149,7 @@ items: choices: null dynamic: false allowNull: false - - id: wP6pdJkSEJsKoyy9r5Cuua + - id: pt2WddyycYYjo5tE681ocu sortOrder: 1 fieldKey: user_alias label: User Alias Object @@ -22163,7 +22163,7 @@ items: choices: null dynamic: false allowNull: false - - id: 3tjkyt1Uxomc28W5AVuSaU + - id: jsdzB5TpfKhGSsq9LqqqVz sortOrder: 2 fieldKey: email label: Email @@ -22177,7 +22177,7 @@ items: choices: null dynamic: false allowNull: false - - id: rbi6rXbwZh1a4wUknPuJWW + - id: tRtLCsrfSrwAjAVvyxnk2S sortOrder: 3 fieldKey: braze_id label: Braze User Identifier @@ -22191,7 +22191,7 @@ items: choices: null dynamic: false allowNull: true - - id: fdJGZu978yjoXDSNAy9ytw + - id: 2arzyfMQtVWTRMSDJviVyy sortOrder: 4 fieldKey: name label: Event Name @@ -22205,7 +22205,7 @@ items: choices: null dynamic: false allowNull: false - - id: qAumTiBnY79xipPEXEz5v1 + - id: e23vNx95rokPN3jCt847tv sortOrder: 5 fieldKey: time label: Time @@ -22219,7 +22219,7 @@ items: choices: null dynamic: false allowNull: false - - id: cmUS2rZsGAnM35F2wKgxBz + - id: 4M3kZ3KcFZWY2Ne9x3yoVJ sortOrder: 6 fieldKey: properties label: Event Properties @@ -22233,7 +22233,7 @@ items: choices: null dynamic: false allowNull: false - - id: q86kaWgx5QJX43SW7Wp97U + - id: vq8Yf8P2yqAY1Nit1AhJEb sortOrder: 7 fieldKey: _update_existing_only label: Update Existing Only @@ -22248,7 +22248,7 @@ items: choices: null dynamic: false allowNull: false - - id: q3LYB6nm9B5euNnpRmey1r + - id: QP24JeQgDprDXU9GphnmJ sortOrder: 8 fieldKey: enable_batching label: Batch Data to Braze @@ -22271,7 +22271,7 @@ items: hidden: false defaultTrigger: event = "Order Completed" fields: - - id: 6XCCY43QFd1dnXDNvfg9QU + - id: aFWYUFQYuiyZfuhZPKjNrd sortOrder: 0 fieldKey: external_id label: External User ID @@ -22285,7 +22285,7 @@ items: choices: null dynamic: false allowNull: false - - id: vfV5FFjkZ3GCF2ZUAJm8gF + - id: 8FTrjR5mp372hyLhhhUHsu sortOrder: 1 fieldKey: user_alias label: User Alias Object @@ -22299,7 +22299,7 @@ items: choices: null dynamic: false allowNull: false - - id: ev7nYxX1G7BwiJYaXczu7 + - id: igcQTZXq7sakXHbQ8NqHXA sortOrder: 2 fieldKey: email label: Email @@ -22313,7 +22313,7 @@ items: choices: null dynamic: false allowNull: false - - id: optXMtCKoKzMPePrTMTErD + - id: 6qgSP8rBtMo26Y84Y5LoDx sortOrder: 3 fieldKey: braze_id label: Braze User Identifier @@ -22327,7 +22327,7 @@ items: choices: null dynamic: false allowNull: true - - id: 3u3MP9EdF2fVN6fszNNc2P + - id: 5FUN94gAo5y5Z7xxZTKHu2 sortOrder: 4 fieldKey: time label: Time @@ -22341,7 +22341,7 @@ items: choices: null dynamic: false allowNull: false - - id: dutvCnev2CBk3scgNpQUXy + - id: 9aU9uoTFaqZ5rCUN57nxJW sortOrder: 5 fieldKey: products label: Products @@ -22355,7 +22355,7 @@ items: choices: null dynamic: false allowNull: false - - id: WQwcZT4oZLSZkjq7V7xDu + - id: 3MWvbUUnYXcY7CnZPtGZTT sortOrder: 6 fieldKey: properties label: Event Properties @@ -22369,7 +22369,7 @@ items: choices: null dynamic: false allowNull: false - - id: tYzinmWsFpL4fnyi7FNogq + - id: 8AvoVcGkGkC2KyH73SB8Uj sortOrder: 7 fieldKey: _update_existing_only label: Update Existing Only @@ -22384,7 +22384,7 @@ items: choices: null dynamic: false allowNull: false - - id: rkURiNwJHoLExnva9FhMb3 + - id: cRMhAwAMTvNP7KhSwEpBZy sortOrder: 8 fieldKey: enable_batching label: Batch Data to Braze @@ -22421,7 +22421,7 @@ items: hidden: false defaultTrigger: null fields: - - id: bAMQUZ2CRsa9Uz8kEC2Z32 + - id: ruxjvBv6sWC9MDRhdSc3U5 sortOrder: 0 fieldKey: external_id label: External ID @@ -22433,7 +22433,7 @@ items: choices: null dynamic: false allowNull: false - - id: 2V5S6ArhTS3ts69pGVbwd2 + - id: sHNBiHcBNYo3eFohDgefXE sortOrder: 1 fieldKey: user_alias label: User Alias Object @@ -22447,7 +22447,7 @@ items: choices: null dynamic: false allowNull: false - - id: oK2k4eS3dnDkQqqek1s6jk + - id: dtgLMEDREznCWRAopqFSRj sortOrder: 2 fieldKey: merge_behavior label: Merge Behavior @@ -22476,7 +22476,7 @@ items: hidden: false defaultTrigger: event = "Create Alias" fields: - - id: 5k1c2PnQJRqv1dLxdT4boD + - id: 5k2aGQuSGhu5YLBhcjLJBY sortOrder: 0 fieldKey: external_id label: External ID @@ -22488,7 +22488,7 @@ items: choices: null dynamic: false allowNull: true - - id: 8yYxvrVvZVKvzUPZK1i33i + - id: fAcRv5C6rQfKsnHq6jDkDK sortOrder: 1 fieldKey: alias_name label: Alias Name @@ -22500,7 +22500,7 @@ items: choices: null dynamic: false allowNull: false - - id: hxXcBFuXgFdUVMYjtimheK + - id: v1d3XbsEoF5xpaE8Y3s6Uz sortOrder: 2 fieldKey: alias_label label: Alias Label @@ -22513,42 +22513,6 @@ items: dynamic: false allowNull: false presets: - - actionId: vE7Gf9yobj2gTuMBhwmg7g - name: Order Completed Calls - fields: - external_id: - '@path': $.userId - email: - '@path': $.traits.email - braze_id: - '@path': $.properties.braze_id - time: - '@path': $.receivedAt - products: - '@path': $.properties.products - properties: - '@path': $.properties - _update_existing_only: false - enable_batching: true - trigger: event = "Order Completed" - - actionId: 3pnc4QJvUjWGi2bp6EnDt - name: Track Calls - fields: - external_id: - '@path': $.userId - email: - '@path': $.traits.email - braze_id: - '@path': $.properties.braze_id - name: - '@path': $.event - time: - '@path': $.receivedAt - properties: - '@path': $.properties - _update_existing_only: false - enable_batching: true - trigger: type = "track" and event != "Order Completed" - actionId: 2P24zUSAL8BUpyGYNGmD7M name: Identify Calls fields: @@ -22581,7 +22545,46 @@ items: '@path': $.traits _update_existing_only: false enable_batching: true + batch_size: 75 trigger: type = "identify" + - actionId: 3pnc4QJvUjWGi2bp6EnDt + name: Track Calls + fields: + external_id: + '@path': $.userId + email: + '@path': $.traits.email + braze_id: + '@path': $.properties.braze_id + name: + '@path': $.event + time: + '@path': $.receivedAt + properties: + '@path': $.properties + _update_existing_only: false + enable_batching: true + batch_size: 75 + trigger: type = "track" and event != "Order Completed" + - actionId: vE7Gf9yobj2gTuMBhwmg7g + name: Order Completed Calls + fields: + external_id: + '@path': $.userId + email: + '@path': $.traits.email + braze_id: + '@path': $.properties.braze_id + time: + '@path': $.receivedAt + products: + '@path': $.properties.products + properties: + '@path': $.properties + _update_existing_only: false + enable_batching: true + batch_size: 75 + trigger: event = "Order Completed" partnerOwned: false - id: 63872c01c0c112b9b4d75412 display_name: Braze Cohorts @@ -22883,7 +22886,7 @@ items: label: Only Track Known Users - name: devicePropertyAllowlist type: array - defaultValue: [] + defaultValue: '' description: >- By default, the Braze SDK automatically detects and collects all device properties in DeviceProperties. To override this behavior, provide an @@ -23017,7 +23020,7 @@ items: label: Safari Website Push ID - name: sdkVersion type: select - defaultValue: '4.8' + defaultValue: '4.10' description: The version of the Braze SDK to use required: true label: SDK Version @@ -23067,7 +23070,7 @@ items: hidden: false defaultTrigger: type = "track" and event != "Order Completed" fields: - - id: fE93RdpotLNPDuWBjKHziK + - id: 6Q1QaSvy8Uwaj1FXX1nQim sortOrder: 0 fieldKey: eventName label: Event Name @@ -23081,7 +23084,7 @@ items: choices: null dynamic: false allowNull: false - - id: bx13iyCaRjdzMzXpGXPQhn + - id: rCF4hvZL1FfBLZqypECaYN sortOrder: 1 fieldKey: eventProperties label: Event Properties @@ -23103,7 +23106,7 @@ items: hidden: false defaultTrigger: type = "identify" or type = "group" fields: - - id: eAWP8io8iitVb7LeFuTCMT + - id: h7m1HSpMDMMkrwyQ4Y2pwH sortOrder: 0 fieldKey: external_id label: External User ID @@ -23117,7 +23120,7 @@ items: choices: null dynamic: false allowNull: false - - id: tbbwsdKtT9qBCNot3jn66W + - id: eeCv1kJYS3BMG3PV6m49tM sortOrder: 1 fieldKey: country label: Country @@ -23131,7 +23134,7 @@ items: choices: null dynamic: false allowNull: true - - id: 9CvTaRLNqcHXjwCkaWvLn4 + - id: maHTDJD6jjaPyGeqAeCAWB sortOrder: 2 fieldKey: current_location label: Current Location @@ -23143,7 +23146,7 @@ items: choices: null dynamic: false allowNull: true - - id: u69mgqCiMZtBgspBAt4sSG + - id: qxtRJD9EezUBUpoCrs9T1d sortOrder: 3 fieldKey: custom_attributes label: Custom Attributes @@ -23159,7 +23162,7 @@ items: choices: null dynamic: false allowNull: false - - id: 586icM78fMNCoFDteoT8B4 + - id: 4ZEyKQrLYop2FmwrhyozB3 sortOrder: 4 fieldKey: dob label: Date of Birth @@ -23171,7 +23174,7 @@ items: choices: null dynamic: false allowNull: true - - id: g2eQ8ksqDABUXLYT8v3PNf + - id: ns3C16DRH3Jfjdyw29e9jc sortOrder: 5 fieldKey: email label: Email @@ -23185,7 +23188,7 @@ items: choices: null dynamic: false allowNull: true - - id: hNZtk2rSvAQz7WAp9d9UQ7 + - id: wbPyLK2tqmGHmtYUQFP8SX sortOrder: 6 fieldKey: email_subscribe label: Email Subscribe @@ -23200,7 +23203,7 @@ items: choices: null dynamic: false allowNull: false - - id: hUC3oZTJwDDFoGu3wJcazX + - id: wPfiYFTdjsWg7FrNhSTzgA sortOrder: 7 fieldKey: first_name label: First Name @@ -23214,7 +23217,7 @@ items: choices: null dynamic: false allowNull: true - - id: 3fbBVWoKg4JcZXfQZWy88s + - id: 6fshCvxdyQvM2Vj6thn5sm sortOrder: 8 fieldKey: last_name label: Last Name @@ -23228,7 +23231,7 @@ items: choices: null dynamic: false allowNull: false - - id: hXehhCVQhAMBEf8hs8u4to + - id: htenqgZoB34c7XTYBUxDE4 sortOrder: 9 fieldKey: gender label: Gender @@ -23244,7 +23247,7 @@ items: choices: null dynamic: false allowNull: true - - id: crcru6DofurdMSQ35pWeuz + - id: vUvwztZVwVTZ6mf6u7r2ia sortOrder: 10 fieldKey: home_city label: Home City @@ -23258,7 +23261,7 @@ items: choices: null dynamic: false allowNull: true - - id: tGn64H5XHKZXZJrUf3pjWi + - id: d8ogAxX7WgUUFXuHh7wcdR sortOrder: 11 fieldKey: image_url label: Image URL @@ -23272,7 +23275,7 @@ items: choices: null dynamic: false allowNull: false - - id: sy8W7LK9yn2kx46ebWC2Dp + - id: r8WtFganYGATKoW6Dxfc7C sortOrder: 12 fieldKey: language label: Language @@ -23284,7 +23287,7 @@ items: choices: null dynamic: false allowNull: true - - id: bhh3ff69gFFzCs9uCr9CU5 + - id: fEvwmPnSLsg7MSzEKnpLWY sortOrder: 13 fieldKey: phone label: Phone Number @@ -23298,7 +23301,7 @@ items: choices: null dynamic: false allowNull: true - - id: cnXLn456ADTWz9DwFZugKc + - id: bJEZPpwKnTzTmNrBCafDMr sortOrder: 14 fieldKey: push_subscribe label: Push Subscribe @@ -23313,7 +23316,7 @@ items: choices: null dynamic: false allowNull: false - - id: psWMGh3fN68Ct1NgSNWg8f + - id: qeprmWFJtkaC27aBhS5tt4 sortOrder: 15 fieldKey: subscription_groups label: Subscription Groups @@ -23338,7 +23341,7 @@ items: hidden: false defaultTrigger: type = "track" and event = "Order Completed" fields: - - id: odLdo2LSjwKv8Fv8nqj7Nh + - id: wxZJp2DL8VbeS7QXe8tqv9 sortOrder: 0 fieldKey: purchaseProperties label: Purchase Properties @@ -23358,7 +23361,7 @@ items: choices: null dynamic: false allowNull: false - - id: gnm3pMoGT5Fx2dmz1Gwb8p + - id: 8BkKtPyxuPNYzcWTcokXJc sortOrder: 1 fieldKey: products label: Products @@ -23381,14 +23384,6 @@ items: eventProperties: '@path': $.properties trigger: type = "track" and event != "Order Completed" - - actionId: uL67YU9rAsuT4cp4dNNmBu - name: Order Completed calls - fields: - purchaseProperties: - '@path': $.properties - products: - '@path': $.properties.products - trigger: type = "track" and event = "Order Completed" - actionId: rPtfyrqEKc5XbmdRZveg4S name: Identify Calls fields: @@ -23415,6 +23410,14 @@ items: subscription_groups: '@path': $.traits.braze_subscription_groups trigger: type = "identify" or type = "group" + - actionId: uL67YU9rAsuT4cp4dNNmBu + name: Order Completed calls + fields: + purchaseProperties: + '@path': $.properties + products: + '@path': $.properties.products + trigger: type = "track" and event = "Order Completed" partnerOwned: false - id: 6241e78214aad278a6322f52 display_name: Breyta CRM @@ -31249,6 +31252,131 @@ items: actions: [] presets: [] partnerOwned: false +- id: 64ede9fe67158afa8de61480 + display_name: Dynamic Yield by Mastercard Audiences + name: Dynamic Yield by Mastercard Audiences + slug: dynamic-yield-by-mastercard-audiences + hidden: false + endpoints: + - US + regions: + - us-west-2 + url: connections/destinations/catalog/dynamic-yield-by-mastercard-audiences + previous_names: + - Dynamic Yield Audiences + - Dynamic Yield by Mastercard Audiences + website: http://www.dynamicyield.com + status: PUBLIC_BETA + categories: + - Personalization + - A/B Testing + logo: + url: https://cdn-devcenter.segment.com/700d7e06-53d2-492d-9943-b8b149160c18.svg + mark: + url: https://cdn-devcenter.segment.com/f9e2f376-ec29-42c8-9174-3cf4fc831f02.svg + methods: + track: true + identify: false + group: false + alias: false + screen: false + page: false + platforms: + browser: true + mobile: false + server: true + warehouse: false + cloudAppObject: false + 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: accessKey + type: password + defaultValue: '' + description: Description to be added + required: true + label: Access Key + - name: sectionId + type: string + defaultValue: '' + description: Dynamic Yield by Mastercard Section ID + required: true + label: Section ID + actions: + - id: ishRnZrXkmjJj7V8grPuJo + name: Sync Audience + slug: syncAudience + description: Sync Segment Engage Audiences to Dynamic Yield + platform: CLOUD + hidden: false + defaultTrigger: type = "identify" or type = "track" + fields: + - id: tL1WY7SQyBUevES2sXChKA + sortOrder: 2 + fieldKey: external_audience_id + label: External Audience ID + type: STRING + description: >- + Unique Audience Identifier returned by the createAudience() function + call. + placeholder: '' + defaultValue: + '@path': $.context.personas.external_audience_id + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + hidden: false + - id: 3mGaBhmQkNMZ65gEdi4zzK + sortOrder: 3 + fieldKey: segment_audience_key + label: Audience Key + type: STRING + description: Segment Audience key / name + placeholder: '' + defaultValue: + '@path': $.context.personas.computation_key + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + hidden: false + - id: 2tMXAo24SGbYFvkwn7hxq2 + sortOrder: 4 + fieldKey: traits_or_props + label: Traits or Properties + type: OBJECT + description: Traits or Properties object + placeholder: '' + defaultValue: + '@if': + exists: + '@path': $.traits + then: + '@path': $.traits + else: + '@path': $.properties + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + hidden: false + presets: [] + partnerOwned: true - id: 556df6680a20f4e22f0fb3a0 display_name: Elevio name: Elevio @@ -43719,7 +43847,7 @@ items: hidden: true defaultTrigger: null fields: - - id: 8z2RsWREZXQou8ZbFftLZE + - id: sRkK4UwP6is9MJtdyDbqq5 sortOrder: 0 fieldKey: conversion_label label: Conversion Label @@ -43736,7 +43864,7 @@ items: dynamic: false allowNull: false hidden: false - - id: fWnYhqW8nxKuP7cF5zQ4R + - id: f8NSxMqx9AhhXH5BZuotWU sortOrder: 1 fieldKey: email label: Email @@ -43757,7 +43885,7 @@ items: dynamic: false allowNull: false hidden: false - - id: tZ3JVK5baaV74hxSTT1nur + - id: cjpiKgkzHB1Z5Qiz4JQWt1 sortOrder: 2 fieldKey: transaction_id label: Order ID @@ -43776,7 +43904,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 338KAANsJwnSshG3UJzeiL + - id: qvJ2sFmEkAE7DXewrVCc3p sortOrder: 3 fieldKey: user_agent label: User Agent @@ -43796,7 +43924,7 @@ items: dynamic: false allowNull: false hidden: false - - id: nxpJVbiobTWV4qZJM1UXy4 + - id: eQAdzfHP5EEuompvuBoDsQ sortOrder: 4 fieldKey: conversion_time label: Conversion Time @@ -43811,7 +43939,7 @@ items: dynamic: false allowNull: false hidden: false - - id: nWmSmASsgrvaJYJi7fbf1T + - id: 7G8j5Epwq8WX272BDHRiUf sortOrder: 5 fieldKey: value label: Value @@ -43826,7 +43954,7 @@ items: dynamic: false allowNull: false hidden: false - - id: q3uovCQAZYNavo2s8DzUvg + - id: ioVVk8Abaf3WfJgumv7hZg sortOrder: 6 fieldKey: currency_code label: Currency Code @@ -43843,7 +43971,7 @@ items: dynamic: false allowNull: false hidden: false - - id: j4XT7YiZnUuH411NZbcmnx + - id: ws57yFJNeHVsJDY5cFMLLp sortOrder: 7 fieldKey: is_app_incrementality label: App Conversion for Incrementality Study @@ -43857,7 +43985,7 @@ items: dynamic: false allowNull: false hidden: false - - id: rx9QyQfqXMrNk3dS3mhhMu + - id: h3L2Gcbh66P3A3U4nWF8CP sortOrder: 8 fieldKey: pcc_game label: PCC Game Flag @@ -43873,7 +44001,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 3FWL222p91kJMqKDREER2c + - id: 8hjoH1jy9hfLuXEuk6gRLr sortOrder: 9 fieldKey: phone_number label: Phone Number @@ -43896,7 +44024,7 @@ items: dynamic: false allowNull: false hidden: false - - id: ijtPmSqh7CoBh7We1m6Ucz + - id: 81sdAJJ2DMjUMBTXCUjyo5 sortOrder: 10 fieldKey: first_name label: First Name @@ -43917,7 +44045,7 @@ items: dynamic: false allowNull: false hidden: false - - id: gXgBjZYNctYEjhRwpm6GR + - id: wd9gtYpNnegbjXdnebmoY2 sortOrder: 11 fieldKey: last_name label: Last Name @@ -43938,7 +44066,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 5sZpbqY4BFXjZ5XuzdX3TG + - id: i7RfBpa9QkNEn4B4hMTqir sortOrder: 12 fieldKey: street_address label: Street Address @@ -43959,7 +44087,7 @@ items: dynamic: false allowNull: false hidden: false - - id: pcazvP7RyfVo1h3P4icdah + - id: kE6yWNH4E1dNWyEzTU5hsD sortOrder: 13 fieldKey: city label: City @@ -43980,7 +44108,7 @@ items: dynamic: false allowNull: false hidden: false - - id: h2vpxX7bHLKdF35Qzv1joK + - id: uMGccUVu1WawwDC7VLG8Fa sortOrder: 14 fieldKey: region label: Region @@ -44001,7 +44129,7 @@ items: dynamic: false allowNull: false hidden: false - - id: bsaT7dvq4SEKNRbwLcvUnH + - id: rroQsxSZHUoeeRa6nqQvNM sortOrder: 15 fieldKey: post_code label: Postal Code @@ -44022,7 +44150,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 74TPVc7uZwS1XjhPofEXnL + - id: bwQmbVQUd5j2eZacCrMvFP sortOrder: 16 fieldKey: country label: Country @@ -44051,7 +44179,7 @@ items: hidden: false defaultTrigger: null fields: - - id: rh8oH11aF4m1TFq5ykWbyU + - id: rW9Q1mbG3pckiDTXbYsDxf sortOrder: 0 fieldKey: conversion_action label: Conversion Action ID @@ -44064,7 +44192,7 @@ items: dynamic: true allowNull: false hidden: false - - id: g228BEauaGMVdAfBmCLJYE + - id: htymeJftkjzwmae1phju5c sortOrder: 1 fieldKey: adjustment_type label: Adjustment Type @@ -44090,7 +44218,7 @@ items: dynamic: false allowNull: false hidden: false - - id: s1XHQemJ3XvMXUmhmUe8yJ + - id: dVJFg6NAoinkftBY76XyRR sortOrder: 2 fieldKey: adjustment_timestamp label: Adjustment Timestamp @@ -44109,7 +44237,7 @@ items: dynamic: false allowNull: false hidden: false - - id: pgJLuQgwHv8ugZc56ayFnX + - id: rZpkdNM66LcifwwbexpSYE sortOrder: 3 fieldKey: order_id label: Order ID @@ -44133,7 +44261,7 @@ items: dynamic: false allowNull: false hidden: false - - id: pko1iNz4NPPh4N74xHx7Zi + - id: 2N1VPqZo7kyYaJWq484U1y sortOrder: 4 fieldKey: gclid label: GCLID @@ -44148,7 +44276,7 @@ items: dynamic: false allowNull: false hidden: false - - id: vV5ivMpu6mkFA8cW4thDjn + - id: hebNPy9vDKpaLwMAKsnGp1 sortOrder: 5 fieldKey: conversion_timestamp label: Conversion Timestamp @@ -44165,7 +44293,7 @@ items: dynamic: false allowNull: false hidden: false - - id: toAWSj9RLWRtShHJofLp8o + - id: 6bfmPnMQvHBZeYizSzuhS4 sortOrder: 6 fieldKey: restatement_value label: Restatement Value @@ -44182,7 +44310,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 6gixhXaSaRbegiob3sFbn8 + - id: ntktzfyWR8RZmEYKf31rzM sortOrder: 7 fieldKey: restatement_currency_code label: Restatement Currency Code @@ -44199,7 +44327,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 29if4y4EK2HudguXYddfXQ + - id: 3EqMXHWKaFureWRnFX8hLg sortOrder: 8 fieldKey: email_address label: Email Address @@ -44222,7 +44350,7 @@ items: dynamic: false allowNull: false hidden: false - - id: gBHUhDgAGcRgqKUuGM4iba + - id: agG9tSQJaJ6e1XXVbgK28U sortOrder: 9 fieldKey: phone_number label: Phone Number @@ -44246,7 +44374,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 9swppJ2SaCV9PcwqDdZGjg + - id: 2AGdDZePenvEwmpjud8AUT sortOrder: 10 fieldKey: first_name label: First Name @@ -44269,7 +44397,7 @@ items: dynamic: false allowNull: false hidden: false - - id: tDsaCh576UrxjTvFJrdCVi + - id: dUC4unig1hWUJYsdSJGt28 sortOrder: 11 fieldKey: last_name label: Last Name @@ -44292,7 +44420,7 @@ items: dynamic: false allowNull: false hidden: false - - id: jFkh1xAGJsJKm8niZ8DukF + - id: 66HJvxt53Dbo1PcyqvSZC3 sortOrder: 12 fieldKey: city label: City @@ -44313,7 +44441,7 @@ items: dynamic: false allowNull: false hidden: false - - id: jA3du7LpCmZ1tUtSuMjLpS + - id: sdXy4mvmM9kSQH3whFDQF6 sortOrder: 13 fieldKey: state label: State @@ -44334,7 +44462,7 @@ items: dynamic: false allowNull: false hidden: false - - id: sDYFBUe5rJRmpzYqbijqQc + - id: 4tKP33jYEfET8VDn3bZ6h7 sortOrder: 14 fieldKey: country label: Country @@ -44357,7 +44485,7 @@ items: dynamic: false allowNull: false hidden: false - - id: dqPPJJMjpfRLpfAsj7mMFa + - id: 2Jf4Xe4XBBC1ev9qxwiq9S sortOrder: 15 fieldKey: postal_code label: Postal Code @@ -44378,7 +44506,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 4CniQSnhEwwK9Nvi57EgDk + - id: 3cWwq5U9Gggsck8fMraSfX sortOrder: 16 fieldKey: street_address label: Street Address @@ -44401,7 +44529,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 8MXYBYpdXnPtV3H1Qy79Eh + - id: 4ArXVRReJGc7KigynfEW7W sortOrder: 17 fieldKey: user_agent label: User Agent @@ -44429,7 +44557,7 @@ items: hidden: false defaultTrigger: null fields: - - id: ieMs7H5PobLUfGv7ikyEU + - id: Rbbsr3QPYV92GR7VdtCGn sortOrder: 0 fieldKey: conversion_action label: Conversion Action ID @@ -44442,7 +44570,7 @@ items: dynamic: true allowNull: false hidden: false - - id: w2WrkS4E4v8KxR4fZNQAhx + - id: xwLjTWPt5n22GGrrNUbdhA sortOrder: 1 fieldKey: gclid label: GCLID @@ -44455,7 +44583,7 @@ items: dynamic: false allowNull: false hidden: false - - id: jSXLDQmPKZ5u4cqigSann2 + - id: n9prJr8Xq9ncrQTQJHMEFE sortOrder: 2 fieldKey: gbraid label: GBRAID @@ -44470,7 +44598,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 2H4dvbbTzMMRXmPj6G8R62 + - id: xduivUZXtdG8G6n7AKSbtU sortOrder: 3 fieldKey: wbraid label: WBRAID @@ -44485,7 +44613,7 @@ items: dynamic: false allowNull: false hidden: false - - id: q1CN9N4mAd1DgtBfqua7bC + - id: qVTxTiQHKJLbvVwAYupiFX sortOrder: 4 fieldKey: conversion_timestamp label: Conversion Timestamp @@ -44503,7 +44631,7 @@ items: dynamic: false allowNull: false hidden: false - - id: tRKZtrbHZP5NEeFQn71j6N + - id: bum5nXYWK9qFr2x2FxicsQ sortOrder: 5 fieldKey: email_address label: Email Address @@ -44526,7 +44654,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 6QZWPZ384KRg4eZACrRaXw + - id: jc8HSu9WKR3b5TLwSFZJQb sortOrder: 6 fieldKey: phone_number label: Phone Number @@ -44550,7 +44678,7 @@ items: dynamic: false allowNull: false hidden: false - - id: i7xoHbDC1gT82pnTwgpc7n + - id: jPCCWJQKQEooWKRh2g8jfp sortOrder: 7 fieldKey: order_id label: Order ID @@ -44573,7 +44701,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 5SA1HDkD1AFzphiRLUJGnt + - id: mVjax99V8HrQi2VcbseZLq sortOrder: 8 fieldKey: value label: Value @@ -44588,7 +44716,7 @@ items: dynamic: false allowNull: false hidden: false - - id: zGsgGZp5JXvkiRxzLBUEH + - id: 9VhUg2pwXTU5uXwhrQ6fss sortOrder: 9 fieldKey: currency label: Currency @@ -44605,7 +44733,7 @@ items: dynamic: false allowNull: false hidden: false - - id: sU5ZKePrQhEt8nb2DfcLcK + - id: tU9XTFBzeXG1TvVUFEqkaZ sortOrder: 10 fieldKey: conversion_environment label: Conversion Environment @@ -44628,7 +44756,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 2a5xBAgcLyit7MBEB9PMu1 + - id: jg1myZqu3DsZxL4nftHtjq sortOrder: 11 fieldKey: merchant_id label: Merchant Center ID @@ -44641,7 +44769,7 @@ items: dynamic: false allowNull: false hidden: false - - id: fRVx7ggXeeyqq54ku2qxK1 + - id: vb7ZqD1jhoixgB2r8UR5HJ sortOrder: 12 fieldKey: merchant_country_code label: Merchant Center Feed Country Code @@ -44656,7 +44784,7 @@ items: dynamic: false allowNull: false hidden: false - - id: xmUKG8yiCMn9SGUoJkYLLg + - id: dxqqmzRdFU4qTEoNV2Zq8z sortOrder: 13 fieldKey: merchant_language_code label: Merchant Center Feed Language Code @@ -44671,7 +44799,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 7NVSGU9oJzURz3cYThVgQ3 + - id: ftGBguvoprJzHvU8SM53fm sortOrder: 14 fieldKey: local_cost label: Local Transaction Cost @@ -44686,7 +44814,7 @@ items: dynamic: false allowNull: false hidden: false - - id: bWBw3AsA4GdeCrF59BUNuv + - id: qYtFbAJd4ZFJoeknDHH4Gi sortOrder: 15 fieldKey: items label: Items @@ -44708,7 +44836,7 @@ items: dynamic: false allowNull: false hidden: false - - id: mgVEnDCBdoJdkEf512rhfN + - id: 8PtSDQxzmEdf4wezrud9KH sortOrder: 16 fieldKey: custom_variables label: Custom Variables @@ -44727,7 +44855,7 @@ items: dynamic: false allowNull: false hidden: false - - id: u17c1p89NffQQsWj25HaVW + - id: iamwrBj9GSTVV5cMYk6BEL sortOrder: 17 fieldKey: ad_user_data_consent_state label: Ad User Data Consent State @@ -44748,7 +44876,7 @@ items: value: UNSPECIFIED dynamic: false allowNull: false - - id: 4ZR5EToKtMTmWkS2S4DQGd + - id: qrcaFYFPU1sHkjDtMFVhr1 sortOrder: 18 fieldKey: ad_personalization_consent_state label: Ad Personalization Consent State @@ -44778,7 +44906,7 @@ items: hidden: false defaultTrigger: null fields: - - id: cXFcVfaTbTwMUjcxSWN884 + - id: sDNUmHEihKUifnDv3D8z56 sortOrder: 0 fieldKey: conversion_action label: Conversion Action ID @@ -44791,7 +44919,7 @@ items: dynamic: true allowNull: false hidden: false - - id: 6c1RQFEVs5AeSU6svaC42q + - id: 4xMCpMpLueJNDcZaRXjbkC sortOrder: 1 fieldKey: caller_id label: Caller ID @@ -44806,7 +44934,7 @@ items: dynamic: false allowNull: false hidden: false - - id: ePzXv5DmSeqB2MwrD3U6Sm + - id: 98vAaYWBw2ndHJcXbAxem9 sortOrder: 2 fieldKey: call_timestamp label: Call Timestamp @@ -44822,7 +44950,7 @@ items: dynamic: false allowNull: false hidden: false - - id: rCohXtupXsQfZeDRh5H4QV + - id: wz7vXnfZd3rttHVK14BPA9 sortOrder: 3 fieldKey: conversion_timestamp label: Conversion Timestamp @@ -44840,7 +44968,7 @@ items: dynamic: false allowNull: false hidden: false - - id: VCSMJ7J7555Y46E2SzcG8 + - id: 6euSPfmWxhSNNv5Q94Ymt sortOrder: 4 fieldKey: value label: Value @@ -44855,7 +44983,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 6cSYc13SaH6RqpCwXPAios + - id: a7xk3Cf3JTyHCmas8wNdx3 sortOrder: 5 fieldKey: currency label: Currency @@ -44872,7 +45000,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 2mGmeHeyWU5t3cN5DFd727 + - id: kU2gkKVgd5RXTCqode3cnM sortOrder: 6 fieldKey: custom_variables label: Custom Variables @@ -44891,7 +45019,7 @@ items: dynamic: false allowNull: false hidden: false - - id: px6oyZdB48EPWTA7JCkuTj + - id: fC9qTHwJR9pn1vnJMk9CKU sortOrder: 7 fieldKey: ad_user_data_consent_state label: Ad User Data Consent State @@ -44912,7 +45040,7 @@ items: value: UNSPECIFIED dynamic: false allowNull: false - - id: 3ZoFz3RzZMVpphP1DWSkyT + - id: gpt61tjEVKZ58FDkVrZiqV sortOrder: 8 fieldKey: ad_personalization_consent_state label: Ad Personalization Consent State @@ -44942,7 +45070,7 @@ items: hidden: false defaultTrigger: event = "Audience Entered" or event = "Audience Exited" fields: - - id: 4c7pB2kHF1q3noA2VXPFjj + - id: c5fnye5QHCZE5wMhcYKfAN sortOrder: 0 fieldKey: first_name label: First Name @@ -44964,7 +45092,7 @@ items: choices: null dynamic: false allowNull: false - - id: fYWNoS5cKCNyrnpbZdcDwZ + - id: vwJVPH1nebfHJEB8txAALx sortOrder: 1 fieldKey: last_name label: Last Name @@ -44986,7 +45114,7 @@ items: choices: null dynamic: false allowNull: false - - id: mCCuptXdmK8cALM3ASq3ds + - id: mztTYAn7S9WJEx7iJZxoCW sortOrder: 2 fieldKey: email label: Email @@ -45008,7 +45136,7 @@ items: choices: null dynamic: false allowNull: false - - id: cR7sziCk8gtCF8NQMVBZSV + - id: h4rgPt13k16BDxbkFavezC sortOrder: 3 fieldKey: phone label: Phone @@ -45030,7 +45158,7 @@ items: choices: null dynamic: false allowNull: false - - id: epmsHwc5Utuzt4RKb7cgxp + - id: jdTDqh7X1PiLxFh2uKkfKR sortOrder: 4 fieldKey: country_code label: Country Code @@ -45042,7 +45170,7 @@ items: choices: null dynamic: false allowNull: false - - id: 31s3J79qoz6AkbehjMHPhJ + - id: oPuZpsVSeEzpzvYspRGY11 sortOrder: 5 fieldKey: postal_code label: Postal Code @@ -45054,7 +45182,7 @@ items: choices: null dynamic: false allowNull: false - - id: xxDhxo3yQzpk1c723LLFgg + - id: 8Rp4JBJA4Mp7jbuEUrTFJc sortOrder: 6 fieldKey: crm_id label: CRM ID @@ -45068,7 +45196,7 @@ items: choices: null dynamic: false allowNull: false - - id: tqrQdMmtS1tYLB6KniEx5H + - id: 72pjJKiqSia79NbQXEz56c sortOrder: 7 fieldKey: mobile_advertising_id label: Mobile Advertising ID @@ -45084,7 +45212,7 @@ items: choices: null dynamic: false allowNull: false - - id: cNKnumA3y4LdjftwfSnwvy + - id: cCfdS99tAmYtQMC36uJ9BM sortOrder: 8 fieldKey: ad_user_data_consent_state label: Ad User Data Consent State @@ -45105,7 +45233,7 @@ items: value: UNSPECIFIED dynamic: false allowNull: false - - id: 2pNzBLo7sv5Xzhjp87VpkB + - id: ig3hxok5VwoWwTrGKhFCLL sortOrder: 9 fieldKey: ad_personalization_consent_state label: Ad Personalization Consent State @@ -45127,7 +45255,7 @@ items: value: UNSPECIFIED dynamic: false allowNull: false - - id: nP8vsKGjZeNKqtoFXax3Px + - id: duptDdTJ9X5g5Utfecb95i sortOrder: 14 fieldKey: list_id label: Existing List ID @@ -45141,7 +45269,7 @@ items: choices: null dynamic: true allowNull: false - - id: hmsSKioCXqK35a2vwMoepq + - id: fwTR97eFVr8zWp8Jdzruwn sortOrder: 15 fieldKey: list_name label: List Name @@ -45153,7 +45281,7 @@ items: choices: null dynamic: false allowNull: false - - id: aBgqeUeJuqdvqeZDqQeex8 + - id: jNVUrRNbq76vyXoAnTWpEP sortOrder: 16 fieldKey: external_id_type label: External ID Type @@ -45172,7 +45300,7 @@ items: value: MOBILE_ADVERTISING_ID dynamic: false allowNull: false - - id: p1mrtdudYjMSZnDryEGWUg + - id: Zoj6H5NVm9VBA7jHEpKj1 sortOrder: 17 fieldKey: app_id label: App ID @@ -45187,7 +45315,7 @@ items: choices: null dynamic: false allowNull: false - - id: k13uf8Va1vBVruRwEJTabT + - id: mPiBQEJCwe5QRt84nhmsTU sortOrder: 18 fieldKey: retlOnMappingSave label: Connect to a Google Customer Match User List @@ -45210,7 +45338,7 @@ items: hidden: false defaultTrigger: null fields: - - id: 7BojRojZ6LxyYnFffbH9LZ + - id: qSekELoZu5fpWiRoDJsZu1 sortOrder: 0 fieldKey: conversion_action label: Conversion Action ID @@ -45222,7 +45350,7 @@ items: choices: null dynamic: true allowNull: false - - id: 4ZpHMsjLp54z91QWgBc221 + - id: 4iMrDXwtJiCj9Lhn3fBhU7 sortOrder: 1 fieldKey: caller_id label: Caller ID @@ -45236,7 +45364,7 @@ items: choices: null dynamic: false allowNull: false - - id: pjY84jMQ6MXYAsbqhjRUDK + - id: oSK5TrxKkyvRTjJEs6L7PP sortOrder: 2 fieldKey: call_timestamp label: Call Timestamp @@ -45251,7 +45379,7 @@ items: choices: null dynamic: false allowNull: false - - id: n7dXDiuJWkUfLpUsZjWk8Q + - id: waAWXVqaWdQ9rdsKdDc7vw sortOrder: 3 fieldKey: conversion_timestamp label: Conversion Timestamp @@ -45268,7 +45396,7 @@ items: choices: null dynamic: false allowNull: false - - id: nTyNQ6WfKsbmYwtuvrEKqh + - id: tSTahV23EGYgHa8k78XgYo sortOrder: 4 fieldKey: value label: Value @@ -45282,7 +45410,7 @@ items: choices: null dynamic: false allowNull: false - - id: eyg7rJBSPj1uppu1ExgKH9 + - id: mmN9DV6zCTfD518sqabnbN sortOrder: 5 fieldKey: currency label: Currency @@ -45298,7 +45426,7 @@ items: choices: null dynamic: false allowNull: false - - id: nSAeAaUKssCbGwfNc1YZm + - id: AtqTUGVysTNk7oSpqfYnz sortOrder: 6 fieldKey: custom_variables label: Custom Variables @@ -45316,7 +45444,7 @@ items: choices: null dynamic: false allowNull: false - - id: 6wEjcsKFM5sdEcf2FA38dN + - id: hE8iCXXy354Roy5GGvdzkK sortOrder: 7 fieldKey: ad_user_data_consent_state label: Ad User Data Consent State @@ -45337,7 +45465,7 @@ items: value: UNSPECIFIED dynamic: false allowNull: false - - id: 4FfMyDzjmskpqzP59WfwuU + - id: hjX2JWNphQMsMfoUVT5Tj5 sortOrder: 8 fieldKey: ad_personalization_consent_state label: Ad Personalization Consent State @@ -45367,7 +45495,7 @@ items: hidden: false defaultTrigger: null fields: - - id: 53S48kA8ArdJrr87YSFA3v + - id: oTaCHK9Wo5nf2RTYdddRL8 sortOrder: 0 fieldKey: conversion_action label: Conversion Action ID @@ -45379,7 +45507,7 @@ items: choices: null dynamic: true allowNull: false - - id: nNVX7jFxx7hUNVM5xwY8JG + - id: mCj8RSZCm6UgjXGS8K5QJK sortOrder: 1 fieldKey: adjustment_type label: Adjustment Type @@ -45404,7 +45532,7 @@ items: value: ENHANCEMENT dynamic: false allowNull: false - - id: 3vPiqs6HsiNsuVuTFBHUpK + - id: hK5Rzjf1RUzbkTTY4gduB9 sortOrder: 2 fieldKey: adjustment_timestamp label: Adjustment Timestamp @@ -45422,7 +45550,7 @@ items: choices: null dynamic: false allowNull: false - - id: 47DBm1CcDcN7oYuugELPvw + - id: vLujSU8mMkBmvyaRUhLrFg sortOrder: 3 fieldKey: order_id label: Order ID @@ -45445,7 +45573,7 @@ items: choices: null dynamic: false allowNull: false - - id: wGkMBEDWuMMr6RTKYbiurF + - id: 8eJQJkUkTgXSjfNSJD1586 sortOrder: 4 fieldKey: gclid label: GCLID @@ -45459,7 +45587,7 @@ items: choices: null dynamic: false allowNull: false - - id: s1AV6BUkAuYer6xtd3kMPN + - id: sp8vJz9WFHv4ESyArh7NZC sortOrder: 5 fieldKey: conversion_timestamp label: Conversion Timestamp @@ -45475,7 +45603,7 @@ items: choices: null dynamic: false allowNull: false - - id: tEsaYx3zAbw1aV6AZGWSRK + - id: cjB1mZVRNYdnGdUgoP7t8G sortOrder: 6 fieldKey: restatement_value label: Restatement Value @@ -45491,7 +45619,7 @@ items: choices: null dynamic: false allowNull: false - - id: sxbNbhvfG1JfXo5LAWeYf7 + - id: 9amCQFSNrFVnv741k2Tvck sortOrder: 7 fieldKey: restatement_currency_code label: Restatement Currency Code @@ -45507,7 +45635,7 @@ items: choices: null dynamic: false allowNull: false - - id: tAPK76cJDSgC5SUV6NsdHT + - id: jifH7152NiLasHMeENct3X sortOrder: 8 fieldKey: email_address label: Email Address @@ -45529,7 +45657,7 @@ items: choices: null dynamic: false allowNull: false - - id: whXXaG62ZS3Zdytymtepbr + - id: dkUf1wyJNhTDZvQ9JujytR sortOrder: 9 fieldKey: phone_number label: Phone Number @@ -45552,7 +45680,7 @@ items: choices: null dynamic: false allowNull: false - - id: skrcoGN6Mq1Upj7cU6oFB1 + - id: 4oe34EbZXGoj7rHXPi2WQB sortOrder: 10 fieldKey: first_name label: First Name @@ -45574,7 +45702,7 @@ items: choices: null dynamic: false allowNull: false - - id: qXoPBqUK8zFuccA2F5Hvf9 + - id: xpCr4GcGsZZtYZNGHEtDaM sortOrder: 11 fieldKey: last_name label: Last Name @@ -45596,7 +45724,7 @@ items: choices: null dynamic: false allowNull: false - - id: bYnwgeXeRSshJTeCCm7GPU + - id: dVpoLHJE8Hx5zAW6mQbxmr sortOrder: 12 fieldKey: city label: City @@ -45616,7 +45744,7 @@ items: choices: null dynamic: false allowNull: false - - id: 51NUCofRdFGp5VAbZfw3Uu + - id: tw2ERi3FPZRPnRbNraHNLy sortOrder: 13 fieldKey: state label: State @@ -45636,7 +45764,7 @@ items: choices: null dynamic: false allowNull: false - - id: eda27FwsZgnix9RudGnPj7 + - id: kenU4fY2vBSKBV63TLX7tS sortOrder: 14 fieldKey: country label: Country @@ -45658,7 +45786,7 @@ items: choices: null dynamic: false allowNull: false - - id: h6b4xws9S7M7E13Wn9orVx + - id: q4EKdkbEjTV7e4RU1UkxzA sortOrder: 15 fieldKey: postal_code label: Postal Code @@ -45678,7 +45806,7 @@ items: choices: null dynamic: false allowNull: false - - id: 6mxheoymQiQEXDiBBgQf5h + - id: scyvxjdL1F5FKNMnsi5Bso sortOrder: 16 fieldKey: street_address label: Street Address @@ -45700,7 +45828,7 @@ items: choices: null dynamic: false allowNull: false - - id: rJvwGzK1DCeaWp1iifU92h + - id: 72x86n5RocnBjqgUjvhcWr sortOrder: 17 fieldKey: user_agent label: User Agent @@ -45727,7 +45855,7 @@ items: hidden: false defaultTrigger: null fields: - - id: 6odpHDtcz6Z321uXmzNtFS + - id: xzxfhkm9SXFfHm2RdohFiW sortOrder: 0 fieldKey: conversion_action label: Conversion Action ID @@ -45739,7 +45867,7 @@ items: choices: null dynamic: true allowNull: false - - id: e6nF9727oUT97ctXi75Exj + - id: ooBCcALkHiEypszJjakwm4 sortOrder: 1 fieldKey: gclid label: GCLID @@ -45751,7 +45879,7 @@ items: choices: null dynamic: false allowNull: false - - id: fhCNxEnVQbV13DBhrZYZ7n + - id: 28942VguGQhced9Zdf5rCy sortOrder: 2 fieldKey: gbraid label: GBRAID @@ -45765,7 +45893,7 @@ items: choices: null dynamic: false allowNull: false - - id: 5X3GgrHVw9QW73EYSziPrP + - id: 6jL2vxky37Jrb6nWDSJNQE sortOrder: 3 fieldKey: wbraid label: WBRAID @@ -45779,7 +45907,7 @@ items: choices: null dynamic: false allowNull: false - - id: n5qLjfPEKpfwA7XdWiBSwr + - id: aW81FuC7TREt4Zre3JmSfZ sortOrder: 4 fieldKey: conversion_timestamp label: Conversion Timestamp @@ -45796,7 +45924,7 @@ items: choices: null dynamic: false allowNull: false - - id: sBCXAJQbMVfnbUsKZynQhe + - id: vAkQ1sJKYKcWCJtjvLkXB5 sortOrder: 5 fieldKey: email_address label: Email Address @@ -45818,7 +45946,7 @@ items: choices: null dynamic: false allowNull: false - - id: rYSJfRGqoUraNxBMen52ZE + - id: d66dJsgstnsGB1Lj62QP9o sortOrder: 6 fieldKey: phone_number label: Phone Number @@ -45841,7 +45969,7 @@ items: choices: null dynamic: false allowNull: false - - id: svAazdW19rkioFtnGDoNUk + - id: 6x6QN64qcoWDnni3Ps39Mk sortOrder: 7 fieldKey: order_id label: Order ID @@ -45863,7 +45991,7 @@ items: choices: null dynamic: false allowNull: false - - id: qgosG4Ycor3ZZYDKqko2bX + - id: beuz7snc3E3hg8cxtMhTaK sortOrder: 8 fieldKey: value label: Value @@ -45877,7 +46005,7 @@ items: choices: null dynamic: false allowNull: false - - id: jPQYdJzqVQCmUkpT8z7HdV + - id: g2dbkszo5VuDvQVktxPEwL sortOrder: 9 fieldKey: currency label: Currency @@ -45893,7 +46021,7 @@ items: choices: null dynamic: false allowNull: false - - id: xzHmf5p7hPAoGF1NKoEgkm + - id: nemSMZRFpsW8W9aavb8Ztt sortOrder: 10 fieldKey: conversion_environment label: Conversion Environment @@ -45915,7 +46043,7 @@ items: value: UNSPECIFIED dynamic: false allowNull: false - - id: 2vkypqcRfVugpr4xbKLc7c + - id: oJZMHVsy3cQDLvwaAC6ZQx sortOrder: 11 fieldKey: merchant_id label: Merchant Center ID @@ -45927,7 +46055,7 @@ items: choices: null dynamic: false allowNull: false - - id: bShLrUiXUcmrkrJCD2ZFGh + - id: gWzZZ2ucvzkHJFgUPsYQub sortOrder: 12 fieldKey: merchant_country_code label: Merchant Center Feed Country Code @@ -45941,7 +46069,7 @@ items: choices: null dynamic: false allowNull: false - - id: mCvQP8NV4HffgPdueTnRmD + - id: 6nU76eDVRzgM76ZRZpUN1e sortOrder: 13 fieldKey: merchant_language_code label: Merchant Center Feed Language Code @@ -45955,7 +46083,7 @@ items: choices: null dynamic: false allowNull: false - - id: rGcUq6PYfE62KCudDMmkxp + - id: 8Qo81Ntc4nbTjGjZziAeyW sortOrder: 14 fieldKey: local_cost label: Local Transaction Cost @@ -45969,7 +46097,7 @@ items: choices: null dynamic: false allowNull: false - - id: oRyaaioL4vo4r316jPrBHi + - id: pBVtTLbrNRXuXLH5sfX1GE sortOrder: 15 fieldKey: items label: Items @@ -45990,7 +46118,7 @@ items: choices: null dynamic: false allowNull: false - - id: 4wq36zZiE32j9SaKzTVZ7W + - id: apWXXhYQvDG2LT8KH87QWT sortOrder: 16 fieldKey: custom_variables label: Custom Variables @@ -46008,7 +46136,7 @@ items: choices: null dynamic: false allowNull: false - - id: 3XgMQgD7t1qiPSQ5CBknC2 + - id: j4VULcgXkaUbvEMFQK9qVV sortOrder: 17 fieldKey: ad_user_data_consent_state label: Ad User Data Consent State @@ -46029,7 +46157,7 @@ items: value: UNSPECIFIED dynamic: false allowNull: false - - id: 3dEzu2KRKGcMDS5QSHsor4 + - id: xoRJZkeqKGeVQwKBvTCdoR sortOrder: 18 fieldKey: ad_personalization_consent_state label: Ad Personalization Consent State @@ -57869,7 +57997,7 @@ items: display_name: Inkit name: Inkit slug: inkit - hidden: false + hidden: true endpoints: - US regions: @@ -65076,6 +65204,15 @@ items: mobile: false server: false settings: + - name: manualInit + type: boolean + defaultValue: false + description: >- + If true, Jimo SDK will be initialized only after a Segment event + containing a userID has been triggered. This prevents from having + anonymous profile created in Jimo. + required: false + label: Initialize only for identified users - name: projectId type: string defaultValue: '' @@ -65084,6 +65221,15 @@ items: https://i.usejimo.com/settings/install/portal required: true label: Id + - name: refetchExperiencesOnTraitsUpdate + type: boolean + defaultValue: false + description: >- + Enable this option if you'd like Jimo to refetch experiences supposed to + be shown to the user after user traits get updated. This is useful when if + you have experiences that use segment based on Segment traits. + required: false + label: Refetch experiences after traits changes actions: - id: ftrsQJstV3wF8nGWjqfz7g name: Send User Data @@ -65093,7 +65239,7 @@ items: hidden: false defaultTrigger: type = "identify" fields: - - id: 3L8wmqzjxtzKvqi5ZieZ87 + - id: 8zqvmL7NjWhQZzBUcTynG9 sortOrder: 0 fieldKey: userId label: User ID @@ -65107,7 +65253,7 @@ items: choices: null dynamic: false allowNull: true - - id: aTwZcgU6GdUBKn485uJfiT + - id: 2m3Z2J6HvfsGi2qHfHB3R sortOrder: 1 fieldKey: email label: User email @@ -65121,7 +65267,7 @@ items: choices: null dynamic: false allowNull: true - - id: 8qs7bQcY3EYc25fsGQoX2L + - id: cVAUK2kchCAc3Mk5B4gr76 sortOrder: 2 fieldKey: traits label: User Traits @@ -65143,7 +65289,7 @@ items: hidden: false defaultTrigger: type = "track" fields: - - id: jyh5mZ1f4bYKa4erEEUrzT + - id: ogUucaTNkQrV51ZzrTpqWk sortOrder: 0 fieldKey: messageId label: Message Id @@ -65157,7 +65303,7 @@ items: choices: null dynamic: false allowNull: false - - id: bee9Dr78BeqgmupEAkxNyB + - id: 8KaAPhr9ABHpfbLTvoS7f3 sortOrder: 1 fieldKey: timestamp label: Timestamp @@ -65171,7 +65317,7 @@ items: choices: null dynamic: false allowNull: false - - id: nTttqb3nZVq1CzZ16M2wZd + - id: 7nBUt5xuqhC4cScaUuqmzV sortOrder: 2 fieldKey: event_name label: Event Name @@ -65185,7 +65331,7 @@ items: choices: null dynamic: false allowNull: false - - id: cj6RRAJmkay6w3o8JQpwGt + - id: 6HNkZ77y4EMT1ZgGq4mc1N sortOrder: 3 fieldKey: userId label: User ID @@ -65199,7 +65345,7 @@ items: choices: null dynamic: false allowNull: false - - id: nZpWt1ua9SiuFm1CQkDDjA + - id: ter3TjiuftmMGnF2ASkJms sortOrder: 4 fieldKey: anonymousId label: Anonymous ID @@ -65213,7 +65359,7 @@ items: choices: null dynamic: false allowNull: false - - id: nkRn72R3cCDNzjFq56hMAD + - id: piQFeBAGAztAeN8hgQo8oB sortOrder: 5 fieldKey: properties label: Event Properties @@ -65228,16 +65374,6 @@ items: dynamic: false allowNull: false presets: - - actionId: ftrsQJstV3wF8nGWjqfz7g - name: Send User Data - fields: - userId: - '@path': $.userId - email: - '@path': $.traits.email - traits: - '@path': $.traits - trigger: type = "identify" - actionId: oe94ZN2mPKHCHsqAe2bU1Z name: Send Track Event fields: @@ -65254,6 +65390,16 @@ items: properties: '@path': $.properties trigger: type = "track" + - actionId: ftrsQJstV3wF8nGWjqfz7g + name: Send User Data + fields: + userId: + '@path': $.userId + email: + '@path': $.traits.email + traits: + '@path': $.traits + trigger: type = "identify" partnerOwned: true - id: 61a0f8fdc53f13a42eac137c display_name: Jivox @@ -72185,12 +72331,11 @@ items: status: PUBLIC categories: - Heatmaps & Recordings - - Livechat - - Surveys + - Analytics logo: - url: https://d3hotuclm6if1r.cloudfront.net/logos/lucky-orange-default.png + url: https://cdn-devcenter.segment.com/41b893d7-86ba-452c-9f84-16417c0904e3.svg mark: - url: https://cdn.filepicker.io/api/file/J7yYtpT9QHKxzdB6reCS + url: https://cdn-devcenter.segment.com/bbfa8c1a-5139-4db1-b53f-758064cc27fc.svg methods: track: false identify: true @@ -82393,13 +82538,13 @@ items: hidden: false defaultTrigger: type = "identify" fields: - - id: my9eA4s3vxye9f7ogh6zXQ + - id: V9uYP5JYgNPsNwmyDhUej sortOrder: 0 fieldKey: email label: Email Address type: STRING description: |- - The prospect's email address. + The prospect's email address. Used to upsert a prospect in Pardot. If multiple prospects have the given email, the prospect with the latest activity is updated. If there's no prospect with the given email, a prospect is created. Please note that Pardot treats email address as case sensitive and will create multiple prospects for casing differences. placeholder: '' defaultValue: @@ -82416,7 +82561,7 @@ items: dynamic: false allowNull: false hidden: false - - id: k83n5fCwJvzW9jH743KSdJ + - id: af4u7Toy5Eojuw58ekEgWK sortOrder: 1 fieldKey: firstName label: First Name @@ -82437,7 +82582,7 @@ items: dynamic: false allowNull: false hidden: false - - id: aCutMVYK1QUwtLRjU9Kcza + - id: nBHirHmf6XAb5oadxeDDtY sortOrder: 2 fieldKey: lastName label: Last Name @@ -82458,7 +82603,7 @@ items: dynamic: false allowNull: false hidden: false - - id: ezcbEfvS3W5c8kupgMQKsV + - id: uvsdm3GY4zEZfAmTPimdCd sortOrder: 3 fieldKey: salutation label: Salutation @@ -82471,7 +82616,7 @@ items: dynamic: false allowNull: false hidden: false - - id: oUMLUhyoLyzC8PSYynzKh3 + - id: pXshbAimLbbD4c4S3dqAFo sortOrder: 4 fieldKey: phone label: Phone Number @@ -82492,7 +82637,7 @@ items: dynamic: false allowNull: false hidden: false - - id: nsCXyQVoQ3uJasK2BL7Zo8 + - id: s4BhRMQnKhkkd3PLgxWxZR sortOrder: 5 fieldKey: company label: Company @@ -82513,7 +82658,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 4eqK9ypwEe5XSSRyxPhsnb + - id: wfFfr7jLsPWGSa4VzpviXd sortOrder: 6 fieldKey: jobTitle label: Job Title @@ -82534,7 +82679,7 @@ items: dynamic: false allowNull: false hidden: false - - id: gHCUVKWkN9RVqeh6QVC1yX + - id: 5Dw8A7kkWPHCh2Knuu4uz2 sortOrder: 7 fieldKey: industry label: Industry @@ -82547,7 +82692,7 @@ items: dynamic: false allowNull: false hidden: false - - id: h8erzRMAbKPdogNzxZoKSC + - id: reP6pfNm33JCwdG6jZvLs2 sortOrder: 8 fieldKey: city label: City @@ -82568,7 +82713,7 @@ items: dynamic: false allowNull: false hidden: false - - id: dnMXUkrpaESTLFr1MTo9S7 + - id: uizVUeisLrXGwZRobcekuJ sortOrder: 9 fieldKey: state label: State @@ -82589,7 +82734,7 @@ items: dynamic: false allowNull: false hidden: false - - id: fLUDZ8HootUwebFiQLu41k + - id: 8efxUe1wFXdFZLPQUGGiFz sortOrder: 10 fieldKey: zip label: Zip Code @@ -82610,7 +82755,7 @@ items: dynamic: false allowNull: false hidden: false - - id: 3pvbqYA9fz7dKBhoc9ahqi + - id: 4RZh4d74b6uHd4GoZj11yx sortOrder: 11 fieldKey: country label: Country @@ -82631,7 +82776,7 @@ items: dynamic: false allowNull: false hidden: false - - id: egb6C79Zv47Q7L4vsiZaJD + - id: cAkoTpQR7nxecm9vJha2SP sortOrder: 12 fieldKey: website label: Website @@ -82652,7 +82797,7 @@ items: dynamic: false allowNull: false hidden: false - - id: vWyvoadFAPH8Nod8acK3HV + - id: 7zadwD9UaqH5vtZE8fTRgC sortOrder: 13 fieldKey: secondaryDeletedSearch label: Search Deleted Prospects @@ -82660,7 +82805,7 @@ items: description: >- If true, the request’s search includes deleted records. This property only affects [AMPSEA - accounts](https://help.salesforce.com/s/articleView?id=sf.pardot_admin_ampsea_parent.htm&type=5). + accounts](https://help.salesforce.com/s/articleView?id=sf.pardot_admin_ampsea_parent.htm&type=5). If all records with a matching email address are deleted, the one with the latest activity is undeleted and updated. Otherwise, a new prospect is created. placeholder: '' defaultValue: true @@ -82670,7 +82815,7 @@ items: dynamic: false allowNull: false hidden: false - - id: emnCCoNQSrr7qK9vyf8oTQ + - id: gaJJDues1dqPwvwByKEqo3 sortOrder: 14 fieldKey: customFields label: Other Fields @@ -83010,7 +83155,7 @@ items: hidden: false defaultTrigger: type="group" fields: - - id: 6yUu1JnZmoQ6SN1oFHgoqh + - id: AgmXpLgHBm2yXHY4zs4Em sortOrder: 0 fieldKey: visitorId label: Visitor ID @@ -83024,7 +83169,7 @@ items: choices: null dynamic: false allowNull: false - - id: hDzbfL7RV4PtU4zDfqQmgw + - id: NCnC6hWJT77vkv7E8YkV2 sortOrder: 1 fieldKey: accountId label: Account ID @@ -83041,7 +83186,7 @@ items: choices: null dynamic: false allowNull: false - - id: cxbG8nPF3Di3hBcm8ZJyec + - id: dMpTiHbP5wvVoBCpvw15GV sortOrder: 2 fieldKey: accountData label: Account Metadata @@ -83055,7 +83200,7 @@ items: choices: null dynamic: false allowNull: false - - id: geNMCNGRASP8fVvPTh8BTa + - id: xhrAJaKQcb1483jucHdayC sortOrder: 3 fieldKey: parentAccountData label: Parent Account Metadata @@ -83079,7 +83224,7 @@ items: hidden: false defaultTrigger: type="identify" fields: - - id: 8b4QKHMXvzZWfyjmJZa6t7 + - id: p3SkPwQfV2QkZrzeZ3ScJb sortOrder: 0 fieldKey: visitorId label: Visitor ID @@ -83093,7 +83238,7 @@ items: choices: null dynamic: false allowNull: false - - id: qLKHAM1CYXNgi1STiDLLkK + - id: pzsPqMeeYVEpjpKFH9o5hm sortOrder: 1 fieldKey: visitorData label: Visitor Metadata @@ -83107,6 +83252,29 @@ items: choices: null dynamic: false allowNull: false + - id: asavCXKn4jtzXGEYhojUdx + sortOrder: 2 + fieldKey: accountId + label: Account ID + type: STRING + description: >- + Pendo Account ID. Maps to Segment groupId. Note: If you plan to change + this, enable the setting "Use custom Segment group trait for Pendo + account id" + placeholder: '' + defaultValue: + '@if': + exists: + '@path': $.context.groupId + then: + '@path': $.context.groupId + else: + '@path': $.groupId + required: false + multiple: false + choices: null + dynamic: false + allowNull: false - id: iyAV636pH9Bn72tFXjbUm2 name: Send Track Event slug: track @@ -83115,7 +83283,7 @@ items: hidden: false defaultTrigger: type="track" fields: - - id: rvXwHxRfy5U21vidZXR93q + - id: 6J2UTrn7eBdtabWGKr2bJ5 sortOrder: 0 fieldKey: event label: Event name @@ -83129,7 +83297,7 @@ items: choices: null dynamic: false allowNull: false - - id: dkeKud5Wg1t7ZSX3Ezuxja + - id: k8sEoX7Wzjfs2M7yuPNBLF sortOrder: 1 fieldKey: metadata label: Metadata @@ -83144,6 +83312,22 @@ items: dynamic: false allowNull: false presets: + - actionId: hfiHYbrHHZBVHCQGPEUQnC + name: Send Identify Event + fields: + visitorId: + '@path': $.userId + visitorData: + '@path': $.traits + accountId: + '@if': + exists: + '@path': $.context.groupId + then: + '@path': $.context.groupId + else: + '@path': $.groupId + trigger: type = "identify" - actionId: iyAV636pH9Bn72tFXjbUm2 name: Send Track Event fields: @@ -83164,14 +83348,6 @@ items: parentAccountData: '@path': $.traits.parentAccount trigger: type = "group" - - actionId: hfiHYbrHHZBVHCQGPEUQnC - name: Send Identify Event - fields: - visitorId: - '@path': $.userId - visitorData: - '@path': $.traits - trigger: type = "identify" partnerOwned: true - id: 54521fda25e721e32a72eee5 display_name: Perfect Audience @@ -90882,7 +91058,7 @@ items: hidden: false defaultTrigger: type = "identify" fields: - - id: rfLVGpFXkoVntuu8MvjH17 + - id: 61RTUHUYt3fHQA56gagE6f sortOrder: 0 fieldKey: operation label: Operation @@ -90904,7 +91080,7 @@ items: value: delete dynamic: false allowNull: false - - id: dNTUkbx6gDTjReLRVEK9jU + - id: 47NCBG12SPMtb6xQ6iCbAj sortOrder: 1 fieldKey: recordMatcherOperator label: Record Matchers Operator @@ -90925,7 +91101,7 @@ items: value: AND dynamic: false allowNull: false - - id: jBeh4BbR1Uqd597Uj2MgN + - id: wkTtGjwfBuMYbny3ayqnZJ sortOrder: 2 fieldKey: enable_batching label: Use Salesforce Bulk API @@ -90934,8 +91110,7 @@ items: If true, events are sent to [Salesforce’s Bulk API 2.0](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/asynch_api_intro.htm) rather than their streaming REST API. Once enabled, Segment will collect - events into batches of 5000 before sending to Salesforce. *Enabling Bulk - API is not compatible with the `create` operation*. + events into batches of 5000 before sending to Salesforce. placeholder: '' defaultValue: false required: false @@ -90943,7 +91118,7 @@ items: choices: null dynamic: false allowNull: false - - id: bWXYSXGa47paLF7Y5emBeG + - id: 7ZwpSpgkwX4sAf2hHzYMWH sortOrder: 4 fieldKey: traits label: Record Matchers @@ -90965,7 +91140,7 @@ items: choices: null dynamic: false allowNull: false - - id: 31i3WjQ5niayqKUjzAxbwX + - id: dL298i598R6RdM9ZBUJbqw sortOrder: 5 fieldKey: bulkUpsertExternalId label: Bulk Upsert External Id @@ -90977,7 +91152,7 @@ items: choices: null dynamic: false allowNull: false - - id: 4eWyJKARnivgSeZYAXByq7 + - id: dpBLkLqM6eUrbu2we6iUZC sortOrder: 6 fieldKey: bulkUpdateRecordId label: Bulk Update Record Id @@ -90989,7 +91164,7 @@ items: choices: null dynamic: false allowNull: false - - id: 8ezzfgMRxRH53gbE3pNCAW + - id: 8CakR1R2VAK27HwFisdwsi sortOrder: 7 fieldKey: company label: Company @@ -91009,7 +91184,7 @@ items: choices: null dynamic: false allowNull: false - - id: aSAKQXbUrANVZJxP4aJKSy + - id: hxZbHXE33GYsCRJghQKBPo sortOrder: 8 fieldKey: last_name label: Last Name @@ -91029,7 +91204,7 @@ items: choices: null dynamic: false allowNull: false - - id: jhxVVTY3PTZi4dEpBTcBH9 + - id: iDP6hVLfgoT6gnKdJC9LNk sortOrder: 9 fieldKey: first_name label: First Name @@ -91049,7 +91224,7 @@ items: choices: null dynamic: false allowNull: false - - id: gv1i1oMGEEywt3FB4KiF3A + - id: 3eZkutFAoMFac7HCeuxAEf sortOrder: 10 fieldKey: email label: Email @@ -91069,7 +91244,7 @@ items: choices: null dynamic: false allowNull: false - - id: r6Bz3jifAvL39aJa8ic3es + - id: nyVMYKz4pPXruYjDvSem9C sortOrder: 11 fieldKey: city label: City @@ -91089,7 +91264,7 @@ items: choices: null dynamic: false allowNull: false - - id: tG53Z285Td8gSQV36pMqKN + - id: aRZPCojxzhXDCYXDRvvZWi sortOrder: 12 fieldKey: postal_code label: Postal Code @@ -91109,7 +91284,7 @@ items: choices: null dynamic: false allowNull: false - - id: 59BB5Vi5qmEmHM3GhtNutU + - id: tLsZoHAxM68ygL7HA3xpik sortOrder: 13 fieldKey: country label: Country @@ -91129,7 +91304,7 @@ items: choices: null dynamic: false allowNull: false - - id: jTxEKW5KcAmaQ3JBMYcPJg + - id: qqkicBpGedpPX6JAXSwmsA sortOrder: 14 fieldKey: street label: Street @@ -91149,7 +91324,7 @@ items: choices: null dynamic: false allowNull: false - - id: xyDsJZVw17WTcid9pr8dKU + - id: pnTtLUpVH8MoaDKL8trFRC sortOrder: 15 fieldKey: state label: State @@ -91169,7 +91344,7 @@ items: choices: null dynamic: false allowNull: false - - id: c3BMpKbmQaMHPrMSxHRhmj + - id: 8xt12eV8jpmSpx34iMqwTm sortOrder: 16 fieldKey: customFields label: Other Fields @@ -91199,7 +91374,7 @@ items: hidden: false defaultTrigger: null fields: - - id: 5Ju6ZetSDvikATAZnqocJA + - id: ourX7gcgsBAwK8t2VHMr3h sortOrder: 0 fieldKey: operation label: Operation @@ -91221,7 +91396,7 @@ items: value: delete dynamic: false allowNull: false - - id: aJzxxAMF3GjxJgCEmHJL1Q + - id: rzmXSUmHD452mphedt9wUb sortOrder: 1 fieldKey: recordMatcherOperator label: Record Matchers Operator @@ -91242,7 +91417,7 @@ items: value: AND dynamic: false allowNull: false - - id: uKQYLwKbw68AuMzm2JA8f7 + - id: gESyDCd9GePLLAcRNg8Z4N sortOrder: 2 fieldKey: enable_batching label: Use Salesforce Bulk API @@ -91251,8 +91426,7 @@ items: If true, events are sent to [Salesforce’s Bulk API 2.0](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/asynch_api_intro.htm) rather than their streaming REST API. Once enabled, Segment will collect - events into batches of 5000 before sending to Salesforce. *Enabling Bulk - API is not compatible with the `create` operation*. + events into batches of 5000 before sending to Salesforce. placeholder: '' defaultValue: false required: false @@ -91260,7 +91434,7 @@ items: choices: null dynamic: false allowNull: false - - id: g8VDEwsoaAabDH29ZKw4VA + - id: 8eqq3ZYDFWNcj3wifaXLxj sortOrder: 4 fieldKey: traits label: Record Matchers @@ -91282,7 +91456,7 @@ items: choices: null dynamic: false allowNull: false - - id: b2rQPcswBs1RrSMGLAxXw4 + - id: nFMmcaZWaqGNVDWPv6U7ym sortOrder: 5 fieldKey: bulkUpsertExternalId label: Bulk Upsert External Id @@ -91294,7 +91468,7 @@ items: choices: null dynamic: false allowNull: false - - id: 6WQ8fHTw4zeWPBB41bK8AC + - id: 22sZHY8PpLqArZvEETKZk5 sortOrder: 6 fieldKey: bulkUpdateRecordId label: Bulk Update Record Id @@ -91306,7 +91480,7 @@ items: choices: null dynamic: false allowNull: false - - id: d1mWYfDS3QYtGjY4ds5wny + - id: 5ksHE3wiCB8jYdh2E1oDsR sortOrder: 7 fieldKey: customObjectName label: Salesforce Object @@ -91321,7 +91495,7 @@ items: choices: null dynamic: true allowNull: false - - id: 8WvTGLqKn68ytZ4c9g3CJa + - id: aPPo5BLGKqRGzVKKwm7mhG sortOrder: 8 fieldKey: customFields label: Other Fields @@ -91349,7 +91523,7 @@ items: hidden: false defaultTrigger: null fields: - - id: sFRsixh724SdAeTqHuMEgR + - id: kd2YrbSf3ySnLYP4RmC1pe sortOrder: 0 fieldKey: operation label: Operation @@ -91371,7 +91545,7 @@ items: value: delete dynamic: false allowNull: false - - id: xu3LhMJpHAq66adkMe9CqN + - id: awJuGh6L3JGRydVf8rUKQf sortOrder: 1 fieldKey: recordMatcherOperator label: Record Matchers Operator @@ -91392,7 +91566,7 @@ items: value: AND dynamic: false allowNull: false - - id: w1W6xUeXNGnuujzsGqvFmP + - id: 7kFbfFqmcC1QYdvaFA3SAc sortOrder: 2 fieldKey: enable_batching label: Use Salesforce Bulk API @@ -91401,8 +91575,7 @@ items: If true, events are sent to [Salesforce’s Bulk API 2.0](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/asynch_api_intro.htm) rather than their streaming REST API. Once enabled, Segment will collect - events into batches of 5000 before sending to Salesforce. *Enabling Bulk - API is not compatible with the `create` operation*. + events into batches of 5000 before sending to Salesforce. placeholder: '' defaultValue: false required: false @@ -91410,7 +91583,7 @@ items: choices: null dynamic: false allowNull: false - - id: fYwYfJaqSXH7NCZnxxByqU + - id: cUD3tTWEeaE5VB6nEUsXov sortOrder: 4 fieldKey: traits label: Record Matchers @@ -91432,7 +91605,7 @@ items: choices: null dynamic: false allowNull: false - - id: okWxzD7fghS4HasCNEVJsv + - id: tgW3esofcLiL1AYVZkKa2X sortOrder: 5 fieldKey: bulkUpsertExternalId label: Bulk Upsert External Id @@ -91444,7 +91617,7 @@ items: choices: null dynamic: false allowNull: false - - id: eqm4wyb83WhTuQQ1Q5Ceo7 + - id: 2GJ463KTthFFSzSaHNnMbu sortOrder: 6 fieldKey: bulkUpdateRecordId label: Bulk Update Record Id @@ -91456,7 +91629,7 @@ items: choices: null dynamic: false allowNull: false - - id: p4YXJzoPWqAYKqWpx9LgWS + - id: 4o4MnvUwRoCRGZgRU59nuH sortOrder: 7 fieldKey: description label: Description @@ -91468,7 +91641,7 @@ items: choices: null dynamic: false allowNull: false - - id: 2t1cFS3AceMqPE75bYYTcS + - id: 9hrvPciCb5VDX7w7Myr2AB sortOrder: 8 fieldKey: customFields label: Other Fields @@ -91496,7 +91669,7 @@ items: hidden: false defaultTrigger: null fields: - - id: YrUJqDyLDN961tLYXuJ3w + - id: 92oMRui9iSzd2cjA9esQHL sortOrder: 0 fieldKey: operation label: Operation @@ -91518,7 +91691,7 @@ items: value: delete dynamic: false allowNull: false - - id: hVxb6Xv5qBRxxAChPC8U7S + - id: uRbYWi9m35NxUk4drvBPwz sortOrder: 1 fieldKey: recordMatcherOperator label: Record Matchers Operator @@ -91539,7 +91712,7 @@ items: value: AND dynamic: false allowNull: false - - id: 9nov3iZy6bxfNHk1WDRpTo + - id: ma8unEpanGJXhigz6ZxeDg sortOrder: 2 fieldKey: enable_batching label: Use Salesforce Bulk API @@ -91548,8 +91721,7 @@ items: If true, events are sent to [Salesforce’s Bulk API 2.0](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/asynch_api_intro.htm) rather than their streaming REST API. Once enabled, Segment will collect - events into batches of 5000 before sending to Salesforce. *Enabling Bulk - API is not compatible with the `create` operation*. + events into batches of 5000 before sending to Salesforce. placeholder: '' defaultValue: false required: false @@ -91557,7 +91729,7 @@ items: choices: null dynamic: false allowNull: false - - id: 71JkLc6qz72hWcXKikapuJ + - id: 4eZQdg8GEMm8FetZL6Btq7 sortOrder: 4 fieldKey: traits label: Record Matchers @@ -91579,7 +91751,7 @@ items: choices: null dynamic: false allowNull: false - - id: vFDyyMWmGKN6nL3r3hx7eu + - id: 3yF1gtMyw6zGLMVGC6qsdV sortOrder: 5 fieldKey: bulkUpsertExternalId label: Bulk Upsert External Id @@ -91591,7 +91763,7 @@ items: choices: null dynamic: false allowNull: false - - id: 3S9g7wJjyP562iEPf9ciLr + - id: oKwHwDAkbHj8rhXq4E9J6D sortOrder: 6 fieldKey: bulkUpdateRecordId label: Bulk Update Record Id @@ -91603,7 +91775,7 @@ items: choices: null dynamic: false allowNull: false - - id: 5wgPsmPeXA9bvJmbDjsqLg + - id: 6jCxW1tnZ75hg3rbpuSLXk sortOrder: 7 fieldKey: close_date label: Close Date @@ -91617,7 +91789,7 @@ items: choices: null dynamic: false allowNull: false - - id: nAQZR2h5FWfFEcDUGC5UFy + - id: fSjCM5D4iXNzEfdWnHqDQY sortOrder: 8 fieldKey: name label: Name @@ -91631,7 +91803,7 @@ items: choices: null dynamic: false allowNull: false - - id: vFKaSFS886r9MAeGSLJfh4 + - id: k4CkZ8aCSrKCcfKicvgyhg sortOrder: 9 fieldKey: stage_name label: Stage Name @@ -91645,7 +91817,7 @@ items: choices: null dynamic: false allowNull: false - - id: dkSKerQXaG7vaLoUgQRUNV + - id: vSUPWHhMX4CnMoz4F48Tpv sortOrder: 10 fieldKey: amount label: Amount @@ -91657,7 +91829,7 @@ items: choices: null dynamic: false allowNull: false - - id: t2GQGxGSjCS19NVJqMP2Qx + - id: pcrbgA9BanZtVuKfurZeX4 sortOrder: 11 fieldKey: description label: Description @@ -91669,7 +91841,7 @@ items: choices: null dynamic: false allowNull: false - - id: wnkFY88Hn78AW3rVHeU1Jr + - id: tZCM4DLUBvr8QvsbYJEW4H sortOrder: 12 fieldKey: customFields label: Other Fields @@ -91697,7 +91869,7 @@ items: hidden: false defaultTrigger: type = "group" fields: - - id: 6SYvfKSrEALj2NLyanD1fP + - id: xtQemBhL3yVGpKUiLaD185 sortOrder: 0 fieldKey: operation label: Operation @@ -91719,7 +91891,7 @@ items: value: delete dynamic: false allowNull: false - - id: acmiNgVpw9q31TDzPKudW3 + - id: psmxe6uB5SvDXkULUJTcwE sortOrder: 1 fieldKey: enable_batching label: Use Salesforce Bulk API @@ -91728,8 +91900,7 @@ items: If true, events are sent to [Salesforce’s Bulk API 2.0](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/asynch_api_intro.htm) rather than their streaming REST API. Once enabled, Segment will collect - events into batches of 5000 before sending to Salesforce. *Enabling Bulk - API is not compatible with the `create` operation*. + events into batches of 5000 before sending to Salesforce. placeholder: '' defaultValue: false required: false @@ -91737,7 +91908,7 @@ items: choices: null dynamic: false allowNull: false - - id: fGBq9pkaj293vfzF296Zug + - id: 2kRyqx34qhrxCZrnL3bZxw sortOrder: 3 fieldKey: recordMatcherOperator label: Record Matchers Operator @@ -91758,7 +91929,7 @@ items: value: AND dynamic: false allowNull: false - - id: dVMNYH55tnvmSPUcfmJKMv + - id: kcMRCCDc8yotTmbdRjPnys sortOrder: 4 fieldKey: traits label: Record Matchers @@ -91780,7 +91951,7 @@ items: choices: null dynamic: false allowNull: false - - id: jxEhWjos2RUgTt89n5xq4v + - id: Vozyr5qJ8UiCQqcU2bEp sortOrder: 5 fieldKey: bulkUpsertExternalId label: Bulk Upsert External Id @@ -91792,7 +91963,7 @@ items: choices: null dynamic: false allowNull: false - - id: thtj6NkJpDdknRNrgwKak2 + - id: 6Wqx6zstcUwg2q3okqX2CM sortOrder: 6 fieldKey: bulkUpdateRecordId label: Bulk Update Record Id @@ -91804,7 +91975,7 @@ items: choices: null dynamic: false allowNull: false - - id: baNu3Cay1qZfPDuKpv8Uoh + - id: bNmxyLnfd1uDwJvQ543Mau sortOrder: 7 fieldKey: name label: Name @@ -91818,7 +91989,7 @@ items: choices: null dynamic: false allowNull: false - - id: fAQjy74EYG2k5g9cY3WeP2 + - id: bxGXosUf9XkcXeBUNp7qL5 sortOrder: 8 fieldKey: account_number label: Account Number @@ -91834,7 +92005,7 @@ items: choices: null dynamic: false allowNull: false - - id: tx5jtoTgJNE7QmhNjMMk9Q + - id: nPtmbrKQPnmRQQjhP1G1Lj sortOrder: 9 fieldKey: number_of_employees label: Number of employees @@ -91854,7 +92025,7 @@ items: choices: null dynamic: false allowNull: false - - id: eBB25XsSEzHj3y1M7waYRt + - id: 3PX2xTj9fNGCbyfHCJduni sortOrder: 10 fieldKey: billing_city label: Billing City @@ -91874,7 +92045,7 @@ items: choices: null dynamic: false allowNull: false - - id: gUKEG2pjGrumuQojWmkwJ4 + - id: ty2FaWSo95USLuLT19Pb2B sortOrder: 11 fieldKey: billing_postal_code label: Billing Postal Code @@ -91894,7 +92065,7 @@ items: choices: null dynamic: false allowNull: false - - id: jZ91wGvwFMydD4LYsAW2vk + - id: t4cJBQZT2vD6T6XTdabGoU sortOrder: 12 fieldKey: billing_country label: Billing Country @@ -91914,7 +92085,7 @@ items: choices: null dynamic: false allowNull: false - - id: 5VmUT3xW33tex2SVhFzXQd + - id: 94mtyNiPxd7wRjxg6XZRUo sortOrder: 13 fieldKey: billing_street label: Billing Street @@ -91934,7 +92105,7 @@ items: choices: null dynamic: false allowNull: false - - id: tJjKde173wiv88CTYfgMyu + - id: qFfoTdVZKFA4gGoqH3K1Dx sortOrder: 14 fieldKey: billing_state label: Billing State @@ -91954,7 +92125,7 @@ items: choices: null dynamic: false allowNull: false - - id: qe6w2iwHim91ZxuCf9GRke + - id: mD1NGQtJpgKhb2FSuCAJD sortOrder: 15 fieldKey: shipping_city label: Shipping City @@ -91966,7 +92137,7 @@ items: choices: null dynamic: false allowNull: false - - id: nXQZGZn2ob5jE1aAcTqxzb + - id: iNkSi7wvH62JnSqT3eDA7k sortOrder: 16 fieldKey: shipping_postal_code label: Shipping Postal Code @@ -91978,7 +92149,7 @@ items: choices: null dynamic: false allowNull: false - - id: 3adqGrAFBKGwbHqGCkQKJB + - id: ouMeHqGJ4SBpsykfQhMTMD sortOrder: 17 fieldKey: shipping_country label: Shipping Country @@ -91990,7 +92161,7 @@ items: choices: null dynamic: false allowNull: false - - id: cabrBarHh7hbY7qPN7CcAn + - id: 6VMNJBjmkC1enrDC48Egrd sortOrder: 18 fieldKey: shipping_street label: Shipping Street @@ -92002,7 +92173,7 @@ items: choices: null dynamic: false allowNull: false - - id: j4R4KbTW5ow8TA7Nm2f547 + - id: rvFFD5MKfRoBkmb7oSqRpP sortOrder: 19 fieldKey: shipping_state label: Shipping State @@ -92014,7 +92185,7 @@ items: choices: null dynamic: false allowNull: false - - id: sUYQCqr4kfLMsXHutZUSrL + - id: jdNYHhezkiVF6Ngyr6qES9 sortOrder: 20 fieldKey: phone label: Phone @@ -92034,7 +92205,7 @@ items: choices: null dynamic: false allowNull: false - - id: WPFH99P6sLccCzNboHhHu + - id: hZmw33MbFdYLABXo9GBkWQ sortOrder: 21 fieldKey: description label: Description @@ -92054,7 +92225,7 @@ items: choices: null dynamic: false allowNull: false - - id: eqCumEbydrYtbH1n7oDURW + - id: niFXpbqkM5F8F6DjLcbdjq sortOrder: 22 fieldKey: website label: Website @@ -92074,7 +92245,7 @@ items: choices: null dynamic: false allowNull: false - - id: nrNCB8tsWkPrZrUXVTqCwm + - id: kU9WNjYn81jqfYKzvWuKdX sortOrder: 23 fieldKey: customFields label: Other Fields @@ -92102,7 +92273,7 @@ items: hidden: false defaultTrigger: null fields: - - id: f7tYapKLFYQNfTvtkqQP8U + - id: 7oTE96XHtTaUjzNSjMsG5U sortOrder: 0 fieldKey: operation label: Operation @@ -92124,7 +92295,7 @@ items: value: delete dynamic: false allowNull: false - - id: rDbA7qgsZXzxgashk5ANiB + - id: 6o41f8DZaogh1mJa8dXxxx sortOrder: 1 fieldKey: recordMatcherOperator label: Record Matchers Operator @@ -92145,7 +92316,7 @@ items: value: AND dynamic: false allowNull: false - - id: vqLG1r65nZgsBpqritaaQs + - id: u45BzogbKiMNvuPXEGPvon sortOrder: 2 fieldKey: enable_batching label: Use Salesforce Bulk API @@ -92154,8 +92325,7 @@ items: If true, events are sent to [Salesforce’s Bulk API 2.0](https://developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/api_asynch/asynch_api_intro.htm) rather than their streaming REST API. Once enabled, Segment will collect - events into batches of 5000 before sending to Salesforce. *Enabling Bulk - API is not compatible with the `create` operation*. + events into batches of 5000 before sending to Salesforce. placeholder: '' defaultValue: false required: false @@ -92163,7 +92333,7 @@ items: choices: null dynamic: false allowNull: false - - id: iggvfytews6EHvcZxXQ3CQ + - id: 4yApTMoPYzHNoNCNR2E7Wm sortOrder: 4 fieldKey: traits label: Record Matchers @@ -92185,7 +92355,7 @@ items: choices: null dynamic: false allowNull: false - - id: vbosfeo73fv1PkD3fEdBrq + - id: 7jivj2hJqYZZwH93XL2HrA sortOrder: 5 fieldKey: bulkUpsertExternalId label: Bulk Upsert External Id @@ -92197,7 +92367,7 @@ items: choices: null dynamic: false allowNull: false - - id: 56h3hEYidUEXc4tH7mA9db + - id: p83K2KWW6FqpuHPmhNT4r3 sortOrder: 6 fieldKey: bulkUpdateRecordId label: Bulk Update Record Id @@ -92209,7 +92379,7 @@ items: choices: null dynamic: false allowNull: false - - id: 42R1tDAXwwdHVmVhW9VWDk + - id: kwToG4KQeQUFQtfNgVMGpF sortOrder: 7 fieldKey: last_name label: Last Name @@ -92231,7 +92401,7 @@ items: choices: null dynamic: false allowNull: false - - id: rbH1oB3zmvHqftC9usKi6E + - id: xxELnCnntYCdrLvesS2BDc sortOrder: 8 fieldKey: first_name label: First Name @@ -92251,7 +92421,7 @@ items: choices: null dynamic: false allowNull: false - - id: pxpRC3T8xXCwSxBPJ5w9Lt + - id: dKebAP1NzBCGN4PCY4JY73 sortOrder: 9 fieldKey: account_id label: Account ID @@ -92266,7 +92436,7 @@ items: choices: null dynamic: false allowNull: false - - id: dwkhcBzxHJfrccUVJSgRAg + - id: aUEt5as4d47KbXUqwxEDWJ sortOrder: 10 fieldKey: email label: Email @@ -92286,7 +92456,7 @@ items: choices: null dynamic: false allowNull: false - - id: kSsUFAELvCgD6bdzN2xw1n + - id: 5p54hWXgggSxCQVwkftLbF sortOrder: 11 fieldKey: mailing_city label: Mailing City @@ -92306,7 +92476,7 @@ items: choices: null dynamic: false allowNull: false - - id: aJEJ5TvcjspsuqeUDmSfir + - id: sVWSXzGWB5GXHy37njfrHA sortOrder: 12 fieldKey: mailing_postal_code label: Mailing Postal Code @@ -92326,7 +92496,7 @@ items: choices: null dynamic: false allowNull: false - - id: aX1QgctkcstoAdnAv33Dui + - id: 864eJ8jaViYqefurbr2YpV sortOrder: 13 fieldKey: mailing_country label: Mailing Country @@ -92346,7 +92516,7 @@ items: choices: null dynamic: false allowNull: false - - id: tMnQF3RruNKmxbieF3AnkE + - id: dr4QiL2uTwfhPEWQjNSisv sortOrder: 14 fieldKey: mailing_street label: Mailing Street @@ -92366,7 +92536,7 @@ items: choices: null dynamic: false allowNull: false - - id: sZzpkUGzrfqpSRMNCAu96V + - id: heYvD4jGqrLCDYM5uJveXt sortOrder: 15 fieldKey: mailing_state label: Mailing State @@ -92386,7 +92556,7 @@ items: choices: null dynamic: false allowNull: false - - id: 9GVnkR9Hp5cCkHiheXLzHf + - id: oncLY9Q5rBSwAhuNEewptZ sortOrder: 16 fieldKey: customFields label: Other Fields diff --git a/src/_data/catalog/destinations_private.yml b/src/_data/catalog/destinations_private.yml index f2361635f0..97953f161a 100644 --- a/src/_data/catalog/destinations_private.yml +++ b/src/_data/catalog/destinations_private.yml @@ -1,5 +1,5 @@ # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT -# destination data last updated 2024-08-22 +# destination data last updated 2024-08-27 items: - id: 54521fd925e721e32a72eee1 display_name: Pardot diff --git a/src/_data/catalog/source_categories.yml b/src/_data/catalog/source_categories.yml index 47db547ef4..c66b7e2ece 100644 --- a/src/_data/catalog/source_categories.yml +++ b/src/_data/catalog/source_categories.yml @@ -1,5 +1,5 @@ # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT -# source categories last updated 2024-08-22 +# source categories last updated 2024-08-27 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 f815329da6..4607d9ada3 100644 --- a/src/_data/catalog/sources.yml +++ b/src/_data/catalog/sources.yml @@ -1,5 +1,5 @@ # AUTOGENERATED FROM PUBLIC API. DO NOT EDIT -# sources last updated 2024-08-22 +# sources last updated 2024-08-27 items: - id: 8HWbgPTt3k display_name: .NET