Ваша ссылка на App Store открывает пустую страницу в Instagram*, рекламе и W2A-воронках

На iOS тап, который заканчивается на apps.apple.com внутри встроенного браузера приложения, часто заканчивается пустым экраном. Дело не в вашем креативе и не в лендинге: Apple передаёт стор через схему, которую этот браузер открыть не может. Ссылка трекера не спасает, она только измеряет потерю.

Реклама на трафик и конверсии · W2A-воронки и квизы · шапка профиля, сторис и сообщения · посты у блогеров · OneLink, Branch, Adjust, Singular и Kochava с сохранением атрибуции

пусто браузер Instagram* App Store GET куда тап должен был прийти

Где именно рвётся цепочка

Три шага, и на третьем всё заканчивается. Причём заканчивается тихо: ни ошибки, ни сообщения, просто белый экран.

1
instagram.com → ваша ссылка на App Store Открывается во встроенном браузере Instagram*, а не в Safari.
2
apps.apple.com → itms-appss://apps.apple.com/… Apple перенаправляет веб-адрес на собственную схему App Store.
3
встроенный браузер не передаёт схему Редирект умирает внутри WebView. Пустая страница. Стора нет.

Шапка профиля, платный трафик, W2A-воронки: стена одна и та же

Правило короткое. Если тап выполняется внутри браузера приложения, а цепочка заканчивается на App Store, она может там и умереть. Неважно, как всё началось, сколько редиректов стоит в середине и кто их измеряет. Органический тап стоит вам человека. Платный стоит человека и денег, которые вы за него отдали.

Откуда приходит тапНа iOSПочему
Кампания на установки, Advantage+ App Доходит Meta* открывает стор нативно по кнопке Install, браузера в середине нет
Реклама на трафик, вовлечение, конверсии Умирает Тап открывается в том же встроенном браузере, что и любая другая ссылка
W2A-воронка: объявление → лендинг → стор Умирает Объявление и лендинг в порядке. Ломается кнопка скачивания в конце
Ссылка трекера в любом месте этой цепочки Умирает OneLink, Branch, Adjust и остальные сами заканчиваются адресом стора
Шапка профиля, Linktree, сторис, сообщения Умирает Тот же WebView, только без рекламных денег: теряется просто человек
Посты у блогеров и UGC Умирает Вы платите за размещение и не узнаете, сколько тапов упёрлось в пустой экран
Telegram, WhatsApp, Snapchat, X, LinkedIn Умирает У каждого из них свой встроенный браузер
Письмо или пуш, открытые внутри приложения Умирает Ссылка наследует тот браузер, который встроен в приложение
QR-код, набранный адрес, обычный браузер Доходит Safari и Chrome передают схему стора так, как задумала Apple

В платной связке есть вторая ловушка. Meta* не принимает прямой адрес App Store в кампании на трафик и отвечает, что адреса приложений относятся к цели «установки». Поэтому в объявление ставят ссылку трекера или лендинг. Цепочка становится длиннее. Последний шаг остаётся прежним.

W2A-воронки ломаются на последней кнопке

W2A сейчас держат почти все команды: объявление ведёт на лендинг или квиз, страница прогревает человека, кнопка скачивания отправляет его в стор. Всё до этой кнопки работает, потому что страница открывается во встроенном браузере как обычная веб-страница. Ломается сама кнопка, и ломается уже после того, как вы заплатили за клик и получили намерение.

СЕЙЧАС Объявление кампания на трафик Лендинг или квиз встроенный браузер Кнопка скачивания адрес стора или OneLink Пустая страница itms-appss:// умирает С GOTOAPP Объявление без изменений Лендинг или квиз без изменений Кнопка скачивания ведёт на GoToApp Внешний браузер передан без тапа App Store страница установки

Воронка остаётся вашей

Объявление, лендинг, квиз, пейволл и аналитика не меняются. Вы меняете адрес за кнопкой скачивания, больше ничего.

Работает с вашим трекером

Если за кнопкой уже стоит OneLink или Branch, эта ссылка становится назначением и продолжает измерять тап так же, как измеряет сейчас.

Статистика по шагам

Каждому плейсменту или креативу можно дать свою ссылку внутри одного приложения. Кабинет разбивает тапы по платформам и по источникам, видно, где именно течёт.

