AppMetrica Blog

Add offline data to reports using AppMetrica Post API

What do you usually see in your app reports? Actions and conversions performed by users within an app. But what about offline channels – phone calls, purchases in brick-and-mortar stores, or transactions on external platforms? These are important for enriching your statistics and your understanding of your audience. Now you can add this data to your reports using the new AppMetrica Post API.

How it works

Your CRM may store data about offline interactions with users, or your back-end database may collect information about payments from different sources. To integrate this data with your app statistics in a single, comprehensive report, you need to import it to AppMetrica using a special tool – the Post API. This method of sending events via an HTTP interface allows you to upload information about user activity that occurs outside the app.

Like app data that the built-in SDK sends to reports, external data is loaded in event format. In AppMetrica the data is collected in a general list that can be found in the Events report. You can use this information both to evaluate conversions and to create segments in other reports. For instance, you can analyze a segment of users whose conversions were offline. In addition, data on offline conversions can be used for CPA optimization by sending postbacks to advertising partners for relevant events received through the Post API.

Here’s a diagram showing how the Post API works: 

This is how AppMetrica Post API works

By adding offline data in this way, you get a clearer, more detailed picture of all the action, which allows you to work with users more effectively.

Who can benefit from using the Post API

The AppMetrica Post API is an invaluable tool for any app whose audience interacts with the service or business via other channels — in an offline store, on a website, by phone or through partner platforms:

— Ecommerce and banking apps

With the Post API you can get end-to-end analytics on an app audience. For example, you can load user activity data from your CRM and get a summary of purchases and payments in one report.

Here’s an event report incorporating offline conversions:

Let’s look at an example. The discount aggregator Edadeal uses the Post API to integrate data about users’ cashback rewards. These transactions take place in the service’s back-end, rather than within the app, so this data has to be imported separately in order to see the entire funnel of user actions from opening the app to making a purchase in a store, which is indicated by the received cashback. Data on paying users uploaded via the Post API provides a different perspective on the app’s audience: it allows you to identify the core of users, explore which segments were most active, chart paying audience retention, and redistribute the budget in favor of advertising partners that attract more target traffic.

— Developers of mobile games and apps with a subscription monetization model

If a game allows in-app purchases (and this is most often the case), then validation logic is usually implemented on the back end: unvalidated purchases are removed, along with returns and purchases by users who have previously made returns. With the Post API, you can make sure only real purchases are delivered for Events reports. The mobile games developer Black Bears identifies cheaters in this way: the team checks the actual payments received through app stores and adds the corresponding conversions to AppMetrica via the Post API from the backend. Data on real payments allows developers to analyze different segments of players (like "whales" and "dolphins" according to their activity level), as well as to adjust the target audience in favor of those users who really pay.

How to get started with the Post API

You can read the full documentation here. But to put it briefly:

1. If you need to connect AppMetrica to your app, register the app and then integrate the appropriate SDK.
2. In the AppMetrica interface, go to the Settings section of your app and get a unique key (Post API key) for transmitting events via the Post API.
3. Upload data via request parameters or in CSV format.
4. This data is added to the other data received from the SDK, and it is all combined in one report.
5. Synchronization takes place every 4 hours.

Note that the Post API allows uploading events that are no more than 7 days old at the time of upload and only for those user IDs that were previously sent via the SDK. 

If you have any questions or requests, write to, and we’ll do our best. ;)