• High TTL values — If your old record had a TTL of 86400 (24 hours), resolvers that cached it just before your change won't refresh for up to 24 hours.
• Negative caching — If a resolver queried your domain before the record existed, it may have cached a negative result (NXDOMAIN). Negative cache TTLs are set by the SOA record's minimum field.
• ISP resolver caching — Some ISP resolvers override TTLs with their own minimum values, typically 300-3600 seconds. This can extend propagation time beyond what your TTL suggests.
• CDN caching — If you're using a CDN, the CDN's own DNS layer may add additional caching. Check your CDN dashboard for DNS-level cache settings.
• Geo-DNS isn't propagation — A common false alarm: domains using Azure Traffic Manager, AWS Route 53 latency-based routing, or any geographic load balancer return *different IPs to different parts of the world by design*. Resolvers in Europe will see different answers than resolvers in the US, and both are correct simultaneously. The tool's `dispersion` field will read `geo_distributed` in this case — the zone is fully deployed, no change is in progress, and there is nothing to wait for. Flagging this as a propagation problem would send you on a wild goose chase.
• Local DNS cache — Your operating system and browser also cache DNS results. Flush your local cache (ipconfig /flushdns on Windows, sudo dscacheutil -flushcache on macOS) to see current resolver results.