From af9a7bb114e3d4f4180f63e0e1d0007c4244eb14 Mon Sep 17 00:00:00 2001 From: Romani Ramzi Date: Thu, 28 Mar 2024 23:08:40 +0000 Subject: [PATCH 01/15] create docs --- .../actions-optimizely-data-platform/index.md | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/connections/destinations/catalog/actions-optimizely-data-platform/index.md diff --git a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md new file mode 100644 index 0000000000..e8ec40e9d3 --- /dev/null +++ b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md @@ -0,0 +1,51 @@ +--- +title: Optimizely Data Platform Destination +--- + +Sync your Twilio Segment customer data to Optimizely Data Platform (ODP) for real-time segmentation, reporting, and to enrich customer profiles in ODP. + +After you complete the setup below, this integration syncs your Twilio Segment customer data to ODP in near real-time. + +Prerequisites +------------- + +* Twilio Segment account +* ODP or [ODP Lite](https://support.optimizely.com/hc/en-us/articles/8359093735309-Welcome-to-ODP-Lite) account + +Enable the integration +---------------------- + +1. In ODP, go to the **App Directory**. +2. Select the **Twilio Segment** app. +3. Click **Install App**. +4. On the **Settings** tab, click **Generate** and copy the token that displays. +5. In Twilio Segment, go to **Connections > Destinations**. +6. Search for and select **Optimizely Data Platform**. +7. Complete the following fields on the **Settings** tab: + - **Name** – Enter a name for the destination, like _Optimizely Data Platform_. + - **Api Key** – Paste your ODP API token from step 4. + - **Region** – Select your region. + - **Enable Destination** – Toggle to **On**. +8. Click **Save Changes**. + +Configure the event mappings +---------------------------- +After you enable the integration, you must map the events that you want Twilio Segment to send to ODP. + +In Twilio Segment, on the **Mappings** tab of the Optimizely Data Platform destination, there is a list of pre-built mappings that you can enable or disable. For example, if you enable the **Email Opened** mapping, each email opened event syncs from Twilio Segment to ODP going forward. + +If you want to map an event that is not listed: +1. Click **New Mapping > Custom Event**. +2. (Optional) Enter a descriptive name for the event. +3. In section 1, select the event that you want to send to ODP. +4. In section 2, click **Load Test Event from Source**. This generates the raw data for the selected event and populates the mappings in section 3. +5. In section 3, the ID and timestamp field mappings auto-populate, but you can edit them as desired. Ensure you select the event type and, optionally, the event action. For example, if you are configuring a custom event to track button clicks, select _button_ for the event type, and _click_ for the event action. + > 📘 Note + > + > In ODP, each event requires an ID, timestamp, and event type. The event action is optional. See [Events](https://docs.developers.optimizely.com/optimizely-data-platform/docs/thebasics-events) in the ODP documentation. +6. (Optional) To ensure the custom event is configured correctly, in section 4, click **Send test event to destination**. +7. Click Save. +8. Toggle the **Status** to **Enabled** for the custom event you created. + +The event data sends from Twilio Segment to ODP starting after you enable the mapping in the destination. It does not retroactively send events that occurred prior to configuring the integration and enabling the mappings. + From 2cb600d7cb5f8d98c95d2993a8564a69683b7923 Mon Sep 17 00:00:00 2001 From: Romani Ramzi <102735170+Romani-Ramzi@users.noreply.github.com> Date: Tue, 2 Apr 2024 15:02:55 +0100 Subject: [PATCH 02/15] Update src/connections/destinations/catalog/actions-optimizely-data-platform/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../catalog/actions-optimizely-data-platform/index.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md index e8ec40e9d3..bd1bc9c217 100644 --- a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md +++ b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md @@ -1,5 +1,8 @@ --- title: Optimizely Data Platform Destination +beta: true +hidden: true +id: 6512d7f86bdccc3829fc4ac3 --- Sync your Twilio Segment customer data to Optimizely Data Platform (ODP) for real-time segmentation, reporting, and to enrich customer profiles in ODP. From 56729f0167fd4d56e11c6bade5e5e02ab5f750c4 Mon Sep 17 00:00:00 2001 From: Romani Ramzi <102735170+Romani-Ramzi@users.noreply.github.com> Date: Tue, 2 Apr 2024 15:03:02 +0100 Subject: [PATCH 03/15] Update src/connections/destinations/catalog/actions-optimizely-data-platform/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../catalog/actions-optimizely-data-platform/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md index bd1bc9c217..00ba0cf4bf 100644 --- a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md +++ b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md @@ -31,8 +31,8 @@ Enable the integration - **Enable Destination** – Toggle to **On**. 8. Click **Save Changes**. -Configure the event mappings ----------------------------- +## Configure event mappings + After you enable the integration, you must map the events that you want Twilio Segment to send to ODP. In Twilio Segment, on the **Mappings** tab of the Optimizely Data Platform destination, there is a list of pre-built mappings that you can enable or disable. For example, if you enable the **Email Opened** mapping, each email opened event syncs from Twilio Segment to ODP going forward. From f2e5fc2977f5b7efad8d8be9792e1a07a4fa4726 Mon Sep 17 00:00:00 2001 From: Romani Ramzi <102735170+Romani-Ramzi@users.noreply.github.com> Date: Tue, 2 Apr 2024 15:03:32 +0100 Subject: [PATCH 04/15] Update src/connections/destinations/catalog/actions-optimizely-data-platform/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../catalog/actions-optimizely-data-platform/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md index 00ba0cf4bf..a4006cb7f2 100644 --- a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md +++ b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md @@ -7,7 +7,7 @@ id: 6512d7f86bdccc3829fc4ac3 Sync your Twilio Segment customer data to Optimizely Data Platform (ODP) for real-time segmentation, reporting, and to enrich customer profiles in ODP. -After you complete the setup below, this integration syncs your Twilio Segment customer data to ODP in near real-time. +After you set up your Optimizely Data Platform destination, Segment syncs your customer data to ODP in near real-time. Prerequisites ------------- From be066912f9843cec8906706c11c2f4bba162637c Mon Sep 17 00:00:00 2001 From: Romani Ramzi <102735170+Romani-Ramzi@users.noreply.github.com> Date: Tue, 2 Apr 2024 15:03:38 +0100 Subject: [PATCH 05/15] Update src/connections/destinations/catalog/actions-optimizely-data-platform/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../catalog/actions-optimizely-data-platform/index.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md index a4006cb7f2..11f2ed76a8 100644 --- a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md +++ b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md @@ -9,8 +9,7 @@ Sync your Twilio Segment customer data to Optimizely Data Platform (ODP) for rea After you set up your Optimizely Data Platform destination, Segment syncs your customer data to ODP in near real-time. -Prerequisites -------------- +## Prerequisites * Twilio Segment account * ODP or [ODP Lite](https://support.optimizely.com/hc/en-us/articles/8359093735309-Welcome-to-ODP-Lite) account From 920d24044716858b33bdf0d532a7f358050b2233 Mon Sep 17 00:00:00 2001 From: Romani Ramzi <102735170+Romani-Ramzi@users.noreply.github.com> Date: Tue, 2 Apr 2024 15:03:45 +0100 Subject: [PATCH 06/15] Update src/connections/destinations/catalog/actions-optimizely-data-platform/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../catalog/actions-optimizely-data-platform/index.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md index 11f2ed76a8..173809c003 100644 --- a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md +++ b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md @@ -14,8 +14,7 @@ After you set up your Optimizely Data Platform destination, Segment syncs your c * Twilio Segment account * ODP or [ODP Lite](https://support.optimizely.com/hc/en-us/articles/8359093735309-Welcome-to-ODP-Lite) account -Enable the integration ----------------------- +## Enable the integration 1. In ODP, go to the **App Directory**. 2. Select the **Twilio Segment** app. From 88ffd5f236fbb6fcd25fb8c7212c566b6c62ff13 Mon Sep 17 00:00:00 2001 From: Romani Ramzi <102735170+Romani-Ramzi@users.noreply.github.com> Date: Tue, 2 Apr 2024 15:03:56 +0100 Subject: [PATCH 07/15] Update src/connections/destinations/catalog/actions-optimizely-data-platform/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../catalog/actions-optimizely-data-platform/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md index 173809c003..32db0f5486 100644 --- a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md +++ b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md @@ -31,7 +31,7 @@ After you set up your Optimizely Data Platform destination, Segment syncs your c ## Configure event mappings -After you enable the integration, you must map the events that you want Twilio Segment to send to ODP. +After you enable the Optimizely Data Platform destination, you must map the events that you want Twilio Segment to send to ODP. In Twilio Segment, on the **Mappings** tab of the Optimizely Data Platform destination, there is a list of pre-built mappings that you can enable or disable. For example, if you enable the **Email Opened** mapping, each email opened event syncs from Twilio Segment to ODP going forward. From 0e6627363616c87b9e568eda13daefb5d92d1e9b Mon Sep 17 00:00:00 2001 From: Romani Ramzi <102735170+Romani-Ramzi@users.noreply.github.com> Date: Tue, 2 Apr 2024 15:05:50 +0100 Subject: [PATCH 08/15] Update src/connections/destinations/catalog/actions-optimizely-data-platform/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../actions-optimizely-data-platform/index.md | 31 ++++++++++++------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md index 32db0f5486..593c71c961 100644 --- a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md +++ b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md @@ -33,20 +33,29 @@ After you set up your Optimizely Data Platform destination, Segment syncs your c After you enable the Optimizely Data Platform destination, you must map the events that you want Twilio Segment to send to ODP. -In Twilio Segment, on the **Mappings** tab of the Optimizely Data Platform destination, there is a list of pre-built mappings that you can enable or disable. For example, if you enable the **Email Opened** mapping, each email opened event syncs from Twilio Segment to ODP going forward. +In Twilio Segment, on the **Mappings** tab of the Optimizely Data Platform destination, Segment displays a list of pre-built mappings that you can enable or disable. For example, if you enabled the **Email Opened** mapping, each email opened event Segment ingested after you enabled the mapping would sync to ODP. If you want to map an event that is not listed: 1. Click **New Mapping > Custom Event**. -2. (Optional) Enter a descriptive name for the event. -3. In section 1, select the event that you want to send to ODP. -4. In section 2, click **Load Test Event from Source**. This generates the raw data for the selected event and populates the mappings in section 3. -5. In section 3, the ID and timestamp field mappings auto-populate, but you can edit them as desired. Ensure you select the event type and, optionally, the event action. For example, if you are configuring a custom event to track button clicks, select _button_ for the event type, and _click_ for the event action. - > 📘 Note - > - > In ODP, each event requires an ID, timestamp, and event type. The event action is optional. See [Events](https://docs.developers.optimizely.com/optimizely-data-platform/docs/thebasics-events) in the ODP documentation. -6. (Optional) To ensure the custom event is configured correctly, in section 4, click **Send test event to destination**. -7. Click Save. -8. Toggle the **Status** to **Enabled** for the custom event you created. +2. _(Optional)_: Enter a descriptive name for the event. +3. Select the event that you want to send to ODP. +4. Click **Load Test Event from Source**. This generates the raw data for the selected event and populates your mappings. The ID and timestamp field mappings auto-populate, but you can edit them as desired. +5. Select the event type and, optionally, the event action. For example, if you are configuring a custom event to track button clicks, select _button_ for the event type and _click_ for the event action. + +> info "Required fields" +> In ODP, each event requires an ID, timestamp, and event type. The event action is optional. See ODP's [Events](https://docs.developers.optimizely.com/optimizely-data-platform/docs/thebasics-events) documentation for more details. + +
    +
  1. + _(Optional)_: To ensure the custom event is configured correctly, click **Send test event to destination**. +
  2. +
  3. + Click **Save**. +
  4. +
  5. + Toggle your custom event's status to **Enabled**. +
  6. +
The event data sends from Twilio Segment to ODP starting after you enable the mapping in the destination. It does not retroactively send events that occurred prior to configuring the integration and enabling the mappings. From 1c4385cf2154bc722d40a6b455757a86a390a8e4 Mon Sep 17 00:00:00 2001 From: Romani Ramzi <102735170+Romani-Ramzi@users.noreply.github.com> Date: Tue, 2 Apr 2024 15:06:01 +0100 Subject: [PATCH 09/15] Update src/connections/destinations/catalog/actions-optimizely-data-platform/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../catalog/actions-optimizely-data-platform/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md index 593c71c961..665709d450 100644 --- a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md +++ b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md @@ -11,8 +11,8 @@ After you set up your Optimizely Data Platform destination, Segment syncs your c ## Prerequisites -* Twilio Segment account -* ODP or [ODP Lite](https://support.optimizely.com/hc/en-us/articles/8359093735309-Welcome-to-ODP-Lite) account +- Twilio Segment workspace +- ODP or [ODP Lite](https://support.optimizely.com/hc/en-us/articles/8359093735309-Welcome-to-ODP-Lite){:target="_blank”} account ## Enable the integration From 2d4f2a997a2d6e4f271e374b252a35a0de2c641c Mon Sep 17 00:00:00 2001 From: Romani Ramzi <102735170+Romani-Ramzi@users.noreply.github.com> Date: Tue, 2 Apr 2024 15:06:09 +0100 Subject: [PATCH 10/15] Update src/connections/destinations/catalog/actions-optimizely-data-platform/index.md Co-authored-by: forstisabella <92472883+forstisabella@users.noreply.github.com> --- .../actions-optimizely-data-platform/index.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md index 665709d450..70a5a02557 100644 --- a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md +++ b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md @@ -16,18 +16,19 @@ After you set up your Optimizely Data Platform destination, Segment syncs your c ## Enable the integration -1. In ODP, go to the **App Directory**. +1. In ODP, open the App Directory. 2. Select the **Twilio Segment** app. 3. Click **Install App**. -4. On the **Settings** tab, click **Generate** and copy the token that displays. -5. In Twilio Segment, go to **Connections > Destinations**. +4. On the Settings tab, click **Generate** and copy the displayed token. +5. Open the Segment app and navigate to the [Destination catalog page](https://app.segment.com/goto-my-workspace/destinations/catalog){:target="_blank”}. 6. Search for and select **Optimizely Data Platform**. -7. Complete the following fields on the **Settings** tab: - - **Name** – Enter a name for the destination, like _Optimizely Data Platform_. - - **Api Key** – Paste your ODP API token from step 4. - - **Region** – Select your region. - - **Enable Destination** – Toggle to **On**. -8. Click **Save Changes**. +7. Click **Add destination** and select a source to connect to the Optimizely Data Platform destination. +8. Enter a name for your destination and click **Create destination**. +9. On the destination's Settings tab, enter the following information: + - **Api Key** – Paste your ODP API token from step 4 + - **Region** – Select your region + - **Enable Destination** – Toggle to **On** +10. Click **Save Changes**. ## Configure event mappings From 07e45c9d0828cb4f71b6949f4974f70bea22fc2e Mon Sep 17 00:00:00 2001 From: Romani Ramzi <102735170+Romani-Ramzi@users.noreply.github.com> Date: Tue, 2 Apr 2024 19:02:56 +0100 Subject: [PATCH 11/15] Update src/connections/destinations/catalog/actions-optimizely-data-platform/index.md Co-authored-by: Thomas Gilbert <64277654+tcgilbert@users.noreply.github.com> --- .../catalog/actions-optimizely-data-platform/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md index 70a5a02557..98005cfe9e 100644 --- a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md +++ b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md @@ -60,3 +60,4 @@ If you want to map an event that is not listed: The event data sends from Twilio Segment to ODP starting after you enable the mapping in the destination. It does not retroactively send events that occurred prior to configuring the integration and enabling the mappings. +{% include components/actions-fields.html %} From cf36f44ae6375e2686c04b1d272e779da808d4f2 Mon Sep 17 00:00:00 2001 From: Romani Ramzi Date: Tue, 2 Apr 2024 19:56:09 +0100 Subject: [PATCH 12/15] Fix review --- .../catalog/actions-optimizely-data-platform/index.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md index 98005cfe9e..c689e05c8f 100644 --- a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md +++ b/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md @@ -9,6 +9,8 @@ Sync your Twilio Segment customer data to Optimizely Data Platform (ODP) for rea After you set up your Optimizely Data Platform destination, Segment syncs your customer data to ODP in near real-time. +This destination is maintained by Optimizely. For any issues with the destination, [contact Optimizely Support team](mailto:support@optimizely.com). + ## Prerequisites - Twilio Segment workspace @@ -16,7 +18,7 @@ After you set up your Optimizely Data Platform destination, Segment syncs your c ## Enable the integration -1. In ODP, open the App Directory. +1. In ODP, open the **App Directory**. 2. Select the **Twilio Segment** app. 3. Click **Install App**. 4. On the Settings tab, click **Generate** and copy the displayed token. From be152f188c9fe3126ac0d05ebd82b170bb08114d Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Fri, 5 Apr 2024 11:40:23 -0400 Subject: [PATCH 13/15] catalog --- src/_data/catalog/destination_categories.yml | 2 +- src/_data/catalog/destinations.yml | 947 ++++++++++++++++++- src/_data/catalog/destinations_private.yml | 2 +- src/_data/catalog/source_categories.yml | 2 +- src/_data/catalog/sources.yml | 2 +- 5 files changed, 950 insertions(+), 5 deletions(-) diff --git a/src/_data/catalog/destination_categories.yml b/src/_data/catalog/destination_categories.yml index f0240ef22e..3582847744 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-04-04 +# destination categories last updated 2024-04-05 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 2f05eb3a69..9dda3189b4 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-04-04 +# destination data last updated 2024-04-05 items: - id: 637e8d185e2dec264895ea89 display_name: 1Flow @@ -66016,6 +66016,951 @@ items: dynamic: false allowNull: false presets: [] +- id: 6512d7f86bdccc3829fc4ac3 + display_name: Optimizely Data Platform + name: Optimizely Data Platform + slug: optimizely-data-platform + hidden: false + endpoints: + - US + regions: + - us-west-2 + - eu-west-1 + url: connections/destinations/catalog/optimizely-data-platform + previous_names: + - Optimizely Data Platform + website: http://www.segment.com + status: PUBLIC_BETA + categories: + - Personalization + - A/B Testing + logo: + url: https://cdn-devcenter.segment.com/4382f18e-f9b6-4aaa-876e-52ebab6eb643.svg + mark: + url: https://cdn-devcenter.segment.com/8a97d9c2-c9ad-4e09-a033-8605443ab7ab.svg + methods: + track: true + identify: true + group: true + alias: true + screen: false + page: true + platforms: + browser: true + mobile: false + server: true + warehouse: false + cloudAppObject: false + components: [] + browserUnbundlingSupported: false + browserUnbundlingPublic: false + replay: false + connection_modes: + device: + web: false + mobile: false + server: false + cloud: + web: true + mobile: false + server: true + settings: + - name: apiKey + type: password + defaultValue: '' + description: Api Key used for Optimizely API authorization when sending events + required: true + label: Api Key + - name: region + type: select + defaultValue: US + description: Optimizely Region to sync data to. Default is US + required: true + label: Region + actions: + - id: fXGcooSt5ZV7XjR1gTBj1s + name: Upsert Contact + slug: upsertContact + description: >- + Send user profile data from Segment to Optimizely Data Platform. Creates + or updates a user profile in Optimzely Data Platform + platform: CLOUD + hidden: false + defaultTrigger: type = "identify" + fields: + - id: gxC9svnT63qNDsCmiGuVdg + sortOrder: 0 + fieldKey: user_identifiers + label: User identifiers + type: OBJECT + description: 'User identifier details to send to Optimizely. ' + placeholder: '' + defaultValue: + anonymousId: + '@path': $.anonymousId + userId: + '@path': $.userId + email: + '@if': + exists: + '@path': $.properties.email + then: + '@path': $.properties.email + else: + '@path': $.traits.email + optimizely_vuid: + '@if': + exists: + '@path': $.properties.optimizely_vuid + then: + '@path': $.properties.optimizely_vuid + else: + '@path': $.traits.optimizely_vuid + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + - id: gMcQ6XSRegcyzxUidyNLL4 + sortOrder: 1 + fieldKey: company + label: Company Name + type: STRING + description: The name of the company associated with the Contact + placeholder: '' + defaultValue: + '@path': $.traits.company + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: mrrEaEbNxgKfFNqbgErYuC + sortOrder: 2 + fieldKey: title + label: Title + type: STRING + description: The Contact's Title + placeholder: '' + defaultValue: + '@path': $.traits.title + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: 81fY6TZR4n8YmwAP18isEq + sortOrder: 3 + fieldKey: name + label: Name + type: STRING + description: Contact's full name + placeholder: '' + defaultValue: + '@path': $.traits.name + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: 9s4Sf2uCXTyS5S7embJWYX + sortOrder: 4 + fieldKey: firstname + label: First Name + type: STRING + description: Contact's first name + placeholder: '' + defaultValue: + '@path': $.traits.first_name + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: 52aqzDYy3Qu7cFbamzjgCd + sortOrder: 5 + fieldKey: lastname + label: Last Name + type: STRING + description: Contact's last name + placeholder: '' + defaultValue: + '@path': $.traits.last_name + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: vH5d4Un2feybhi1MK1WvLM + sortOrder: 6 + fieldKey: gender + label: Gender + type: STRING + description: Contact's gender + placeholder: '' + defaultValue: + '@path': $.traits.gender + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: sMBzJ2c1gPMuE8f8qVuT6n + sortOrder: 7 + fieldKey: DOB + label: Birthday + type: DATETIME + description: Contact's birthday. The format should be datetime + placeholder: '' + defaultValue: + '@path': $.traits.birthday + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: kdPNqhDGCqL7iyUCfFZddR + sortOrder: 8 + fieldKey: phone + label: Phone + type: STRING + description: Contact's phone number. + placeholder: '' + defaultValue: + '@path': $.traits.phone + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: 8Hpr9VEjBdzZFzNtY586jo + sortOrder: 9 + fieldKey: age + label: Age + type: NUMBER + description: Contact's age. + placeholder: '' + defaultValue: + '@path': $.traits.age + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: frvhCiJPa9fu4a647rgUk2 + sortOrder: 10 + fieldKey: address + label: Address + type: OBJECT + description: Address details object + placeholder: '' + defaultValue: + street: + '@path': $.traits.address.street + city: + '@path': $.traits.address.city + state: + '@path': $.traits.address.state + zip: + '@path': $.traits.address.postalCode + country: + '@path': $.traits.address.country + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: tngqTFxMihC8meogqEL4s8 + sortOrder: 11 + fieldKey: avatar + label: avatar + type: STRING + description: The user's avatar image URL. + placeholder: '' + defaultValue: + '@path': $.traits.avatar + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: iErwR3xPQSu7CD8UugWpCq + sortOrder: 12 + fieldKey: additional_traits + label: Addition User Traits + type: OBJECT + description: Additional user profile details + placeholder: '' + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: hcqEnue2U8oG3e3iVHW5KV + name: Email Event + slug: emailEvent + description: Send email related Segment track() events to Optimizely Data Platform + platform: CLOUD + hidden: false + defaultTrigger: null + fields: + - id: x7CuvmeNY7UR4SQDDsha8A + sortOrder: 0 + fieldKey: user_identifiers + label: User identifiers + type: OBJECT + description: 'User identifier details to send to Optimizely. ' + placeholder: '' + defaultValue: + anonymousId: + '@path': $.anonymousId + userId: + '@path': $.userId + email: + '@if': + exists: + '@path': $.properties.email + then: + '@path': $.properties.email + else: + '@path': $.context.traits.email + optimizely_vuid: + '@if': + exists: + '@path': $.properties.optimizely_vuid + then: + '@path': $.properties.optimizely_vuid + else: + '@path': $.context.traits.optimizely_vuid + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + - id: qtN7TqkR86yPfcXa9BR1u + sortOrder: 1 + fieldKey: event_action + label: Optimizely Event Action + type: STRING + description: The name of the Optimizely Event Action. + placeholder: '' + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + - id: nv9gXafS9K76Vsv5goaSb6 + sortOrder: 2 + fieldKey: campaign + label: Campaign Name + type: STRING + description: The campaign name + placeholder: '' + defaultValue: + '@path': $.properties.campaign_name + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + - id: uRh2sdVY9AyBonoU3ffNPP + sortOrder: 3 + fieldKey: campaign_id + label: Campaign ID + type: STRING + description: The campaign unique identifier + placeholder: '' + defaultValue: + '@path': $.properties.campaign_id + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: 7N6MNXpj7z9f9Lto1ppqE4 + sortOrder: 4 + fieldKey: link_url + label: Link URL + type: STRING + description: URL of the link which was clicked + placeholder: '' + defaultValue: + '@path': $.properties.link_url + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: rUSHG6LjhpqHJ6WEpBKhmQ + sortOrder: 5 + fieldKey: timestamp + label: Timestamp + type: STRING + description: Event timestamp + placeholder: '' + defaultValue: + '@path': $.timestamp + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + - id: meD4xgcJ8b3f29gWudiuFQ + name: Ecommerce Event + slug: customEvent + description: Send Segment Ecommerce track() events to Optimizely Data Platform + platform: CLOUD + hidden: false + defaultTrigger: null + fields: + - id: mKcrXoAFJMJVvirdKE9wwc + sortOrder: 0 + fieldKey: user_identifiers + label: User identifiers + type: OBJECT + description: 'User identifier details to send to Optimizely. ' + placeholder: '' + defaultValue: + anonymousId: + '@path': $.anonymousId + userId: + '@path': $.userId + email: + '@if': + exists: + '@path': $.properties.email + then: + '@path': $.properties.email + else: + '@path': $.traits.email + optimizely_vuid: + '@if': + exists: + '@path': $.properties.optimizely_vuid + then: + '@path': $.properties.optimizely_vuid + else: + '@path': $.traits.optimizely_vuid + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + - id: aN5iUDwxADZtYPJWS2etYA + sortOrder: 1 + fieldKey: event_type + label: Optimizely Event Type + type: STRING + description: The Optimizely Event Type. Defaults to "custom" if not provided + placeholder: '' + defaultValue: + '@path': $.event + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: sAeNWXnnkrQf5BQdQUDZcm + sortOrder: 2 + fieldKey: event_action + label: Optimizely Event Action + type: STRING + description: The name of the Optimizely Event Action. + placeholder: '' + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + - id: oDgr989WSp3GZQc9dQUjs4 + sortOrder: 3 + fieldKey: products + label: Product details + type: OBJECT + description: >- + Product details to associate with the event. Product ID field is + required for each product + placeholder: '' + defaultValue: + '@arrayPath': + - $.properties.products + - product_id: + '@path': $.product_id + qty: + '@path': $.quantity + required: false + multiple: true + choices: null + dynamic: false + allowNull: false + - id: mXeGYjpAaGVbAiafssjc8B + sortOrder: 4 + fieldKey: order_id + label: Order ID + type: STRING + description: Identifier for the order + placeholder: '' + defaultValue: + '@path': $.properties.order_id + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: eM7bVZyi9NvmESaUR3tAbT + sortOrder: 5 + fieldKey: total + label: Order Total + type: STRING + description: Total value of the order + placeholder: '' + defaultValue: + '@path': $.properties.total + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: iiNQW8N5ekeVy6LtUY3kjU + sortOrder: 6 + fieldKey: timestamp + label: Timestamp + type: STRING + description: Event timestamp + placeholder: '' + defaultValue: + '@path': $.timestamp + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + - id: xqor3XEmPcajqx2VPxiHJx + name: Custom Event + slug: nonEcommCustomEvent + description: Send Segment custom track() events to Optimizely Data Platform + platform: CLOUD + hidden: false + defaultTrigger: null + fields: + - id: qGohE2rWsSwGca2GyzQQyU + sortOrder: 0 + fieldKey: user_identifiers + label: User identifiers + type: OBJECT + description: 'User identifier details to send to Optimizely. ' + placeholder: '' + defaultValue: + anonymousId: + '@path': $.anonymousId + userId: + '@path': $.userId + email: + '@if': + exists: + '@path': $.properties.email + then: + '@path': $.properties.email + else: + '@path': $.traits.email + optimizely_vuid: + '@if': + exists: + '@path': $.properties.optimizely_vuid + then: + '@path': $.properties.optimizely_vuid + else: + '@path': $.traits.optimizely_vuid + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + - id: djVVTAaTM5mCYg9bkYonUh + sortOrder: 1 + fieldKey: event_type + label: Optimizely Event Type + type: STRING + description: The Optimizely Event Type. Defaults to "custom" if not provided + placeholder: '' + defaultValue: + '@path': $.event + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: sRo8xcMk7cvNWCPTFf3Haq + sortOrder: 2 + fieldKey: event_action + label: Optimizely Event Action + type: STRING + description: The name of the Optimizely Event Action. + placeholder: '' + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: ec2bgYTLqu6NkpyRAz8SnP + sortOrder: 3 + fieldKey: data + label: Event Properties + type: OBJECT + description: Additional information to send with your custom event + placeholder: '' + defaultValue: + '@path': $.properties + required: false + multiple: false + choices: null + dynamic: false + allowNull: false + - id: 5zYqdDAfbKUy7yarnVzgVa + sortOrder: 4 + fieldKey: timestamp + label: Timestamp + type: STRING + description: Event timestamp + placeholder: '' + defaultValue: + '@path': $.timestamp + required: true + multiple: false + choices: null + dynamic: false + allowNull: false + presets: + - actionId: hcqEnue2U8oG3e3iVHW5KV + name: Email Sent + fields: + user_identifiers: + anonymousId: + '@path': $.anonymousId + userId: + '@path': $.userId + email: + '@if': + exists: + '@path': $.properties.email + then: + '@path': $.properties.email + else: + '@path': $.context.traits.email + optimizely_vuid: + '@if': + exists: + '@path': $.properties.optimizely_vuid + then: + '@path': $.properties.optimizely_vuid + else: + '@path': $.context.traits.optimizely_vuid + campaign: + '@path': $.properties.campaign_name + campaign_id: + '@path': $.properties.campaign_id + link_url: + '@path': $.properties.link_url + timestamp: + '@path': $.timestamp + event_action: sent + trigger: type = "track" and event = "Email Sent" + - actionId: meD4xgcJ8b3f29gWudiuFQ + name: Product Removed + fields: + user_identifiers: + anonymousId: + '@path': $.anonymousId + userId: + '@path': $.userId + email: + '@if': + exists: + '@path': $.properties.email + then: + '@path': $.properties.email + else: + '@path': $.traits.email + optimizely_vuid: + '@if': + exists: + '@path': $.properties.optimizely_vuid + then: + '@path': $.properties.optimizely_vuid + else: + '@path': $.traits.optimizely_vuid + event_type: product + products: + '@arrayPath': + - $.properties + - product_id: + '@path': $.product_id + qty: + '@path': $.quantity + order_id: + '@path': $.properties.order_id + total: + '@path': $.properties.total + timestamp: + '@path': $.timestamp + event_action: remove_from_cart + trigger: type = "track" and event = "Product Removed" + - actionId: hcqEnue2U8oG3e3iVHW5KV + name: Email Marked as Spam + fields: + user_identifiers: + anonymousId: + '@path': $.anonymousId + userId: + '@path': $.userId + email: + '@if': + exists: + '@path': $.properties.email + then: + '@path': $.properties.email + else: + '@path': $.context.traits.email + optimizely_vuid: + '@if': + exists: + '@path': $.properties.optimizely_vuid + then: + '@path': $.properties.optimizely_vuid + else: + '@path': $.context.traits.optimizely_vuid + campaign: + '@path': $.properties.campaign_name + campaign_id: + '@path': $.properties.campaign_id + link_url: + '@path': $.properties.link_url + timestamp: + '@path': $.timestamp + event_action: spam_report + trigger: type = "track" and event = "Email Marked as Spam" + - actionId: meD4xgcJ8b3f29gWudiuFQ + name: Product Added + fields: + user_identifiers: + anonymousId: + '@path': $.anonymousId + userId: + '@path': $.userId + email: + '@if': + exists: + '@path': $.properties.email + then: + '@path': $.properties.email + else: + '@path': $.traits.email + optimizely_vuid: + '@if': + exists: + '@path': $.properties.optimizely_vuid + then: + '@path': $.properties.optimizely_vuid + else: + '@path': $.traits.optimizely_vuid + event_type: product + products: + '@arrayPath': + - $.properties + - product_id: + '@path': $.product_id + qty: + '@path': $.quantity + order_id: + '@path': $.properties.order_id + total: + '@path': $.properties.total + timestamp: + '@path': $.timestamp + event_action: add_to_cart + trigger: type = "track" and event = "Product Added" + - actionId: hcqEnue2U8oG3e3iVHW5KV + name: Email Opened + fields: + user_identifiers: + anonymousId: + '@path': $.anonymousId + userId: + '@path': $.userId + email: + '@if': + exists: + '@path': $.properties.email + then: + '@path': $.properties.email + else: + '@path': $.context.traits.email + optimizely_vuid: + '@if': + exists: + '@path': $.properties.optimizely_vuid + then: + '@path': $.properties.optimizely_vuid + else: + '@path': $.context.traits.optimizely_vuid + campaign: + '@path': $.properties.campaign_name + campaign_id: + '@path': $.properties.campaign_id + link_url: + '@path': $.properties.link_url + timestamp: + '@path': $.timestamp + event_action: open + trigger: type = "track" and event = "Email Opened" + - actionId: meD4xgcJ8b3f29gWudiuFQ + name: Product Viewed + fields: + user_identifiers: + anonymousId: + '@path': $.anonymousId + userId: + '@path': $.userId + email: + '@if': + exists: + '@path': $.properties.email + then: + '@path': $.properties.email + else: + '@path': $.traits.email + optimizely_vuid: + '@if': + exists: + '@path': $.properties.optimizely_vuid + then: + '@path': $.properties.optimizely_vuid + else: + '@path': $.traits.optimizely_vuid + event_type: product + products: + '@arrayPath': + - $.properties + - product_id: + '@path': $.product_id + qty: + '@path': $.quantity + order_id: + '@path': $.properties.order_id + total: + '@path': $.properties.total + timestamp: + '@path': $.timestamp + event_action: detail + trigger: type = "track" and event = "Product Viewed" + - actionId: hcqEnue2U8oG3e3iVHW5KV + name: Email Link Clicked + fields: + user_identifiers: + anonymousId: + '@path': $.anonymousId + userId: + '@path': $.userId + email: + '@if': + exists: + '@path': $.properties.email + then: + '@path': $.properties.email + else: + '@path': $.context.traits.email + optimizely_vuid: + '@if': + exists: + '@path': $.properties.optimizely_vuid + then: + '@path': $.properties.optimizely_vuid + else: + '@path': $.context.traits.optimizely_vuid + campaign: + '@path': $.properties.campaign_name + campaign_id: + '@path': $.properties.campaign_id + link_url: + '@path': $.properties.link_url + timestamp: + '@path': $.timestamp + event_action: click + trigger: type = "track" and event = "Email Link Clicked" + - actionId: meD4xgcJ8b3f29gWudiuFQ + name: Order Completed + fields: + user_identifiers: + anonymousId: + '@path': $.anonymousId + userId: + '@path': $.userId + email: + '@if': + exists: + '@path': $.properties.email + then: + '@path': $.properties.email + else: + '@path': $.traits.email + optimizely_vuid: + '@if': + exists: + '@path': $.properties.optimizely_vuid + then: + '@path': $.properties.optimizely_vuid + else: + '@path': $.traits.optimizely_vuid + event_type: order + products: + '@arrayPath': + - $.properties.products + - product_id: + '@path': $.product_id + qty: + '@path': $.quantity + order_id: + '@path': $.properties.order_id + total: + '@path': $.properties.total + timestamp: + '@path': $.timestamp + event_action: purchase + trigger: type = "track" and event = "Order Completed" + - actionId: hcqEnue2U8oG3e3iVHW5KV + name: Unsubscribed + fields: + user_identifiers: + anonymousId: + '@path': $.anonymousId + userId: + '@path': $.userId + email: + '@if': + exists: + '@path': $.properties.email + then: + '@path': $.properties.email + else: + '@path': $.context.traits.email + optimizely_vuid: + '@if': + exists: + '@path': $.properties.optimizely_vuid + then: + '@path': $.properties.optimizely_vuid + else: + '@path': $.context.traits.optimizely_vuid + campaign: + '@path': $.properties.campaign_name + campaign_id: + '@path': $.properties.campaign_id + link_url: + '@path': $.properties.link_url + timestamp: + '@path': $.timestamp + event_action: unsubscribe + trigger: type = "track" and event = "Unsubscribed" - id: 641d5acea88fa531b9068608 display_name: Optimizely Feature Experimentation (Actions) name: Optimizely Feature Experimentation (Actions) diff --git a/src/_data/catalog/destinations_private.yml b/src/_data/catalog/destinations_private.yml index 2eccd851f0..53872f055f 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-04-04 +# destination data last updated 2024-04-05 items: - id: 54521fd925e721e32a72eee1 display_name: Pardot diff --git a/src/_data/catalog/source_categories.yml b/src/_data/catalog/source_categories.yml index 26a4db3170..4671e203ea 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-04-04 +# source categories last updated 2024-04-05 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 b953d32ef1..a8860cdbdf 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-04-04 +# sources last updated 2024-04-05 items: - id: 8HWbgPTt3k display_name: .NET From ddd26bb49ecb5440c2e7d1251886aeeba977b889 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Fri, 5 Apr 2024 11:43:40 -0400 Subject: [PATCH 14/15] remove hidden tag, update folder name to match slug --- .../index.md | 1 - 1 file changed, 1 deletion(-) rename src/connections/destinations/catalog/{actions-optimizely-data-platform => optimizely-data-platform}/index.md (99%) diff --git a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md b/src/connections/destinations/catalog/optimizely-data-platform/index.md similarity index 99% rename from src/connections/destinations/catalog/actions-optimizely-data-platform/index.md rename to src/connections/destinations/catalog/optimizely-data-platform/index.md index c689e05c8f..3c6babd52b 100644 --- a/src/connections/destinations/catalog/actions-optimizely-data-platform/index.md +++ b/src/connections/destinations/catalog/optimizely-data-platform/index.md @@ -1,7 +1,6 @@ --- title: Optimizely Data Platform Destination beta: true -hidden: true id: 6512d7f86bdccc3829fc4ac3 --- From d8d644e8a1366dd2d81ea187261b31c26c2ef223 Mon Sep 17 00:00:00 2001 From: forstisabella <92472883+forstisabella@users.noreply.github.com> Date: Fri, 5 Apr 2024 11:46:38 -0400 Subject: [PATCH 15/15] Update src/connections/destinations/catalog/optimizely-data-platform/index.md --- .../destinations/catalog/optimizely-data-platform/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/connections/destinations/catalog/optimizely-data-platform/index.md b/src/connections/destinations/catalog/optimizely-data-platform/index.md index 3c6babd52b..36e52dc68e 100644 --- a/src/connections/destinations/catalog/optimizely-data-platform/index.md +++ b/src/connections/destinations/catalog/optimizely-data-platform/index.md @@ -45,7 +45,7 @@ If you want to map an event that is not listed: 5. Select the event type and, optionally, the event action. For example, if you are configuring a custom event to track button clicks, select _button_ for the event type and _click_ for the event action. > info "Required fields" -> In ODP, each event requires an ID, timestamp, and event type. The event action is optional. See ODP's [Events](https://docs.developers.optimizely.com/optimizely-data-platform/docs/thebasics-events) documentation for more details. +> In ODP, each event requires an ID, timestamp, and event type. The event action is optional. See ODP's [Events](https://docs.developers.optimizely.com/optimizely-data-platform/docs/thebasics-events){:target="_blank”} documentation for more details.