ECTECT (Effective Connection Type) is a Network Information Client Hint request header summarizing the client's effective connection into four tiers: slow-2g, 2g, 3g, and 4g. By bundling raw bandwidth and latency into one practical grade, it makes it easy for servers to devise serving strategies matched to link quality.
The value is not the actual radio generation but a 'perceived grade' the browser derives from recent RTT and bandwidth observations. So even Wi-Fi may report 3g if it is actually slow, and broadband may report 4g; most modern broadband and healthy mobile fall under 4g. It is readable in JS via navigator.connection.effectiveType.
ECT is easier to work with than the raw numbers of Downlink/RTT. You can set simple threshold rules like 'if ECT is slow-2g/2g, serve placeholders or low-resolution images and disable prefetch/autoplay'. Combined with Save-Data, it reflects both user intent (saving) and measured network conditions.
Due to fingerprinting/privacy concerns, Network Information API headers vary in support and exposure across browsers and are trending toward reduction. The header may be absent, so always keep a fallback (a neutral default representation), and if the response varies by ECT, send Vary: ECT to preserve cache correctness.
ECT: <slow-2g | 2g | 3g | 4g>e.g. ECT: 4g
slow-2g | The slowest tier; an extremely constrained connection. |
2g / 3g | Low-to-mid tiers; suppressing heavy resources is advised. |
4g | The fastest tier (including broadband); rich experiences can be served. |