Kajian asli
Apa yang berlaku pada pautan aplikasi yang dibuka di dalam Instagram dan TikTok: 74,000 ubah hala diukur
Pramuat yang tidak pernah dilihat sesiapa, webview TikTok yang menolak gedung, dan App Store yang terbuka di atas halaman: apa yang ditunjukkan log ubah hala kami.
Diterbitkan · Adrien De Coster
Jawapan ringkas
Daripada 74,713 kunjungan Android dari pelayar dalam aplikasi sepanjang 30 hari, 9.1% ialah halaman yang dimuatkan oleh Instagram atau Facebook di latar belakang lalu dibuang kira-kira 30 saat kemudian tanpa dilihat oleh sesiapa. Di dalam TikTok pada Android, sama ada Play Store terbuka atau tidak bergantung pada webview yang digunakan TikTok: satu format user-agent sampai ke gedung dalam 85% sesi, dua format lain dalam 12–14%, pada pautan yang sama pada hari yang sama. Pada iOS, Instagram dan Facebook membuka App Store di atas pelayar dalam aplikasi, jadi halaman tidak pernah ke latar belakang, dan kadar pembukaan gedung yang diukur dari halaman hanya 13–56% walaupun pemindahan berjaya.
Angka-angka ini datang daripada log ubah hala sebuah perkhidmatan pautan pintar: satu URL yang menghantar telefon ke App Store atau Google Play. Setiap kali pautan dibuka di dalam aplikasi media sosial, kami menyajikan halaman kecil yang memindahkan pelawat ke gedung, dan halaman itu melaporkan apa yang berlaku seterusnya. Di bawah ialah isi laporan tersebut, cara kami mengukurnya, dan di mana pengukuran itu berhenti.
Datanya
| Tempoh | Apa | Jumlah |
|---|---|---|
| 30 hari hingga 2026-10-12 | Kunjungan Android dari pelayar dalam aplikasi, pembinaan semula mengikut sesi | 74,713 |
| 2026-09-27 → 2026-10-26 | Pemuatan halaman dalam pelayar dalam aplikasi, semua platform | 109,253 |
| 2026-10-20 → 2026-10-26 | Sama, dibina semula menjadi sesi untuk jadual corong | 30,535 |
| 2026-10-16 → 2026-10-26 | Pramuat yang dikelaskan oleh halaman itu sendiri | 1,679 |
| 90 hari hingga 2026-10-15, kemudian 30 hari hingga 2026-10-26 | TikTok pada Android, sesi mengikut format webview | 73 + 1,247 |
| Pelayar dalam aplikasi | Android | iOS |
|---|---|---|
| 50,161 | 16,675 | |
| 27,911 | 9,441 | |
| TikTok | 3,755 | 1,219 |
| Pelayar biasa (302 biasa, sebagai perbandingan) | 24,185 | 24,627 |
Dua perkara sudah ketara sebelum sebarang analisis. Aplikasi Meta menghantar jauh lebih banyak trafik berbanding TikTok. Dan pada Android, lebih daripada tiga suku semua kunjungan datang melalui pelayar dalam aplikasi, bukan Chrome.
Cara halaman melaporkan apa yang berlaku
Apabila pautan dibuka dalam pelayar dalam aplikasi, halaman melakukan tiga perkara dan menghantar beacon untuk setiap satu:
auto: halaman memulakan pemindahan ke gedung semasa dimuatkan (iOS:location.replaceke URL App Store; Android: URLintent://yang membuka aplikasi Play Store asli).exit: halaman menjadi tersembunyi (Page Visibility API). Itulah isyarat terbaik yang ada pada halaman web bahawa sesuatu, kemungkinan besar gedung, telah mengambil alih skrin.stuck: halaman masih kelihatan 2.2 saat selepas pemindahan, jadi ia memaparkan kad sandaran dengan butang gedung, petunjuk “buka dalam pelayar” dan butang salin pautan.
Halaman web tidak dapat melihat App Store atau Play Store. Semua yang di bawah disimpulkan daripada tiga isyarat ini, dan bahagian batasan menerangkan di mana kesimpulan itu tidak lagi terpakai.
Dapatan 1: kira-kira 1 daripada 11 kunjungan Android dari Meta ialah pramuat yang tidak dilihat sesiapa
Sepanjang 30 hari hingga 12 Oktober, satu kumpulan sesi Android yang jelas berkelakuan dengan cara yang mustahil bagi manusia: halaman dimuatkan, pemasa pemindahan tidak pernah berjalan, dan halaman dimusnahkan 29 hingga 31 saat kemudian. Tiada auto, tiada stuck, tiada ketikan. Pada iOS tiada yang serupa.
Itulah tanda pelayar dalam aplikasi Instagram dan Facebook yang memuatkan lebih awal pautan yang berada dalam suapan, menyembunyikannya, dan membuangnya apabila pengguna terus menatal. Halaman itu menjalankan JavaScript kami, jadi kunjungannya direkodkan. Namun tiada sesiapa pernah melihatnya.
| Populasi | Kunjungan | Pramuat | Bahagian |
|---|---|---|---|
| Semua kunjungan, semua platform | 139,199 | 6,790 | 4.9% |
| Android | 95,648 | 6,790 | 7.1% |
| Android dalam aplikasi | 74,713 | 6,790 | 9.1% |
| Android dalam aplikasi, tanpa pautan terbesar | — | — | 4.9% |
| Satu pautan yang paling terjejas | 35,337 | 4,864 | 13.8% |
Kami menguji kriteria ini terhadap sesi yang jelas dilakukan manusia: 0 daripada 17,606 sesi di mana gedung terbuka 2–3 saat selepas pemindahan sepadan dengannya, dan 0 daripada 244 sesi di mana seseorang mengetik butang gedung sepadan dengannya.
Bahagiannya berubah dari minggu ke minggu: 6.8% pada minggu terakhir tempoh itu, kemudian 8.8%, 10.6% dan 10.0% pada minggu-minggu sebelumnya. Ia juga tertumpu di tempat kempen Instagram berbayar dijalankan: 72% pramuat dalam tempoh itu datang daripada satu pautan di sebalik kempen Instagram yang besar.
Sejak 16 Oktober, halaman mengelaskan perkara ini sendiri semasa berjalan: ia melaporkan pramuat dan bukannya exit apabila ia mati selepas sekurang-kurangnya 20 saat tanpa pernah dipaparkan. Inilah yang ditangkapnya sejak itu:
| Pelayar dalam aplikasi | Pemuatan halaman | Pramuat | Bahagian |
|---|---|---|---|
| Instagram, Android | 15,100 | 1,152 | 7.6% |
| Facebook, Android | 19,830 | 477 | 2.4% |
| TikTok, Android | 3,648 | 1 | 0.03% |
| Instagram, iOS | 5,965 | 45 | 0.8% |
| Facebook, iOS | 6,134 | 4 | 0.07% |
Kiraan semasa berjalan itu ialah had bawah. Pramuat yang mati tanpa menjalankan sebarang skrip tidak meninggalkan beacon, dan peraturan semasa berjalan lebih ketat daripada pembinaan semula sejarah.
Mengapa ini penting. Jika anda mengira klik pada ubah hala anda, kira-kira satu daripada 13 “klik” Instagram Android tidak pernah dilihat oleh manusia. Nisbah klik-ke-pemasangan untuk saluran itu kelihatan lebih teruk daripada sebenarnya, dan papan pemuka kempen yang dibina atas hit ubah hala mentah melebih-lebihkan capaian kira-kira sebanyak itu.
Dapatan 2: TikTok menolak Play Store bergantung pada webview yang digunakannya
Di dalam TikTok pada Android, sebahagian pelawat tidak pernah meninggalkan halaman: pemindahan berjalan dan TikTok memaparkan dialognya sendiri (“The action cannot be completed” — “Tindakan tidak dapat diselesaikan”). Ia tidak berlaku pada setiap pautan, dan selama berminggu-minggu ia nampak seperti bergantung pada pautan. Sebenarnya tidak. Ia bergantung pada pelayar dalam aplikasi yang digunakan TikTok untuk pelawat itu, yang terserlah melalui user-agent:
| Format | Bentuk user-agent |
|---|---|
| A | … Chrome/151 Mobile Safari/537.36 musical_ly_46.8.3 |
| B | Version/4.0 … musical_ly_2024509000 JsSdk/1.0 … BytedanceWebview |
| C | Version/4.0 … musical_ly_2024701040 AppName/musical_ly ByteLocale/… |
Sesi dikira lulus apabila pemindahan berjalan dan halaman menjadi tersembunyi, dan gagal apabila kad sandaran dipaparkan. Kadarnya ialah lulus / (lulus + gagal), mengikut peranti dan hari:
| Format | 90 hari hingga 2026-10-15 | 30 hari, 2026-09-27 → 10-26 |
|---|---|---|
| A | 23 / 26 (88%) | 827 / 969 (85%) |
| B | 0 / 17 (0%) | 34 / 245 (14%) |
| C | 5 / 30 (17%) | 4 / 33 (12%) |
Perbandingan yang memutuskannya mengekalkan pautan dan hari yang sama, kerana campuran format berubah dari minggu ke minggu:
| Pautan | Format A | Format B |
|---|---|---|
| Pautan 1 | 560 / 674 (83%) | 32 / 192 (17%) |
| Pautan 2 | 257 / 285 (90%) | 2 / 47 (4%) |
Pautan sama, kod ubah hala sama, hari sama: satu webview membenarkan gedung terbuka dan yang satu lagi kebanyakannya tidak. Domain tersuai tidak membuat perbezaan dalam data 90 hari. TikTok tidak mendokumenkan dialog itu, apa yang mencetuskannya, atau pengguna mana mendapat webview yang mana, jadi pembahagian mengikut user-agent sahaja yang ada.
Mengapa ini penting. Tiada bentuk URL yang dapat membetulkannya: jalan keluar intent:// dan URL https://play.google.com biasa menerima penolakan yang sama. Apa yang boleh anda lakukan ialah tidak menyembunyikan jalan keluar: di dalam TikTok, paparkan arahan “buka dalam pelayar” dan butang salin dengan serta-merta, bukan selepas tamat masa.
Dapatan 3: pada iOS, App Store terbuka di atas pelayar dalam aplikasi
Pada Android, selepas pemindahan, halaman menjadi tersembunyi dalam kebanyakan sesi, biasanya 1 hingga 3 saat kemudian. Pada iOS di dalam Instagram dan Facebook, ia selalunya tidak, walaupun pemindahan berjalan dalam hampir setiap sesi:
| Pelayar dalam aplikasi | Pemuatan halaman | Pemindahan berjalan | Menjadi tersembunyi | …dalam 4 saat | Kelihatan pada 2.2 saat |
|---|---|---|---|---|---|
| Instagram, Android | 7,190 | 77.5% | 90.0% | 75.9% | 47.6% |
| Facebook, Android | 13,600 | 72.4% | 73.8% | 39.6% | 77.8% |
| TikTok, Android | 2,920 | 47.1% | 85.2% | 79.5% | 7.6% |
| Instagram, iOS | 2,881 | 94.6% | 55.9% | 41.7% | 64.2% |
| Facebook, iOS | 3,078 | 87.0% | 13.1% | 7.9% | 65.6% |
| TikTok, iOS | 866 | 93.8% | 50.5% | 23.8% | 75.2% |
Jika dua pertiga pelawat iOS benar-benar tersekat di hadapan kad sandaran yang kelihatan dengan butang “Buka App Store”, ramai yang akan mengetiknya. Mereka tidak: hanya 0.9% pemuatan halaman Instagram iOS dan 0.4% pemuatan Facebook iOS yang mengetik butang itu. Tiada juga versi iOS di mana ia “berfungsi”:
| Versi utama iOS | Sesi dengan pemindahan | Halaman menjadi tersembunyi |
|---|---|---|
| 16 | 127 | 24.4% |
| 17 | 106 | 33.0% |
| 18 | 958 | 33.3% |
| 26 | 3,711 | 39.3% |
| 27 | 1,249 | 34.3% |
Penjelasan yang sesuai ialah di dalam Instagram dan Facebook pada iOS, App Store muncul di atas pelayar dalam aplikasi tanpa menghantarnya ke latar belakang. Halaman kekal “kelihatan” sepanjang masa, jadi visibilitychange dan pagehide tidak pernah tercetus, walaupun pelawat sedang melihat App Store.
Mengapa ini penting. Sebarang metrik yang menyimpulkan gedung terbuka daripada halaman yang meninggalkan skrin adalah salah pada iOS. Dahulu kami memaparkan kepada pelanggan peratusan “capaian gedung” yang dibina tepat dengan cara itu, dan ia memberitahu 10 daripada 12 pelanggan berbayar bahawa pautan mereka yang berfungsi sebenarnya rosak. Kami membuangnya. Pada iOS, isyarat pemasangan yang boleh dipercayai berada di pihak gedung: laporan kempen App Store Connect, dengan provider token (pt) dan campaign token (ct) pada URL App Store.
Perkara kecil yang kami ukur sepanjang jalan
- Play Store lambat dipaparkan pada Android. Dalam sesi Instagram Android di mana pemindahan berjalan, halaman menjadi tersembunyi 0–1 saat selepas kunjungan dalam 1,061 sesi, 2–3 saat selepas dalam 2,596, dan 4–8 saat selepas dalam 1,273 (7 hari). Pemasa 2 saat “berjaya atau tidak?” tercetus sebelum gedung muncul bagi sebahagian besar kejayaan sebenar. Corong kami sendiri mengira mereka sebagai kegagalan sehingga kami membenarkan exit sehingga 8 saat selepas pemindahan masih dikira.
- Kadar kegagalan sebenar adalah kecil. Dalam 7,357 sesi Instagram Android yang dibina semula sepanjang 3 hari pada awal Oktober, corak “pemindahan, kemudian tiada apa-apa” ialah 1.9% sesi, dan 24.3% pelawat tersebut mengetik pautan sekali lagi dalam 3 minit. Pelawat yang sesinya memaparkan kad sandaran mengetik semula pada 5.4%, lebih kurang sama dengan pelawat yang gedungnya terbuka (4.6%): kebanyakan “kegagalan” itu bukan kegagalan.
- Mewajibkan ketikan menelan sebahagian besar trafik. Sebelum halaman memulakan pemindahan semasa dimuatkan, ia memaparkan kad dengan butang gedung. Sepanjang 30 hari, 10,523 kunjungan dalam aplikasi menghasilkan 2,119 ketikan: kira-kira 80% pelawat tidak pernah sampai ke gedung.
Kaedah
- Sumber. Setiap kunjungan ke pautan pintar dan setiap beacon dari halaman pemindahan ditulis ke Cloudflare Workers Analytics Engine bersama platform, pelayar dalam aplikasi (daripada user-agent), jenis acara dan cap masa hingga ke saat. Pelawat yang user-agent-nya mengisytiharkan diri sebagai bot, perangkak atau pengambil pratonton pautan diasingkan dan dikecualikan daripada setiap angka di sini.
- Sesi. Analytics Engine tidak mempunyai id pemuatan halaman, jadi sesi dibina semula dengan menggabungkan satu kunjungan dengan beacon yang berkongsi pautan, negara, bandar, user-agent dan pelayar dalam aplikasi yang sama dalam satu jam berikutnya, sehingga kunjungan seterusnya dengan kunci yang sama. Kira-kira 98% beacon terikat pada satu kunjungan.
- Pramuat (Dapatan 1). Kriteria sejarah: tiada pemindahan, tiada kad sandaran, tiada ketikan, dan exit 20 saat hingga 15 minit selepas kunjungan. Kriteria semasa berjalan sejak 2026-10-16: halaman melaporkan pramuat apabila ia mati selepas sekurang-kurangnya 20 saat tanpa pernah dipaparkan dan pemasa pemindahannya tidak pernah berjalan (atau ia dimuatkan dalam keadaan tersembunyi). Beacon membawa token bertandatangan sekali guna, jadi ia tidak boleh dimainkan semula untuk memadam kunjungan sebenar.
- TikTok (Dapatan 2). Sesi dikunci mengikut pautan, model peranti, versi aplikasi TikTok dan hari. Peraturan format: versi
musical_ly_bertitik → A; jika tidak,JsSdk→ B; jika tidak, C. Pelawat dari rangkaian pengehosan dikira berasingan dan tidak dimasukkan dalam jadual. Pengukuran semula 30 hari menggunakan skrip yang sama dengan analisis 90 hari yang asal. - Jumlah menggunakan selang sampel Analytics Engine (2–4% baris mewakili lebih daripada satu acara). Jadual sesi mengira baris.
Batasan
- Kami tidak pernah melihat gedung. “Menjadi tersembunyi” ialah proksi bagi “gedung terbuka”. Ia juga tercetus apabila pelawat bertukar aplikasi atau mengunci telefon.
- Cap masa hanya hingga ke saat, dan sesi ialah hasil pembinaan semula. Dua pemuatan pantas dari peranti yang sama boleh bergabung.
- Tumpuan. Beberapa pautan besar mendominasi sesetengah tempoh: satu kempen Instagram menyumbang 72% pramuat 30 hari, dan dua pautan membawa kebanyakan sesi TikTok. Jadual pautan sama wujud atas sebab itu.
- Tiada apa-apa di sini diperiksa pada telefon fizikal. Kelakuannya disimpulkan daripada apa yang dilaporkan oleh halaman. Penjelasan iOS dalam Dapatan 3 ialah yang sesuai dengan data, bukan sesuatu yang kami saksikan sendiri.
- Trafik ini milik kami. Mereka ialah pelawat aplikasi yang menggunakan pautan kami, sangat condong kepada kempen Instagram dan Facebook di segelintir negara. Campuran lain akan memberi peratusan lain, walaupun mekanismenya sepatutnya sama.
- Pramuat yang tidak pernah menjalankan JavaScript tidak kelihatan. 12% pemuatan halaman Instagram Android tidak menghantar sebarang beacon, dan sebahagian daripadanya mungkin juga pramuat.
Apa yang perlu dilakukan
- Mulakan pemindahan semasa halaman dimuatkan. Halaman yang menunggu ketikan kehilangan kebanyakan pelawat dalam aplikasi. Kekalkan butang manual sebagai sandaran, dipaparkan hanya jika pemindahan jelas gagal.
- Pada Android, gunakan `intent://` dengan `S.browser_fallback_url`. URL
https://play.google.comdi dalam webview membuka laman web Play Store, yang tidak dapat memasang apa-apa tanpa log masuk. - Beri masa kepada gedung yang lambat. Tunggu sekurang-kurangnya 3 saat sebelum memutuskan pemindahan gagal, dan tetap kira exit yang lewat.
- Di dalam TikTok, paparkan jalan keluar dengan serta-merta: “··· → Buka dalam pelayar” dan butang salin pautan. Tiada perubahan URL yang dapat menghapuskan penolakan TikTok.
- Jangan kira pramuat Meta sebagai klik. Jika anda melaporkan klik daripada ubah hala, jangkakan 2–9% kunjungan Instagram dan Facebook Android ialah halaman yang tidak dilihat sesiapa.
- Ukur pemasangan di gedung, dengan pautan kempen App Store Connect (
pt+ct) pada iOS dan Play Install Referrer pada Android, bukan dengan acara halaman.
Kami membina onestore.link, yang secara lalai melakukan keenam-enam perkara ini untuk setiap pautan, dan data di atas datang daripada log ubah halanya.
Soalan dan jawapan
Berapa peratus klik pautan Instagram pada Android ialah pramuat?
Sepanjang 30 hari hingga 2026-10-12, 9.1% kunjungan Android dari pelayar dalam aplikasi (Instagram dan Facebook) ialah halaman yang dimuatkan oleh aplikasi di latar belakang dan dibuang kira-kira 30 saat kemudian, tanpa dilihat. Sejak 2026-10-16, semakan semasa berjalan halaman itu sendiri menangkap 7.6% pada Instagram Android dan 2.4% pada Facebook Android, sebagai had bawah. Pada iOS ia di bawah 1%.
Mengapa Play Store tidak terbuka dari pelayar dalam aplikasi TikTok?
Aplikasi TikTok pada Android menggunakan beberapa pelayar dalam aplikasi. Dalam salah satunya (versi musical_ly_ bertitik dan tiada Version/4.0 dalam user-agent), 85% sesi sampai ke Play Store sepanjang 30 hari. Dalam dua yang lain (Version/4.0 dengan JsSdk/BytedanceWebview, atau dengan AppName/musical_ly), hanya 12–14%, pada pautan yang sama dan hari yang sama. TikTok sendiri yang menolak pemindahan, apa pun bentuk URL-nya.
Bolehkah halaman web mengetahui bahawa App Store terbuka pada iOS?
Tidak di dalam Instagram atau Facebook. App Store terbuka di atas pelayar dalam aplikasi, jadi halaman tidak pernah menjadi tersembunyi dan visibilitychange tidak tercetus. Sepanjang 7 hari, hanya 13% (Facebook) hingga 56% (Instagram) pemindahan iOS diikuti oleh halaman menjadi tersembunyi, dan kurang daripada 1% pelawat mengetik butang sandaran. Laporan kempen App Store Connect ialah isyarat yang boleh dipercayai.
Berapa lama Play Store mengambil masa untuk terbuka dari pelayar dalam aplikasi?
Pada Android, halaman menjadi tersembunyi 2–3 saat selepas pemindahan dalam kebanyakan sesi yang berjaya, dan sehingga 8 saat kemudian pada telefon yang lebih perlahan. Sandaran yang dipaparkan selepas 2 saat muncul sebelum gedung dalam banyak sesi yang hampir berjaya.
Berapa kerap ubah hala ke gedung aplikasi benar-benar gagal di dalam Instagram?
Dalam 7,357 sesi Instagram Android yang dibina semula, corak kegagalan sebenar (pemindahan berjalan, kemudian tiada apa-apa, dan pelawat mengetik pautan sekali lagi) ialah 1.9%. Kebanyakan kegagalan yang kelihatan dalam data corong mentah ialah artifak pengukuran: beacon yang hilang, gedung yang lambat, atau pramuat.
Adakah domain tersuai mengubah cara TikTok melayan pautan?
Tidak. Sepanjang 90 hari, pautan dengan dan tanpa domain tersuai ditolak dengan cara yang sama. Yang menentukan ialah pelayar dalam aplikasi yang digunakan TikTok untuk pelawat itu.