Skip to main content

What this is

Server-to-server integration moves data directly from a server you own into Zeotap CDP, with no file drop, browser snippet, or mobile SDK in between. You register an HTTP API source in the Sources module, and your server then makes API calls to the Zeotap CDP endpoint that source issues. Once the data is in Zeotap CDP it is available for segmentation and activation across platforms, so you can use it to build audiences and optimise your engagement strategies. Zeotap CDP supports server-to-server data transfer exclusively through the HTTP API source.

When to use a server-to-server source

Choose a server-to-server source when you own the system that emits the data and you want an authenticated, JSON-first ingestion path rather than an intermediary file drop or a client-side SDK. The source type supports both Customer Data (CE) and Non-Customer Entity (NCE) data — you choose which Data Entity applies when you create the source. Delta fetch is not supported for this source type — see Source Integrations for how it compares with the other source types.

Key concepts

  • HTTP API source — server-to-server sources are registered under the HTTP API source type in the Sources module. The source’s details carry the API endpoint and the write_key your server uses to send data.
  • eventType — server-to-server calls set the eventType parameter to s2s.
  • Identifiers — server-to-server data must be tied to at least one identifier. Preferably send both your own first-party user ID — it must be the same value you send in the Web JS or App SDKs — and a digital identifier such as a mobile advertising ID (MAID), so Zeotap can match the records to the right user.
  • Country and region — server-to-server calls must carry the user’s country, because Zeotap does not infer country from the request IP address for this source type. See Region of Storage for the country-to-region mapping that decides where the data is stored.
  • Real-time and batched calls — a real-time call carries a single event; a batched call wraps an array of events. Both use the same endpoint and credentials, and only the shape of the payload body differs.

Next steps

Last modified on October 6, 2026