Purchase verification
The Adjust purchase verification SDK (PVS) 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.

Note: 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.

Activate purchase verification

Adjust verifies purchases via an SDK (separate to the attribution SDK) that you need to integrate into your app.

Currently we have purchase verification SDKs available for: Note: Unity and Cordova are only supported when used to develop an Android or iOS app.

If you want to activate Adjust’s purchase verification, you will need to sign up for our purchase verification package. Speak to your AM or contact support@adjust.com for more information.

Set up purchase verification for Android


  1. Integrate the Adjust purchase verification SDK according to the README
  2. Go to the Google API console and log in with your credentials
  3. Go to Select a project at the top of the page and select your app's project
  4. Select your organisation and application and select OPEN
  5. Select API Credentials from the left-side menu
  6. Select Credentials from the left-side menu
  7. On the Credentials tab, select Create credentials
  8. From the drop-down menu, select Service account key
  9. Select an existing service account or create a new service account
  10. Select JSON as your Key type
  11. Enter a Service account name
  12. From the Role drop-down menu, select Project Viewer
  13. Select Create
  14. A JSON key will be downloaded to your computer: it is this that you upload to the Adjust dashboard by navigating to your app, selecting your app options caret (^) and going to All Settings > Purchase Verification
  15. Go to the Google Play Store and log in
  16. Select Settings from the left-hand menu
  17. Select Developer account API access from the left-hand menu
  18. Find your application project and select LINK
  19. Lower down the page, find Service Accounts and, on the relevant email address, select GRANT ACCESS
  20. 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
  22. Navigate to Developer account Users & permissions to view information on your users and access permissions
Note: we do not support subscription verification for Android.

Set up purchase verification 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

View your purchase verification data

While the revenue from confirmed in-app purchases will appear in your dashboard, we do not automatically report on failed or otherwise unverifiable in-app purchases.

There are four verification states within the PVS:
  • 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 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.

Purchase verification FAQs

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?

The PVS is 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.

Note: Unity and Cordova are only supported when used to develop an Android or iOS app.

On this topic