Skip to content

Sebagian besar trafik pencarian kami ternyata bukan manusia

Oleh Oleg Sidorkin, CTO Cinevva

Trafik pencarian organik kami tumbuh, dan pertumbuhan itu berlangsung sepanjang tahun. Bagian itu nyata. Namun, pada awal Juli, grafiknya melonjak dengan cara yang tidak selaras dengan apa pun yang telah kami rilis, dan lonjakan tanpa penyebab layak diselidiki selama satu sore.

Kami menyelidikinya dan menemukan armada Chrome headless yang datang dengan perujuk Google.

80.6%dari seluruh sesi dalam 30 hari terakhir bersifat otomatis
89%dari sesi organik Google adalah palsu
1.7%dari sesi Google Ads adalah palsu
34.2%dari "pantulan" ternyata merupakan pembaca nyata

Bentuk grafik lebih penting daripada puncaknya

100%75%50%25%0MarAprMeiJunJul89%Persentase sesi mingguan yang ditandai sebagai otomatis

Sepanjang musim semi, persentase trafik palsu bergerak antara sepertiga dan dua pertiga dari seluruh sesi. Kurang lebih, itulah kebisingan latar yang harus dihadapi setiap situs web publik.

Pada akhir Juni, angkanya naik dan terus meningkat. Jika dihitung sejak minggu pertama April, sesi nyata tumbuh sekitar 5,5 kali lipat pada pertengahan Juli. Sesi otomatis tumbuh sekitar 18,6 kali lipat.

Pertumbuhan dasarnya adalah milik kami. Armada itu menumpang di atasnya, dan itulah yang membuatnya lebih sulit terdeteksi daripada trafik sampah biasa. Sinyal palsu yang menumpang pada tren nyata terlihat seperti akselerasi.

Mengapa trafik ini sulit terlihat

Kami mengawasi angka-angka ini dengan cermat, dan setiap pergerakan tanpa penjelasan akan kami telusuri dengan kueri. Alasan kasus ini membutuhkan penyelidikan mendalam adalah karena baris sesi kami memang tidak dapat membedakan kedua kelompok tersebut.

Interaksi disimpulkan dari stempel waktu last_activity_at milik setiap sesi. Pada kunjungan satu halaman, kolom itu tidak pernah berubah setelah penulisan pertama.

Jadi, bot yang memuat satu halaman lalu pergi menghasilkan baris yang sama dengan orang yang membuka sebuah panduan dan membacanya selama lima menit. Rasio pentalan, waktu di situs, interaksi—semuanya diperoleh dari kolom yang tidak menyimpan informasi apa pun untuk sesi satu halaman. Ini bukan hal yang tidak lazim. Ini merupakan kondisi standar pada sebagian besar sistem analitik buatan sendiri, dan merupakan hal pertama yang akan saya periksa pada sistem Anda.

Solusinya adalah berhenti membuat kesimpulan dari baris sesi dan membaca beacon keluar, yang melaporkan waktu nyata di halaman serta kedalaman gulir dari klien. Begitu kami menggunakan bukti alih-alih kesimpulan, kedua kelompok itu langsung terpisah.

DitandaiPengunjung lainnya
Menggulir sedikitnya sekali1.8%56.5%
Terhubung dengan akun yang sudah masuk0.05%29%

Kesenjangan tersebut menjadi bukti bahwa pengklasifikasi kami menggambarkan sesuatu yang nyata, bukan sekadar melabeli pengunjung pasif sebagai robot.

Hal yang benar-benar membongkar kedok sebuah armada

User agent adalah tempat terburuk untuk mencari petunjuk karena itulah bagian yang paling murah untuk diubah. Sinyal terbaik ternyata adalah kartu grafis.

Browser headless di pusat data tidak memiliki GPU, sehingga beralih ke rendering perangkat lunak, dan WebGL langsung melaporkan string perendernya. SwiftShader, llvmpipe, Mesa OffScreen. Pengunjung nyata memiliki GPU nyata.

SinyalYang terdeteksiPersentase dari bukti kami
Perender GPU perangkat lunakTidak ada kartu grafis fisik90.5%
ASN pusat data atau proksiAsal jaringan sewaan58%
navigator.webdriverFlag otomatisasi yang dibiarkan aktif10.4%

Asal jaringan tidak banyak membantu seperti yang mungkin Anda perkirakan. Sekitar empat dari sepuluh sesi ini keluar melalui ISP konsumen sungguhan. Proksi residensial kini murah, dan aturan apa pun yang mengasumsikan bahwa bot berasal dari AWS akan melewatkan hampir separuhnya.

Bukti lainnya berasal dari kemustahilan fisik dalam informasi yang dilaporkan klien tentang dirinya sendiri. User agent Chromium selalu diakhiri dengan token Safari yang cocok dengan token AppleWebKit-nya, yang dibekukan pada 537.36 sejak 2013, tetapi armada ini menghasilkan salah ketik, yaitu Safari/537.35 dan .38. Sebuah user agent ponsel mengaku memiliki layar 1600x1200. Varian lain mengaku memiliki layar persegi sempurna 1600x1600. Varian lainnya mengaku memiliki layar 1200x3000, yaitu monitor desktop potret dengan rasio 2,5:1 yang tidak diproduksi oleh siapa pun.

