Purchase verification

The Adjust purchase verification SDK validates transaction data with the Apple App Store and Google Play Store in real-time. When all of your in-app purchases are verified with the actual stores—and never a counterfeit source—you can feel confident that the data in your Adjust dashboard will be consistent with your app store revenue reporting. Increase your data accuracy to tighten spend strategies on your next mobile app advertising or re-engagement campaign.

Before you begin


  • Adjust's Purchase Verification package

Helpful information

  • The Adjust purchase verification SDK is intended only for in-app purchases made through the Google Play Store or Apple App Store. It does not work for the purchase of physical items.
  • Adjust offers purchase verification SDKs for iOSAndroidUnityCordova 
    • Unity and Cordova are only supported when used to develop an Android or iOS app

Set up for Android

To set up purchase verification, follow these steps. 

  1. Integrate the Adjust purchase verification SDK according to our READMEs
  2. Log in to the Google API console with your credentials
  3. Under Select a project find your app's project
  4. Select your organization, application, then OPEN
  5. Select API Credentials > Credentials > Create credentials
  6. From the drop-down menu, select Service account key
  7. Select an existing service account or create a new one
  8. Select JSON as your Key type
  9. Select ProjectViewer as your Role from the drop-down menu 
  10. Select Create

Now, a JSON key will be downloaded to your computer. Upload this to the Adjust dashboard by navigating to your app, selecting your app options caret (^) and going to All Settings > Purchase Verification. Next, follow these steps to complete the setup. 

  1. Go to the Google Play Store and log in
  2. Select Settings 
  3. Select Developer accountAPI access
  4. Find your application project and select LINK
  5. Under Service Accounts, on the relevant email address, select GRANT ACCESS
  6. In the Add a new user dialogue, select Finance from the Role drop-down menu
    • If you want this user to have global access, select ADD USER
    • If you want this user to have access only to one app, select Add an app, then ADD USER
  7. Navigate to Developer accountUsers & permissions to view information on your users and access permissions

Great job! Purchase verification is now active for Android. Note: We do not support subscription verification for Android.

Set up for iOS

  1. Integrate the Adjust purchase verification SDK according to the README
  2. Navigate to your app and select your app options caret (^)
  3. Select All Settings > Purchase Verification
  4. Slide the PURCHASE VERIFICATION toggle to ON
  5. If your app offers auto-renewable subscriptions, enter your iTunes shared secret, found in iTunes Connect
  6. Select SAVE

All set! Purchase verification is now active for iOS.

View your data

Revenue from confirmed in-app purchases appears in your dashboard. We do not automatically report on failed or otherwise unverifiable in-app purchases.

There are four verification states within the purchase verification system:

  • Passed: verified in-app purchases
  • Failed: purchase deemed invalid by the app store through a failed response
  • Not verified: there is not enough information to validate the in-app purchase’s legitimacy due to invalid parameters within the method
  • Unknown: purchases where we did not receive a verification response from Google or Apple, or another situation prevented us from reporting the correct verification status

If you want statistics for any of these verification states to appear in your dashboard, then you will need to create custom in-app events for each status within the Adjust attribution SDK. Your developer can configure this by following the instructions for iOS or Android.

NoteDo not set up verification status events as revenue events, except for those with Passed status. Setting up other verification status events as revenue events will lead to an incorrect return on investment (ROI) calculations and cohort data.

Once you have created the necessary in-app events and linked them within the dashboard, you can add them to any statistics view via the column selection filter.


What is in-app purchase fraud?

In-app purchase fraud is when a fraudster fakes a purchase receipt from an app store. This makes it seem as though a purchase has been completed within your app but not the related app store. The in-app product is unlocked for free and fraudulent data gets tracked by Adjust and is reported in your dashboard.

How does Adjust’s in-app purchase verification work?

Purchase verification is available via a separate SDK to the Adjust Attribution SDK, and it needs to be implemented into your app. It serves one purpose: to validate purchases with the Apple App Store or Google Play Store.

The process involves taking the transaction ID (iOS) or payload (Android) and confirming its authenticity with the App Store or Play Store via an API call. Only when the purchase is confirmed as legitimate do we feed the data into your Adjust dashboard statistics.

This way, only legitimate in-app purchases trigger in-app revenue events, and only this data is tracked by Adjust and displayed in your dashboard reporting.

Which development environments is the purchase verification SDK available for?

Currently, Adjust's purchase verification SDK is available for iOSAndroidUnity, and Cordova.