- GA4
- GTM
- sGTM
- Google Ads
Ad blockers: some conversions never reach Google, and the ads learn without them
What is wrong
Some visitors arrive with an ad blocker or with the tracking protection built into their browser. They buy, book and send enquiries, but the data never reaches Google: the tag on the page does not load, or its request never leaves the browser.
An example. Your system shows 100 orders for the month, GA4 (Google's analytics) and Google Ads show 90. The difference is visitors with blockers. Their orders are real, but for the ads they never happened.
The legend in this demo: a travel agency website in Vietnam. The business is fictional; an online shop, a clinic or a school works the same way.
What the business loses
- The ads learn from a skewed sample. Google Ads and Meta bid on the conversions (purchases and leads) they can see. Visitors with blockers are particular browsers, devices and habits, and the ads move budget to where purchases are visible. The visitor may not even mind: they installed the blocker to get fewer pop-ups.
- Reports understate returns. Uncounted revenue means an understated return on ad spend (ROAS), and budget gets cut in campaigns that work.
- Nobody knows where the data was lost. "100 against 90" does not say at which step the data disappeared: the tag did not load, the request did not leave the browser, or the ad platform did not count it.
Ways to close the gap
Which option fits depends on your website and on where the order is placed. Before choosing, answer two questions:
- Where is the order placed: on the pages of your website or in an external system (a booking platform, a scheduling tool, a checkout)? Protection against blockers covers what happens on your own pages. If the order goes to someone else's platform, it first has to be joined back to the visit – a separate task.
- Can you run your own server on your domain – for example, a subdomain like
data.yoursite.com? Without it the server options in the table are not available.
| Option | Pros | Cons | Where it exists, examples | In the demo |
|---|---|---|---|---|
| Leave it as it is: Google's tags load from and send data to Google's own addresses | Nothing to build or pay for. | These addresses are in every blocker list. Whatever is cut disappears without a trace: nobody knows how much was lost or at which step. | a regular GTM or gtag.js install | runs alongside in the demo as the "direct road", for comparison |
| Server-side GTM on your domain, default paths: events go to your subdomain, and the server forwards them to Google | Events and cookies come from your own domain, and the cookie is set by the server. For every event you can see whether it reached the server, and you can see the share of visitors whose direct road is closed. | Under a blocker it barely helps. List rules match the shape of the address, not Google's domain: the loader's file name, the container ID in the address, the address events are sent to. We checked: uBlock Origin Lite with its default lists blocks the loader even with a renamed file, and not a single event reaches the server. | Stape and other cloud services; your own server on Google Cloud or any hosting | open in the demo |
| Server-side GTM with protection against blockers: the loader and the event sending are set up so that the general list rules do not recognise them | We checked: with uBlock Origin Lite the data reaches the server and GA4. All the benefits of server-side GTM remain. | No guarantee: lists are updated, and a rule written specifically for your site stops this option too. So the check is repeated after changes to the site and every now and then without them. How it works, I explain on a call. | cloud server-side GTM services with similar features; your own setup | open in the demo |
Examples are taken from the services' documentation as of September 2026. Features change, so check your own service against its documentation.
What the demo does
The demo site runs server-side GTM with protection against blockers. Every event is sent by two roads – straight to Google and through the site's server – and the console at the bottom shows which road worked. Before cookie consent (EU, UK, Switzerland) nothing is sent. If the server road does not work for you, the demo lets me know.
Open the demo
Before the demo opens, the page asks you to install a blocker: without one there is no difference between the roads to see. The demo itself shows where to look.
https://alpha.nexusnode.ru/?utm_source=GAds&utm_medium=CPC&utm_campaign=case_ad_blockers&demo_click_id=GADS-11111&al_case=ad-blockers&al_lang=en&al_transport=server&al_altpath=1&al_regime=auto&al_guide=1&al_reset=1About the author
I used to be a design engineer in the power industry. In 2013 I traded that for an online store, a loan from friends and ads that sold nothing. Things improved from there, mostly. Clients' businesses grew several times over, and a few even asked me to pause the ads so they could get a break from the phone. Thirteen years in, I still enjoy this more than is probably professional.
The long version, awkward bits included →
Book a call
Bring your website address and two numbers for the same month: how many orders your system has and how many conversions the ads see. I go through your site under common blockers and show which requests are cut and at which step, and which of the options above fits your order system.