# Post-install event data

> Pass post-install event data from your app to Unity Ads—via an MMP or custom integration—to optimize user acquisition campaigns based on real user engagement, such as sessions, purchases, ad revenue, and level completions.

Unity Ads User Acquisition campaigns that are optimized for acquiring particular kinds of users, such as [Retention](/grow/acquire/campaigns/retention/retention-campaigns.md), [Return on Ad Spend](/grow/acquire/campaigns/roas/return-on-ad-spend-campaigns.md) (ROAS), and [Event](/grow/acquire/campaigns/event/event-campaigns.md) campaigns, require information about how users engage with your app after installing it. Post-install event data informs Unity's models to more accurately show ads to your campaign's target audience.

When you integrate with an MMP, you can enable your preferred partner to pass post-install event data to Unity. Each type of optimized campaign requires at least one type of post-install event data. However, you can pass data from all event types to any of your campaigns. The recommended best practice is to pass data for all post-install events because the additional data can improve your campaign performance.

Integrated partners can pass the following types of post-install event data:

| Post-install event | Description                                                           | Related campaigns                                                                                                                                                                                                                  |
| ------------------ | --------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Session            | Users open your app                                                   | [Retention](/grow/acquire/campaigns/retention/retention-campaigns.md)                                                                                                                                                              |
| Purchase           | Purchases users make in your app                                      | * [In-app Purchase (IAP) ROAS](/grow/acquire/campaigns/roas/purchase/in-app-purchase.md)
* [Hybrid ROAS](/grow/acquire/campaigns/roas/hybrid/hybrid.md)
* [Payer](/grow/acquire/campaigns/event/intro-to-event-campaigns.md#payer) |
| Ad revenue         | Revenue from ads that your users watch in your app                    | - [Ad Revenue ROAS](/grow/acquire/campaigns/roas/ad-revenue/ad-revenue.md)
- [Hybrid ROAS](/grow/acquire/campaigns/roas/hybrid/hybrid.md)                                                                                          |
| Level Complete     | A specific milestone or completion event your users reach in your app | [Level Complete](/grow/acquire/campaigns/event/intro-to-event-campaigns.md#level-complete)                                                                                                                                         |

> **Note:**
>
> To run an [Event optimization](/grow/acquire/campaigns/event/event-campaigns.md.md) campaign (Retention, Payer, or Level Complete), you must use one of the following MMPs:
>
> * Adjust
> * AppsFlyer
> * Singular

## Supported post-install events

Most MMPs support passing post-install event data, usually through server postback URLs. To run optimized ad campaigns, use your preferred MMP's dashboard to set up post-install event passing.

> **Note:**
>
> Sharing some event data types might require additional subscriptions with your preferred MMP. Refer to the individual [Partner integration](/grow/acquire/partner-integration.md) guides in this documentation for information about your partner's requirements.

Refer to the following tables for which event types each of these common integrated partners support:

| **MMP**   | **Session** | **Purchase** | **Ad revenue** | **Level Complete** |
| --------- | ----------- | ------------ | -------------- | ------------------ |
| AppsFlyer | Yes         | Yes          | Yes            | Yes                |
| Adjust    | Yes         | Yes          | Yes            | Yes                |
| Singular  | Yes         | Yes          | Yes            | Yes                |
| Tenjin    | Yes         | Yes          | Yes            | No                 |
| Branch    | Yes         | Yes          | No             | No                 |
| Kochava   | Yes         | Yes          | No             | No                 |

> **Important:**
>
> Ensure that you carefully follow your attribution partner's integration instructions. Incorrect integrations will result in loss of event data because your servers can't retroactively send data from events.

## Passing data with a custom integration

If you want to integrate directly with your app's server instead of working with an MMP, you can use a custom server-to-server integration to send engagement and post-install event data. However, custom integrations are more prone to errors and Unity might not be able to support or troubleshoot potential issues encountered with this approach.

Refer to [Send attribution links with a custom integration](/grow/acquire/partner-integration/custom/send-attribution-links.md) for example postback requests for custom integrations.