Каждый мёртвый тап это клик, за который вы уже заплатили

Реклама, кнопки в воронке, ссылка в профиле: считайте все тапы, которые начинаются внутри приложения. Подставьте свои числа, расчёт идёт по ним, а не по нашим средним.

$0
сгорает за год на тапах, которые не доходят до App Store
$0теряется в месяц
0установок недосчитались за месяц
Доходит до стора 0 Потеряно 0

Доля потерь зависит от того, на каких сборках iOS и Instagram* сидит ваша аудитория, поэтому начните с оценки. Когда ссылки заработают, гадать больше не придётся: каждая сообщает, когда все маршруты наружу оказались закрыты, а кабинет превращает это в долю доставки.

Одна ссылка, которая уходит из встроенного браузера раньше, чем сломается редирект Apple

Вы публикуете вашеприложение.gotoapp.store вместо прямого адреса стора. Ссылка смотрит, откуда пришёл тап, и выбирает маршрут, который в этом месте работает. Если платформа его заблокировала, пробует ещё два.

Откуда приходит тапЧто делает ссылка
Instagram* и Threads*, iOSПередаёт во внешний браузер, оттуда сразу в App Store
TikTok и Facebook*, iOSПробует Safari через x-safari-https://, эти приложения всё чаще его перехватывают, тогда идёт маршрут ниже
iOS, передача заблокированаОткатывается на itms-appss://, собственную схему стора
iOS, всё заблокированоПоказывает одну заметную кнопку, чтобы тап не оказался тупиком
Встроенные браузеры на AndroidПередача в Chrome через intent://, запасной вариант Google Play
Назначение это ссылка трекераМы только вытаскиваем тап из WebView, дальше ваш трекер сам занимается маршрутом и атрибуцией
Назначение это ваша страницаW2A-воронка открывается в настоящем браузере, где платежи, куки и аналитика ведут себя нормально. Домен подтверждается один раз
Приложение уже установленоОткрывает приложение по вашему диплинку, стор остаётся запасным вариантом
Обычный браузерВедёт прямо в стор, без промежуточных страниц
ДесктопВаш сайт

Без лишнего тапа

Передача происходит сама. Кнопка появляется только тогда, когда закрыты все маршруты, поэтому большинство людей её не видит.

Без SDK и без кода

В приложение и на сайт добавлять нечего. Вы меняете один адрес в шапке профиля, в сторис и в сообщениях.

Обновляем централизованно

Маршрут Instagram* во внешний браузер нигде не описан, и Meta* может его изменить. Вся логика лежит в одном файле: когда Meta* что-то меняет, мы правим там, и ссылки всех клиентов продолжают работать.

Видно, что реально доехало

Каждый тап пишется с платформой и источником, а ссылка сообщает, когда все маршруты были закрыты. Кабинет показывает долю доставки, а не просто клики, и этого числа вам больше никто не даст.

Короткая ссылка, 301 или OneLink это не чинят

Ссылка Bitly или обычный серверный редирект на apps.apple.com всё равно раскрываются внутри того же встроенного браузера и упираются в ту же стену. Добавляется лишний шаг, выхода из WebView не происходит. Тап должен сначала покинуть встроенный браузер, и у каждого приложения свой маршрут наружу.

Ссылка трекера ведёт себя так же, и вот это обычно удивляет. OneLink, Branch, Adjust, Singular и Kochava измеряют тап, но не меняют среду, в которой он выполняется. Что бы трекер ни делал в середине, последний его шаг это apps.apple.com, Apple отвечает редиректом на itms-appss://, и WebView по-прежнему не может его открыть. В итоге у вас точное измерение тапа, который никуда не доехал.

1
тап → myapp.onelink.me/abCd/summer Открывается во встроенном браузере, ровно там же, где открылась бы обычная ссылка на стор.
2
трекер записывает клик Эта часть работает. Кампания, креатив, плейсмент, всё измерено, и в кабинете клик будет виден.
3
трекер → apps.apple.com/… Любой трекер заканчивается здесь. Это единственный адрес, который ведёт в стор.
4
apps.apple.com → itms-appss:// → ничего Та же стена. В кабинете клик, в сторе никакой страницы установки не открылось.

