How attribution works in your app
Your attribution provider, such as AppsFlyer, Firebase, or Facebook, resolves the attribution data. Send it to PNLight with the SDK after the provider returns conversion data. PNLight uses the project attribution settings to decide which source has priority when more than one source can describe the same user.Recommended AppsFlyer flow
1
Start the campaign
Launch the campaign in AppsFlyer and use AppsFlyer links for user acquisition.
2
Receive the AppsFlyer ID
When a user opens the campaign link, AppsFlyer creates a unique ID for that user.
3
Request ATT permission
After the app is installed, request App Tracking Transparency permission when your app needs IDFA-based attribution.
4
Update IDFA in PNLight
If PNLight initialized before the ATT response, call
updateIdfa() after authorization.5
Initialize AppsFlyer
Initialize the AppsFlyer SDK after the ATT response.
6
Share the PNLight user ID
Optionally set the PNLight user ID in your attribution tools, such as
appsFlyer.setCustomerUserId, so the same user ID appears across tools.7
Send conversion data to PNLight
Read the AppsFlyer conversion result and send it to PNLight with
addAttribution.8
Request Remote UI
On the first app launch, wait 4-5 seconds after AppsFlyer initialization before calling
getUIConfig or showing RemoteUiView. When attributionRequired is true, the SDK also waits for attribution internally.Send attribution
If you enable AppsFlyer S2S events in the dashboard, pass the AppsFlyer user ID (AppsFlyer UID) as the attribution
identifier. PNLight uses it to send mapped subscription lifecycle events back to AppsFlyer.AppsFlyer examples
Supported provider names
Dashboard settings
Open Settings and configure the attribution priority:- Put the preferred source first.
- Keep at least one source selected.
- Set the wait window for preferred attribution.
A longer wait window can improve attribution completeness. It can also delay early decisions while PNLight waits for the preferred source to respond. If the preferred source reports no attribution, PNLight can continue to the next enabled source without waiting for the full window.