▸Example Segment (Twilio) call (the "before")
import com.segment.analytics.kotlin.android.Analytics
val analytics = Analytics("YOUR_WRITE_KEY", context) {
collectDeviceId = true
flushAt = 20
}
analytics.identify(userId, traitsOf("email" to email, "plan" to "pro"))
analytics.track("Paywall Purchase", buildJsonObject {
put("value", price)
put("currency", "USD")
})
Apple's App Tracking Transparency dialog is a measurable conversion-rate killer — denial rates of 50-80% are typical, and the wording is mostly outside your control. If an SDK in your app reads IDFA, ATT is required by Apple's App Review. Removing the SDK that needs it is the cleanest way to also remove the prompt.
☑Remove Segment (Twilio) cleanly
-
1
Remove the Segment Analytics SDK from your build (
Analytics-Swift/analytics-android/@segment/analytics-react-native/segment_analytics_flutter) -
2
Remove
Analytics.client(writeKey: ...)andanalytics.track(...)call sites — replace withRespectlytics.track("event_name") -
3
Critically: review your Segment destinations and decide which destinations you still need data flowing to from Respectlytics (most don't — that's the point)
-
4
Delete the Segment workspace's mobile source once events have stopped flowing
-
5
Audit and remove the downstream destination SDKs that Segment was the only reason to forward to (e.g., Facebook Pixel, Google Ads)
⇋Segment (Twilio) vs Respectlytics — no att prompt
| Segment (Twilio) | Respectlytics | |
|---|---|---|
| Triggers ATT prompt on iOS | — see tool note above | No (SDK never calls ATTrackingManager) |
| Reads IDFA | — see tool note above | No |
| Requires NSUserTrackingUsageDescription in Info.plist | Yes (when reading IDFA) | No |
| App Store Privacy Label: Identifiers tier | Triggered | Not triggered by Respectlytics |
| Effect of users denying ATT | Reduced data quality | No effect (no IDFA path) |
❓Frequently asked questions
If we remove the ATT prompt, won't App Store Review reject our app?
No. Apple only requires ATT when an app or its SDKs actually track users across other apps or websites. If you remove the SDK that does that tracking, you should also remove NSUserTrackingUsageDescription from your Info.plist — keeping the key when no code calls ATTrackingManager.requestTrackingAuthorization is itself a flag Apple's review notes.
How do we still attribute installs to ad campaigns without IDFA?
Use Apple SKAdNetwork (and the newer AdAttributionKit on iOS 17.4+). Both are first-party Apple frameworks designed exactly for this — no IDFA, no ATT prompt, deterministic install attribution within Apple's privacy boundary. Your ads platform (Apple Search Ads / Google Ads / Meta) supports them directly.
Does Respectlytics still work if some users have ATT denied in other apps?
Yes — Respectlytics doesn't read IDFA at all, so the ATT state is irrelevant to it. Your Respectlytics data quality is the same for users who denied ATT in other apps as for users who allowed it.
What about the conversion-rate hit from showing ATT?
That goes away when you remove the prompt. Anecdotally teams report a measurable engagement lift on first-session retention after removing ATT prompts that were shipped purely for analytics rather than for ad attribution.