𝗧𝗵𝗲 𝗗𝗮𝘆 𝗪𝗲 𝗙𝗶𝘅𝗲𝗱 𝗢𝘂𝗿 𝗦𝗶𝗴𝗻𝘂𝗽 𝗣𝗶𝗽𝗲𝗹𝗶𝗻𝗲
எங்களது signup எண்கள் ஒவ்வொரு வாரமும் வளர்ந்து கொண்டே இருந்தன. குழுவினர் உற்சாகமடைந்தனர். ஆனால் தரவுகள் (data) தவறாகத் தோன்றின. பயனர்கள் மீண்டும் வரவில்லை. மின்னஞ்சல் முகவரிகள் விசித்திரமாக இருந்தன. எங்களது activation rate குறைந்தது.
நான் தரவுகளைப் பார்த்தேன். எனக்கு வளர்ச்சி தெரியவில்லை. எனக்குத் தெரிந்தது வெறும் இரைச்சல் (noise) மட்டுமே.
The Problem
IP முகவரியின் அடிப்படையில் signups-ஐ குழுவாக்க நான் ஒரு query-ஐ இயக்கினேன். ஒரே ஒரு IP முகவரி 24 மணிநேரத்தில் நூற்றுக்கணக்கான கணக்குகளைப் பதிவு செய்தது. அது ஒரே மாதிரியான browser fingerprint-ஐப் பயன்படுத்தியது. ஒரு script எங்களது register endpoint-ஐத் தாக்கியது. அது தற்காலிக மின்னஞ்சல் டொமைன்களை (throwaway email domains) பயன்படுத்தியது. அது ஒரு மனிதன் அல்ல, ஒரு bot.
எங்களது signup pipeline முற்றிலும் திறந்தே இருந்தது.
The Solution
ஒரே ஒரு sprint-இல் நாங்கள் மூன்று அடுக்கு பாதுகாப்புகளை உருவாக்கினோம்.
Layer 1: Throttling
நாங்கள் இரண்டு வகையான rate limiting முறைகளைப் பயன்படுத்தினோம்.
- Per-IP throttling: ஒரு குறுகிய கால இடைவெளியில் ஒரு IP-யிலிருந்து வரும் signup முயற்சிகளைக் கட்டுப்படுத்துகிறோம்.
- Per-domain throttling: நீண்ட கால இடைவெளியில் ஒரே மின்னஞ்சல் டொமைனிலிருந்து வரும் signups-ஐக் கட்டுப்படுத்துகிறோம். இது ஒரே டொமைனைப் பயன்படுத்தி வெவ்வேறு IP-களைப் பயன்படுத்தும் bots-ஐத் தடுக்கிறது.
Layer 2: Blocklists
- Blocked email domains: தற்காலிக மின்னஞ்சல் டொமைன்களைப் (disposable email domains) பயன்படுத்தி செய்யப்படும் எந்தப் பதிவையும் நாங்கள் நிராகரிக்கிறோம்.
- Blocked user agents: பிரவுசர் அல்லாத கருவிகளிலிருந்து (non-browser tools) வரும் கோரிக்கைகளை நாங்கள் நிராகரிக்கிறோம். தாக்குதல் நடத்துபவருக்கு நாங்கள் எந்தத் தகவலையும் வழங்க மாட்டோம்.
Layer 3: IP Blocklist
சில IP முகவரிகள் விடாமல் தொந்தரவு செய்கின்றன. அவை எங்களது அமைப்பின் பல பகுதிகளைத் தவறாகப் பயன்படுத்துகின்றன. நாங்கள் ஒரு hard blocklist-ஐப் பயன்படுத்துகிறோம். இந்த IP முகவரிகளிலிருந்து வரும் ஒவ்வொரு கோரிக்கையும் நிராகரிக்கப்படுகிறது. Middleware அவற்றை உடனடியாகத் தடுக்கிறது.
The Results
சரிசெய்வதற்கு முன்:
- ஒரு IP ஒரு நாளில் நூற்றுக்கணக்கான கணக்குகளை உருவாக்கியது.
- தற்காலிக டொமைன்கள் (Disposable domains) பெரும்பாலான signups-களாக இருந்தன.
- போலி கணக்குகள் எங்களது activation rate-ஐக் குறைத்தன.
- எங்களது தரவுகள் தவறாக இருந்தன.
சரிசெய்த பிறகு:
- Registration farming பூஜ்ஜியமாகக் குறைந்தது.
- தற்காலிக டொமைன் signups நிறுத்தப்பட்டன.
- Signup எண்கள் உண்மையான மனிதர்களின் நோக்கத்தைக் காட்டின.
- எங்களது activation rate மீண்டும் பழைய நிலைக்குத் திரும்பியது.
Lessons Learned
- அளவை விட சிக்னல் (Signal) முக்கியமானது. Bots காரணமாக retention மற்றும் revenue போன்ற அளவீடுகள் நம்பகத்தன்மையற்றதாகின்றன.
- சிறிய code fixes பெரிய சிக்கல்களைத் தீர்க்கும். நாங்கள் மூன்று எளிய வழிமுறைகளைப் பயன்படுத்தினோம்.
- அடுக்குகள் அவசியமானவை. ஒரு கட்டுப்பாடு மட்டும் போதாது. பல அடுக்குகளின் கலவை அதிகப் பாதுகாப்பை வழங்கும்.
- உங்கள் பதில்களைக் கட்டுப்படுத்துங்கள். முறையான பயனர்களுக்குத் தகவல்களை (feedback) வழங்குங்கள். தவறான செயல்களில் ஈடுபடுபவர்களுக்கு அமைதியையே (silence) வழங்குங்கள்.
வளர்ச்சி என்பது பயனர்களைப் பெறுவது மட்டுமல்ல. உண்மையான பயனர்களைப் பெறுவதே முக்கியம். உங்கள் தயாரிப்பு முடிவுகள் (product decisions) சரியான தரவுகளைச் சார்ந்தே அமையும். அந்தத் தரவு உங்கள் registration endpoint-லிருந்து தொடங்குகிறது.
Source: https://dev.to/ogeobubu/the-day-we-fixed-our-signup-pipeline-3664