Branch: почему линки ломаются чаще, чем постбеки в стороннем трекере
Branch строит атрибуцию вокруг deep linking, и здесь большинство интеграций разваливается ещё до первого платного установка. Проблема не в SDK, а в том, что команды путают стандартные сценарии с кастомными редиректами.
Основные точки отказа:
— Universal Links и Android App Links требуют валидации JSON на хосте. Если файл не отдаётся с заголовком application/json или лежит не в корне /.well-known/, система откатывает на веб-вью, и атрибуция уходит в organic.
— Deferred deep linking работает только если SDK инициализируется до показа первого экрана. Отложенная передача параметров в onCreate или viewDidLoad обрывает цепочку: пользователь видит оффер, но Branch не находит сессию.
— Кросс-платформенные фреймворки добавляют прокладку между нативным SDK и JS-слоем. React Native или Flutter часто теряют callback при hot reload, и данные о реферрере не доходят до логики роутинга.
— Параметры ~campaign, ~channel и ~feature используются для аналитики внутри дашборда Branch, но не попадают в постбеки сторонним MMP. Если вы строите единый отчёт, дублируйте UTM в кастомные поля, иначе получите расхождение в названиях кампаний.
Branch даёт гибкость, которой нет у классических MMP, но эта гибкость требует ручной проверки каждого хоста и сценария перехода. Проверяйте линки на реальных устройствах с разными OS и состояниями приложения — эмуляторы не воспроизводят ограничения Safari и Chrome в полной мере.
Mobile Attribution News
@mobile_attribution_news
Branch: почему линки ломаются чаще, чем постбеки в стороннем трекере
Этот пост опубликован в Telegram-канале Mobile Attribution News. Подписаться можно по ссылке: @mobile_attribution_news.