Blocks during scraping or multi-account automation rarely have one root cause. This debug-first playbook separates infrastructure, identity, and behavior layers.

Step 1 — Minimal reproduction

Strip the flow to: one profile → one URL → one action. Remove loops, parallel tabs, and third-party extensions. Capture HAR + console logs.

Step 2 — Classify the block type

SignalLikely layer
Cloudflare interstitialTLS + IP + JS challenge
PerimeterX press & holdBehavioral + fingerprint
Slider / rotate captchaBehavioral scoring
HTTP 403 empty bodyIP reputation or WAF rule
Login loop / soft banAccount + device fingerprint

Step 3 — IP & proxy triage

Test the same flow on a clean residential IP. If blocks disappear, rotate proxy pool quality before tuning browser flags. Align proxy country with profile timezone — see fingerprint checklist.

Step 4 — Fingerprint audit

Fix WebDriver leaks and Canvas drift before investing in captcha solvers. Managed profiles via Multilogin reduce DIY spoofing surface area.

Step 5 — Behavior tuning

Step 6 — Scale validation

Re-add concurrency in batches. Track block rate % per profile. Retire profiles that exceed threshold — cookie and storage state may be burned.

FAQ

Why does my scraper work locally but fail in production?
Usually IP reputation, missing proxy geo alignment, or higher concurrency triggering rate limits — not code differences.
Should I fix captcha or fingerprint first?
Fix fingerprint and proxy identity first. Captcha solvers rarely help when the session is already flagged.

Disclosure: Affiliated with Multilogin. SAAS50 · MIN50.