In-app purchases

A mobile app can earn revenue from ad impressions (Ad Revenue) and in-app purchases (IAP Revenue).

AppMetrica allows you to collect information about purchases in the app and track statistics in the Revenue report. For more information, see Sending in-app purchases on Android and iOS.

  1. Automatic tracking of in-app purchases
  2. Tracking metrics
  3. Currency conversion
  4. Validating purchases
  5. Grouping purchases
  6. Debugging Revenue sending
  7. Paid subscriptions in the App Store

Automatic tracking of in-app purchases

For iOS and Android, starting with SDK version 4.0, automatic data collection for in-app purchases is available. To enable and disable automatic collection, use the SDK method withRevenueAutoTrackingEnabled for Android and the revenueAutoTrackingEnabled ( Objective-C | Swift ) property for iOS.

If your app has manual collection of purchases set up and automatic collection enabled, then you can choose which data on purchases to show in reports in the AppMetrica settings in the Revenue section: collected manually, automatically collected, or both.

Changing these settings does not affect data collection itself. After you change these settings, the data in the reports for previous periods will also change.

Attention. To track subscription renewals, set up revenue sending at each renewal.

Tracking metrics

You can use the Revenue report data to evaluate:
  • The success of new app features using the ARPU metric.
  • User reaction to price changes using the ARPPU metric.
  • Popular products in the app.
  • Geography of purchases by grouping the city.
  • Profitability of individual ad networks and units.

Currency conversion

In-app purchases can be made in different currencies. For a list of all supported currencies, see Supported currencies.

AppMetrica converts the purchase price to all report currencies: USD, EUR, RUB. AppMetrica uses an exchange rate that is provided from more than 15 sources, including the European Central Bank.

AppMetrica converts the currency using the previous day rate. For example, if the purchase was made on day N, the purchase price is converted at the exchange rate of day N − 1. Conversion takes place into EUR and RUB against USD.

Attention. The AppMetrica conversion rate may not coincide with Google Play Console and iTunes Connect rates.

Validating purchases

AppMetrica supports the revenue validation for purchases made through the App Store or Google Play. Purchases on iOS are validated using the iTunes API and on Android through local validation using a public key.

To validate purchases, you need to add keys in the AppMetrica settings and configure sending additional information along with Revenue. For more information, see Sending in-app purchases on Android and iOS.

With validation enabled:
  • The report shows purchases that were validated or sent without any information for validation.
  • All In-App Revenue metrics are counted based on validated purchases and purchases passed without parameters for validation.
  • For invalid purchases, Invalid revenue and Users with invalid revenue metrics are counted.

Grouping purchases

In-app purchases are grouped by OrderID.

For purchases with validation enabled, the following is used as an identifier:

You can set OrderID manually for purchases without validation. It should be passed in the payload field. For more information, see Sending in-app purchases on Android and iOS.

If you don't pass OrderID , the AppMetrica SDK generates the ID automatically.

Debugging Revenue sending

AppMetrica doesn't let you segment Revenue into “test” and “not test”. If you use the main API key for debugging purchases, the test purchases are included in general statistics. Therefore, to debug Revenue sending, send statistics to an additional API key using a reporter.For more information, see Sending in-app purchases on Android and iOS.

Paid subscriptions in the App Store

In the AppMetrica SDK, you can track new paid subscriptions in the App Store. They are processed as regular purchases.
Attention. To track subscription renewals, configure revenue sending for each renewal.

If you didn't find the answer you were looking for, you can use the feedback form to submit your question. Please describe the problem in as much detail as possible. Attach a screenshot if possible.