Skip to content

Commit 16862da

Browse files
committed
Merge branch 'master' into misteryeo-patch-1
2 parents 487dbb1 + 8c931cf commit 16862da

File tree

27 files changed

+292
-50
lines changed

27 files changed

+292
-50
lines changed

.vale.ini

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ Vocab = Docs
44

55
[*.md]
66
BasedOnStyles = write-good, segment
7+
TokenIgnores = ({% .* %})

scripts/ignore.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ elif echo "$log" | grep -q 'dependabot'; then
2323
echo "Ignoring dependabot update"
2424
exit
2525
# ignore when master is merged into a branch
26-
elif echo "$log" | grep -q 'Merge branch \SMaster\S'; then
26+
elif echo "$log" | grep -q 'Merge branch \Smaster\S'; then
2727
echo "Build ignored because it's only an update from the main branch."
2828
exit
2929
else

src/_data/catalog/destination_categories.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# AUTOGENERATED FROM PLATFORM API. DO NOT EDIT
2-
# destination categories last updated 2021-06-01
2+
# destination categories last updated 2021-06-08
33
items:
44
- display_name: Email Marketing
55
slug: email-marketing

src/_data/catalog/destinations.yml

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# AUTOGENERATED FROM PLATFORM API. DO NOT EDIT
2-
# destination data last updated 2021-06-04
2+
# destination data last updated 2021-06-08
33
items:
44
- display_name: ActiveCampaign
55
slug: activecampaign
@@ -6234,6 +6234,17 @@ items:
62346234
required: false
62356235
description: 'If true, timestamps are converted to Unix Time.'
62366236
settings: []
6237+
- name: datacenter
6238+
display_name: Customer.io Datacenter
6239+
type: SELECT
6240+
deprecated: false
6241+
required: false
6242+
select_validators:
6243+
select_options:
6244+
- us
6245+
- eu
6246+
description: Choose your Customer.io gateway for data residency.
6247+
settings: []
62376248
- name: siteId
62386249
display_name: Site ID
62396250
type: STRING
@@ -13035,13 +13046,17 @@ items:
1303513046
deprecated: false
1303613047
required: false
1303713048
description: >-
13038-
If this option is enabled, we will never set $id field to your `userId`
13039-
when you call `.identify()` or `.track()`. Instead, we will only set a
13040-
custom attribute `id` and only set $email as the primary identifier with
13041-
your `traits.email` or `properties.email`. You should be careful when
13042-
enabling this option and understand its full implications. This should
13043-
only be enabled if you are experiencing an issue with duplicate profiles
13044-
being created inside Klaviyo.
13049+
This option is enabled by default to ensure duplicate profiles are not
13050+
being created inside of Klaviyo. When enabled, we will never set $id field
13051+
to your `userId` when you call `.identify()` or `.track()`. Instead, we
13052+
will only set a custom attribute `id` and only set $email as the primary
13053+
identifier with your `traits.email` or `properties.email`.
13054+
13055+
13056+
Klaviyo will not record events/profiles if there isn’t an email address
13057+
associated with that customer.
13058+
13059+
Impact is fewer events/profiles recorded in Klaviyo as a result.
1304513060
settings: []
1304613061
- name: privateKey
1304713062
display_name: Enter your Private Key
@@ -21797,7 +21812,7 @@ items:
2179721812
url: connections/destinations/catalog/smartlook
2179821813
description: Qualitative analytics for websites
2179921814
hidden: false
21800-
status: PUBLIC_BETA
21815+
status: PUBLIC
2180121816
previous_names:
2180221817
- Smartlook
2180321818
logo:

src/_data/catalog/source_categories.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# AUTOGENERATED FROM PLATFORM API. DO NOT EDIT
2-
# source cateogries last updated 2021-06-01
2+
# source cateogries last updated 2021-06-08
33
items:
44
- display_name: Server
55
slug: server

src/_data/catalog/sources.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# AUTOGENERATED FROM PLATFORM API. DO NOT EDIT
2-
# sources last updated 2021-06-01
2+
# sources last updated 2021-06-08
33
items:
44
- display_name: .NET
55
slug: net

src/_data/products.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,3 +98,11 @@ items:
9898
team: false
9999
business: true
100100
add-on: false
101+
- product_display_name: Destination Actions
102+
slug: dest-actions
103+
plan-note: "Destination Actions are currently available for Free and Team plans. Actions will be available for Business plan users soon."
104+
plans:
105+
free: true
106+
team: true
107+
business: false
108+
add-on: false

