Types of timeout
Working with external APIs, several levels are distinguished:
- Connection timeout — the time allowed to establish the TCP connection. Usually 1 to 5 seconds.
If the server is completely unreachable, this is the timeout that expires. - Read or response timeout — the time spent waiting for data once the connection is open. This
is the main parameter for a personalization API. - Total request timeout — the overall limit on the whole request from start to finish.
# Example: an HTTP call to the recommendations API
connection_timeout = 1000 ms # 1 second to open the connection
read_timeout = 100 ms # 100 ms to receive the data
→ If the recommendations have not arrived in 100 ms → show the fallback
Why the timeout is critical in e-commerce
Load speed feeds directly into conversion. Every extra 100 milliseconds of delay cuts conversion
rate by single-digit percentages in highly competitive categories. If a recommendations block holds
up the page load, that is a worse outcome than having no block at all.
The rule: better an empty block, or cached bestsellers, in 0 milliseconds than three seconds of
waiting for personalization.
Graceful degradation: what to show when a timeout fires
| Component | Fallback when the API times out |
|---|---|
| Recommendations block | Category bestsellers from a local cache |
| Personalized banner | The default banner, unpersonalized |
| Offer popup | Do not show at all |
| Search results | Text search without AI ranking |
Implementing the fallback is the responsibility of the front-end developer doing the integration.
Most personalization platform SDKs expose a callback mechanism for exactly this case.