Из-за этого ссылки трекеров здесь не просто бесполезны, а обманчивы. Когда умирает прямая ссылка на стор, между кликами и установками остаётся заметный разрыв. Когда умирает трекер, клик записывается как обычно, и потеря читается как слабый креатив или неудачная аудитория.

Трекер остаётся ваш

Вставьте адрес OneLink, Branch, Adjust, Singular или Kochava как назначение вместо адреса стора. Мы принимаем его так же, как принимаем ссылку на стор.

Атрибуция никуда не уходит

Мы вытаскиваем тап из встроенного браузера и отдаём его вашему трекеру, дальше он работает сам. Параметры мы не переписываем и ничего своего к ним не подставляем.

Одно поле на обе платформы

Ссылка трекера сама разводит iOS и Android, поэтому вы заполняете одно поле, а маршрутизируются обе платформы.

Вечную совместимость мы не обещаем, честно обещать её невозможно: маршрут Instagram* нигде не задокументирован. Обещаем держать его актуальным и делать запасные варианты, чтобы закрытый маршрут заканчивался видимой кнопкой, а не пустым экраном.

Начните бесплатно, платите только за короткий адрес

Маршруты, запасные варианты и статистика одинаковые на обоих тарифах. Pro даёт поддомен, чтобы ссылка читалась как ваше приложение, а не как наше.

Free
$0
gotoapp.store/yourapp/promo

До 3 приложений, сколько угодно ссылок под каждым, полная маршрутизация со всеми запасными вариантами, клики по платформам и источникам, дневной график.

Pro
$9 / месяц
yourapp.gotoapp.store/promo

До 25 приложений, каждое на своём поддомене. Короче в шапке профиля, аккуратнее в сторис, и адрес продолжит работать, если позже вы перенесёте имя на свой домен.

Имя приложения закрепляется за вами сразу при регистрации, на любом тарифе. Переход на Pro меняет формат адреса, а всё опубликованное на бесплатном продолжает работать.

Что обычно спрашивают

Почему ссылка на App Store открывает пустую страницу в Instagram*?

Instagram* открывает ссылки в своём встроенном браузере, а не в Safari. Apple перенаправляет apps.apple.com на схему itms-appss://, а встроенный браузер передать эту схему App Store не может, поэтому страница остаётся пустой.

Как открыть App Store из ссылки в шапке профиля?

Тап должен покинуть встроенный браузер раньше, чем сработает редирект Apple. GoToApp делает это сам: определяет Instagram*, передаёт человека во внешний браузер и приводит в App Store, а если первый маршрут закрыт, пробует ещё два.

Поможет ли короткая ссылка или редирект 301?

Нет. Короткая ссылка или обычный серверный редирект всё равно раскрываются внутри того же встроенного браузера и упираются в ту же стену. Появляется лишний шаг, но из WebView никто не выходит.

Это ломает рекламу в Instagram* и Facebook* или только ссылку в профиле?

Платный трафик ломается тоже. Кампании на установки в порядке: Meta* открывает стор нативно по кнопке Install, браузера в середине нет. Кампании на трафик, вовлечение и конверсии отправляют тап в тот же встроенный браузер, что и ссылку из профиля, и ссылка на стор умирает так же. Только клик к этому моменту уже оплачен.

Чинят ли это AppsFlyer OneLink, Branch или Adjust?

Нет. Ссылка трекера измеряет тап, но не меняет среду, в которой он выполняется. Что бы трекер ни делал в середине, последний его шаг это apps.apple.com, и Apple отвечает редиректом на схему itms-appss://, которую встроенный браузер открыть не может. Трекер добавляет ещё один шаг внутри того же WebView.

Можно ли сохранить свою ссылку трекера и атрибуцию?

Да. Вставьте ссылку трекера как назначение вместо адреса стора. Мы вытаскиваем тап из встроенного браузера и передаём его вашему трекеру, дальше он сам занимается маршрутом и атрибуцией. Параметры мы не переписываем, и одна ссылка трекера закрывает обе платформы.

Ломаются ли W2A-воронки?

