How best to block ads on non rooted phone? How can you block ads on a non rooted phone. I tried rooting and have no success.
Adguard is a good option (as suggested above) given it can employ more than one way of filtering ads from traffic. It can utilise local VPN or local HTTP proxy, but can have significant battery drain.

A more lightweight option may be using DNS66, an open source application available for free on the F-Droid Repository.


  DNS66 uses DNS level filtering to filter ad traffic. This means that
  it only filters the ad traffic for a specific amount of time after
  your device is connected to the internet. Therefore there will not be
  any significant battery drain when you are using DNS66 to block ads
  across the system of your Android device.


After installing, head to the Hosts tab at the top of the screen. From here, you'll have to pick at least one ad-blocking hosts file, which is basically a list of known ad servers that DNS66 will block for you.



Now you have to select the hosts file which contains the list of popular ad servers that are hosting the ads you see across the websites and apps.

The most recommmended one is  Adaway hosts (as it covers most popular ad servers) and then click on the Action option and select deny. This will now block all the ads that are hosted by the servers in the Adaway host file’s list.

From here, head back to the Start tab from the top menu, then tap the "Start" icon near the bottom of the screen to start the VPN ad-blocking service.

acknowledgements


Block Ads in All Your Android Apps Without Root or Extra Battery Drain