From 63a78d89c34c624f3943ac7c7dede5ba23d91103 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Fri, 11 Oct 2024 15:09:00 -0400
Subject: [PATCH 1/3] add section at request of Sharan, vale updates
---
.../catalog/actions-klaviyo/index.md | 28 +++++++++++--------
vale-styles/Vocab/Docs/accept.txt | 3 +-
2 files changed, 19 insertions(+), 12 deletions(-)
diff --git a/src/connections/destinations/catalog/actions-klaviyo/index.md b/src/connections/destinations/catalog/actions-klaviyo/index.md
index d678bc0804..cad390c4f7 100644
--- a/src/connections/destinations/catalog/actions-klaviyo/index.md
+++ b/src/connections/destinations/catalog/actions-klaviyo/index.md
@@ -16,7 +16,7 @@ Klaviyo lets you send personalized newsletters, automates triggered emails, prod
Klaviyo (Actions) provides the following benefits:
- **Simple setup** - Klaviyo (Actions) has a streamlined default setup process making it easier to get started in a way that "just works".
-- **More control** - Actions-based destinations enable you to define the mapping between the data Segment receives from your sources, and the data Segment sends to Klaviyo.
+- **More control** - Actions-based destinations enable you to define the mapping between the data Segment receives from your sources and the data Segment sends to Klaviyo.
- **Default property mappings** - Default mappings from the Segment like event, timestamp, and more, allow data to be mapped correctly without any setup required.
> info ""
@@ -35,9 +35,9 @@ Klaviyo (Actions) provides the following benefits:
{% include components/actions-fields.html %}
-## Using Klaviyo with RETL
+## Using Klaviyo with Reverse ETL
-Klaviyo (Actions) Destination can accept [RETL](/docs/connections/reverse-etl/) data. You can send the models you created in your data warehouse source. Follow [the steps](/docs/connections/reverse-etl/#step-1-add-a-source) to create your data warehouse source and set up models.
+Klaviyo (Actions) Destination can accept [Reverse ETL](/docs/connections/reverse-etl/) data from your data warehouse sources. Follow the steps in Segment's [Reverse ETL setup guide](/docs/connections/reverse-etl/setup/#step-1-add-a-source) to create your data warehouse source and set up models.
| Action | Added | Updated | Deleted |
| ------------------- | ------------------------------------------------------- | --------------------------------------------------------- | -------------------------------------------------------------- |
@@ -49,11 +49,9 @@ Klaviyo (Actions) Destination can accept [RETL](/docs/connections/reverse-etl/)
| Unsubscribe Profile |
|
|
|
> info ""
-> **\*** Though technically possible, it may not be the most intuitive approach to using RETL.
->
-> **e.g.,** Triggering a **Subscribe Profile** action when a user is **deleted** from a Model that queries unsubscribed users.
+> **\***Though technically possible, this may not be the most intuitive approach to using Reverse ETL.
-In order to add users to a list, use the **Upsert Profile** Action and fill out the **List** field with the Klaviyo list to add the profile to.
+In order to add users to a list, use the **Upsert Profile** Action and fill out the **List** field with the Klaviyo list you'd like to add the profile to.
Follow these steps to create a list in Klaviyo:
@@ -65,7 +63,7 @@ Follow these steps to create a list in Klaviyo:
## Using Klaviyo with Engage
-Klaviyo (Actions) Destination can accept your [Engage](/docs/engage/) data. If you wish to add a profile to a list associated with the Engage audienceId, you **don't** need to create a list in Klaviyo. During the first sync with the **Add Profile To List (Engage)** Mapping, Segment creates a list with the same ID as your audience.
+Klaviyo (Actions) Destination can accept your [Engage](/docs/engage/) data. If you want to add a profile to a list associated with an Engage `audienceId`, you **don't** need to create a list in Klaviyo. During the first sync with the **Add Profile To List (Engage)** Mapping, Segment creates a list with the same ID as your audience.
To add and remove profiles in Klaviyo with Engage Audience data:
@@ -88,12 +86,20 @@ To add and remove profiles in Klaviyo with Engage Audience data:
#### 429 Too Many Requests
-If you're encountering rate limiting issues, consider enabling batching for the Action receiving these errors. To enable mapping, navigate to the mapping configuration and set "Batch data to Klaviyo" to "Yes". This adjustment might help alleviate the rate limiting problem.
+If you're encountering rate limiting issues, consider enabling batching for the Action receiving these errors. To enable batching, navigate to the mapping configuration and set "Batch data to Klaviyo" to "Yes". This adjustment might help alleviate the rate limiting problem.
#### 409 Conflict
In most cases, you can safely ignore a `409` error code.
-When you use the [Upsert Profile](/docs/connections/destinations/catalog/actions-klaviyo/#upsert-profile) mapping to send Identify events, Segment first attempts to [create a new profile in Klaviyo](https://developers.klaviyo.com/en/reference/create_profile){:target="_blank”}. If the first request returns with a `409` error code, Segment sends a second request to [update the existing profile with the given profile ID](https://developers.klaviyo.com/en/reference/update_profile){:target="_blank”}.
+When you use the [Upsert Profile](/docs/connections/destinations/catalog/actions-klaviyo/#upsert-profile) mapping to send Identify events, Segment first attempts to [create a new profile in Klaviyo](https://developers.klaviyo.com/en/reference/create_profile){:target="_blank”}. If the first request returns with a `409` error code, Segment sends a second request to [update the existing profile with the given profile ID](https://developers.klaviyo.com/en/reference/update_profile){:target="_blank”}.
+
+#### 403 Forbidden
+
+If you encounter a `403` error, consider implementing [IP Allowlisting](/docs/connections/destinations/#ip-allowlisting) in your workspace.
+
+Klaviyo's Cloudflare instance might block incoming API requests from clients, like Segment, that use shared IP addresses. If Klaviyo blocks your incoming call, you might see a `403 Forbidden` error in Segment, but this error will not show up in any of Klaviyo's API logs.
+
+To reduce the number of `403` errors that you encounter, enable IP Allowlisting for your workspace. For more information the range of IP addresses Klaviyo uses for integration traffic, see Klaviyo's [How to allowlist Klaviyo integration traffic IP addresses](https://help.klaviyo.com/hc/en-us/articles/19143781289115){:target="_blank”} documentation.
### Can I send Engage Audiences to a pre-created Klaviyo List?
@@ -101,6 +107,6 @@ No. Engage audiences are designed to initiate the creation of new lists in Klavi
### How can I unsuppress a profile when adding it to a list?
-When adding a user to a list, our action make use of the [Bulk Profile Import](https://developers.klaviyo.com/en/reference/spawn_bulk_profile_import_job){target="_blank"} endpoint (when batching is enabled), and the [Add Profile To List](https://developers.klaviyo.com/en/reference/create_list_relationships){target="_blank"} endpoint for non-batched requests. Both of which will not update a users suppression status if they were previously suppressed.
+When adding a user to a list, our action make use of the [Bulk Profile Import](https://developers.klaviyo.com/en/reference/spawn_bulk_profile_import_job){:target="_blank”} endpoint (when batching is enabled), and the [Add Profile To List](https://developers.klaviyo.com/en/reference/create_list_relationships){:target="_blank”} endpoint for non-batched requests. Both of which will not update a users suppression status if they were previously suppressed.
To ensure a suppressed profile gets unsuppressed, you can use the "Subscribe Profile" action. When a profile is subscribed in Klaviyo, it automatically unsuppresses any previously suppressed user. You can combine this action with other actions to achieve your goal. If this solution does not fully address your use case, please contact us at friends@segment.com so we can consider your specific requirements.
diff --git a/vale-styles/Vocab/Docs/accept.txt b/vale-styles/Vocab/Docs/accept.txt
index 1a55f0eff7..17fdecd08e 100644
--- a/vale-styles/Vocab/Docs/accept.txt
+++ b/vale-styles/Vocab/Docs/accept.txt
@@ -97,4 +97,5 @@ waitlist
WebKit
Wootric
Zendesk
-Okta
\ No newline at end of file
+Okta
+Klaviyo
\ No newline at end of file
From 1b34adec0a8b6f8a8d8f4e5fd962dbaf133e0279 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Fri, 11 Oct 2024 15:43:55 -0400
Subject: [PATCH 2/3] [netlify-build]
---
src/connections/destinations/catalog/actions-klaviyo/index.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/connections/destinations/catalog/actions-klaviyo/index.md b/src/connections/destinations/catalog/actions-klaviyo/index.md
index cad390c4f7..f4859ad185 100644
--- a/src/connections/destinations/catalog/actions-klaviyo/index.md
+++ b/src/connections/destinations/catalog/actions-klaviyo/index.md
@@ -101,6 +101,7 @@ Klaviyo's Cloudflare instance might block incoming API requests from clients, li
To reduce the number of `403` errors that you encounter, enable IP Allowlisting for your workspace. For more information the range of IP addresses Klaviyo uses for integration traffic, see Klaviyo's [How to allowlist Klaviyo integration traffic IP addresses](https://help.klaviyo.com/hc/en-us/articles/19143781289115){:target="_blank”} documentation.
+
### Can I send Engage Audiences to a pre-created Klaviyo List?
No. Engage audiences are designed to initiate the creation of new lists in Klaviyo when you use the "Add Profile to List - Engage" mapping. You cannot link Engage lists to existing Klaviyo lists and cannot edit the List ID for Engage audiences.
From 397f5f5d3b306318d35d1e299eea3120eb71fc71 Mon Sep 17 00:00:00 2001
From: forstisabella <92472883+forstisabella@users.noreply.github.com>
Date: Mon, 14 Oct 2024 12:36:24 -0400
Subject: [PATCH 3/3] [netlify-build]
---
.../destinations/catalog/actions-klaviyo/index.md | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/connections/destinations/catalog/actions-klaviyo/index.md b/src/connections/destinations/catalog/actions-klaviyo/index.md
index f4859ad185..26ee601a08 100644
--- a/src/connections/destinations/catalog/actions-klaviyo/index.md
+++ b/src/connections/destinations/catalog/actions-klaviyo/index.md
@@ -95,11 +95,9 @@ When you use the [Upsert Profile](/docs/connections/destinations/catalog/actions
#### 403 Forbidden
-If you encounter a `403` error, consider implementing [IP Allowlisting](/docs/connections/destinations/#ip-allowlisting) in your workspace.
+Some customers experience 403 errors when sending audience data to Klaviyo through Segment. This occurs due to Klaviyo's security measures blocking requests from shared IPs, which are common when using cloud-hosted platforms, like Segment, that use dynamically generated IP addresses.
-Klaviyo's Cloudflare instance might block incoming API requests from clients, like Segment, that use shared IP addresses. If Klaviyo blocks your incoming call, you might see a `403 Forbidden` error in Segment, but this error will not show up in any of Klaviyo's API logs.
-
-To reduce the number of `403` errors that you encounter, enable IP Allowlisting for your workspace. For more information the range of IP addresses Klaviyo uses for integration traffic, see Klaviyo's [How to allowlist Klaviyo integration traffic IP addresses](https://help.klaviyo.com/hc/en-us/articles/19143781289115){:target="_blank”} documentation.
+To reduce the number of `403` errors that you encounter, enable [IP Allowlisting](/docs/connections/destinations/#ip-allowlisting) for your workspace. For more information the range of IP addresses Klaviyo uses for integration traffic, see Klaviyo's [How to allowlist Klaviyo integration traffic IP addresses](https://help.klaviyo.com/hc/en-us/articles/19143781289115){:target="_blank”} documentation.
### Can I send Engage Audiences to a pre-created Klaviyo List?