Method · Beginner

Rotating vs sticky sessions: how to choose, per request

Rotation is the default on a residential gateway; a sticky session is the exception you ask for. Choosing right per request is the difference between a smooth pipeline and one that logs itself out.

2 min read 6 sections Updated Published

The rule in one sentence#

Rotate when each request is independent; stick when the target ties requests together (a login, a cart, a paginated search, a multi-step form) or when it watches consistency.

Decision table#

JobModeUsername
Collect product pages by URLRotatingUSER-cc-de
Search, then open three result pagesSticky, 5 minUSER-cc-de-sid-q17-ttl-5m
Add to cart, checkout, confirmationSticky, 30 minUSER-cc-us-sid-order42-ttl-30m
Log in and act as one user for a daySticky, 24 hUSER-cc-gb-sid-acct9-ttl-24h
Keep one address for weeksNot a session: ISP proxyip:8000 from your list
SERP sampling from many citiesRotating, city per requestUSER-cc-us-city-chicago

How the gateway decides#

  • No -sid-: every new TCP connection gets a new exit.
  • -sid-X: all connections carrying X share one exit until -ttl- elapses (default 10 minutes, up to 24 hours).
  • Change X and you get a new exit at once; reuse X after the TTL and you get a new one too.
  • If the household behind X goes offline, the session moves to another exit in the same location; retry the failed request once.

The keep-alive trap#

HTTP clients reuse connections. Without a session id you might still see the same IP for several requests because they rode the same connection; that is not stickiness, it is reuse, and it ends whenever the pool recycles the connection. If you need one exit, say so with -sid-; if you need a new exit per request, close the connection or use a fresh session id per request.

Retries#

On a rotating job, a retry after 403 or 429 is a new visitor: cheap and effective. On a sticky job, retrying across exits breaks the flow and looks exactly like the automation the site is watching for; retry on the same session, back off, and only start a new session if the exit itself died.

Parallelism#

Sticky sessions are independent of each other. Run a hundred with a hundred ids and you have a hundred consistent visitors; each holds its own exit for its own lifetime. Concurrency is unlimited on ProxShift, so the constraint is the pool size in your target city, not the gateway.

Questions people ask#

Is a sticky session more expensive?

No. Traffic costs the same per GB whether the exit rotates or not; a session id changes routing, not price.

Can I make a session last longer than 24 hours?

Not on the residential pool. For addresses that must stay fixed for weeks, rent an ISP proxy: static, dedicated, unlimited traffic.

Ready when you are

Run it for real.

Create an account, top up $20 and paste the endpoint from this guide into your tool. Traffic you buy never expires.