Client-side vs Server-side
Client-side and server-side describe where the code that sends data to Amplitude runs: on the user's device for client-side sources, or on your own servers for server-side sources. Choose client-side sources for the simplest initial instrumentation, server-side sources to track events from your own servers, or a hybrid of both to combine those benefits. Amplitude also supports third-party sources that import data from platforms you already use, such as ad networks or marketing automation tools.
Both Amplitude client-side SDKs and server-side SDKs use API endpoints. These endpoints offer flexibility for implementing custom solutions without relying on 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 types of 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 types of 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. Third-party sources all require that you have an account with the third-party source, and each has different setup requirements. You can find all third-party sources in the Source catalog.
How to choose
Choosing the kinds of sources you need to use can be daunting, so here's a basic guide to help you make a decision.
- Client-side: Choose client-side sources for the simplest initial instrumentation.
- Server-side: Choose server-side sources if you want 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 get the benefits of simpler implementation and the ability to track server-side events.
- Third party: Choose third-party sources if you already have a third-party data layer such as ad networks or marketing automation tools.
Was this helpful?