I'm very happy with the results from using a Pi-hole for blocking all kinds of internet advertisements. Running on a Raspberry Pi 3 in my home network, it takes care of allmost all ads. It works by acting as DNS server, but it has an automatic maintained list of ad-serving domains and every request for such an domain results in a blockade. I've now got it running for more than three months.
Because it blocks ads at the network level, it works for all devices. All devices connected to the home network profit from this. Much less ads in mobile apps, less ads in websites. And it gives you a nice view on the communications of each device in your home, I am surprised by the communication my Samsung smart TV does when it is on standby.
The Pi-hole is also a magnificent way to monitor all the DNS traffic:
Type of queries over time, I have a native IPv6 connection and regular IPv4 (dual stack).
Number of queries (total and blocked) over time.
The list of top-clients, clicking on any name will give you all the queries performed by that host. On top is my Samsung Smart TV, which is concerning. And I'm not the only person concerned by all this, see this article named "This is what your dashboard looks like with a Samsung TV".
I've added the local DNS names per this Howto.
I've whitelisted a few sites, some Microsoft, Spotify and whitelisted a part of nu.nl (a Dutch news website)
For the pc's I still run the browser plugin uBlock Origin, that just has less work to do and it takes care of most of the pop-ups telling me I'm running an add-blocker.
I've whitelisted some sites I support, but I now see I've gotten used to the amount of ads being less, some websites now appear annoying.
See the "Seven things you may not know about the Pi-Hole"