Только на последнем шаге, поэтому это легко пропустить. Объявление, лендинг и квиз открываются во встроенном браузере как обычные веб-страницы. Кнопка скачивания в конце ведёт в App Store, и вот там цепочка рвётся, уже после того как вы заплатили за клик и прогрели человека. Поставьте за этой кнопкой ссылку GoToApp, и остальная воронка останется прежней.

Какие цели кампаний это затрагивает?

Все, где ссылка открывается во встроенном браузере: трафик, вовлечение, конверсии, лиды и любые W2A-воронки за ними. Кампании на установки не затронуты, потому что Meta* открывает стор нативно. При этом Meta* не принимает прямые адреса App Store в кампаниях на трафик, из-за чего в объявление и ставят лендинг или трекер.

Какие приложения ломают переход, кроме Instagram*?

Все, у кого есть свой встроенный браузер: Instagram*, Facebook*, Threads*, TikTok, Snapchat, X, LinkedIn, Pinterest, Telegram и WhatsApp, а также письма и пуши, открытые внутри них. QR-коды, набранные вручную адреса и обычные браузеры работают, потому что Safari и Chrome передают схему стора так, как задумала Apple.

Можно ли вести на свою страницу, а не в стор?

Да, после подтверждения домена. Вы загружаете один статический файл, доказываете, что домен ваш, и дальше назначением может быть ваша страница. Для W2A-воронок это важно: страница, открытая в настоящем браузере, сохраняет работающие платежи, куки и аналитику, которые встроенный браузер часто ломает. Без подтверждения мы принимаем только ссылки на сторы и трекеры, иначе сервис за сутки превратился бы в открытый редиректор для фишинга.

Можно ли давать каждому пользователю свою ссылку, как в AppsFlyer Smart Script?

Да. Базовая ссылка трекера остаётся в кабинете, а персональную часть вы передаёте в адресе: мы снимаем параметры с вашего адреса, ставим их на базовую ссылку и отдаём результат браузеру. Ссылка Smart Script с индивидуальным deep_link_value работает так в одну строку на вашем лендинге. Домен назначения остаётся тем, который вы сохранили, так что открытым редиректом это не становится. Включается одной галочкой, кабинет сразу показывает готовый сниппет для вашей ссылки.

Что будет, если приложение уже установлено?

Добавьте диплинк, и тап откроет само приложение, а не его страницу в сторе. Сначала пробуем диплинк, если ничего не произошло, возвращаемся к обычному маршруту, поэтому люди без приложения всё равно попадают в стор. Схема вашего приложения работает сразу, для universal link нужен подтверждённый домен.

Как понять, доезжают ли тапы на самом деле?

Ссылка сообщает на сервер, когда все маршруты наружу закрыты и человек увидел запасную кнопку. Кабинет превращает это в долю доставки: сколько тапов покинуло встроенный браузер и сколько застряло. Обычный счётчик кликов такого не даст, потому что мёртвый тап везде считается обычным кликом.

Работает ли это для Google Play и Android?

Да. Во встроенных браузерах на Android ссылка передаёт управление Chrome через адрес intent://, запасной вариант это Google Play. Посетители с десктопа попадают на ваш сайт.

Нужен ли SDK или правки в приложении?

Нет. Вы меняете адрес стора в шапке профиля, в сторис и в сообщениях на одну ссылку. В приложение и на сайт добавлять ничего не нужно.

Что будет, если Instagram* изменит работу браузера?

Маршрут во внешний браузер нигде не описан, и Meta* может его изменить. Мы держим всю логику в одном файле и обновляем её сразу для всех ссылок, а закрытый маршрут заканчивается видимой кнопкой, а не пустым экраном.

Сделано в PAD team

Мы закупаем трафик на мобильные приложения, поэтому налетели на эту проблему на своих же кампаниях раньше, чем собрали из решения продукт.

PAD team

Агентство мобильного маркетинга: закупка трафика, ASO и реклама внутри приложений для App Store и Google Play.

pad.team →

Leon Funnels

Сервис для сборки воронок продаж в Facebook* Messenger, Instagram* и WhatsApp. Диалог не рвётся от первого сообщения до оплаты, и видно, где остановился каждый человек.

leonfunnels.com →

Audience Mart

Рекламная платформа для закупки размещений у телеграм-каналов, блогеров и авторов вирусного контента.

audiencemart.com →