Skip to content

Commit 9794ac9

Browse files
authored
Merge branch 'master' into DOC-270
2 parents e8e9ed8 + c318fd6 commit 9794ac9

File tree

10 files changed

+79
-50
lines changed

10 files changed

+79
-50
lines changed

src/_data/catalog/overrides-list.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ items:
22
- hubspot
33
- iterable
44
- google-ads-gtag
5+
- klaviyo

src/_data/catalog/overrides.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,3 +40,23 @@ items:
4040
- slug: google-ads-gtag
4141
previous_names:
4242
- Google AdWords New
43+
- slug: klaviyo
44+
display_name: Klaviyo
45+
components:
46+
- code: 'https://github.com/segment-integrations/analytics.js-integration-klaviyo'
47+
type: browser
48+
- code: 'https://github.com/segmentio/integrations/tree/master/integrations/klaviyo'
49+
type: server
50+
connection_modes:
51+
device:
52+
web: true
53+
mobile: false
54+
server: false
55+
cloud:
56+
web: false
57+
mobile: true
58+
server: true
59+
summary: >-
60+
accepts data in cloud-mode from web and mobile sources, and can accept data in device-mode from Analytics.js sources.
61+
cmode_type: mixed
62+
case: '10'

src/_sass/components/_markdown.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@
293293

294294
}
295295

