Teams buy rotating pools and bind them to Multilogin profiles — then wonder why Business Manager logs out hourly. The rule is simple: identity profiles need sticky IPs; anonymous jobs can rotate. This guide maps proxy mode to account tier and layer (browser vs cloud phone).
Decision matrix
| Use case | Proxy mode | Type | Why |
|---|---|---|---|
| Meta BM / Ads logged in | Sticky | Residential, same session ID | Platform ties cookie to IP ASN + geo |
| TikTok Shop seller web | Sticky | Residential or ISP | Payment + KYC history on IP |
| Multilogin profile warm-up | Sticky | Match profile geo | Timezone + language alignment |
| Cloud phone TikTok app | Sticky mobile | 4G/mobile proxy per device | Separate from web profile IP |
| Public page scrape (no login) | Rotate OK | Datacenter or backconnect | No session state to break |
| Burn / test accounts | Rotate OK | Cheap pool | Disposable identity |
Account tier → proxy policy
burn → rotate datacenter, no Multilogin cookies worth saving warm → sticky 24–72h, same profile until trust builds prod → sticky 7–30d+, unique endpoint per profile in CMDB agency → sticky per client_id namespace, never cross-pool
Never do this
- Rotate proxy mid-session on a logged-in Multilogin profile
- Share one sticky IP across two active BM accounts
- Use datacenter rotate for TikTok Shop payout pages
- Bind cloud phone mobile IP and web profile to same sticky endpoint if platforms cross-link (use same geo, different endpoints)
Pre-flight check (Python)
import httpx
def check_proxy(proxy_url: str, expected_cc: str) -> dict:
with httpx.Client(proxy=proxy_url, timeout=30) as c:
ip = c.get("https://api.ipify.org?format=json").json()["ip"]
geo = c.get(f"https://ipapi.co/{ip}/json/").json()
cc = (geo.get("country_code") or "").upper()
if cc != expected_cc.upper():
raise ValueError(f"Geo mismatch: {cc} != {expected_cc}")
return {"ip": ip, "cc": cc, "asn": geo.get("asn")}
Run before every profile launch in CI — see pre-launch checklist and proxy alignment.
Rotation within a pool (advanced)
Some providers offer sticky sessions on rotate pools via session ID in username (user-session-abc123). That is still sticky for one profile — the rotate gateway picks an exit IP but keeps it for the session TTL. Map session ID 1:1 to Multilogin profile UUID in CMDB.
Related
Disclosure: MLX-MMO affiliated with Multilogin.