Revenue event tracking
In-app purchases and transactions must be set up in Adjust as revenue events. Find out how to set up revenue tracking, revenue deduplication, currency conversion, and more.

Note: You can authenticate in-app purchases in real time using Adjust's purchase verification solution. For more information about this add-on feature, please contact

Create revenue event tokens

Whether your revenue events are tracked within the Adjust SDK or transmitted server side, all revenue-event tracking begins with generating a revenue event token in your Adjust dashboard.

To create a revenue event token, follow these steps.
  1. Find your app and select your app options caret (^)
  2. Select All Settings > Events
  3. Navigate to the CREATE NEW EVENT field at the bottom of the module and enter a name for your event
  4. Select CREATE
Repeat this process as needed for all additional Adjust-tracked transactions.

Track revenue events (with the Adjust SDK)

To track revenue events with the Adjust SDK, see our developer guides for revenue tracking: You can also track purchases in different currencies with the Adjust SDK.  

Track revenue events (server-to-server)

To track revenue events server-to-server, add the following revenue parameters to your event submissions:
Revenue parameterContent
revenueValue of revenue events in full currency units (150 = $150)

Note: Revenue units have changed from millis to full currency units, and upgrading a pre-existing setup should be done carefully to make sure the unit is updated correctly. The previous amount parameter was transmitted as milli-currency units (990 = $0.99).
currencyCurrency code of revenue event
environmentEnvironment to post the data to ("sandbox" or "production"). If this parameter is not included, the event will be pushed to the production environment.
Note: Always include Adjust's mandatory parameters with every revenue event submission.

Successfully tracked events will return a response reading OK. If you receive an error, it is usually because the device was not known to us, or not known by the device IDs that you transmitted.

Flag unique revenue events

In Adjust, you can flag unique revenue events that can only be tracked once per device.

Unique events can be effective in instances where the local SDK may not fully recognize an in-app action. For example, depending on the method in use, an app could be unable to differentiate between a First Purchase and a Purchase event, since they both result in a transaction. Therefore, when set to unique, the First Purchase event becomes distinguishable from all subsequent Purchase events.

Note: Unique events should be used in moderation, as dropping events tracked by the SDK can result in discrepancies. Therefore, it is always recommended to track one-time events as in-app events with contextual conditions when possible.

Archive revenue events

Once a revenue event has been archived, Adjust will no longer display that event's data in the statistics section of your Adjust dashboard. Additionally, archived revenue events will not be included in your snapshot or drill down exported reporting.

Archiving a revenue event is not a permanent action and does not delete the event from Adjust's system. (See here if you are interested in disabling tracking for specific revenue events). All archived revenue events will continue to be tracked on the backend and can still be exported via the Adjust KPI Service tool. If an archived revenue event is restored, Adjust will display all historically tracked revenue event data, including any revenue generated during the archival period. An archived revenue event never expires and can be restored at any time.

To achieve and maintain the highest dashboard performance, Adjust will automatically archive revenue events that are more than 3 months old and have no tracked history. This means that if you create an event that is not tracked in the 3 months following its creation, it will automatically be archived. In the instance that one of these archived revenue events is triggered, Adjust will automatically restore the revenue event and display it in your statistics.


In the Adjust dashboard
  1. Navigate to your app and select your app options caret (^)
  2. Select All Settings > (DATA MANAGEMENT) Events
  3. Locate the revenue event that you wish to archive, and select the archive (trash can) icon
  4. Confirm your decision

Restore revenue events

To reinstate an archived revenue event, proceed as follows:
  1. Navigate to your app and select your app options caret (^)
  2. Select All Settings > (DATA MANAGEMENT) Events
  3. Navigate to the bottom of the module and check Show archived events
  4. Identify the event that you want to restore, and select the restore (arrow) icon
Once selected, the revenue event will be restored and all corresponding metrics will display in the statistics section of your Adjust dashboard.

Disable revenue events

If you want to terminate tracking for a particular revenue event, then you must disable it outside of the Adjust dashboard. The process for disabling revenue-event tracking depends on the implementation in use and can be accomplished as follows:

For revenue events tracked within the Adjust SDK

If revenue event tracking occurs client side, then you must delete the revenue event token(s) from the Adjust SDK and resubmit your app to the store.

For revenue events tracked server-to-server

If revenue event tracking occurs server side, then you must cease submission of the affiliated POST request to the Adjust endpoint: Since all Adjust revenue tracking occurs outside of your app, you do not need to make any changes to the Adjust SDK.

Deduplicate revenue events

If you want to protect your dataset and ensure that Adjust is accurately reporting transactions within your app, then you may want to consider using revenue deduplication. Revenue deduplication prevents Adjust from tracking the same purchase event twice and thereby delivers revenue reporting that you can trust. Instructions for all revenue event tracking are listed below for reference.

For users tracking revenue events server-side
  • If you are tracking revenue events via our server-to-server integration, then we advise that you validate all transactions internally, before submitting them to Adjust.
For users tracking revenue events within the Adjust SDK
  • If you are tracking revenue events within the Adjust SDK, then you configure revenue deduplication within the Adjust SDK, as well. When you activate revenue deduplication, it allows your app to pass a unique transaction ID with every revenue event that Adjust tracks. The Adjust SDK will then temporarily store the last 10 transaction IDs and reject any purchases made with a repeated transaction ID. Developer instructions for all platforms are listed below.
Revenue deduplication instructions by development platform:

On this topic

On this topic