296-
a[target="_blank"]:after:not(.reference-button){
296+
a[target="_blank"]:not(.reference-button):after{
297297
content: url("/docs/images/external-link-alt-solid.svg");
298298
margin-left: 4px;
299299
}

src/connections/destinations/add-destination.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,6 @@ For the following destinations, a single source can connect to up to 10 instance
187187
- [ActiveCampaign](/docs/connections/destinations/catalog/activecampaign/)
188188
- [Akita](/docs/connections/destinations/catalog/akita/)
189189
- [All Aboard](/docs/connections/destinations/catalog/all-aboard/)
190-
- [Amazon EventBridge](/docs/connections/destinations/catalog/amazon-eventbridge/)
191190
- [Amazon Kinesis](/docs/connections/destinations/catalog/amazon-kinesis/)
192191
- [Amazon Kinesis Firehose](/docs/connections/destinations/catalog/amazon-kinesis-firehose/)
193192
- [Amazon Lambda](/docs/connections/destinations/catalog/amazon-lambda/)

src/connections/destinations/catalog/klaviyo/index.md

Lines changed: 46 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,41 @@
11
---
22
title: Klaviyo Destination
33
rewrite: true
4+
cmode-override: true
45
---
56

67
[Klaviyo](https://www.klaviyo.com/features/overview) is a powerful email platform focused on ecommerce that helps companies make more money. It supports segmentation based on category and event triggers like product bought, page viewed, email engagement, or amount spent.
78

8-
It measures opens, clicks, revenue generated, breakdown of generated revenue based on custom attributes (like type of campaign or amount gained per recipient), and provides trend reports, cohort analysis, and subscriber growth
9+
It measures opens, clicks, revenue generated, breakdown of generated revenue based on custom attributes (like campaign type or amount gained per recipient), and provides trend reports, cohort analysis, and subscriber growth
910

10-
Ultimately, Klaviyo lets you send personalized newsletters, automates triggered emails, product recommendations, welcome campaigns, order announcements, push notifications and sync your data to facebook custom audiences.
11+
Ultimately, Klaviyo lets you send personalized newsletters, automates triggered emails, product recommendations, welcome campaigns, order announcements, push notifications and sync your data to Facebook custom audiences.
1112

12-
Are you trying to set up Klaviyo as an Event Source to get data into your warehouse or other downstream tools? Go [here](https://segment.com/docs/connections/sources/catalog/cloud-apps/klaviyo/).
13-
14-
This document was last updated on September 6, 2018. If you notice any gaps, outdated information or simply want to leave some feedback to help us improve our documentation, [let us know](https://segment.com/help/contact)!
13+
To configure Klaviyo as an Event Source to get data into your warehouse or other downstream tools, see the [Klaviyo Source](/docs/connections/sources/catalog/cloud-apps/klaviyo/) documentation.
1514

1615
## Getting Started
1716

1817
{% include content/connection-modes.md %}
1918

2019
1. From the Segment web app, click **Catalog**.
2120
2. Search for "Klaviyo" in the Catalog, select it, and choose which of your sources to connect the destination to.
22-
3. Navigate to your [Account > Settings > API Keys](https://www.klaviyo.com/account#api-keys-tab) in the Klaviyo's UI and copy your "API Key" into the Segment Settings UI.
23-
5. **Note:** Private API Key is required to use the List API. You can find this by going to Klaviyo's UI and clicking [Account > Settings > API Keys > Create API Key](https://www.klaviyo.com/account#api-keys-tab) in order to generate a Private API Key and copy it into the Segment Settings UI.
21+
3. Navigate to your [Account > Settings > API Keys](https://www.klaviyo.com/account#api-keys-tab){:target="_blank"} in the Klaviyo's UI and copy your "API Key" into the Segment Settings UI.
22+
4. **Note:** Klaviyo requires the Private API Key to use the List API. You can find this by going to Klaviyo's UI and clicking [Account > Settings > API Keys > Create API Key](https://www.klaviyo.com/account#api-keys-tab){:target="_blank"} to generate a Private API Key and copy it into the Segment Settings UI.
2423

2524

2625
## Page
2726

28-
If you're not familiar with the Segment Specs, take a look to understand what the [Page method](https://segment.com/docs/connections/spec/page/) does. An example call would look like:
27+
If you're not familiar with the Segment Specs, take a look to understand what the [Page method](/docs/connections/spec/page/) does. An example call would look like:
2928

3029
```
3130
analytics.page();
3231
```
3332

34-
**NOTE**: `page` calls are only supported client-side on analytics.js.
33+
> info ""
34+
> `page` calls are supported client-side on analytics.js.
3535
3636
## Identify
3737

38-
If you're not familiar with the Segment Specs, take a look to understand what the [Identify method](https://segment.com/docs/connections/spec/identify/) does. An example call would look like:
38+
If you're not familiar with the Segment Specs, take a look to understand what the [Identify method](/docs/connections/spec/identify/) does. An example call would look like:
3939

4040
```
4141
analytics.identify({
@@ -49,41 +49,42 @@ analytics.identify({
4949

5050
### Client side Identify
5151

52-
When you call `identify` on analytics.js, we call Klaviyo's `identify` with the `traits` object. We augment the `traits` object to have `traits.$id` be the `userId` since Klaviyo takes the user ID on the `traits` object itself.
52+
When you call `identify` on analytics.js, Segment calls Klaviyo's `identify` with the `traits` object. Segment then augments the `traits` object to have `traits.$id` be the `userId` since Klaviyo takes the user ID on the `traits` object itself.
5353

54-
**Note:** When sending data to Klaviyo using `analytics.js`, an initial `page` call is required. By default, this is already added in your [Segment snippet](/docs/connections/sources/catalog/libraries/website/javascript/quickstart/#step-2-copy-the-segment-snippet).
54+
> info ""
55+
> When you send data to Klaviyo using `analytics.js`, an initial `page` call is required. By default, this is already added in your [Segment snippet](/docs/connections/sources/catalog/libraries/website/javascript/quickstart/#step-2-copy-the-segment-snippet).
5556
56-
We will map the following Segment spec'd traits to Klaviyo [special people properties](http://www.klaviyo.com/docs):
57+
The following Segment spec'd traits map to Klaviyo [special people properties](http://www.klaviyo.com/docs):
5758

58-
| **Segment Traits | Klaviyo Traits** |
59-
| ------ | ------- |
60-
| `userId` | `$id` |
61-
| `email` | `$email` |
62-
| `phoneNumber` | `$phone_number` |
63-
| `firstName` | `$first_name` |
64-
| `lastName` | `$last_name` |
65-
| `title` | `$title` |
59+
| Segment Traits | Klaviyo Traits |
60+
| -------------- | --------------- |
61+
| `userId` | `$id` |
62+
| `email` | `$email` |
63+
| `phoneNumber` | `$phone_number` |
64+
| `firstName` | `$first_name` |
65+
| `lastName` | `$last_name` |
66+
| `title` | `$title` |
6667

6768
### Server side Identify
6869

69-
When you call `identify` from one of our mobile or server-side libraries, we will create/update a Klaviyo person with the `traits` you provide in the `identify`.
70-
71-
If your `userId` is an email, or you provide an email in `traits.email`, we'll send it as the `$email` property to Klaviyo. We will map the following Segment spec'd traits to Klaviyo [special people properties](http://www.klaviyo.com/docs):
72-
73-
| **Segment Traits | Klaviyo Properties** |
74-
| ------ | ------- |
75-
| `userId` | `$id` |
76-
| `email` | `$email` |
77-
| `phoneNumber` | `$phone_number` |
78-
| `organization` | `$organization` |
79-
| `firstName` | `$first_name` |
80-
| `lastName` | `$last_name` |
81-
| `title` | `$title` |
82-
| `city` | `$city` |
83-
| `region` or `state` | `$region` |
84-
| `country` | `$country` |
85-
| `timezone` | `$timezone` |
86-
| `zip` | `$zip` |
70+
When you call `identify` from a mobile or server-side library, Segment creates or updates a Klaviyo person with the `traits` you provide in the `identify`.
71+
72+
If your `userId` is an email, or you provide an email in `traits.email`, Segment sends it as the `$email` property to Klaviyo. The following Segment spec'd traits map to Klaviyo [special people properties](http://www.klaviyo.com/docs):
73+
74+
| Segment Traits | Klaviyo Properties |
75+
| ------------------- | ------------------ |
76+
| `userId` | `$id` |
77+
| `email` | `$email` |
78+
| `phoneNumber` | `$phone_number` |
79+
| `organization` | `$organization` |
80+
| `firstName` | `$first_name` |
81+
| `lastName` | `$last_name` |
82+
| `title` | `$title` |
83+
| `city` | `$city` |
84+
| `region` or `state` | `$region` |
85+
| `country` | `$country` |
86+
| `timezone` | `$timezone` |
87+
| `zip` | `$zip` |
8788

8889
#### Enforce Email as Primary Identifier
8990

@@ -161,15 +162,15 @@ We will also map the following Segment spec'd properties to Klaviyo's [special p
161162
The below table shows the out of the box mappings in our integration between our e-commerce spec and Klaviyo's spec:
162163

163164
| **Segment Ecommerce Spec | Klaviyo Standard Event** |
164-
| ------ | ------- |
165-
| `Order Completed` | `Ordered Product` |
165+
| ------------------------ | ------------------------ |
166+
| `Order Completed` | `Ordered Product` |
166167

167168
The below table shows the parameter mappings in our integration between Order Completed properties and and Klaviyo's standard properties:
168169

169-
| **Segment Properties | Klaviyo Properties** |
170-
| ------ | ------- |
171-
| `revenue` | `$value` |
172-
| `eventId` or `orderId` | `$event_id` |
170+
| **Segment Properties | Klaviyo Properties** |
171+
| ---------------------- | -------------------- |
172+
| `revenue` | `$value` |
173+
| `eventId` or `orderId` | `$event_id` |
173174

174175
#### Order Completed
175176

src/connections/sources/catalog/libraries/website/javascript/upgrade-to-ajs2.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Upgrade to Analytics.js 2.0
33
strat: ajs
44
---
55

6-
Analytics.js 2.0 is fully backward compatible with Analytics.js Classic when using the default Segment snippet. To upgrade your sources, follow the manual upgrade steps below, or see the schedule for automatic migration. As with all upgrades, Segment recommends that you start development on a non-production source to test the upgrade process and outcome, prior to upgrading your production sources.
6+
Analytics.js 2.0 is fully backward compatible with Analytics.js Classic when you use the default Segment snippet in a standard implementation. To upgrade your sources, follow the manual upgrade steps below, or see the schedule for automatic migration. As with all upgrades, Segment recommends that you start development on a non-production source to test the upgrade process and outcome, prior to upgrading your production sources.
77

88
## Manual upgrade
99

src/connections/spec/common.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ Other libraries only collect `context.library`, any other context variables must
255255
| library.name ||||
256256
| library.version ||||
257257
| ip* ||||
258-
| locale | |||
258+
| locale | |||
259259
| location.latitude | | | |
260260
| location.longitude | | | |
261261
| location.speed | | | |
@@ -282,7 +282,7 @@ Other libraries only collect `context.library`, any other context variables must
282282

283283
## Integrations
284284

285-
A dictionary of destination names that the message should be sent to. `'All'` is a special key that applies when no key for a specific destination is found.
285+
A dictionary of destination names that the message should be sent to. `'All'` is a special key that applies when no key for a specific destinatio n is found.
286286

287287
Integrations defaults to the following:
288288

src/partners/subscriptions/build-functions.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ redirect_from: '/partners/build-functions/'
55

66
Subscription Functions allow you to write custom JavaScript code that sends Segment Event Data to existing APIs. This guides explains how to write custom functions.
77

8+
> note ""
9+
> **NOTE:** On July 31, 2021 support for building Subscription Functions will be removed from Developer Center. You may continue building a Subscription Webhook. Segment is committed to improving the Developer Center experience with Developer Center 2.0, which will offer a more holistic approach to building on Segment. If you’re interested in joining the beta in the coming months, please fill out [this form](https://airtable.com/shrvZzQ6NTTwsc6rQ){:target="_blank"}.
10+
11+
812
## Getting Started
913

1014
Review the steps outlined in the [Developer Center Overview](/docs/partners). This document outlines specific details for Step 4 as it relates to building a Subscription Function.

src/partners/subscriptions/index.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ Review the steps outlined in the [Developer Center Overview](/docs/partners). Th
2121

2222
## Build & Test
2323

24+
> note ""
25+
> **NOTE:** On July 31, 2021 support for building Subscription Functions will be removed from Developer Center. You may continue building a Subscription Webhook. Segment is committed to improving the Developer Center experience with Developer Center 2.0, which will offer a more holistic approach to building on Segment. If you’re interested in joining the beta in the coming months, please fill out [this form](https://airtable.com/shrvZzQ6NTTwsc6rQ){:target="_blank"}.
26+
2427
You can subscribe to customer data in two ways:
2528

2629
1. **[Webhook](/docs/partners/subscriptions/build-webhook)**: Build a new HTTP service that receives Webhook POSTs from Segment.

vale-styles/Vocab/Docs/accept.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,3 +46,4 @@ measurability
4646
Lightbox
4747
gmail
4848
(?:P|p)endo
49+
(?:K|k)laviyo

0 commit comments

Comments
 (0)