Client-side vs Server-side
Client-side and server-side describe where an app's code runs: either on the user's device (client-side), or on a server (server-side). Amplitude offers several types of sources to cover each of your needs. This doc describes the differences between client-side and server-side sources, and gives a brief overview of third-party sources.
Both Amplitude client-side SDKs and server-side SDKs use API endpoints. These endpoints offer flexibility for implementing custom solutions without Amplitude's SDKs, especially for programming languages Amplitude's SDKs don't support, like PHP.
| Name | API endpoints |
|---|---|
| Analytics and Data SDKs | HTTP V2 API and Batch event upload |
| Experiment SDKs | Evaluation API |
Client-side sources
Use client-side sources in apps that your users run on their own devices, like mobile, web browser, and desktop apps. In these sources, code runs on the user's device.
Amplitude's client-side sources include these SDKs:
- Web: Browser, Marketing Analytics Browser, React Native
- Mobile: Android, iOS, Unity Plugin, Flutter, React Native
- Game engine: Unity Plugin, Unreal
Server-side sources
Use server-side sources in secure, multi-user environments like web servers and services that you run on your own servers. In these sources, code runs on the server.
Amplitude's server-side sources include these SDKs and APIs:
- Node.js SDK
- Go SDK
- Python SDK
- Java SDK
Third-party sources
Third-party is another kind of source. These sources let you import data from other platforms into Amplitude. Each third-party source requires an account with that platform, and each has different setup requirements. Go to the Source catalog for all third-party sources.
How to choose
Use this guide to help you choose the kinds of sources you need.
- Client-side: Choose client-side sources for the simplest initial instrumentation.
- Server-side: Choose server-side sources to track server-side events and use existing user data tracking workflows.
- Hybrid: Choose a hybrid approach that includes both client-side and server-side sources to combine simpler implementation with server-side event tracking.
- Third party: Choose these sources if you already have a third-party data layer such as ad networks or marketing automation tools.
Was this helpful?