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.