Skip to main content
Free calculator

Ad Blocker Loss Calculator

Ad blockers do not cut your sales. They stop an ad platform's tracking script from reporting some of them, so your reported CPA looks worse and your ROAS lower than they really are. Enter your spend and the conversions your platform reports to see the size of the gap.

By Kiril Kostov. Sources checked on .

Your numbers

Use the count from the platform's own reporting for the campaigns in the spend above.

Adds ROAS to the results.

Published rates count people who use a blocker, not your lost conversions. Replace this with your own gap once you have measured it.

What the platform cannot see

Enter your monthly spend and the conversions your ad platform reports. Results update as you type.

How the calculation works

If an ad platform can only see the share of conversions that were not hidden from its tracking script, the conversions it reports are that share of the real total. Working backwards from the reported number gives the real one.

A common shortcut multiplies reported conversions by one plus the hidden share. That understates the gap. If the platform sees 70% of your conversions, it takes a factor of 1 ÷ 0.7, about 1.43, to get back to the whole, not 1.30.

  • Real conversions = reported conversions ÷ (1 − hidden share)
  • Hidden conversions = real conversions − reported conversions
  • Reported CPA = spend ÷ reported conversions; real CPA = spend ÷ real conversions
  • Reported CPA is overstated by hidden share ÷ (1 − hidden share)
  • ROAS = conversions × average order value ÷ spend, using the same conversion counts

How much a hidden share distorts CPA

The distortion grows faster than the hidden share does.

Share of conversions hiddenShare the platform seesReported CPA compared with real CPA
10%90%11.1% higher
15%85%17.6% higher
20%80%25.0% higher
25%75%33.3% higher
30%70%42.9% higher
40%60%66.7% higher
50%50%100.0% higher

A worked example

Illustrative numbers: you spend 50,000 and make 1,000 real sales at an average order value of 85. The real CPA is 50.00 and the real ROAS is 1.70.

If 30% of those conversions never reach the platform, it reports 700. Its CPA is 71.43 and its ROAS is 1.19. A campaign that earns 1.70 for every unit spent looks marginal in the platform's own report.

To reproduce this, enter 50,000 as spend, 700 as reported conversions, 85 as the average order value and 30% as the hidden share. The calculator returns 1,000 real conversions, 300 of them hidden, and a hidden order value of 25,500.

Where the starting rates come from

The global starting point is 30.0%, eyeo's ad-blocking rate for 2025. GWI's survey of internet users aged 16 and over puts the share who use an ad blocker at least some of the time at 29.5% for the second quarter of 2025. The country list uses GWI's figures for 54 markets, from 9.2% in Ghana to 40.1% in Indonesia. In the United States it is 32.5%, in Germany 31.5% and in the United Kingdom 28.5%.

Both sources count people, not conversions. eyeo makes Adblock Plus and runs the Acceptable Ads program, so its count is a vendor estimate, and GWI's is a self-reported survey answer. Treat the numbers as a prompt to measure, not as your answer.

Why your own number will differ

The share of visitors with a blocker is not automatically the share of conversions that go missing. Four things move it.

  • Which lists the blocker runs. The Meta Pixel, Google Tag Manager, Google Analytics, TikTok and Microsoft Ads endpoints are on EasyPrivacy. uBlock Origin enables EasyPrivacy by default; Adblock Plus does not name it among its default lists.
  • Whether blocking visitors buy at the same rate as everyone else. People who install blockers may be more or less likely to convert on your offer.
  • Other causes of missing conversions. Safari and Firefox restrictions, consent choices and failed page loads add to the gap and are not blockers.
  • What your platform reports. Some platforms model part of the gap, which narrows the visible difference.

How to measure your own gap

Compare orders in your store with the purchases a platform reports for the same period and the same attribution window. The difference is your combined loss from blockers, browser restrictions and consent, and it is the number to enter above.

  • Pick a full week or month and export orders from the store.
  • Count the orders that came from that platform's campaigns, using UTM parameters or click IDs on the order.
  • Read the platform's purchases for the same campaigns and window.
  • Divide the shortfall by the store's count. That is the share to enter as hidden.
  • Repeat per platform: a blocker affects Meta, Google and TikTok differently.

What the calculator assumes

The result is only as good as these assumptions, so check them against your setup.

  • All the conversions the platform reports came from browser tracking. If you already send server-side events, the hidden share applies only to what the browser still handles alone, so enter a smaller number.
  • The hidden share is the same across every campaign in the spend you entered.
  • Average order value is the same for visible and hidden orders.
  • The results are monthly and use a single currency.

What to do with the result

Before you cut a channel that looks expensive, check whether its CPA is overstated by missing conversions. A campaign that is profitable in reality can look like a loser in the platform's report, and the platform's bidding also learns from the incomplete data.

Server-side delivery sends the conversion from your server to the platform, so a blocker in the visitor's browser cannot cancel it. It does not recover every hidden conversion: the order must be known to your server and carry enough identifiers to match an ad click, and visitors who decline consent are not sent.

Questions about this tool

Why does the calculator divide by one minus the hidden share?

Because the platform reports only the share it can see. If 30% are hidden, the reported count is 70% of the real one, so the real count is the reported count divided by 0.7. Multiplying by 1.3 would understate it.

Do ad blockers reduce my actual sales?

No. A visitor with an ad blocker can still buy. The blocker stops the ad platform's script from recording the purchase, so the sale is in your store but missing from the platform's report.

Is 30% the share of my conversions that is missing?

Not necessarily. It is the share of people who use ad blockers. The share of your conversions that goes missing depends on the blockers' filter lists, on who buys from you and on other causes such as browser restrictions and consent, so measure your own gap.

Where do the country rates come from?

They are GWI's second-quarter 2025 figures for internet users aged 16 and over who use an ad blocker at least some of the time, as reported in DataReportal's Digital 2026 Global Overview. Our ad blocker statistics page lists all 54 countries next to a second dataset.

Should I run it once or once per platform?

Once per platform. Each platform reports different conversions and each is blocked to a different extent, so run it with that platform's spend, reported conversions and your measured gap for it.

Does server-side tracking recover all the hidden conversions?

No. It removes the browser from the delivery path, so a blocker cannot cancel the event. It still needs your server to know about the order and to have enough customer or click data to match the conversion to an ad, and it respects consent choices.

Can I use my own number instead of a published rate?

Yes, and you should. Choose "My own figure" or type a value in the share field. The result updates immediately.

Is my data sent anywhere?

No. The calculation runs in your browser and nothing you type is stored or sent.

Sources