Does a VPN stop ads and trackers?
Mostly no. A VPN changes the IP address advertisers see, which blurs location targeting, but cookies, the advertising ID and in-app SDKs still track you.
Mostly no. A VPN changes the IP address that ad networks see, which blurs the location they infer from it and stops a site tying visits to your home address. It does not stop the cookies in your browser, the advertising ID on your phone, or the analytics and ad libraries built into the apps you use, and those are how nearly all tracking on a phone works. Ads still appear, and they are still mostly for you.
How ad tracking works on a phone
Advertisers do not need your IP address to follow you. They have better identifiers:
- Cookies in the browser, set by ad networks embedded on most pages, so that the same network recognises you on the next site.
- The advertising ID, a resettable identifier Android gives to every app that asks. Ad and analytics SDKs inside apps read it and send it home, so activity in one app is joined with activity in another under the same ID.
- SDKs inside apps. A large share of free apps ship with one or more ad or analytics libraries, which report installs, opens, screens viewed and purchases to their owner.
- Account sign-ins. Being logged in to a service tells that service who you are, and any ad network it partners with.
- Device fingerprinting. Screen size, OS version, fonts, language settings and dozens of other details combined into a signature.
- IP address. One signal among the others, mainly used for location and as a fallback when the rest are missing.
A VPN changes exactly one item on that list, and it is the least important one for identity.
What a VPN changes
Your traffic leaves the VPN server carrying the server's address, so ad networks record that instead of yours. Two things follow. Location-based targeting uses the server's city rather than yours, so ads for local businesses become ads for a place you are not. And a tracker that relies on IP address alone, because you have no cookie and no account with it, cannot join this visit to your previous ones from home. The IP address post covers that mechanism.
The exit address is also shared by everyone on the same server at the same time, which makes it useless as an identifier on its own. That is a real, if narrow, benefit.
What a VPN does not change
Everything else in the list. The cookies go through the tunnel unchanged. The advertising ID is read by apps on the phone and sent through the tunnel unchanged. SDKs report as before. A VPN is a pipe, not a filter, and a pipe carries tracking data as faithfully as it carries a web page. The Google and Facebook post works through why signed-in services in particular are unaffected.
| Tracking signal | Does a VPN change it? |
|---|---|
| IP address | Yes, to the server's |
| Location guessed from IP | Yes, to the server's city |
| Browser cookies | No |
| Advertising ID | No |
| SDKs inside apps | No |
| Accounts you are signed in to | No |
| Device fingerprint | No |
VPNs that block ads
Some VPN apps do reduce ads, and it is worth understanding how, because it is a separate feature bolted on rather than something a VPN does by nature. The usual mechanism is DNS filtering: the provider's resolver refuses to answer lookups for known ad and tracker domains, so the ad never loads. It works for ads served from separate domains, misses ads served from the same domain as the content, and can break apps and sites that depend on a blocked domain.
That also means the provider is inspecting every DNS query against a list, which is fine if that is the stated purpose and the queries are not logged. Culvert VPN does not filter ads; its resolver answers queries and does not log them, and the DNS privacy post explains what its resolver can and cannot see.
What actually reduces ad tracking on Android
The controls that matter are on the phone, and most take a minute:
- Delete or reset the advertising ID. Settings > Privacy > Ads. On Android 12 and newer you can delete it outright, after which apps see a string of zeros; on older versions, opt out of personalisation and reset it now and then.
- Turn off ad personalisation in the account settings of the services you use, and turn off activity history you do not want kept.
- Use a browser with tracking protection and third-party cookie blocking on. Clear site data for sites you do not want to be remembered by.
- Read the Data safety section on an app's Play listing before installing. Apps that declare sharing with advertisers usually carry an ads SDK.
- Remove apps you do not use. An app you have not opened in months can still be reporting.
- Use Android's per-app permissions to deny location, contacts and the rest to apps that have no need of them; tracking libraries take what the host app is granted.
Do those, and a VPN's contribution, hiding the address and location from the remaining trackers and from the network, adds something on top rather than substituting for the rest. The incognito post covers the browser side of the same problem.
The VPN app itself
Any VPN app can carry the same SDKs as any other free app, so its own tracking is part of the question. Culvert VPN's app analytics are optional and disclosed, collected only if you leave them on; on the tunnel side it does not log the websites you visit, your DNS queries or the contents of your traffic, its servers see only an opaque connection id, and it keeps your client IP address for up to 30 days for abuse handling, as set out in its privacy policy.
For the one signal a VPN does control, the address and location every ad network and every site records, Culvert VPN is on Google Play.
Questions people also ask
Why do I still get personalised ads with a VPN on?
Because the ads are personalised from cookies, your advertising ID and the accounts you are signed in to, none of which a VPN changes. The only signal it changes is your IP address, which advertisers mostly use for location.
Do some VPNs block ads?
Some add DNS filtering, where the provider's resolver refuses to answer lookups for known ad domains. It is a separate feature, it misses ads served from the same domain as the content, and it means the provider is checking every query against a list.
What is the single most effective thing I can do about ad tracking on Android?
Delete or reset the advertising ID under Settings > Privacy > Ads, and turn off ad personalisation in the accounts you use. Those act on the identifiers advertisers actually rely on.