src/_data/sidenav/main.yml

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,9 @@ sections:
149149
section:
150150
- path: /connections/destinations
151151
title: Destinations overview
152+
# - path: /connections/destinations/actions
153+
# title: Destination Actions
154+
# uncomment once fully rolled out
152155
- path: /connections/destinations/add-destination
153156
title: Add a destination
154157
- path: /connections/destinations/catalog
@@ -263,21 +266,21 @@ sections:
263266
title: Overview
264267
- path: /personas/audiences/account-audiences
265268
title: Account-level Audiences
266-
# - section_title: Journeys
267-
# slug: /personas/journeys
268-
# section:
269-
# - path: /personas/journeys
270-
# title: Journeys Overview
271-
# - path: /personas/journeys/build-journey
272-
# title: Build a Journey
273-
# - path: /personas/journeys/send-data
274-
# title: Send Data to Destinations
275-
# - path: /personas/journeys/faq-best-practices
276-
# title: Journeys Best Practices and FAQ
277-
# - path: /personas/journeys/use-cases
278-
# title: Example Journeys Use Cases
279-
# - path: /personas/journeys/key-terms
280-
# title: Journeys Glossary
269+
- section_title: Journeys
270+
slug: /personas/journeys
271+
section:
272+
- path: /personas/journeys
273+
title: Journeys Overview
274+
- path: /personas/journeys/build-journey
275+
title: Build a Journey
276+
- path: /personas/journeys/send-data
277+
title: Send Data to Destinations
278+
- path: /personas/journeys/faq-best-practices
279+
title: Journeys Best Practices and FAQ
280+
- path: /personas/journeys/use-cases
281+
title: Example Journeys Use Cases
282+
- path: /personas/journeys/key-terms
283+
title: Journeys Glossary
281284
- path: /personas/using-personas-data
282285
title: Using Personas data
283286
- path: /personas/warehouses
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
---
2+
title: Destination Actions
3+
hidden: true
4+
---
5+
{% include content/plan-grid.md name="actions" %}
6+
7+
8+
> info ""
9+
> This document is about a feature which is in beta. This means that the Destination Actions are in active development, and some functionality may change before it becomes generally available
10+
11+
In the simplest form of the core Segment product, [Connections](/docs/connections/), you send data from Segment [Sources](/docs/connections/sources/), and this data is translated by the Segment servers into a format that [Destination](/docs/connections/destinations/) tools can understand. The Segment servers map data from the different [event types](/docs/connections/spec/) to transform it into a format that the destination expects, using a pre-defined set of rules. For most Segment deployments, this works great! However, if you have a complex deployment, or a lot of data coming to your destinations, you might want more control. When you use these standard Destinations, you cannot change these mappings, and it might not always be clear which parts of a Segment event end up in a specific part of the destination format.
12+
13+
Now, Destinations Actions allows you to see exactly how Segment sends event data to a destination, and change the data mapping to suit the needs of your organization. This means you can now explicitly see how Segment data becomes the destination data, without any guesswork or experimentation. Actions destinations are triggered by data coming through your Segment source, just as in a standard Segment destination, but now you can edit the mappings, create more than one mapping to fit different conditions, and describe specific conditions that trigger a mapping.
14+
15+
Each Actions-framework Destination you see in the Segment catalog represents a feature or capability of the destination which can consume data from your Segment source. The Action clearly lists which data from the events it requires, and which data is optional. For example, Amplitude requires that you always send a `LogEvent` , or Slack always requires a `PostMessage`. Each Action also includes a default mapping which you can modify.
16+
17+
18+
19+
## Destination Actions compatibility
20+
21+
<!-- TODO Uncomment when in GA
22+
- Destination Actions are available to all customers on all Segment plans.-->
23+
- Destination Actions do not require that you disable or change existing destinations. However, to prevent data duplication in the destination tool, you should make sure you aren’t sending the data through both a standard destination and the Actions destination at the same time.
24+
- You can still use the [Event Tester](/docs/connections/test-connections) with Destination Actions, and event delivery metrics are still collected and available in the destination information pages.
25+
- If you are using Protocols, Destination Actions actions are applied *after* [schema filters](/docs/protocols/enforce/schema-configuration/) and [transformations](/docs/protocols/transform/). If you are using [destination filters](/docs/connections/destinations/destination-filters/), Actions are applied after the filters - meaning that they are not applied to data that is filtered out.
26+
- Destination Actions can not yet be accessed or modified using the Segment APIs.
27+
28+
29+
30+
## Set up a destination action
31+
32+
To set up a new Actions-framework destination for the first time:
33+
34+
1. Log in to the Workspace where you want to add the new destination, go to the Catalog page, and click the Destinations tab. (You can also get to this screen by clicking **Add Destination** either from an existing Source, or from your list of existing destinations.)
35+
2. Click the **Destination Actions** category in the left navigation, then click the destination you want to add.
36+
3. From the preview screen that appears, click **Configure**.
37+
4. If prompted, select the source you want to connect to the new destination.
38+
5. Enter your credentials. This could be an API Key and secret key, or similar information that allows the destination to connect to your account.
39+
6. Next, choose how you want to set up the destination, and click **Configure Actions**.
40+
You can choose **Quick Setup** to use the default mappings, or choose **Customized Setup** (if available) to create new mappings and conditions from a blank state. You can always edit these mappings later.
41+
7. Once you’re satisfied with your mappings, click **Create Destination**.
42+
43+
44+
## Edit a destination action
45+
You can add or remove, disable and re-enable, and rename individual actions from the Actions tab on the destination's information page in the Segment app. Click an individual action to edit it.
46+
47+
From the edit screen you can change the action’s name, subscription criteria, and mapping, and toggle it on or off. See [Customizing mappings](#customizing-mappings) for more information.
48+
49+
<!-- TODO screenshot-->
50+
51+
## Disable a destination actioon
52+
If you find that you need to stop an action from running, but don’t want to delete it completely, you can click the action to select it, then click the toggle next to the action’s name to disable it. This takes effect within minutes, and disables the action until you reenable it.
53+
54+
## Delete a destination action
55+
To delete a destination action: click the action to select it, and click **Delete** (the trash can icon).
56+
57+
This takes effect within minutes, and removes the action completely. Any data that would have gone to the destination is not delivered. Once deleted, the saved action cannot be restored.
58+
59+
60+
## Customizing mappings
61+
62+
If you are using the default mappings for a destination action, you do not *need* to customize the mapping template for the action. However, you can always edit the fields later if you find that the defaults no longer meet your needs.
63+
64+
To create a custom destination action, start from the Actions tab.
65+
If necessary, click **Add subscription** to create a new, blank action.
66+
67+
1. In the edit panel, define the [conditions](#conditions) under which the action should run.
68+
2. Test those conditions to make sure that they correctly match an expected event.
69+
This step looks for events that match the criteria in the [debugger queue](/docs/connections/sources/debugger/), so you might need to trigger some events with the expected criteria to test your conditions. You can skip the test step if needed, and re-try it at any time.
70+
3. Next, set up the data mapping from the Segment format to the destination tool format.
71+
4. Test the mapping with data from a sample event.
72+
The edit panel shows you the mapping output in the format for the destination tool. You can change your mapping as needed and re-test.
73+
5. When you’re satisfied with the mapping, click **Save**.
74+
75+
76+
> info ""
77+
> The required fields for a destination mapping appear automatically. Click the + sign to see optional fields.
78+
79+
### Conditions
80+
The following type filters and operators are available to help you build conditions:
81+
82+
- **Event type** (`is`/`is not`). This allows you to filter by the [event types in the Segment Spec](https://segment.com/docs/connections/spec).
83+
- **Event name** (`is`, `is not`, `contains`, `does not contain`, `starts with`, `ends with`). Use these filters to find events that match a specific name, regardless of the event type.
84+
- **Event property** (`is`, `is not`, `less than`, `less than or equal to`, `greater than`, `greater than or equal to`, `contains`, `does not contain`, `starts with`, `ends with`, `exists`, `does not exist`). Use these filters to trigger the action only when an event with a specific property occurs. You can specify nested properties using dot notation, for example `context.app.name`. If the property might appear in more than one format or location, you can use an ANY statement and add conditions for each of those formats. For example, you might filter for both `context.device.type = ios` as well as `context.os.name = "iPhone OS``"`
85+
The `does` `not exist` operator matches both a `null` value or a missing property.
86+
87+
You can combine criteria in a single group using **ALL** or **ANY**. Use an ANY to “subscribe” to multiple conditions. Use ALL when you need to filter for very specific conditions. You can only create one group condition per destination action. You cannot created nested conditions.
88+
89+
90+
91+
<!--
92+
## Best Practices for configuring Destination Actions
93+
94+
95+
BP: give your actions names that describe what they do, even if you won’t have many individual actions.
96+
97+
defaults - best for analytics tool where you need to see everything coming in.
98+
99+
“subscription” - you can pick and choose multiple conditions that use the same mappings.
100+
-->
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
---
2+
title: Amplitude Actions Destination
3+
hide-boilerplate: true
4+
hide-dossier: true
5+
hidden: true
6+
---
7+
{% include content/plan-grid.md name="actions" %}
8+
9+
10+
[Amplitude](https://amplitude.com/) is an event tracking and segmentation
11+
platform for your web and mobile apps. By analyzing the actions your users
12+
perform, you can gain a better understanding to drive retention, engagement,
13+
and conversion.
14+
15+
> info ""
16+
> This document is about a feature which is in beta. This means that the Destination Actions are in active development, and some functionality may change before it becomes generally available
17+
18+
> success ""
19+
> **Good to know**: This page is about the [Actions-framework](/docs/connections/destinations/actions/) Amplitude Segment destination, which receives data _from_ Segment. There's also a page about the [non-Actions Amplitude destination](/docs/connections/destinations/catalog/amplitude/), and the [Amplitude Engage Segment source](/docs/connections/sources/catalog/cloud-apps/amplitude-cohorts/), which sends data _to_ Segment!
20+
21+
22+
## Connection Modes for Amplitude Actions destination
23+
24+
The Amplitude (actions) destination does not offer a device-mode connection mode. However if you are using one of Segment's new libraries ([Analytics.js 2.0](https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/), [Swift](https://github.com/segmentio/analytics-swift) or [Kotlin](https://github.com/segmentio/analytics-kotlin)) with the Actions-framework version of the destination, you do not need the device-mode connection.
25+
26+
Most previous deployments of the Amplitude Segment destination only used the device-mode connection to get use the `session_id` tracking feature. In the new Actions-framework Amplitude destination, session ID tracking is built in. This means you don’t need to bundle any software to run on the user’s device, or write any code. It also means that you can use more of the Segment platform features on data going to Amplitude, such as Protocols filtering and transformations, and Personas identity resolution.
27+
28+
29+
Session tracking is only available when using Segment's new libraries: [Analytics.js 2.0](https://segment.com/docs/connections/sources/catalog/libraries/website/javascript/), [Swift](https://github.com/segmentio/analytics-swift) or [Kotlin](https://github.com/segmentio/analytics-kotlin)
30+
31+
32+
33+
## Getting Started
34+
35+
1. Before you start, go to your [Amplitude project settings](https://analytics.amplitude.com/settings/projects), and locate the project that you'll be sending Segment data to. Copy the Amplitude API Key and Secret key for the project.
36+
1. From the Segment web app, click **Catalog**, then click **Destinations**.
37+
2. Find the Destinations Actions item in the left navigation, and click it.
38+
2. Click the "Amplitude" item to select it and click **Configure**.
39+
3. Choose which of your sources to connect the destination to. (You can connect more sources to the destination later.)
40+
3. On the next page enter your Amplitude API key and Secret key and click **Verify credentials**.
41+
4. Next, choose how to create the mapping. You can click Quick Setup to use the defaults provided by Segment, or click Customized Setup to start from a blank mapping.
42+
43+
Once you have a mapping, you can follow the steps in the Destinations Actions documentation on [Customizing mappings](/docs/connections/destinations/actions/#customizing-mappings).
44+
45+
46+
### Enable session tracking for Analytics.js 2.0
47+
48+
The session tracking is automatically enabled on Javascript sources.
49+
50+
51+
### Enable session tracking for Swift
52+
53+
To enable session tracking in Amplitude when using the [Segment Swift library](https://github.com/segmentio/analytics-swift):
54+
1. Enable `trackApplicationLifecycleEvents` in your configuration.
55+
2. Add the [Amplitude Session plugin](https://github.com/segmentio/analytics-swift/blob/main/Examples/destination_plugins/AmplitudeSession.swift
56+
) to your project.
57+
3. Initialize the plugin ([example](https://github.com/segmentio/analytics-swift/blob/main/Examples/apps/DestinationsExample/DestinationsExample/AppDelegate.swift))
58+
```swift
59+
analytics?.add(plugin: AmplitudeSession(name: "Amplitude"))
60+
```
61+
62+
### Enable session tracking for Kotlin
63+
64+
To enable session tracking in Amplitude when using the [Segment Kotlin library](https://github.com/segmentio/analytics-kotlin):
65+
1. Enable `trackApplicationLifecycleEvents` in your configuration.
66+
2. Add the [Amplitude Session plugin](https://github.com/segmentio/analytics-kotlin/blob/main/samples/kotlin-android-app-destinations/src/main/java/com/segment/analytics/destinations/plugins/AmplitudeSession.kt) to your project.
67+
2. Initialize the plugin
68+
```kotlin
69+
analytics.add(AmplitudeSession())
70+
```

0 commit comments

Comments
 (0)