blog

Why tapping a link on your phone opens an ad instead

Huy Le ·

You’re reading an article. You tap a link. Instead of going where you expected, your phone opens the App Store. Or an ad page. Or some random site you’ve never seen.

What’s actually happening

Ad-heavy sites make money when you interact with ads. Some of them don’t wait for you to do it voluntarily. They use three tricks.

1. Navigation hijacking

You tap a normal-looking link. Behind the scenes, JavaScript intercepts that tap and redirects your browser to an ad URL before the real link loads. The real destination never had a chance.

This is especially common on free streaming sites, file download pages, and some news sites. Every tap is a coin flip between content and ads.

2. Invisible overlays

The site places a transparent ad layer on top of the entire page. You think you’re tapping the article, the play button, the “next page” link. You’re actually tapping an invisible ad. The real content is underneath, untouchable.

Some sites stack multiple overlays. Close one, another appears. The X button to close it? Also an ad link.

3. Forced popups and new tabs

You scroll. A full-screen popup covers everything. Sometimes it’s a fake virus warning. Sometimes it’s a “you’ve won a prize” page. Sometimes it’s just an ad with a tiny, hard-to-find close button that opens another ad when you miss.

Meanwhile, the site quietly opens new tabs or windows in the background, loading more ads you haven’t seen yet.

Why your browser doesn’t stop this

Safari and Chrome block some popups. But these tricks evolve faster than browser defenses. The sites use legitimate-looking JavaScript that’s hard to distinguish from normal page behavior. A redirect triggered by your tap looks intentional from the browser’s perspective.

How ZeroAds solves each layer

ZeroAds is an iOS browser built specifically around this problem. It works on two levels.

Block ads before they load

ZeroAds ships with 90,000 filter rules from EasyList, the same open-source list used by uBlock Origin and Brave. These rules are compiled into WebKit’s native content blocker engine, the same technology Safari extensions use.

When a page tries to load a script from doubleclick.net or an iframe from googlesyndication.com, WebKit kills the request before it even starts. The ad script never downloads. The tracking pixel never fires. The page loads faster because it’s not fetching junk.

This handles the majority of ads. No scripts to inject, no timing tricks. The blocking happens at the network level, in compiled bytecode, before JavaScript even runs.

Clean up what slips through

Some ads are embedded directly in the page HTML or loaded from the same domain as the content. Network-level blocking can’t catch these without breaking the site.

For these, ZeroAds runs a second pass. After the page loads, it scans for elements that look like overlay ads: fixed-position divs covering more than 18% of the screen, elements with z-index above 900, anything with “popup,” “overlay,” or “interstitial” in its class name. It removes them and restores scrolling.

A MutationObserver watches for new elements. If the site injects another overlay, it gets removed within milliseconds.

Lock navigation to the current site

This is the feature that makes ZeroAds different from a standard ad blocker.

Turn on “Block Navigate” and your browser locks to the current website. Every link that tries to send you to a different domain gets blocked. JavaScript redirects, popup windows, new tab requests, even tapping a link that points somewhere else. Nothing leaves the current site.

You’re on news-site.com? You stay on news-site.com. An ad link tries to send you to tracking.adnetwork.com? Blocked. A script tries to open the App Store? Blocked.

When you actually want to go somewhere new, open a new tab or turn the lock off. Search on Google still works normally since it needs to send you to other sites.

The result

Before: you fight the site. Every tap is risky. Ads load before content. Popups interrupt reading. Random redirects waste your time.

After: the page loads fast. Content is clean. Tapping things does what you expect. You stay where you want to stay.

ZeroAds is free on the App Store. Small app, no accounts, no tracking, no subscriptions.