What are the pros + cons of using Amplitude’s client-side bundled Segment integration?
Amplitude’s Best Practices:
Pros:
Adding Amplitude native SDKs adds extra tracking functionality, namely session tracking, and automatic user property tracking.
-
Events that are logged within the same user session will be grouped together when viewing that user's stream on Amplitude Dashboard. This also allows for session length calculations on Amplitude's platform.
-
The SDKs will also automatically record several user properties such as device type, operating system, and user agent. Here is a list of the user properties tracked automatically by our SDKs.
-
Additional Segment Amplitude Integration Setting (in Advanced Settings) -- Track Session Events (disabled by default): If enabled, then the SDKs will automatically send uAmplitude] Start Session and Amplitude] End Session events to mark the start and end of a user's mobile session.
-
With our SDKs installed, you can also directly interact with them. Here are the SDK installation articles that document additional functionality:
Cons:
Adding these additional SDKs increases the size of your application (each one is <200kb in space), which you will need to account for if you are already using several libraries in your application (and do note that Android apps can have a max of 65K methods). As mentioned, these additional SDKs are entirely optional and you can still perform pretty much the same analysis in Amplitude by using only Segment's libraries.
-
Note: Without session tracking, events will have a session id of -1 so events performed by a user within the same session will not be grouped together in Amplitude’s platform when viewing that user's timeline. In addition, session length calculations will not be available in Amplitude so our User Sessions chart will not display any data. Amplitude's Pathfinder and Pathfinder Users charts will also not be able to display out-of-session events alongside events within a session. You will also not be able to perform session-based Funnel Analysis effectively.
-
Without Amplitude's SDKs, you need to map them manually in order to track user properties such as device type and operating system into Amplitude, as described here.