There is no shortage of the debate on building solutions in-house vs. buying a new piece of software. I’m hearing it from customers small and large, and we’re having the same debate internally.
AI has democratized the ability for anyone to become a builder overnight. With developers now using AI coding tools to write over 40% of production code, engineering leaders look at complex martech stacks like mobile measurement partners (MMPs) and deep linking engines and ask: “Why pay software licensing fees when our team can prompt an AI agent to write this in a couple of sprints?”
It’s a tempting narrative, but it ignores a fundamental reality: The hard part about linking and measurement was never writing the code.
The codebase isn’t where the value lives
AI is exceptional at generating boilerplate code, syntax, and logic loops. But if you slap an AI coding assistant on top of the complexity of mobile measurement, you’re fast-tracking your way the confusion.
AI cannot magically generate the non-code assets that actually make linking and measurement work:
- Signal depth and device reach: Proper attribution and deep linking require cross-device identity resolution, which means unifying user activity across both devices and channels. The identity graphs that power that kind of logic are massive networks, not clever matching scripts you can spin up in Claude. Branch’s identity graph, Persona Graph, processes signals across 3+ billion daily devices. That scale means the signals get richer every day, which lets Branch deep link and attribute journeys more accurately and more comprehensively than in-house platforms or MMPs whose data is narrowly concentrated in specific regions or verticals. AI models just can’t replicate a decade of compounding device signals.
- Vast integration networks: Maintaining integration partnerships across self-attributing networks (SANs) like Meta, Google, TikTok, and Apple is permanent operational tax. Just last week Apple Ads changed its AdServices attribution API to include timestamps in all payloads where age or gender settings are not applied. For customers, that means more precise attribution for Apple Ads and the rest of their channel mix, but without a partner staying up-to-date on these kinds of changes, you’ll see changes in your reporting and miss attribution coverage without ever knowing why.
- Ecosystem-shift expertise: Apple’s App Tracking Transparency (ATT) arrived with no warning and took over MMP roadmaps for years, first with SKAN, then its later versions and AdAttributionKit, then channel-specific fixes like Meta’s AEM, Google’s ICM and gBraid — on and on. Non-SAN channels still have no real answer for iOS measurement outside SKAN, which is why Branch has developed privacy-safe solutions like Probabilistic Aggregate Measurement (PAM). Half a decade later, MMPs are still adapting. Keeping up with platform and ecosystem shifts really is a full-time job.
- The 10,000 edge cases: Universal links, App Links, and deferred deep linking routinely break across OS updates, social in-app browsers, and privacy settings. AI can’t yet debug edge cases it hasn’t observed in your live environment, and building and maintaining links that survive thousands of these scenarios requires constant monitoring and testing.
The reality is that 24-35% of deep links fail because building for every journey permutation is enormously complex.
I saw this recently with a customer who was eager to build in-house. Their developer prompted an AI agent to create a universal link for a promo URL, and marketing launched the campaign across Instagram and Gmail. In local testing, like tapping the link on Apple notes, it worked perfectly. Then real users started clicking, and ran into:
- The Instagram webview problem. When a user tapped the link inside Instagram, iOS routed the click into Instagram’s embedded webview instead of opening the app. Universal links get suppressed there, so the users landed on the mobile site, logged out.
- Fallback failures. Engineering added a custom URI scheme as a fallback to force them out of the webview, but when the app wasn’t installed, Safari threw a system error: “Safari cannot open the page because the address is invalid.” Most users bailed at this point.
- The wrong destination. When the app did open, the campaign parameters and product SKUs were gone because universal links, URI schemes, and Chrome Intents all pass data differently. Without something to hold that payload together, the users just landed on the home screen instead of the product they clicked.
If that all sounds like a headache, it’s because it is. AI can now write standard routing logic, but it can’t predict how every third-party webview will behave. Fixing this means building a platform-specific stack: Universal links plus a URI scheme fallback on iOS, App Links plus a URI scheme and Chrome Intents on Android. It also means tracking real-time device signals to check whether the user has already clicked before firing a URI scheme.
It’s too dogmatic to say you should never build measurement or linking capabilities on your own, but I rarely see it work at the enterprise, or even midmarket, level.
Don’t let building in-house lead you to “roadmap bankruptcy”
When developers claim they can replace an enterprise MMP using AI in a few weeks, they’re usually confusing generating code with building a fully operational solution.
Every sprint your team spends playing catch-up with mobile linking, privacy changes, and ad network updates is a sprint stolen from your core product. And you’ll likely end up spending more time and money by declaring roadmap bankruptcy to become a custom utility provider.
Before choosing to build, ask a candid question: Do you want your engineering team building the unique core product that drives your business, or do you want them stuck in a perpetual treadmill race of maintaining mobile plumbing?
