Explore Our Integrations
If you’re just looking to explore all of our integrations check out the integrations page.
For detailed information about each integration, select one from the list to learn how our API methods are implemented for that integration, and how you can use it through Segment.
Segment increases deliverability to end integrations in two ways: retries and replays. Retries happen automatically for all customers, while replays are available on request for Business customers.
Retries in our Client Libraries
Our client libraries ensure delivery of your data to our API reliably in the face of spotty connections, device failure, or network partitions in your data centers.
On mobile, when you invoke our API, our SDKs automatically dispatch to a background thread, where the event is written to a queue held on the device’s disk.
Before the request is flushed from the queue, the event is batched together with other events before being compressed and sent to our servers. Our SDKs minimize battery use and bandwidth use by powering up the radio less frequently and with smaller payloads.
If the delivery of the payload is unsuccessful or undetermined because of connection issues, our SDKs automatically retry the request until successful receipt of the payload.
Retries between Segment and Integrations
The integration endpoint APIs we send data to have fluctuations in availability due to any number of issues ranging from network to code to overload. Typically data sent to these APIs during small outage fluctuations would just be dropped and lost. However, Segment’s internal systems re-enqueue failed messages and retry each datapoint up to five times over 30 minutes. In many cases this substantially improves delivery rates.
Here’s an example integration that was only successfully accepting 93.36% of all API requests (without Segment that’s 6.64% data lost), but after Segment’s retries the full deliverability rose to 99.28%.
You can see the current integration endpoint API success rates and final delivery rates for Segment’s server-side integrations on our status page.
Replays allow customers to replay historical data from our S3 logs into downstream server-side integrations. If you want to try out a new email or analytics tool, for example, we can replay your historical data for the past 6 months into that tool. This gives you a great testing environment and prevents data lock-in when vendors try to hold data hostage. Replay is available to our Business customers, and you can learn more by contacting us.
Segment’s native client-side libraries (analytics.js, iOS, and Android) have the ability to pull in client-side dependendencies for Device-based Connection Modes with our integration partners.
When you elect to use a Device-based Connection Mode, Segment includes some additional mapping logic which pulls the third-party library for your integration into the browser or our SDK. We then translate your tracking events into the format that the tool expects in their native API, and send that data directly from the user’s device to the integration’s servers. This may be optional or required to ensure full functionality of the tool and a few other factors explained below.
In contrast, when you use Cloud-based Connection Modes, Segment forwards data to the integration directly via our servers, saving you from incurring the additional size and method count of the integration’s mobile SDK or web library.
Why do some integrations offer or require Device-based Connection Modes?
There are two primary factors that dictate whether we build and support Device-based or Cloud-based Connection Modes (or both!) for a given integration partner.
Cross-domain and Cross-application Anonymous Attribution
Mobile: On mobile, even anonymous identifiers are generally persistent. This allows us to build Cloud-based integrations as the default. Using native advertising identifiers, our partners are able to reconcile a user who, for example, viewed an advertisement in one app and installed another app as a result, regardless of their SDK being present on the device.
Some partners do more advanced reconciliation based on additional factors, and will require their SDK be packaged on the device as a result. For those integrations, we’ll offer a Device-based Connection Mode.
Web: On web, cross domain identity resolution — a critical component of attribution modeling — requires the attribution tool to employ a third party cookie for tracking a user anonymously across domains. Since, as a matter of principle, Segment only uses first party cookies and does not sync our cookies with any partners, analytics.js and the data it collects itself is insufficient for view-through attribution with ad networks.
We allow our customers to take advantage of advertising and attribution tools by loading their respective libraries and pixels in the context of the browser and triggering Deviced-based requests to that provider in response to Segment API calls.
Client-native Integration Functionality
On both mobile and web, it’s common that our partners offer client-side functionality in their SDKs and libraries that extend beyond the primary use case of data collection. In these cases, we offer Device-based Connection Modes so that you can still completely abstract over the implementation of their SDK and ensure that all the data you collect with Segment is still routed appropriately, while availing you of their complete native functionality.
Some features that would require a Device-based Connection Mode include automatic A/B testing; displaying user surveys, live chat or in-app notifications; touch/hover heatmapping; and accessing rich data such as CPU usage, network data, or raised exceptions.
Choosing a Connection Mode
Cloud-based Connection Modes are the default on mobile (where you can simply elect not to package the third-party SDK and our Cloud-based integration will forward data instead). On web, we have a few integrations currently in beta with a Cloud-based Connection Modes to help improve your site performance.
Before you turn on or opt for this mode, consider if the integration you’re using has some features that require device-based interactions (see the examples above). For example, if you use the Cloud-based Connection Mode for Mixpanel, you won’t be able to use their features for in-app surveys or auto-tracking, which can be really valuable! But you’ll get your data in their reporting and people features just fine.
How do I tell which Connection Modes and Platforms are supported for an Integration?
The first place to look is the individual integration doc. Each one will have a matrix of supported Sources and Connection Modes.
In order to override the default, check the integration settings pane in the app either for a Connection Mode toggle or instructions on bundling any additional mobile components required.