Semuanya adalah konfigurasi emulator seseorang, dan tidak satu pun akan terlihat kecuali Anda sengaja mencarinya.

Armada itu beradaptasi setiap kali kami menandainya

Profil pertama menggunakan Linux Chrome, perujuk Google, America/New_York, dan resolusi 1920x1080. Kami membuat aturan.

Sebuah varian kembali dengan resolusi 800x600 dan zona waktu UTC. Kami memperluas aturan tersebut.

Kemudian muncul kelompok dari Tiongkok yang menggunakan alamat residensial China Mobile dan Unicom dengan versi browser yang dikunci, termasuk Chrome 99 dari Maret 2022 dan konfigurasi bawaan emulasi perangkat Chrome DevTools: Nexus 5 keluaran 2015 yang menjalankan WeChat versi 2018. Mereka keluar melalui ISP konsumen, sehingga semua aturan jaringan yang kami miliki tidak berguna untuk menghadapi mereka.

Lalu muncul varian AS melalui Cox dan Comcast dengan user agent Chrome 146 terkini yang sepenuhnya masuk akal pada resolusi 1920x1080. Tidak ada yang salah dengan sidik jari tersebut, dan jika dilihat satu sesi demi satu sesi, trafik itu tidak dapat dibedakan dari pengunjung nyata.

Karena itu, detektor terakhir yang kami buat tidak memeriksa sesi secara individual. Detektor itu mengelompokkan data 48 jam terakhir berdasarkan negara, user agent, ukuran layar, dan sumber trafik, lalu mencari klaster yang terdiri dari sedikitnya 20 sesi anonim, dengan 95% atau lebih di antaranya tidak pernah membaca selama tiga detik maupun menggulir satu piksel.

Pengunjung nyata tidak berkelompok seketat itu. Dua puluh orang asing dengan browser dan resolusi yang identik, yang semuanya pergi tanpa membaca apa pun, sebenarnya adalah satu mesin dengan dua puluh alamat. Siapa pun dalam klaster tersebut yang benar-benar membaca atau menggulir tetap dianggap manusia, dan sesi yang terhubung dengan akun nyata tidak pernah ditandai sama sekali.

Aturan sidik jari akan usang karena cukup diakali dengan perubahan konfigurasi. Aturan perilaku bertahan lebih lama karena memalsukan perilaku membutuhkan biaya nyata bagi operatornya.

Audit tersebut juga menemukan kesalahan sebaliknya

Saat mengeluarkan pengunjung palsu dari data, kami menemukan pengunjung nyata yang selama ini kami buang.

Setelah kami memiliki durasi baca yang sebenarnya, ternyata 34,2% dari sesi yang kami hitung sebagai pentalan manusia berasal dari orang yang membaca selama 30 detik atau lebih, atau menggulir melewati separuh halaman. Sepertiga dari "kegagalan" tersebut justru berarti kontennya berhasil. Pembaca dari Tiongkok yang datang melalui Bing menghabiskan lima menit untuk membaca satu panduan, tetapi tercatat sebagai pentalan.

Angkanya meleset ke dua arah sekaligus, dan kedua kesalahan itu mengarah pada kesimpulan keliru yang sama. Jika digabungkan, keduanya membuat trafik Anda terlihat besar dan dangkal, padahal sebenarnya lebih kecil dan lebih mendalam.

Kanal yang kami bayar justru merupakan kanal yang jujur

Persentase sesi yang ditandai sebagai otomatis, berdasarkan sumberOrganik GoogleLangsungBingRujukanAsisten AIGoogle Ads89%80.4%7%3.7%2.8%1.7%025%50%75%100%

30 hari terakhir. Trafik organik Google menyumbang 63,7% dari seluruh sesi dalam periode tersebut.

Setiap naluri dalam pertumbuhan bisnis mengatakan sebaliknya. Anda berasumsi bahwa kanal berbayarlah tempat Anda ditipu, sedangkan trafik organik adalah hasil yang Anda peroleh sendiri. Pada kami, kenyataannya terbalik.

Jika kami mengalokasikan ulang anggaran berdasarkan angka bulan Juli, kami akan memindahkan dana dari kanal yang benar-benar mendatangkan manusia dan mengalihkannya untuk memproduksi lebih banyak konten bagi scraper.

Mengapa ini layak diselidiki selama satu sore

Angka itu sendiri hanyalah angka. Namun, di hilirnya terdapat keputusan tentang halaman yang akan kami tulis berikutnya, bahasa yang akan kami beri investasi, apakah sebuah kampanye lolos evaluasi, dan apakah hasil kuartal terlihat cukup bagus untuk terus melakukan hal yang sama. Semua itu dapat dipengaruhi oleh orang asing yang memiliki kumpulan proksi murah.

Jika Anda mengelola situs kecil, periksa string perender GPU dan beacon keluar Anda sebelum memercayai kurva pertumbuhan sendiri.

Dan anggap angka kami sebagai batas bawah, bukan vonis. "Manusia" di sini hanya berarti "belum tertangkap", aturan tersebut dibuat berdasarkan sidik jari yang kebetulan kami amati, dan kami masih belum mengetahui siapa yang mengoperasikan armada ini atau apa yang mereka inginkan dari situs pembuatan game.


Terkait: