Story 1 · iOS deep linking — several high-growth consumer apps
Fast networks were failing more often.
Deep links were failing intermittently on iOS — users tapped an email or SMS link and the app opened to the wrong place, or not at all. The maddening part: it was worse on good connections.
The SDK follows a link's redirect just far enough to capture attribution, then cancels it. Cancelling makes the network layer report an error — and the old code checked for that error first, bailing out and throwing away the destination URL it had already successfully captured a moment earlier. On a fast network the request finished quickly enough to trip the cancellation error every time; on a slow one it slipped through. Better connectivity, more failures.
The fix was to reverse the order: use the data if we have it, and only treat the error as fatal if we genuinely came back empty-handed. A handful of lines.
Ironically, clients with better network conditions were more likely to experience failures.
— from the diagnosis