Update conversion values for S2S events

If you record in-app events on your server, you can forward these to Adjust as server-to-server (S2S) events. This way, Adjust lets you measure conversion values for both S2S events and events recorded using the Adjust SDK.

Adjust uses your conversion value configuration to map events to conversion values. Depending on your configuration, either the Adjust SDK or your app sends the conversion value updates to Apple.

Adjust recommends using SDK events for SKAdNetwork. As SKAdNetwork is a client-side system, events recorded by the Adjust SDK are more consistent.

How it works

There are three steps that S2S events follow:

  1. Your server records an event and sends it to Adjust as a S2S event.
  2. The Adjust backend calculates the conversion value.
  3. Adjust sends this conversion value to your server as a S2S response.

Working asynchronously

The Adjust backend cannot initiate a connection with the Adjust SDK. Working asynchronously, the Adjust backend waits until it receives a request from the Adjust SDK. Once received, the Adjust backend sends the updated conversion value as a response to the SDK request.

To use this feature you need to have the Adjust SDK implemented in your app.

  1. Your server records an event and sends it S2S to Adjust.
  2. The Adjust backend uses the S2S event and any other applicable activities to calculate the latest conversion value.
    • If the latest conversion value is greater than the conversion value currently stored on the Adjust backend, then the Adjust backend updates the stored conversion value.
  3. If applicable, the Adjust SDK sends an incidental, unrelated request to the Adjust backend (for example, a user triggers an SDK session or SDK event).
  4. The Adjust backend re-calculates the conversion value as described in step 2 and sends the stored conversion value in its response to the Adjust SDK.
  5. The Adjust SDK updates the conversion value via SKAdNetwork.

With an asynchronous approach there is no way to communicate with the app in real time, as it has not initialized the connection yet.

Adjust automatically uses the asynchronous approach by default when you manage conversion values in the Adjust dashboard.