Prefetching vs. Predictive Preloading: Why 'Preload Everything' Doesn't Work
Browser-level prefetching has been around for years. <link rel="prefetch"> dates from the 2010s, quicklink-style libraries prefetch links as they scroll into the viewport, and most modern frameworks ship some version of “hover a link, start fetching it.” All of that is useful, and none of it is what Foresight does. The difference is larger than it sounds.
What heuristic prefetching does
Viewport- and hover-based prefetching follows one rule: if a link is visible, or a cursor is near it, treat that as a signal worth acting on. It’s cheap to implement and works well on pages where most links have an equal chance of being clicked, like a blog index or a simple nav menu.
It falls apart on anything more complex.
It preloads what is on screen and ignores what the visitor wants. A product page with 40 related-item links prefetches all 40 when they sit in the viewport, and visitors click a few of them. Every visitor’s device spends bandwidth to guess right on a handful.
It has no memory of your traffic patterns. It can’t know that visitors who reach your pricing page from a specific ad campaign go on to convert on a specific next page 60% of the time. It sees “link, viewport, prefetch.”
It scales badly. More links on screen means more simultaneous prefetch requests, competing with the resources the current page still needs to finish rendering. Aggressive heuristic prefetching can slow down the page you’re on while trying to speed up the one you’re not.
What a trained model does differently
Foresight asks a different question: given the visitors who have been in this exact situation before (same entry page, same traffic source, same navigation pattern so far), where did they go next?
Heuristics can’t answer it, because the answer requires historical behavior, and a cursor’s proximity carries none. Foresight trains on your GA4-to-BigQuery navigation data to find, for a given visitor context, the highest-probability next page, and it preloads that page only if the probability justifies the bandwidth.
The difference shows in what the browser preloads. A viewport-based system preloads a meaningful fraction of the 30 products on a category page. Foresight might preload one or two, the ones this type of visitor tends to click in your data, and skips the rest.
The trade that matters: less bandwidth, more accuracy
Heuristic prefetching works for simple sites with a handful of obvious next steps, and it’s simpler to ship. Once your site has enough traffic and navigation complexity that “prefetch what’s visible” starts fetching pages few visitors click, you have outgrown the heuristic. The navigation data you already have fixes that.
Foresight closes that gap by preloading the right page, based on what your own visitors did before, instead of preloading more pages. If you run viewport-based prefetching and wonder whether it earns its keep, an audit can answer within an hour of looking at your data.