Cross-border TikTok Shop teams run two layers: cloud phone for the seller app and creator trust, Multilogin for seller center web, payouts, and catalog management. Mixing both into one browser session or one IP pool is how shops get linked and frozen.

Hybrid CMDB row (one shop)

FieldMobile layerWeb layer (Multilogin)
Identity toolCloud phone (GeeLark/DuoPlus)Multilogin Mimic profile
Primary useSeller app, live, creator linkageseller.tiktok.com, ads, bulk upload
ProxyMobile sticky (target market)Residential sticky (same country)
AutomationAppium / manual warmPlaywright CDP post-login only
Sharedshop_id, geo, client_id — never share cookies

Multilogin profile setup (web)

  1. Engine — Mimic (Chromium) for seller center
  2. Geo — profile timezone + language = shop market (US, UK, SEA)
  3. Proxy — sticky residential; see sticky vs rotate
  4. WebRTC — disabled or aligned to proxy geo
  5. Warm-up — manual browse same region sites before first seller login

Playwright boundaries

# Safe: tasks AFTER human completed login + 2FA in profile
# - export order CSV
# - scrape dashboard metrics (slow, low frequency)
# - upload catalog via UI (human-paced delays)

# Avoid:
# - cold login() in loop across shops
# - parallel CDP on same profile
# - datacenter proxy rotation mid-session

Production pattern: asyncio recipe with one profile per worker, login state persisted in profile storage.

SEA / cross-border notes

Ban recovery checklist

  1. Stop all automation on affected shop_id
  2. Audit CMDB — did web and mobile share IP or cookie export?
  3. Run fingerprint audit on Multilogin profile
  4. Replace sticky proxy session ID; do not reuse burned IP on new shop
  5. Re-warm cloud phone separately before re-linking creator account — full runbook: ban recovery

Related

Disclosure: MLX-MMO affiliated with Multilogin. TikTok Shop policies change by region — compliance is your responsibility.