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
Copy file name to clipboardExpand all lines: src/connections/destinations/index.md
+40-23Lines changed: 40 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,12 +4,12 @@ title: Destinations Overview
4
4
5
5
Destinations are the business tools or apps that receive data from Segment. Destinations allow you to act on your data and learn more about your customers in real time.
6
6
7
-
> info "Destinations Catalog"
8
-
> If you want to explore the destinations compatible with Segment, check out the [Destinations catalog](/docs/connections/destinations/catalog/). Select an item from the catalog to learn more about it. The documentation for each destination explains how the Segment Tracking API methods are implemented for that destination.
7
+
> info "Destinations catalog"
8
+
> If you want to explore the destinations that are compatible with Segment, check out the [Destinations catalog](/docs/connections/destinations/catalog/). Select an item from the catalog to learn more about it. The documentation for each destination explains how the Segment Tracking API methods are implemented for that destination.
9
9
10
10
## Sources vs Destinations
11
11
12
-
Segment has [Sources](/docs/connections/sources/) and [Destinations](/docs/connections/destinations/). Sources send data _into_ Segment, while Destinations receive data _from_ Segment.
12
+
Segment has [Sources](/docs/connections/sources/) and [Destinations](/docs/connections/destinations/). Sources send data _to_ Segment, while Destinations receive data _from_ Segment.
13
13
14
14
## Destination connection types
15
15
Segment has three destination connection types:
@@ -18,19 +18,19 @@ Segment has three destination connection types:
18
18
*[Event streams](#event-streams-destinations)
19
19
20
20
### Storage destinations
21
-
Storage destinations enable you to store your raw Segment data. This enables data analysts and data scientists to work with raw data to derive deeper and more customized insights to support your organization. Learn more on the [storage overview page](/docs/connections/storage/).
21
+
Storage destinations let you store your raw Segment data. This enables data analysts and data scientists to work with raw data to derive deeper and more customized insights to support your organization. Learn more on the [storage overview page](/docs/connections/storage/).
22
22
23
23
### Reverse ETL destinations
24
-
[Reverse ETL](/docs/connections/reverse-etl) destinations are the business tools or apps you use that receive the data that Segment extracts from your connected warehouses.
24
+
[Reverse ETL](/docs/connections/reverse-etl) destinations are the business tools or apps that receive the data that Segment extracts from your connected warehouses.
25
25
26
-
If your destination is not listed in [the Reverse ETL catalog](/docs/connections/reverse-etl/reverse-etl-catalog/), use the [Segment Connections destination](/docs/connections/destinations/catalog/actions-segment/) to send data from your Reverse ETL warehouse to other destinations listed in the [catalog](/docs/connections/destinations/catalog/). The Segment Connections destination enables you to mold data extracted from your warehouse in [Segment Spec](docs/connections/spec/) API calls that are then processed by [Segment’s HTTP Tracking API](/docs/connections/sources/catalog/libraries/server/http-api/). The Segment HTTP Tracking API lets you record analytics data. The requests hit Segment’s servers, and then Segment routes your data to any destination you want. Get started with the [Segment Connections destination](/docs/connections/destinations/catalog/actions-segment/).
26
+
If your destination is not listed in [the Reverse ETL catalog](/docs/connections/reverse-etl/reverse-etl-catalog/), use the [Segment Connections destination](/docs/connections/destinations/catalog/actions-segment/) to send data from your Reverse ETL warehouse to other destinations listed in the [catalog](/docs/connections/destinations/catalog/). The Segment Connections destination lets you mold data extracted from your warehouse in [Segment Spec](docs/connections/spec/) API calls, that are then processed by [Segment’s HTTP Tracking API](/docs/connections/sources/catalog/libraries/server/http-api/). The Segment HTTP Tracking API lets you record analytics data. The requests hit Segment’s servers, and then Segment routes your data to any destination you want. Get started with the [Segment Connections destination](/docs/connections/destinations/catalog/actions-segment/).
27
27
28
28
### Event streams destinations
29
-
Event streams destinations are all destinations that aren't storage or Reverse ETL destinations. Adding these destinations allow you to act on your data and learn more about your customers in real time. Event streams destinations include [Destination Actions](/docs/connections/destinations/actions/), built on Segment's [Actions framework](#destination-actions).
29
+
Event streams destinations are destinations that aren't storage or Reverse ETL destinations. Adding these destinations allow you to act on your data and learn more about your customers in real time. Event streams destinations include [Destination Actions](/docs/connections/destinations/actions/), built on Segment's [Actions framework](#destination-actions).
30
30
31
31
## Method compatibility
32
32
33
-
Not all destinations can accept data from specific method types. To know if a destination can accept data from specific method types, look for the *Quick Info* box at the top of the destination's documentation page, or check out the [Destinations Methods comparison chart](/docs/connections/destinations/methods-compare/).
33
+
Not all destinations can accept data from specific method types. To know if a destination can accept data from specific method types, look for the *Quick Info* box in the destination's documentation, or check out the [Destinations Methods comparison chart](/docs/connections/destinations/methods-compare/).
34
34
35
35
## Source compatibility
36
36
@@ -41,7 +41,7 @@ Many destinations can accept data from all types of sources, but some are only c
41
41
42
42
## Destination Actions
43
43
44
-
In June 2021, Segment released a new form of destinations called [Destinations Actions](/docs/connections/destinations/actions/). These destinations allow users to create *subscriptions*: sets of conditions in which data is sent to the destinations and data mappings, to format that data for the destination tool. Segment watches for data that matches the conditions you create (*triggers*) for the subscription, and when the conditions are met, uses an explicit mapping to transform the incoming data to an output format that your destination can use.
44
+
Segment supports a form of destinations called [Destinations Actions](/docs/connections/destinations/actions/). These destinations let you create subscriptions, which are sets of conditions in which data is sent to the destinations and data mappings, to format data for the destination tool. Segment watches for data that matches the conditions you define for the subscription (called triggers). When those conditions are met, Segment uses an explicit mapping to transform the incoming data to an output format that your destination can use.
45
45
46
46
## Connection modes
47
47
@@ -50,7 +50,7 @@ In June 2021, Segment released a new form of destinations called [Destinations A
50
50
51
51
### Choosing a connection mode
52
52
53
-
Cloud-mode destinations send data through Segment. Device-mode destinations send some data directly downstream to a tool and some data to Segment as two parallel data streams. There are tradeoffs between cloud-mode and device-mode destinations. In general, Segment recommends cloud-mode destinations because you can benefit from Segment's system features, like retries, Replay, Warehouses, Privacy blocking, filtering, and more.
53
+
Cloud-mode destinations send data through Segment. Device-mode destinations send some data directly downstream to a tool and some data to Segment as two parallel data streams. There are tradeoffs between cloud-mode and device-mode destinations. In general, Segment recommends cloud-mode destinations because you can benefit from Segment's system features, like [Retries](/#retries-between-segment-and-destinations), [Replays](/docs/guides/what-is-replay/), [Warehouses](/docs/connections/storage/warehouses/), [Privacy blocking](/docs/privacy/data-controls/), [Filtering](/docs/guides/filtering-data/), and more.
54
54
55
55
You should consider using device-mode if you use destinations which record information directly on the user's device. These types of tools might lose functionality if they aren't loaded directly on the device.
56
56
@@ -69,26 +69,25 @@ For example, you need to load a web chat destination directly on a website to co
69
69
70
70
#### Mobile source connection modes
71
71
72
-
By default, destinations configured on a mobile source send their data directly to the Segment servers, then translate it and use Cloud-mode to forward it to destinations. *Cloud-mode* means that Segment sends the data directly from the Segment servers to your destination's servers. This means you don't need to package third-party SDKs for destinations that can accept cloud-mode data. Some primarily web-based destinations also allow cloud-mode, which can help reduce app size and improve load time and performance.
72
+
By default, destinations configured on a mobile source send their data directly to the Segment servers, then translate it and use cloud-mode to forward it to destinations. Cloud-mode means that Segment sends the data directly from the Segment servers to your destination's servers. This means you don't need to package third-party SDKs for destinations that can accept cloud-mode data. Some primarily web-based destinations also allow cloud-mode, which can help reduce app size and improve load time and performance.
73
73
74
74
Before you opt into cloud-mode for a mobile source, consider if your destinations have features that require interactions on the device or require device-specific data. For example, if you use cloud-mode for Mixpanel, you'll get data on reporting and people, but won't be able to use Mixpanel's features for in-app surveys or auto-tracking. These features can be really valuable, but might not be a priority for your team.
75
75
76
+
### How Segment determines device-mode and cloud-mode destinations
76
77
77
-
### How Segment determines Device-mode and Cloud-mode destinations
78
-
79
-
There are two main things Segment considers when deciding to use Device-mode, Cloud-mode, or both modes for a destination partner:
78
+
There are two main things Segment considers when deciding to use device-mode, cloud-mode, or both modes for a destination partner:
The anonymous identifiers used on mobile devices are usually static, which means Segment doesn't need to do additional resolution and can build Cloud-mode destinations by default. Because Segment uses native advertising identifiers on mobile devices, you don't need a full SDK on the device to reconcile or identify a user. For example, you might track users who viewed an advertisement in one app and installed another app as a result.
86
+
The anonymous identifiers used on mobile devices are usually static, which means Segment doesn't need to do additional resolution and can build cloud-mode destinations by default. Because Segment uses native advertising identifiers on mobile devices, you don't need a full SDK on the device to reconcile or identify a user. For example, you might track users who viewed an advertisement in one app and installed another app as a result.
88
87
89
88
However, some mobile attribution tools do more advanced reconciliation based on more than the native identifier, which requires the SDK to be installed on the device. For those destinations, Segment offers device-mode, which packages the tool's SDK with the client-side library so that you can get the entire range of tool functionality.
90
89
91
-
##### Web Attribution
90
+
##### Web attribution
92
91
93
92
Cross-domain identity resolution for websites requires that the attribution tool use a third-party cookie so it can track a user anonymously across domains. This is a critical component of attribution modeling. As a matter of principle, Segment only uses first-party cookies and doesn't share cookies with partners, so Analytics.js and the data it collects aren't enough to generate view-through attribution in ad networks.
94
93
@@ -130,7 +129,7 @@ To add a Destination to your workspace:
130
129
7. Click **Save**.
131
130
8. Configure the settings and enable your destination on the destination settings page.
132
131
133
-
Learn more about what adding a destination entails in the[Sending data to a Segment destination](/docs/connections/destinations/add-destination/) documentation.
132
+
Learn more about what adding a destination entails in the[Sending data to a Segment destination](/docs/connections/destinations/add-destination/) documentation.
134
133
135
134
> warning "Disabled destinations do not receive data"
136
135
> If you haven't enabled your destination after you created it or if you actively disable a destination, Segment prevents any data from reaching the destination. Business Tier customers can request [a Replay](/docs/guides/what-is-replay/), which resends data from the time the destination was disabled to the time it was re-enabled. Replays can also send data to currently disabled destinations.
@@ -159,7 +158,7 @@ When you use Segment's mobile SDK, Segment dispatches each event to a background
159
158
160
159
If the delivery of the payload is not successfully sent due to connection issues, all of your SDKs will automatically retry the request until successful receipt of the payload according to the following policies. Note that retry policies are subject to change / tuning in the future.
161
160
162
-
Platform | **Initial Wait -** Sleep duration before the first retry | **Wait Growth -** Rate of growth of the sleep duration between each retry | **Max Wait -** Maximum sleep duration between retries | **Max Attempts -** Maximum number of individual retries
161
+
Platform | Initial Wait - Sleep duration before the first retry | Wait Growth - Rate of growth of the sleep duration between each retry | Max Wait - Maximum sleep duration between retries | Max Attempts - Maximum number of individual retries
163
162
-- | -- | -- | -- | -- |
164
163
C++ | 1s | None | 1s | 5
165
164
Clojure | 15s | Exponential | 1h | 50
@@ -190,7 +189,7 @@ You can see the current destination endpoint API success rates and final deliver
190
189
### Replays
191
190
192
191
> info ""
193
-
> Replay is available to [Business tier](https://segment.com/pricing){:target="_blank”}. customers. [Contact Segment](https://segment.com/contact/sales) to learn more.
192
+
> Replay is available to [Business tier](https://segment.com/pricing){:target="_blank”} customers. [Contact Segment](https://segment.com/contact/sales) to learn more.
194
193
195
194
[Replays](/docs/guides/what-is-replay/) allow customers to load historical data from Segment's S3 logs into downstream destinations which accept cloud-mode data. For example, if you wanted to try out a new email or analytics tool, Segment can replay your historical data into that tool. This gives you a great testing environment and prevents data lock-in when vendors try to hold data hostage.
196
195
@@ -205,7 +204,7 @@ Segment uses [stream batching](#stream-batching) for all destinations that requi
205
204
For all destinations, except for non-realtime Engage syncs and Reverse ETL syncs, Segment processes events from your source as they arrive and then flows the data downstream to your destinations in small batches, in a process called **stream batching**. These batches might contain different events between retry attempts, as events in previous batches may have succeeded, failed with a permanent error, or expired. This variability reduces the workload the system processes during partial successes, allows for better per-event handling, and reduces the chance of load-related failures by using variable batch formations.
206
205
207
206
#### Bulk batching
208
-
Some data flows may be able to use a process called **bulk batching**, which supports batching for destinations that produce between several thousand and a million events at a time. Real-time workloads or using a Destination Insert Function may prevent bulk batches from being formed. Batches contain the same events between retries.
207
+
Some data flows may be able to use a process called **bulk batching**, which supports batching for destinations that produce between several thousand and a million events at a time. Real-time workloads or using a destination insert function may prevent bulk batches from being formed. Batches contain the same events between retries.
@@ -235,7 +234,7 @@ For destination-specific hashing requirements, refer to the destination's API do
235
234
236
235
## IP Allowlisting
237
236
238
-
IP Allowlisting uses a NAT gateway to route traffic from Segment's servers to your destination through a limited range of IP addresses, which can prevent malicious actors from establishing TCP and UDP connections with your integrations.
237
+
IP Allowlisting uses an NAT gateway to route traffic from Segment's servers to your destination through a limited range of IP addresses, which can prevent malicious actors from establishing TCP and UDP connections with your integrations.
239
238
240
239
IP Allowlisting is available for customers on Business Tier plans.
241
240
@@ -248,10 +247,28 @@ Segment supports IP Allowlisting in [all destinations](/docs/connections/destina
248
247
Destinations that are not supported receive traffic from randomly assigned IP addresses.
249
248
250
249
### Configure IP Allowlisting
250
+
251
+
You can enable IP Allowlisting in your Segment workspace to ensure that data is sent only through trusted IP addresses.
252
+
253
+
#### IP Allowlisting for destinations
254
+
255
+
Use IP Allowlisting to manage how data flows from Segment to destinations.
256
+
251
257
To enable IP Allowlisting for your workspace:
252
258
1. From your Segment workspace, navigate to **[Settings > Workspace settings > Destination IP settings](https://app.segment.com/goto-my-workspace/settings/destination-ip-settings){:target="_blank”}**.
253
259
2. On the Destination IP settings page, click **Enable IP allowlisting**.
254
-
3. The page displays the IP address ranges that Segment uses to route data from Segment's internal systems to your destination. Note these ranges, as you'll need this information to enforce IP restriction in your downstream destinations.
260
+
3. The page displays the IP address ranges that Segment uses to route data from Segment's internal systems to your destination. Make note of these ranges, as you need this information to enforce IP restriction in your downstream destinations.
255
261
4. Open each of your downstream tools and configure IP restriction for each destination. For more information, refer to the documentation for your downstream tool.
256
262
257
-
*All destinations might not support IP restriction.*
263
+
> warning "Some destinations might not support IP restriction"
264
+
> Not all destinations support IP restriction, see [supported destinations](#supported-destionations) for more detail.
265
+
266
+
#### IP Allowlisting for functions
267
+
268
+
Use IP Allowlisting to control how Segment sends event data to function endpoints.
269
+
270
+
To enable IP Allowlisting for your workspace:
271
+
1. From your Segment workspace, navigate to **[Settings > Workspace settings > Destination IP settings](https://app.segment.com/goto-my-workspace/settings/destination-ip-settings){:target="_blank”}**.
272
+
2. On the Destination IP settings page, click **Enable IP allowlisting**.
273
+
3. The page displays the IP address ranges that Segment uses to route data from Segment’s internal systems to your destination. Note these ranges, as you need this information to enforce IP restriction in your downstream destinations.
274
+
4. Re-deploy relevant destination functions to allow the function to take effect of IP allowlisting. After this, all the events will be sent with only the mentioned IPs.
0 commit comments