Hari Saat Kami Memperbaiki Pipeline Pendaftaran Kami

Angka pendaftaran kami tumbuh setiap minggu. Tim merasa bersemangat. Namun, datanya terasa salah. Pengguna tidak pernah kembali. Alamat email terlihat aneh. Tingkat aktivasi kami menurun.

Saya melihat datanya. Saya tidak menemukan pertumbuhan. Saya menemukan gangguan (noise).

Masalahnya

Saya menjalankan kueri untuk mengelompokkan pendaftaran berdasarkan alamat IP. Satu alamat IP mendaftarkan ratusan akun dalam 24 jam. Ia menggunakan sidik jari browser (browser fingerprint) yang sama. Sebuah skrip menyerang endpoint registrasi kami. Ia menggunakan domain email sekali pakai (throwaway email domains). Itu adalah bot, bukan manusia.

Pipeline pendaftaran kami terbuka lebar.

Solusinya

Kami membangun tiga lapisan perlindungan dalam satu sprint.

Lapisan 1: Throttling

Kami menggunakan dua jenis pembatasan laju (rate limiting).

Lapisan 2: Daftar Blokir (Blocklists)

Lapisan 3: Daftar Blokir IP

Beberapa IP bersifat persisten. Mereka menyalahgunakan berbagai bagian sistem kami. Kami menggunakan daftar blokir keras (hard blocklist). IP ini ditolak untuk setiap permintaan. Middleware menghentikan mereka seketika.

Hasilnya

Sebelum perbaikan:

Setelah perbaikan:

Pelajaran yang Dipetik

Pertumbuhan bukan hanya tentang mendapatkan pengguna. Ini tentang mendapatkan pengguna yang nyata. Keputusan produk Anda bergantung pada data yang baik. Data tersebut dimulai dari endpoint registrasi Anda.

Sumber: https://dev.to/ogeobubu/the-day-we-fixed-our-signup-pipeline-3664