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#
| Job | Mode | Username |
|---|---|---|
| Collect product pages by URL | Rotating | USER-cc-de |
| Search, then open three result pages | Sticky, 5 min | USER-cc-de-sid-q17-ttl-5m |
| Add to cart, checkout, confirmation | Sticky, 30 min | USER-cc-us-sid-order42-ttl-30m |
| Log in and act as one user for a day | Sticky, 24 h | USER-cc-gb-sid-acct9-ttl-24h |
| Keep one address for weeks | Not a session: ISP proxy | ip:8000 from your list |
| SERP sampling from many cities | Rotating, city per request | USER-cc-us-city-chicago |
How the gateway decides#
- A new TCP connection is a new transport connection, not proof of a new exit. The gateway’s assigned rotation mode decides how that connection is routed.
- Use a distinct session identifier for each independent workflow, where the assigned gateway supports it. Confirm the permitted duration and location parameters in your connection details. A residential device can disconnect before the requested duration; a sticky session is not a guarantee of the same IP for days. For a fixed address, compare a dedicated static product.
- Changing a session identifier requests a separate routing session where supported; it does not guarantee an unused or different IP. Measure the returned addresses instead of inferring them from the username.
- An idle timeout can come from the client, gateway, exit or destination. Record the elapsed time and compare the client’s connect/read limits with the assigned service settings. A connection reset does not by itself prove that the residential exit went offline; reproduce the error with a small request before changing the configuration.
The keep-alive trap#
Connection reuse and IP assignment are different controls. A client session reuses sockets; only the assigned gateway determines rotation and sticky-session behavior. Use the session parameters supplied with your service, and verify the exit over several requests. Closing a socket or sending Connection: close does not guarantee a different IP.
Retries#
Classify the response before retrying. A 403 may indicate an access rule that another IP will not resolve. For 429, respect Retry-After and reduce the request rate; use bounded backoff for temporary connection or server failures. Retry state-changing operations only when you can prevent duplicate actions.
Parallelism#
Separate session identifiers isolate routing preferences, not the browser’s cookies or application state. Start with a small number of workers, measure errors and traffic, and increase gradually within the limits confirmed for your order and the destination. A narrow city or carrier selection can reduce available capacity.
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.