Revenue event tracking

In-app purchases and transactions must be set up in Adjust as revenue events. Here, you can find out how to set up revenue tracking, revenue deduplication, currency conversion, and more.

To authenticate in-app purchases in real time, use Adjust's purchase verification solution. For more information about this feature, 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, always include Adjust's mandatory S2S parameters and the following revenue parameters to every submission:

Revenue parameterContent
revenueRevenue event value in full currency units (149.99 = $149.99). We accept a minimum value of 0.001 for this parameter.
currencyRevenue event currency code
environmentEnvironment to post the data to (environment=sandbox or environment=production). If this parameter is not included, the event will be pushed to the production environment.

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.

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.

Hide revenue events

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

Hiding 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 hidden revenue events will continue to be tracked on the backend and can still be exported via the Adjust KPI Service tool. If a hidden revenue event is restored, Adjust will display all historically tracked revenue event data, including any revenue generated during the hidden period. A hidden revenue event never expires and can be unhidden at any time.

To achieve and maintain the highest dashboard performance, Adjust will automatically hide 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 hidden. In the instance that one of these hidden 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 hide, and select Hide (eye icon)
  4. Confirm your decision

Restore revenue events

To reinstate a hidden 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 hidden events
  4. Identify the event that you want to restore, and select Unhide (eye 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: