🔗onestore.link

原创研究

在 Instagram 和 TikTok 里打开的应用链接会怎样:实测 74,000 次跳转

没人看到的预加载、拒绝打开商店的 TikTok 网页视图、在页面上方弹出的 App Store:我们的跳转日志揭示了什么。

发布于 · Adrien De Coster

简短回答

在 30 天内来自应用内浏览器的 74,713 次 Android 访问中,有 9.1% 是 Instagram 或 Facebook 在后台加载、约 30 秒后在无人查看的情况下丢弃的页面。在 Android 版 TikTok 里,Play Store 能否打开取决于 TikTok 使用哪种网页视图:在相同的链接、相同的日期,一种 User-Agent 格式有 85% 的会话到达了商店,另外两种只有 12–14%。在 iOS 上,Instagram 和 Facebook 会在应用内浏览器之上打开 App Store,页面从不进入后台,因此即使跳转成功,从页面测得的商店打开率也只有 13–56%。

这些数字来自一个智能链接服务的跳转日志:一个网址,把手机送往 App Store 或 Google Play。每当链接在社交应用里被打开,我们会展示一个小页面,把访客交接给商店,而这个页面会回报接下来发生了什么。下面是这些回报的内容、我们的测量方法,以及测量的边界在哪里。

数据

时间窗口内容数量
截至 2026-10-12 的 30 天来自应用内浏览器的 Android 访问,按会话重建74,713
2026-09-27 → 2026-10-26应用内页面加载,全部平台109,253
2026-10-20 → 2026-10-26同上,重建为会话用于漏斗表30,535
2026-10-16 → 2026-10-26由页面自身判定的预加载1,679
截至 2026-10-15 的 90 天,以及截至 2026-10-26 的 30 天Android 上的 TikTok,按网页视图格式统计的会话73 + 1,247
应用内页面加载,截至 2026-10-26 的 30 天
应用内浏览器AndroidiOS
Instagram50,16116,675
Facebook27,9119,441
TikTok3,7551,219
普通浏览器(直接 302,作对照)24,18524,627

还没开始分析,就有两点很明显。Meta 旗下应用带来的流量远多于 TikTok。而在 Android 上,四分之三以上的访问来自应用内浏览器,而不是 Chrome。

页面如何回报发生了什么

当链接在应用内浏览器中打开时,页面会做三件事,并为每件事发送一个信标:

网页看不到 App Store,也看不到 Play Store。下面的一切都是从这三个信号推断出来的,推断在哪里失效,见“局限”一节。

发现 1:Android 上约每 11 次 Meta 访问中就有 1 次是没人看到的预加载

在截至 October 12 的 30 天里,有一类 Android 会话的表现是任何真人访问都不可能有的:页面加载了,交接计时器从未运行,页面在 29 到 31 秒后被销毁。没有 auto,没有 stuck,没有点击。iOS 上没有类似现象。

这正是 Instagram 和 Facebook 应用内浏览器的特征:预加载信息流里的链接,把它隐藏着,用户滑过去后就丢掉。页面运行了我们的 JavaScript,所以这次访问被记录了下来。但从来没有人看过它。

截至 2026-10-12 的 30 天
人群访问预加载占比
全部访问,全部平台139,1996,7904.9%
Android95,6486,7907.1%
Android 应用内74,7136,7909.1%
Android 应用内,排除最大的链接——4.9%
受影响最大的单个链接35,3374,86413.8%

我们把这个判定标准拿去和明显是真人的会话对照:交接后 2–3 秒商店打开的会话中 17,606 个里有 0 个符合,有人点击了商店按钮的会话中 244 个里有 0 个符合。

这个占比每周都在变:该窗口最后一周是 6.8%,之前几周分别是 8.8%、10.6% 和 10.0%。它还集中在投放付费 Instagram 广告的地方:窗口内 72% 的预加载来自一个大型 Instagram 广告活动背后的同一个链接。

从 October 16 起,页面在运行时自行判定:如果页面从未显示、存活至少 20 秒后被销毁,就上报为预加载而不是 exit。此后捕获到的情况如下:

2026-10-16 → 2026-10-26
应用内浏览器页面加载预加载占比
Instagram,Android15,1001,1527.6%
Facebook,Android19,8304772.4%
TikTok,Android3,64810.03%
Instagram,iOS5,965450.8%
Facebook,iOS6,13440.07%

这个运行时计数只是下限。没有运行任何脚本就被丢弃的预加载不会留下信标,而且运行时规则比历史重建更严格。

为什么重要。 如果你在跳转处统计点击,那么 Instagram Android 上大约每 13 次“点击”就有一次从来没有被人看到。这个渠道的点击到安装转化率会显得比实际更差,基于原始跳转次数搭建的广告看板也会把触达高估差不多这么多。

发现 2:TikTok 是否拒绝打开 Play Store,取决于它使用哪种网页视图

在 Android 版 TikTok 里,有一部分访客始终离不开页面:交接触发后,TikTok 弹出它自己的对话框(“The action cannot be completed”,即“无法完成该操作”)。并不是每个链接都会这样,好几周里它看起来像是取决于链接。其实不是。它取决于 TikTok 为该访客使用的应用内浏览器,而 User-Agent 暴露了这一点:

格式User-Agent 形态
A… Chrome/151 Mobile Safari/537.36 musical_ly_46.8.3
BVersion/4.0 … musical_ly_2024509000 JsSdk/1.0 … BytedanceWebview
CVersion/4.0 … musical_ly_2024701040 AppName/musical_ly ByteLocale/…

交接已触发且页面变为隐藏,计为通过;显示了备用卡片,计为失败。比率 = 通过 / (通过 + 失败),按设备和日期统计:

格式截至 2026-10-15 的 90 天30 天,2026-09-27 → 10-26
A23 / 26 (88%)827 / 969 (85%)
B0 / 17 (0%)34 / 245 (14%)
C5 / 30 (17%)4 / 33 (12%)

真正能下结论的对比,是固定链接和日期,因为各格式的占比每周都在变化:

相同链接,相同日期(30 天)
链接格式 A格式 B
链接 1560 / 674 (83%)32 / 192 (17%)
链接 2257 / 285 (90%)2 / 47 (4%)

相同的链接、相同的跳转代码、同一天:一种网页视图允许商店打开,另一种大多不允许。在 90 天的数据里,自定义域名没有带来任何差别。TikTok 没有公开说明这个对话框、它的触发条件,以及哪些用户会用到哪种网页视图,所以我们能依靠的只有 User-Agent 的区分。

为什么重要。 任何网址形式都解决不了:intent:// 跳出和普通的 https://play.google.com 网址都会遭到同样的拒绝。你能做的是不要把出口藏起来:在 TikTok 里,立刻显示“在浏览器中打开”的说明和复制按钮,而不是等超时之后。

发现 3:在 iOS 上,App Store 会覆盖在应用内浏览器之上打开

在 Android 上,交接之后大多数会话的页面都会变为隐藏,通常在 1 到 3 秒后。而在 iOS 的 Instagram 和 Facebook 里,尽管几乎每个会话都触发了交接,页面却常常不会隐藏:

7 天,2026-10-20 → 10-26。“已触发交接”之后的各列,是占已触发交接会话的比例;一个会话可能在 2.2 秒时仍然可见,之后才隐藏。
应用内浏览器页面加载已触发交接已隐藏…4 秒内2.2 秒时仍可见
Instagram,Android7,19077.5%90.0%75.9%47.6%
Facebook,Android13,60072.4%73.8%39.6%77.8%
TikTok,Android2,92047.1%85.2%79.5%7.6%
Instagram,iOS2,88194.6%55.9%41.7%64.2%
Facebook,iOS3,07887.0%13.1%7.9%65.6%
TikTok,iOS86693.8%50.5%23.8%75.2%

如果三分之二的 iOS 访客真的卡在一张带“打开 App Store”按钮的备用卡片前,应该会有不少人去点它。事实并非如此:iOS Instagram 页面加载中只有 0.9%、iOS Facebook 加载中只有 0.4% 点击了按钮。也不存在某个“正常工作”的 iOS 版本:

三个应用合计,7 天
iOS 主版本有交接的会话页面已隐藏
1612724.4%
1710633.0%
1895833.3%
263,71139.3%
271,24934.3%

与数据吻合的解释是:在 iOS 的 Instagram 和 Facebook 里,App Store 会在应用内浏览器之上弹出,而不会把它送到后台。页面始终处于“可见”状态,因此即使访客正在看 App Store,visibilitychange 和 pagehide 也从不触发。

为什么重要。 任何靠“页面离开屏幕”来推断商店已打开的指标,在 iOS 上都是错的。我们曾经给客户展示一个正是这样算出来的“商店到达率”,结果它告诉 12 位付费客户中的 10 位:他们正常工作的链接坏了。我们把它删掉了。在 iOS 上,可信的安装信号在商店那一侧:App Store Connect 的广告活动报告,前提是在 App Store 网址上带上提供商令牌(pt)和广告活动令牌(ct)。

顺带测到的一些小发现

方法

局限

该怎么做

  1. 加载时就开始交接。 等待点击的页面会失去大部分应用内访客。保留手动按钮作为后备,只在交接明显失败时才显示。
  2. 在 Android 上,使用带 `S.browser_fallback_url` 的 `intent://`。 网页视图里的 https://play.google.com 网址打开的是 Play Store 网站,不登录就什么也装不了。
  3. 给慢吞吞的商店留出时间。 至少等 3 秒再判定交接失败,并且仍要把迟到的 exit 计为成功。
  4. 在 TikTok 里,立刻给出出口:“··· → 在浏览器中打开”和复制链接按钮。改什么网址都无法让 TikTok 的拒绝消失。
  5. 不要把 Meta 的预加载算作点击。 如果你从跳转处统计点击,预计 Android 上 Instagram 和 Facebook 访问中有 2–9% 是没人看过的页面。
  6. 在商店端衡量安装, iOS 用 App Store Connect 广告活动链接(pt + ct),Android 用 Play Install Referrer,而不是靠页面事件。

我们开发了 onestore.link,它默认为每个链接做到以上六点,上面的数据就来自它的跳转日志。

问与答

Android 上 Instagram 链接点击中有多少百分比是预加载?

在截至 2026-10-12 的 30 天里,来自应用内浏览器(Instagram 和 Facebook)的 Android 访问中有 9.1% 是应用在后台加载、约 30 秒后无人查看就丢弃的页面。自 2026-10-16 起,页面自身的运行时检测在 Instagram Android 上捕获到 7.6%,在 Facebook Android 上捕获到 2.4%,这是下限。在 iOS 上不到 1%。

为什么在 TikTok 应用内浏览器里打不开 Play Store?

TikTok 的 Android 应用使用好几种应用内浏览器。其中一种(User-Agent 里是带点号的 musical_ly_ 版本,并且没有 Version/4.0)在 30 天内有 85% 的会话到达了 Play Store。另外两种(带 JsSdk/BytedanceWebview 的 Version/4.0,或带 AppName/musical_ly 的)在相同链接、相同日期只有 12–14% 到达。拒绝交接的是 TikTok 本身,与网址形式无关。

在 iOS 上,网页能判断 App Store 是否已经打开吗?

在 Instagram 或 Facebook 里不能。App Store 会覆盖在应用内浏览器之上打开,所以页面从不隐藏,visibilitychange 也不会触发。7 天内,iOS 交接之后页面隐藏的比例只有 13%(Facebook)到 56%(Instagram),点击备用按钮的访客不到 1%。可靠的信号是 App Store Connect 的广告活动报告。

从应用内浏览器打开 Play Store 需要多长时间?

在 Android 上,大多数成功的会话中页面在交接后 2–3 秒隐藏,较慢的手机上最长要 8 秒。2 秒后显示的备用界面,在许多本来即将成功的会话里会比商店先出现。

在 Instagram 里,应用商店跳转真正失败的频率有多高?

在重建的 7,357 个 Instagram Android 会话中,真正失败的模式(交接已触发,然后什么也没发生,访客再次点击链接)占 1.9%。原始漏斗数据里看到的大多数失败都是测量假象:丢失的信标、缓慢的商店,或者预加载。

自定义域名会改变 TikTok 对链接的处理方式吗?

不会。在 90 天里,带自定义域名和不带自定义域名的链接被拒绝的方式完全相同。决定因素是 TikTok 为该访客使用的应用内浏览器。

探索更多