A phone doesn't keep asking every app whether there's a new message. Instead, the system opens one small connection to Google's notification servers (for Android) or Apple's (for iPhone) and leaves it open. When a message arrives, the server pushes word down that connection and the notification appears.
That connection is almost always idle. It only sends an occasional "still alive" signal. That's the problem: some routers treat an idle connection as a dead one and drop it. The phone doesn't know, the server can't get through, and notifications pile up until you open the app yourself.
Confirm the pattern first
Before changing settings, work out where the problem appears:
| Pattern | Likely cause |
|---|---|
| Late on home Wi-Fi, normal on mobile data | The router or home network |
| Late on every network | Battery settings or app permissions on the phone |
| Only one app is late | That app's settings |
| Only on office, campus, or public Wi-Fi | A network firewall blocking notification ports |
A simple test: turn Wi-Fi off, lock the screen, and ask a friend to send a message. Repeat with Wi-Fi on. If only the second is late, focus on the router.
When the router is the cause
The idle timeout is too short. A router keeps a list of active connections in its NAT table. Some cheap routers, or routers set to "save memory", throw away TCP connections that have been idle for more than a few minutes. If the router menu has a TCP timeout, NAT session timeout, or connection tracking setting, raise it. For established TCP connections, anything above 30 minutes is usually safe. The NAT table is explained in what NAT and CGNAT are.
The router restarts or loses its link to the provider often. Every time that happens, all notification connections drop, and the phone takes a while to notice. Check the symptoms in router keeps restarting by itself.
Old firmware. Bugs in connection tracking are fairly often fixed in updates. See updating router firmware.
Provider CGNAT. If your ISP uses CGNAT, there's another layer of NAT outside your home that can also cut idle connections. You can't change it yourself, but you can report it to the provider with a specific symptom: notifications late on Wi-Fi, normal on mobile data.
When the phone is the cause
- Battery optimisation. Android, especially brands with aggressive power saving, delays background apps. Open battery settings, find the app, and choose "unrestricted" or "don't optimise".
- Power and data saver modes. These deliberately delay syncing. Turn them off if notifications matter.
- Wi-Fi off while the screen is locked. Some phones can disconnect Wi-Fi during sleep to save battery. If the phone then flips between Wi-Fi and data, notifications stutter too. See phone keeps switching to mobile data.
- App notification permissions. Make sure the app's notifications and notification channels aren't turned off.
Turning off battery optimisation does use slightly more power. For one or two important apps the difference is small; power use is discussed in phone battery draining on Wi-Fi.
On office and public Wi-Fi
Tightly managed networks sometimes open only web ports (80 and 443) and close everything else. Android notifications use TCP 5228 to 5230, while iPhones use TCP 5223. Both can fall back to 443, but that path is less reliable. If you manage that network, allow those ports for outbound traffic. Other important ports are listed in ports and protocols worth knowing.
Wi-Fi with a login page can play a part too: once the session expires, the internet stops without telling the phone, and notifications stop with it. The symptoms resemble Wi-Fi connected but no internet.
Frequently asked questions
Why are notifications late only on certain Wi-Fi networks?
Because the cause lies in that router or network. A router that drops idle connections too quickly, or a firewall blocking notification ports, leaves the phone without news until it reconnects. On other networks or on mobile data the connection is kept alive, so notifications arrive on time.
Do late notifications mean the internet is slow?
Not necessarily. Notifications need only a small connection kept open, not high speed. Wi-Fi that scores well on a speed test can still delay notifications if that idle connection keeps being cut.
Which ports do Android and iPhone notifications use?
Android notifications through Firebase Cloud Messaging use TCP 5228 to 5230, falling back to 443. Apple notifications use TCP 5223, also falling back to 443. If the main port is blocked the phone can still use the fallback, but it is often slower and less stable.