September 25, 2026 · 10 min read
How to estimate competitor ad budget from public ad data
Estimate a competitor's monthly ad budget from public ad-library data. A four-layer formula, CPM bands by platform, and the honest error bar on every input.

To estimate a competitor's ad budget, count the distinct creatives they run, multiply by an impressions-per-creative band for the placement, then multiply by a CPM band for the platform and vertical. Weight for season. Treat the output as a range with a factor-of-two error bar, because no public ad library discloses commercial ad spend.
Every input in that chain is a proxy, and each proxy carries a different amount of error. The skill is not producing a precise number. It is knowing which input is doing the damage.
If you need the collection layer before you can do any of this arithmetic, our guide to tracking competitor ad spend covers the plumbing and the tooling that feeds these numbers.
Can you see a competitor's exact ad budget?
No. Outside political advertising, no major platform publishes what an advertiser spent. Meta shows spend bands only for political and social-issue ads. Snapchat publishes full spend for political ads and reach for commercial ones. Google's Ads Transparency Center publishes no spend figure at all.
That is a structural choice rather than a technical gap. Platforms will not publish numbers that let outsiders audit the auction which sets their prices. The disclosure layer tells you what ran, and it declines to tell you what it cost or whether it worked.
So the honest answer to the question is a range. Anyone quoting a competitor's monthly spend to the nearest hundred dollars without showing their assumptions is guessing with confidence.
What public ad data actually exposes
The EU Digital Services Act is why most of today's libraries exist. Article 39 requires platforms with more than 45 million EU users to keep a public, searchable repository of every ad shown in the EU, recording the creative, the advertiser, the paying entity, the display dates, the targeting parameters and the total number of recipients reached. Records stay for one year after the ad's last impression. That requirement is documented in AuditSocials' 2026 review of TikTok's DSA obligations and in AdLibrary's 2026 comparison of all seven libraries.
Seven libraries now cover the major platforms, and they are not equivalent. Meta's is the most complete: every active ad worldwide, plus reach and demographics for EU-served ads, and the only mature public API. Google's covers Search, YouTube and Display but keeps thin records with roughly 30 days of commercial retention. TikTok's Commercial Content Library covers only ads served in the EU, the EEA, the UK and Switzerland, and it is the one that publishes targeting parameters alongside users reached.
LinkedIn retains ads from June 2023 onward with EU impressions broken out by country. Snapchat, Pinterest and X run EU-only repositories carrying creative, advertiser, dates, targeting and reach. Outside the EU, those five platforms publish little or nothing about commercial ads.
The gaps are identical everywhere. No library reports clicks, conversions or any other performance signal. Impressions, where they appear at all, arrive as bucketed ranges. Spend appears only in political tiers. That is the entire raw material you get to work with.
How do you count a competitor's ad volume?
Start with creative count, not with an impression estimate. Pull every active ad the advertiser is running in each library, then group before you count.
Grouping matters because libraries return one record per ad flight. The same video often appears as several records with different date ranges, placements or optimisation goals. Count the records and you overstate both creative diversity and volume.
Group by the creative itself. On Meta that means the cover image. On TikTok it means the video. On LinkedIn it means the post asset. After grouping, a brand that returned 140 records usually resolves to somewhere between 40 and 60 genuinely distinct creatives.
That deduped count is the numerator of everything downstream, so an error here propagates through the whole estimate. Log both numbers, the raw record count and the deduped creative count, because the ratio between them is itself a signal about how the advertiser buys.
A high record-to-creative ratio suggests heavy duplication across placements and repeated flights of proven assets. A ratio close to one suggests a team shipping fresh creative for almost every flight.
From reach to impressions: the frequency problem
Where reach is published, impressions equal reach multiplied by frequency. Reach is a public number in the EU repositories. Frequency is not published anywhere, so you have to assume it, and that assumption is the largest single lever on your result.
For a cold prospecting campaign running to a broad audience across a month, a frequency between 1.5 and 3 is the usual working assumption. Retargeting pushes frequency much higher, often 5 to 10, but across a far smaller audience base, so the impression total can still be modest.
Write the frequency you chose into the output. An estimate that reports 2.4 million impressions without stating the assumed frequency cannot be reviewed, reproduced or corrected by anyone else on the team.
Where reach is not published, fall back to an impressions-per-creative band. Set a low and a high value for the placement type you observed, for example 3,000 to 15,000 monthly impressions per active creative for social placements, and slide within that band using runtime and placement mix. Treat the band as a working envelope you can defend, not as measured data.
Long-running creatives carry more of the impressions than recently launched ones. If half the advertiser's deduped creatives have been live for months and half launched in the last two weeks, most of the volume sits in the long-running half. Weight accordingly before you total anything.
Which CPM band belongs in your calculation?
CPM is the price of a thousand impressions, and it is the input that converts volume into currency. It also varies more between placements than most teams expect.
Digimau's 2026 benchmark compilation gives typical US bands by platform: Meta at $8 to $20 with $10 to $14 as the common average, Google Display at $2 to $10, TikTok at $4 to $10, YouTube in-stream at $10 to $30, Pinterest at $5 to $12, X at $5 to $10, LinkedIn at $25 to $70, and programmatic open exchange display at $1 to $6.
CPM divided by 1,000 divided by CTR equals CPC, and CPC divided by conversion rate equals CPA. Source: Digimau, "Average CPM in 2026: Ad Cost Benchmarks by Platform," 2026.
Season moves the band as much as platform does. Q4 e-commerce CPMs commonly run 30 to 60 percent above summer baselines, with January and July typically the cheapest months to buy attention. An estimate built on a summer CPM will understate a November budget by roughly a third.
Vertical compounds it. Finance and B2B ads on Meta commonly run 1.5 to 2 times the all-industry average, with legal and healthcare close behind, because lifetime values justify more aggressive bidding. Use the high end of the band when the advertiser sells into a high-value category.
Creative refresh velocity is the cheapest spend proxy you have
Advertisers keep winners running and kill losers fast. That behaviour makes runtime the strongest public proxy for performance, and it is one you have to derive yourself by recording first-seen and last-seen dates for each creative.
The derivative of that dataset is refresh velocity: how many new distinct creatives the advertiser launches per week. Refresh velocity is hard to fake and expensive to maintain.
A brand launching four new creatives a week is funding a production pipeline, a media buying team and a testing cadence. A brand launching one a month is not running a serious test program, whatever its headline ad count suggests.
For the measurement side of that, our guide to analyzing competitor ad performance without expensive tools shows how to build the runtime dataset yourself.
Watch for step changes. A sudden jump in refresh velocity usually precedes a budget increase, because production spend moves before media spend does. A collapse in velocity is the earlier and more reliable signal of a cut.
Impression share and auction insights: the search-side shortcut
On paid search you have an input you do not get on social: Google's auction insights report, which compares your impression share, overlap rate and outranking share against the other advertisers in the same auctions.
Impression share is the fraction of eligible auctions an advertiser won. It does not tell you what they paid, and it is not proportional to their spend. What it gives you is a scale comparison that survives scrutiny.
An advertiser holding 70 percent impression share across your keyword set is operating at a different scale from one holding 15 percent, unless the second is constrained by rank rather than budget. Read lost impression share to budget against lost impression share to rank before drawing that conclusion.
If a competitor's ads vanish mid-afternoon, their impression share is budget-capped, and our walkthrough on detecting competitor Google Ads budget changes covers how to read that pattern over weeks rather than hours.
For search specifically, the benchmark your assumed CPC has to survive is published. WordStream and LocaliQ's Google Ads benchmarks report covers more than 13,000 search advertising campaigns across 23 industries running from April 2025 to March 2026, and puts the cross-industry average cost per click at $5.42 and the average cost per lead at $66.69.
Divide a competitor's paid search traffic by that CPC band and you have a floor on their search spend. Semrush's own walkthrough of the method, published in July 2026, uses a skincare brand with 2.24 thousand monthly paid visits and an average CPC of $1.53 to arrive at roughly $3,886 a month, and it is explicit that the result is an estimate built on third-party benchmarks.
A worked estimate, end to end
Take a mid-market B2B advertiser. From Meta's library you pull their active records and dedupe by cover image, landing on 46 distinct creatives. From TikTok's EU library you pull 19 creatives and a published reach band of 1.2 to 1.8 million recipients for the month.
Social side. Assume a frequency of 2.0 on that TikTok reach, which gives 2.4 to 3.6 million impressions. Apply a B2B-weighted CPM band of $12 to $18. That lands at $28,800 to $64,800 for the month.
Meta side. Reach is not published outside the EU, so you use an impressions-per-creative band instead. 46 creatives at 8,000 to 20,000 monthly impressions each gives 368,000 to 920,000 impressions, worth $4,400 to $16,500 at the same CPM band.
Combined, roughly $33,000 to $81,000 a month. Look at that width before you look at the midpoint. The estimate is good enough to tell you the advertiser is a serious spender and to argue about relative scale. It is not good enough to put in a board deck as a single figure.
Now tighten it. If the advertiser's creatives carry EU reach data on a second platform, or if auction insights give you their impression share on your own keyword set, you replace an assumed input with an observed one and the band narrows.
Every replacement of an assumption with an observation is worth more than any amount of additional arithmetic on the same assumptions.
Widening the error bar, and knowing when the estimate is good enough
Rank your inputs by how much they can move the result. Frequency is usually first, because its plausible range spans a factor of two on its own. The CPM band is second, because vertical and season can move it 60 percent in either direction. Creative count is third, and it is the only input you can measure exactly.
That ranking tells you where to spend your effort. More scraping does not help if your frequency assumption is unexamined. A single EU reach figure is worth more than a thousand extra ad records.
Use the estimate for decisions it can support. Relative scale between two competitors, month-over-month direction, and a sanity check on your own budget are all fair uses. Absolute spend attribution is not.
Direction is more reliable than level. If the estimate moves from a $40,000 to $70,000 band in March to a $55,000 to $95,000 band in June, the direction is still real even if neither band is precise. Track the midpoint, the creative count and refresh velocity together.
Pair the estimate with the metrics that stay stable across months. Our breakdown of ad monitoring metrics and KPIs lists which numbers are worth tracking continuously and which are noise.
Finally, if the estimate exists to set your own number: RedTrack's practical rule of thumb, published in September 2025, is to start a comparable test at 10 to 20 percent of estimated competitor spend rather than matching it head-on.
That rule is the right shape for the whole method. The estimate is not a target to match. It is context, and its job is to stop you entering an auction without knowing the scale of the advertisers already in it.
Frequently asked questions
Can you see a competitor's exact ad budget?
No. No public ad library publishes spend for commercial advertising. Meta and Snapchat disclose spend only for political and social-issue ads, and even then as bands rather than exact figures. Google's Ads Transparency Center publishes no spend at all. Every commercial figure you see quoted is an estimate built from volume, reach and CPM assumptions.
How accurate is a competitor ad spend estimate?
Within roughly a factor of two when you carry the band honestly, and tighter where you can replace an assumption with an observation. The dominant error source is the frequency assumption you apply to published reach, followed by the CPM band for the vertical and season. Creative count is the only input you can measure exactly.
What is the fastest way to estimate a competitor's ad budget?
Count their distinct active creatives per platform, apply an impressions-per-creative band, then multiply by a CPM band for the platform, vertical and season. That gives you a working range in under an hour. Add published EU reach data or auction insights afterwards to narrow the band.
Does the Meta Ad Library show ad spend?
Only for political and social-issue ads, and only as ranges with impression bands attached. For commercial advertisers the library returns the creative, the page, the run dates, the platforms and, for EU-served ads, total reach plus demographic breakdowns. Reach multiplied by an assumed frequency is what turns that into an impression count.
Which input causes the most error in a competitor budget estimate?
Frequency. Published reach is a solid number, but multiplying it by an assumed frequency spans a factor of two on its own. Choose an explicit value, write it down next to the output, and revisit it when you learn anything about the advertiser's audience size.