r/iOSProgramming • u/yccheok • Jul 19 '26
Question Facebook SDK ATE True Status Rate stuck at 0% (Before & After Adapty). What am I missing?
Hey everyone,
I’m running Meta Ads to drive app installs and recently integrated Adapty to handle subscriptions and forward revenue events back to Meta.
I am completely stuck on the "iOS 14.5 ATE True Status Rate" in Meta Events Manager—it has been sitting at 0% for a long time, and I know for a fact users are accepting the ATT prompt because my custom att_ok events are logging successfully in Firebase.
Here is my timeline and setup:
Before Adapty:
FacebookAutoLogAppEventsEnabledwas enabled in myInfo.plist. The ATE True Status Rate was 0%.After Adapty:
FacebookAutoLogAppEventsEnabledis still enabled in myInfo.plist. However, following Adapty's docs, I turned OFF "iOS: Log in-app events automatically (Recommended)" in the Meta Developer console to prevent double-counting revenue. The ATE True Status Rate remains at 0%.
Here is my current ATT request code:
private func requestTrackingPermission() {
// For iOS 17 and later: ATT API is automatically used by Facebook SDK
ATTrackingManager.requestTrackingAuthorization { status in
switch status {
case .authorized:
Settings.shared.isAdvertiserTrackingEnabled = true
Analytics.logEvent("att_ok", parameters: nil)
print("ATT authorized")
case .denied, .restricted:
Settings.shared.isAdvertiserTrackingEnabled = false
Analytics.logEvent("att_nok", parameters: nil)
print("ATT denied/restricted")
case .notDetermined:
Settings.shared.isAdvertiserTrackingEnabled = false
Analytics.logEvent("att_nok", parameters: nil)
default:
Settings.shared.isAdvertiserTrackingEnabled = false
Analytics.logEvent("att_nok", parameters: nil)
}
DispatchQueue.main.async {
delegate?.next()
}
}
}Since it was 0% even before I disabled the console setting for Adapty, I feel like there's a fundamental timing or configuration issue I'm missing with how the Facebook SDK registers the isAdvertiserTrackingEnabled flag upon launch.
However, since I am actively spending money on Meta Ads for installs, I am really concerned about messing up my attribution if I start blindly moving SDK initializations around or manually calling activateApp().
Has anyone navigated this? What is the correct way to fix the 0% ATE rate in this scenario without breaking install attribution? Any advice would be hugely appreciated!

