You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Adding {{ currentIntegration.display_name }} to the integrations object
60
61
61
62
To add {{ currentIntegration.display_name }} to the `integrations` JSON object (for example, [to filter data from a specific source](/docs/guides/filtering-data/#filtering-with-the-integrations-object)), use one of the following valid names for this integration:
62
63
63
64
{% for valid_name in currentIntegration.previous_names %}
Copy file name to clipboardExpand all lines: src/connections/destinations/actions.md
+25Lines changed: 25 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,6 +26,24 @@ Each Actions-framework Destination you see in the Segment catalog represents a f
26
26
- 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.
27
27
- Destination Actions can not yet be accessed or modified using the Segment APIs.
28
28
29
+
## Components of a Destination Action
30
+
31
+
A Destination Action contains a hierarchy of components, that work together to ensure the right data is sent to the destination.
32
+
33
+
At the top level, is the Destination itself. It has two children: **Global Settings** and **Subscriptions**.
34
+
35
+
**Global Settings** are where you include authentication information like API keys, and other connection-related information.
36
+
37
+
**Subscriptions** handle the individual calls to the destination. In them, you define what type of call you want to make to the destination, and what triggers that call. Individual Destination Actions come enabled with some predefined subscriptions to handle common events like Screen calls, Identify calls, and Track calls. Subscriptions have two components that make this possible: **Triggers** and an **Action**.
38
+
39
+
**Triggers** enable you to define *when* the corresponding Action fires. As part of a Trigger, you can use condition-based filters to narrow the scope of the trigger.
40
+
41
+
**Actions** determine the information sent to the destination. In the Configure action section, you map the fields that come from your source, to fields that the destination expects to find. Fields on the destination side depend on the type of action selected
42
+
43
+
For example, in the Amplitude (Actions) destination, you define your API and Secret keys in the destination's global settings. Then, the provided Page Calls subscription:
44
+
45
+
1. Triggers the action on all incoming Page events.
46
+
2. Runs the Log Event action, to map your incoming data to Amplitudes properties.
29
47
30
48
31
49
## Set up a destination action
@@ -87,6 +105,13 @@ The following type filters and operators are available to help you build conditi
87
105
88
106
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.
89
107
108
+
> info "Destination Filters"
109
+
> Destination filters are compatible with Destination Actions. Consider a Destination Filter when:
110
+
> - You need to remove properties from the data sent to the destination
111
+
> - You need to filter data from multiple types of call (for example, Track, Page, and Identify calls)
112
+
>
113
+
> If your use case does not match these criteria, you might benefit from using Subscription-level triggers to match only certain events.
Copy file name to clipboardExpand all lines: src/connections/destinations/catalog/actions-amplitude/index.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -45,6 +45,9 @@ Session tracking is only available when using Segment's new libraries: [Analytic
45
45
Once you have a mapping, you can follow the steps in the Destinations Actions documentation on [Customizing mappings](/docs/connections/destinations/actions/#customizing-mappings).
46
46
47
47
48
+
### Device ID Mappings
49
+
The Amplitude destination requires that each event include either a Device ID or a User ID. If a User ID isn't present, Amplitude uses the a Device ID, and vice versa, if a Device ID isn't present, Amplitude uses the User ID. By default, Segment maps the Segment property `context.device.id` to the Amplitude property `Device ID`. If `context.device.id` isn't available, Segment maps the property `anonymousId` to the Amplitude `Device ID`. This is indicated by the following text in the Device ID field: `coalesce(``context.device.id``anonymousId``)`.
50
+
48
51
### Enable session tracking for Analytics.js 2.0
49
52
50
53
The session tracking is automatically enabled on Javascript sources.
Copy file name to clipboardExpand all lines: src/connections/destinations/catalog/braze/index.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,7 @@
2
2
title: Braze Destination
3
3
hide-cmodes: true
4
4
hide-personas-partial: true
5
+
hide-integrations-object: true
5
6
---
6
7
7
8
[Braze](https://www.braze.com/), formerly Appboy, is an engagement platform that empowers growth by helping marketing teams to build customer loyalty through mobile, omni-channel customer experiences.
Copy file name to clipboardExpand all lines: src/connections/sources/catalog/libraries/website/javascript/upgrade-to-ajs2.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Upgrade to Analytics.js 2.0
3
3
strat: ajs
4
4
---
5
5
6
-
Analytics.js 2.0 is fully backward compatible with Analytics.js Classic. 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 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.
Copy file name to clipboardExpand all lines: src/guides/duplicate-data.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
title: How does Segment handle duplicate data?
2
+
title: Handling duplicate data
3
3
---
4
4
5
5
Segment has a special de-duplication service that sits just behind the `api.segment.com` endpoint, and attempts to drop duplicate data. However, that de-duplication service has to hold the entire set of events in memory in order to know whether or not it has seen that event already. Segment stores 24 hours worth of event `message_id`s. This means Segment can de-duplicate any data that appears within a 24 hour rolling window.
Copy file name to clipboardExpand all lines: src/guides/ignore-bots.md
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,20 +1,20 @@
1
1
---
2
-
title: How can I ignore internet bots?
2
+
title: Internet bots
3
3
---
4
4
5
-
## But wait, I don't even know what a bot is!
5
+
## What's a bot?
6
6
7
7
If you stumbled onto this page by accident and don't know what a bot is or are just curious to learn more, the following Wikipedia article provides an awesome summary: [https://en.wikipedia.org/wiki/Internet\_bot](https://en.wikipedia.org/wiki/Internet_bot).
8
8
9
9
Surprisingly, more than half of all web traffic is made up of bots. While a fraction of them are good bots with a regulated pattern, and therefore beneficial to all online businesses, the majority of them have malicious intents and are mostly unregulated.
10
10
11
-
## Got it! So is it possible to ignore bad bots?
11
+
## Is it possible to ignore bad bots?
12
12
13
-
Now that we're level-set on what a bot is, unfortunately Segment does not offer any out-of-the-box feature to filter/ignore bot traffic.
13
+
Segment doesn't offer any out-of-the-box feature to filter or ignore bot traffic.
14
14
15
15
As such, you generally have two options:
16
16
17
-
**Handle the filtering at a destination-level:**some of our destination partners, [like Mixpanel](https://help.mixpanel.com/hc/en-us/articles/115004567946-Exclude-Bot-Activity-Web-JavaScript-), filter bots automatically. Whereas others [such as Hubspot](https://knowledge.hubspot.com/getting-started-with-hubspot-v2/how-to-filter-out-traffic-from-your-website-analytics) allow you to set up bot filtering manually. The advantage of filtering bots at a destination level is that it allows you to implement a robust, easy-to-maintain solution. However, as it pertains to Segment, the downside is that bot traffic will _still_ make it to Segment, [affecting your MTU count.](https://segment.com/docs/guides/usage-and-billing/mtus-and-throughput/#how-does-segment-calculate-mtus)
17
+
**Handle the filtering at a destination-level:**Some of Segment's destination partners, [like Mixpanel](https://help.mixpanel.com/hc/en-us/articles/115004567946-Exclude-Bot-Activity-Web-JavaScript-), filter bots automatically. Whereas others [such as Hubspot](https://knowledge.hubspot.com/getting-started-with-hubspot-v2/how-to-filter-out-traffic-from-your-website-analytics) allow you to set up bot filtering manually. The advantage of filtering bots at a destination level is that it allows you to implement a robust, easy-to-maintain solution. However, as it pertains to Segment, the downside is that bot traffic will _still_ make it to Segment, [affecting your MTU count.](https://segment.com/docs/guides/usage-and-billing/mtus-and-throughput/#how-does-segment-calculate-mtus)
18
18
19
19
**Write custom logic that suppresses bot activity from being sent to Segment:** if you want to prevent bot traffic from making it to Segment in the first place, another option is to write your own custom code. The logic, in pseudo-code, would look something like this if you know a particular characteristic of the bot traffic to filter out, such as the userAgent:
20
20
@@ -25,17 +25,17 @@ if ! window.navigator.userAgent in robots
25
25
analytics.track
26
26
```
27
27
28
-
The benefit here of course is that you would be able to limit the impact that bots have on your MTU count. However, on the flip side, it's much harder to implement and maintain a custom filter.
28
+
The benefit here is that you would be able to limit the impact that bots have on your MTU count. On the flip side, it's much harder to implement and maintain a custom filter.
29
29
30
-
## If we see a massive MTU spike because of bots, can we apply for a refund?
30
+
## If I see a massive MTU spike because of bots, can I apply for a refund?
31
31
32
-
As a matter of policy, we typically do not provide refunds for bot-related MTU spikes, as bot traffic is out of our control. However for extenuating circumstances, [you can petition for a refund](https://segment.com/contact/billing), assuming you're able to provide proof of the bot's effect.
32
+
As a matter of policy, Segment doesn't provide refunds for bot-related MTU spikes, as bot traffic is out of Segment's control. However for extenuating circumstances, [you can petition for a refund](https://segment.com/contact/billing), assuming you're able to provide proof of the bot's effect.
33
33
34
-
## I'm seeing a lot of browser traffic from Boardman; isn't that from Segment?
34
+
## I'm seeing a lot of browser traffic from Boardman; is that from Segment or a bot?
35
35
36
-
We do indeed use Amazon's hosting services, which are based in Boardman, Oregon. However [many bots also originate from AWS in Boardman as well](https://productforums.google.com/forum/#!topic/webmasters/Ow5baxkjiPI).
36
+
Segment uses Amazon's hosting services, which are based in Boardman, Oregon. However [many bots also originate from AWS in Boardman as well](https://productforums.google.com/forum/#!topic/webmasters/Ow5baxkjiPI).
37
37
38
-
One way you can confirm whether or not traffic is coming from Segment vs. a bot is to check the userAgent of the inbound call. Ours is:
38
+
One way you can confirm whether or not traffic is coming from Segment vs. a bot is to check the userAgent of the inbound call. Segment's is:
39
39
40
40
```js
41
41
'Mozilla/5.0 ('+deviceModel.slice(0, -3) +'; CPU '+ osName +''+
0 commit comments