Guidance for SKAN v4.0

Prior to SKAN 4.0, conversion values could only be increased to a higher value. Updating conversion value to a lower value had no effect, as only the highest conversion value recorded during a user session will be included in the corresponding postback. With SKAN 4.0, conversion value can now be decreased to a lower value than what was previously recorded. This means conversion values with higher priorities can now be overwritten by those with lower priorities, which would lead to loss of post-install events with higher priorities.

Meta recommends that you do not decrease conversion values, as this causes loss of conversion signals, which subsequently leads to under-reporting and suboptimal delivery performance. Below are a number of reasons that could cause conversion values to decrease unexpectedly. For best performance, please make sure your app is not doing any of the following before upgrading to SKAN 4.0.

All Channels

Updating conversion values through multiple channels

Updating conversion values through multiple channels could lead to race conditions that cause conversion value to be updated to a lower value than what is recorded earlier. To avoid this, make sure your app is only using one channel to update conversion values.

Calling AAAttribution.attributionToken after conversion value updates

For devices with OS version lower than iOS 16.6, calling AAAttribution.attributionToken would reset conversion value to 0. Meta will only enable SKAN 4.0 for devices that are on iOS 16.6 or above.

Server to Server

Updating conversion value to lower values unexpectedly

If your app has implemented logic to update conversion value without using a SDK, make sure it only updates conversion value when a higher conversion value is triggered than the ones previously recorded.

Repeatedly calling deprecated API registerAppForAdNetworkAttribution()

This API was previously used to generate an install notification. Subsequent calls to this method should have no effect. However, this API would reset conversion value to 0 each time it is invoked. To avoid this issue, make sure your app does not invoke this API, or only invokes this API the first time the app is launched by the user.

Mobile Measurement Partner

Some MMPs may be supporting decreasing conversion value as a feature in SKAN 4.0 setup. Check with your MMP provider to make sure your app does not have conversion value decrement feature enabled.