Meta Ad Library Spend Data: The 7-Step Estimation Workflow (2026)
Meta hides spend but now shows impression ranges on every ad. Use this 7-step workflow to estimate real competitor budgets.

Sections
Meta Ad Library spend data is officially withheld for commercial advertisers — but impressions data is not, not anymore. Between January and April 2026, Meta rolled out impression-range buckets (under 1K, 1K-5K, 5K-10K, up through 1M+) to every ad in the library, not just political ones. Spend ranges are still locked to the "Social Issues, Elections or Politics" category and EU-delivered ads under the DSA. That distinction — impressions now visible, spend still hidden — is the first thing to get straight before you build a workaround.
You open the library, search a competitor, pull up their active ads, and the budget column is blank. That part hasn't changed. What has changed is that you now get an impression-range badge on every ad, plus a "Low Impression Count" flag on anything under 100 impressions. That's a real signal Meta didn't hand you six months ago, and most competitive-research workflows haven't caught up to it yet.
TL;DR: Meta officially withholds spend data for commercial ads — that hasn't changed. What has changed (Jan-Apr 2026 rollout) is that impression ranges are now shown for every ad, not just political ones. Combine that new impression signal with a 7-step proxy workflow — creative volume, run-length, page proliferation, regional spread, new creative frequency, paid tool spend ranges, and cross-platform triangulation — to estimate competitor budgets with reasonable confidence. AdLibrary's spend range feature compresses this into a single query across 9 platforms.
Why meta ad library spend data is still blank for commercial advertisers
The Meta Ad Library was built under the EU Digital Services Act transparency requirements and similar US pressure. Regulators wanted visibility into political influence campaigns, not commercial competitive intelligence. Spend ranges still only appear for the "Social Issues, Elections or Politics" category and for ads delivered in the EU, where the DSA mandates spend brackets like "$1K to $5K" alongside tighter impression bands. Commercial advertisers outside the EU get creative and reach data — never spend.
This isn't a feed Meta is gating behind an API paywall. The data isn't collected for commercial spend disclosure in the first place — API access wouldn't get you anything more.
What Meta's library gives every advertiser now, as of the 2026 rollout:
- Creative content (images, video, copy)
- Active/inactive status
- Run start date (not always end date)
- Impression range per ad — under 1K through 1M+, with a "Low Impression Count" badge below 100
- Approximate audience (gender, age, location — aggregated)
- Number of ads in rotation
What it still withholds for non-EU commercial ads:
- Daily or lifetime budget
- Exact impressions or reach (only the range bucket)
- Spend ranges
- CPM or CPC benchmarks
The impression-range addition is a genuine upgrade, not a workaround for the spend gap. It tells you which creatives are actually getting delivery versus which are sitting at near-zero impressions in testing — a distinction the old library made you guess at. It doesn't tell you what those impressions cost.
The practical gap this creates is real. You're trying to benchmark your own Meta budget against category leaders. Or you're pitching a new client and need to show what the incumbent is spending. Or you're a media buyer trying to understand whether a competitor's creative surge signals a seasonal push or a sustained strategic shift. All three questions need a credible spend proxy. None of them get one from Meta directly, even with the new impression data layered in.
If you want a competitor ad research strategy that actually produces usable numbers, you need a structured proxy approach that uses the new impression signal alongside the older ones. That's what this workflow is.
The logic of proxy signals: what they actually tell you
Every advertising operation leaves detectable footprints. Advertisers don't control how many creative variants the library exposes, how their start dates get logged, how many pages their accounts run under, or — since the 2026 update — which impression bucket each ad lands in. Each of these is observable. None of them is spend, but together they triangulate it.
The underlying mechanism: budget allocation drives behavior. A brand spending €200k/month on Meta runs more creative variants than one spending €10k/month. It refreshes creative more often. It tests more regions. It operates across more pages. And now, its winning ads cluster in the higher impression-range buckets while its testing ads sit in the "Low Impression Count" tier. These behaviors are directly observable — you just need to measure them systematically.
This is what practitioners do in lieu of native meta ad library spend data: substitute systematic measurement of observable behavior for the missing metric.
The impression-range data sharpens an old distinction. A brand running 80 ads but with only 3 that are more than 60 days old and sitting in the 100K+ bucket is burning budget on testing without having found a winner. A brand with 5 ads, all running 90+ days and all in the 500K-1M range, has found scalable creative and is concentrating spend hard. Same rough creative count, very different spend structure — and now you can see the impression gap between them directly instead of inferring it from run length alone.
The seven signals below are ranked roughly by reliability and ease of collection. Work through them in order.
The 7-step workflow for estimating competitor spend
Step 1: Count creative variants in active rotation, weighted by impression range
Search your target brand in Meta's Ad Library, set the status filter to "Active," and count total ads visible. Then check each ad's impression-range badge. A brand running 1-5 ads, mostly in the under-1K to 5K-10K bands, is almost certainly spending under €5k/month on Meta. A brand with 20-50 active creatives, several clustering in 50K-500K, is in the €20k-100k range. 100+ active variants with multiple ads in the 500K+ bucket typically indicates €200k+ monthly spend.
This isn't a formula, it's a calibration, and the impression bucket makes it a better one than creative count alone. Creative testing at scale requires budget. A brand that has deployed 200 distinct creatives in the last 90 days, with a cluster sitting above 100K impressions, isn't doing that on €2,000/month.
For deeper analysis of creative patterns, AdLibrary's unified ad search lets you pull this count — impression ranges included — across Facebook, Instagram, and 7 other platforms simultaneously rather than manually tallying per platform.
Step 2: Calculate ad run length for active creatives
Meta shows the start date for every ad. For each active creative, note how long it's been running. Sort by run length, descending, then cross-check against the impression-range badge.
Ads running 60+ days without replacement and sitting in a high impression bucket are the money-makers — the brand found a winning creative and is pouring budget into it. Ads under two weeks old with a "Low Impression Count" flag are ongoing testing spend that hasn't found traction yet.
This dual-layer picture tells you:
- Testing budget: volume of <2-week, low-impression ads × estimated testing CPM
- Scale budget: 60-day+ ads in the higher impression bands are almost certainly running at the highest spend share
A brand with 3 ads that have been running 90+ days in the 100K+ bucket is spending more than a brand with 40 ads that are all 5 days old with low impression counts. Run length plus impression range distinguishes scaling from churning more precisely than either signal alone.
See how the ad timeline analysis feature surfaces this across a brand's full creative history — current actives and historical.
Step 3: Map page and ad account proliferation
Some advertisers run a single brand page. Others operate 5-20 pages, often by geography, product line, or test campaign. Each page requires budget to run ads at meaningful scale.
In Meta's library, search the brand name and check for multiple page results. Count distinct pages actively running ads. A brand operating across 6 regional pages is almost certainly running a higher total budget than a brand on one page — each page likely has its own campaign structure with its own minimum daily budget floors.
This is also a signal of organizational scale. Multiple pages running separate ad programs typically indicates a regional marketing team structure, which correlates with larger total budgets. A single global page with highly centralized creative is a different model — sometimes lower total spend, sometimes just more efficient.
Cross-reference with the competitor ad campaigns analysis framework to understand how page proliferation maps to campaign architecture.
Step 4: Measure regional spread
Meta's library lets you filter by country. Run the same search across 5-6 major markets: US, UK, Germany, Australia, Canada. Count active ads per market, and note EU markets separately — those ads carry the tighter DSA impression bands and, for political/issue advertisers, spend brackets the rest of the world doesn't get.
A brand running active creatives in 6+ countries is spending enough to meet minimum CPM thresholds across all of them. Regional spread is particularly useful for distinguishing performance brands from brand-awareness plays — performance buyers tend to consolidate budget in high-converting markets first.
For reference, Meta's own advertising policies require accounts to stay active with positive billing history per market, which creates minimum effective budget floors per region.
Document results in a simple table: Brand | Markets Active | Ads Per Market | Impression Range Distribution.
Step 5: Track new creative frequency
Return to the brand's library listing in 7 days. Count how many new creatives have appeared, and note their starting impression-range badges. A brand launching 10+ new ads per week, most starting in the under-1K to 10K bands, is running an active testing budget — likely €500-2,000/day just in creative testing at typical DTC CPMs.
This is especially reliable for brands using dynamic creative approaches, where Meta assembles ad variants automatically. High creative velocity combined with dynamic creative signals automated testing at scale, not manual curation.
Note whether the new creatives are entirely new concepts or variations on existing themes. New concepts signal active creative-strategy spend. Variations signal performance optimization spend on a known winner. Both require budget; the creative concept type tells you what phase of the funnel the brand is optimizing.
Check the creative strategist workflow use case for how to structure a monitoring cadence around this signal.
Step 6: Layer in paid tool spend ranges
The five signals above are free but noisy in isolation, even with impression-range data added in. Paid tools compress that noise into a spend range derived from panel data, impression estimates, and modeled CPMs.
In a sample of in-market DTC brand ads pulled from AdLibrary, the tool's spend-range estimates aligned with proxy-signal triangulations within ±25% for brands spending over €30k/month. Below €10k/month, ranges widened, but the directional signal remained correct.
AdLibrary's spend range feature covers Meta, TikTok, LinkedIn, YouTube, Pinterest, Snapchat, and Google in a single search. Rather than running separate lookups in 7 different tools, you get one spend-range estimate per platform per brand, sortable and exportable. The ad-library-alternative-with-spend-data page has a full breakdown of what spend data actually appears versus what the free library exposes.
Other tools that surface some spend-range data include those focused on a single platform or region. They're worth adding as corroboration, not primary source.
Step 7: Triangulate total digital ad spend via cross-platform proxies
Meta is one channel. To understand what a brand is spending in total — and therefore how much budget it allocates across platforms — use SimilarWeb or Sensor Tower as a cross-platform overlay.
SimilarWeb's advertising intelligence module shows traffic sourced from paid social and paid search, with channel breakdowns. It won't give you exact spend, but it tells you which channels are driving the most paid traffic and roughly how those channels compare in volume.
Sensor Tower provides app-download attribution data broken down by paid vs. organic, which is invaluable for mobile-first competitors. If a brand is driving 70% of its app installs through paid channels, and install volume is 50,000/month, you can back-calculate approximate cost-per-install and total mobile acquisition spend.
Put the three layers together:
- Proxy signals (Steps 1-5): directional budget estimate based on observable behavior, now sharpened by impression-range data
- Spend range tool (Step 6): modeled estimate with confidence band
- Cross-platform proxy (Step 7): total digital ad budget context
Where all three point to the same range — e.g., your proxy signals suggest €80-150k/month on Meta, AdLibrary shows a €90-120k range, and SimilarWeb shows heavy paid social traffic — you have high confidence in that band. Where they conflict, one of your inputs is wrong; investigate before acting.
For more on building a repeatable research cadence, see the media buyer daily workflow and competitive spending report guide.
Proxy signal reliability: a quick reference
| Signal | Ease | Reliability | Best for |
|---|---|---|---|
| Creative variant count + impression range | Easy | Medium-High | Broad budget tier classification |
| Ad run length | Easy | High | Identifying scaling creatives vs. testing |
| Page proliferation | Medium | Medium | Account structure complexity |
| Regional spread | Medium | Medium | Market prioritization, budget floors |
| New creative frequency | Medium | High | Testing budget volume |
| Paid tool spend range | Easy (paid) | High | Cross-validated spend estimate |
| Cross-platform proxy | Medium | Medium | Total digital budget context |
Adding the impression-range badge to signal 1 is what changed most in 2026 — it used to be the weakest signal in the set, and it's now one of the more reliable ones because it's Meta's own bucketed data, not an inference.
Calibrating your estimates: budget tiers by signal profile
Putting the signals together into a rough calibration framework helps translate observations into actionable budget ranges. These are illustrative tiers based on typical DTC brand patterns — your vertical will have different absolute numbers, but the relative signal relationships hold.
Tier 1: €2k-10k/month on Meta Signal profile: 1-10 active creatives, mostly in the under-1K to 10K impression bands, all under 30 days old, single page, 1-2 active markets, new creative launches every few weeks. These brands are in active testing mode. They haven't yet found scalable creative and are burning through CPMs to find one.
Tier 2: €10k-50k/month on Meta Signal profile: 10-40 active creatives, 2-5 running 60+ days and sitting in the 50K-500K impression range, possibly 2-3 pages, active in 3-5 markets, 3-8 new creatives per week. A real operation with at least one or two winning creatives in rotation.
Tier 3: €50k-200k/month on Meta Signal profile: 40-100+ active creatives, 5+ running 90+ days with several in the 500K-1M+ bucket, multiple pages, active in 6+ markets, 10+ new creatives weekly, dynamic creative in use. This is where the ad spend estimator becomes useful for back-calculating implied media costs.
Tier 4: €200k+/month on Meta Signal profile: 100+ active creatives at any given time, consistent churning of new creative, several sitting at 1M+ impressions, 10+ pages including regional variants, active in most major markets, significant Advantage+ Shopping usage, and a structured learning phase budget allocation across campaign sets. At this scale, even the impression-range data undercounts — automated campaigns generate delivery volume the bucketed ranges only partially capture at the top end.
For how to track competitor ad spend across a full competitor set, the calibration framework becomes a scoring rubric rather than a one-off estimate.

How AdLibrary compresses meta ad library spend data into one query
The 7-step workflow above works, impression-range badges included. It also takes 2-4 hours per competitor if you're doing it manually. The proxy signals require you to open Meta's library, count variants, note impression buckets, tab to different countries, log start dates, and record everything in a spreadsheet.
AdLibrary was built to run this research faster. The spend range feature pulls modeled estimates across 9 platforms without requiring separate logins or manual counting. Type a brand name, get a spend range per platform, sorted and filterable. The ad timeline analysis feature handles the run-length step automatically — it shows exactly when each creative launched, how long it ran, whether it's currently active, and where it sits in Meta's impression-range bands.
For practitioners running this research weekly across a portfolio of competitors, that compression is the practical value. The Pro plan (€179/mo) covers most freelancer and small-agency use cases: 300 credits per month, full spend-range data, multi-platform search, and saved ads for tracking specific competitors over time.
If you're running this at agency scale — tracking 50+ brands across multiple client verticals — the Business plan (€329/mo) adds API access, so you can pipe spend-range data directly into your own dashboards via the API access feature. It's built as a power-user layer on top of what Meta's own library exposes, not a replacement for it — more platforms, more history, and spend ranges where Meta gives you none. See pricing and start a free trial at /pricing.
What meta ad library spend and impression ranges actually tell you (and what they don't)
This deserves a direct answer before you build a workflow around it.
Impression ranges are Meta's own official data, shown for every ad since the 2026 rollout. Spend ranges are not — they remain limited to political/issue ads and EU-delivered ads under the DSA. Third-party spend-range tools, including AdLibrary, use panel data and modeled CPMs to estimate what an advertiser paid for observed impressions. The estimates are directionally accurate for brands above a meaningful threshold (roughly €10k-15k/month). Below that, sample sizes thin out and confidence intervals widen.
What impression ranges (official, all ads) tell you:
- Which creatives are actually getting delivery vs. sitting in low-impression testing
- Roughly how much reach a given ad has accumulated over its run
What spend-range tools (third-party, modeled) tell you:
- Budget tier: is this brand a small tester (€5k/mo), mid-market player (€50k/mo), or scaling account (€500k+/mo)?
- Channel allocation: what fraction of digital budget is on Meta vs. TikTok vs. YouTube?
- Temporal spend patterns: did they ramp up in Q4? Pull back in January? Those patterns are visible in the timeline data.
What neither tells you:
- Exact ROAS or CAC
- Which specific ad sets are getting the money beyond what run-length and impression-range proxies suggest
- What their CPMs actually were (they vary widely by targeting)
For strategic benchmarking, directional accuracy is enough. You're answering "are we underspending relative to this competitor?" or "are they doubling down on Meta while pulling from TikTok?" — those questions have directional answers.
The glossary entry on dynamic creative explains how automated creative assembly affects what you see in the library and how to interpret variant counts when a brand is using DCO at scale.
Common mistakes when estimating competitor meta ad library spend data
Even with a structured workflow, a few recurring errors skew estimates.
Counting all ads instead of filtering to active ones. Meta's library defaults to showing all ads, including inactive. If you count 200 ads but 180 are inactive, your creative-volume signal — and your spend-data estimate — is wildly off. Always filter to "Active" before counting.
Ignoring the impression-range badge. Since the 2026 rollout, every ad carries an impression bucket. Skipping it means treating a creative sitting at under 1K impressions the same as one at 500K+, which flattens the single clearest official signal Meta now gives you for free.
Ignoring page count. A brand running identical ads across 15 country pages has a fundamentally different budget structure than one running those same ads from a single page. The per-page look might show modest creative volume while total spend across all pages is substantial.
Over-weighting a single signal. A brand with 5 ads running 90 days each, all in the 500K+ impression band, might be spending more than a brand with 50 ads running 3 days each with low impression counts. Run length, impression range, and creative count need to be read together, not in isolation.
Treating spend range tools as exact figures. They're estimates. ±30% is normal. Build that uncertainty into your benchmarking — an "€80k-€150k/month" range doesn't collapse to €115k just because that's the midpoint. See how to audit your own Meta ads account for a benchmark process that accounts for this uncertainty.
Skipping cross-platform triangulation. Meta is not every brand's largest channel. A competitor spending €20k on Meta might be spending €200k on Google. Missing that context creates false confidence about where the real battle is happening. The competitor research tools compared guide covers how different tools handle cross-platform data.
For a systematic approach to building repeatable research around meta ad library spend data proxies, see the competitor ad research use case, the ads spy guide, and the breakdown of everything else the library doesn't show you.
Cross-platform benchmarking: meta ad library spend data in context
Meta's library is a starting point, not the full picture. Most serious advertisers split budgets across at least 2-3 platforms. Understanding a competitor's Meta spend data in isolation tells you what they're doing on one channel. Understanding it alongside TikTok, YouTube, and Google spend tells you their actual media mix.
The benchmarks differ significantly by vertical:
- DTC ecommerce brands typically run 50-70% of paid social budget on Meta, with the remainder on TikTok and YouTube
- B2B SaaS skews heavily toward LinkedIn (40-60% of paid social) with Meta as a retargeting layer
- Mobile apps often prioritize Meta and TikTok roughly equally, with Sensor Tower data most useful for triangulation
- Local services run heavily Meta-concentrated budgets, often 80%+ on Meta/Instagram
Knowing which category your competitor falls into sharpens your triangulation. A DTC brand with strong Meta impression-range signals and flat SimilarWeb paid-traffic growth is likely hitting a scaling wall. That's a strategic insight, and the impression and spend signals together are what surface it.
For verticals where TikTok is material, the TikTok ad library alternative guide covers how to extend this same proxy framework to TikTok's creative center. For LinkedIn-heavy B2B competitors, see the LinkedIn alternative guide.
The ad spend estimator calculator can help you model spend scenarios once you've established a reasonable range from your research.
How Meta's DSA obligations affect what you can see, officially
The EU Digital Services Act requires large platforms to maintain ad libraries with certain minimum data disclosures. For Meta specifically, the DSA mandated expanded ad archive access, including the impression-range rollout that now covers all ads globally and the tighter EU-specific bands (like "100K to 125K") and spend brackets (like "$1K to $5K") for EU-delivered ads. The regulations focus on political advertising and targeting transparency, not blanket commercial spend disclosure.
The Meta Transparency Center provides aggregate spend data at the platform level, not per-advertiser breakdowns. The Meta Marketing API gives advertisers full access to their own spend data, but zero access to competitor accounts.
Regulatory pressure has expanded disclosures over time — the 2026 impression-range rollout is the clearest recent example. Political ad spend ranges appeared because of direct regulatory requirements. Whether commercial spend ranges ever become mandatory is a live policy question in Brussels and Washington, but there's no indication of imminent change as of mid-2026.
The practical takeaway: the proxy workflow in this article isn't a temporary workaround. It's the durable method for estimating competitor meta ad library spend data, as confirmed by the Facebook ad library search tutorial and the Meta Ad Transparency Center guide, absent regulatory change on spend specifically. Build it into your standard research practice, not as a one-off.
Frequently asked questions
Why does Meta Ad Library not show spend data for commercial ads, officially?
Meta's Ad Library only exposes spend ranges for ads in the "Social Issues, Elections or Politics" category and for ads delivered in the EU under the DSA, as officially confirmed by Meta's own Transparency Center. For standard commercial advertisers outside the EU, Meta deliberately withholds exact spend figures — that has not changed in 2026. You need proxy signals — creative volume, impression range, run length, page proliferation, regional spread — or a third-party tool like AdLibrary that surfaces estimated spend ranges sourced from panel and API data.
Does the Meta Ad Library report show impression ranges officially now?
Yes. As of the January-April 2026 rollout, Meta officially shows an impression-range bucket (under 1K, 1K-5K, 5K-10K, 10K-50K, 50K-100K, 100K-500K, 500K-1M, 1M+) on every ad in the library, plus a "Low Impression Count" badge under 100 impressions. This applies to all ads, not just political ones — it's the biggest official transparency change to the library so far this year. Spend ranges are still separate and still limited to political/issue and EU-delivered ads.
How do I estimate a competitor's Facebook ad spend?
Combine at least three proxy signals: count active creative variants and check their impression-range badges (more variants at higher impression bands = higher budget), note how long individual ads have been running, check how many ad accounts and pages the brand operates, and look at regional targeting breadth. Cross-reference with a tool that shows spend ranges, and triangulate with SimilarWeb for total digital ad spend. The 7-step workflow in this article walks through each signal in order.
What tools show competitor Facebook ad spend?
AdLibrary (adlibrary.com) surfaces estimated spend ranges for Meta, TikTok, LinkedIn, and six other platforms in one dashboard — a paid layer on top of what Meta's own free library shows, not a replacement for it. Other options include tools focused on a single platform. For cross-platform triangulation, SimilarWeb and Sensor Tower add total digital ad-spend context. None of these show exact figures — all use panel or modeled data — but spend ranges are precise enough for budget benchmarking.
How accurate are estimated competitor ad spend figures?
Panel-based spend estimates are typically accurate to within ±30% for advertisers spending over €10k/month. Below that threshold, confidence intervals widen. Proxy signals — creative volume, impression range, run length — help corroborate or challenge modeled numbers. The goal is directional accuracy: is this brand spending €5k or €500k per month, not exact budget replication.
Start doing this research faster
Manual proxy triangulation works, impression-range data included. It's just slow. If you're doing competitive research for more than two or three brands, or you need to refresh estimates monthly, AdLibrary's spend range feature and multi-platform ad search compress 4 hours of manual work into a 10-minute query.
The Pro plan at €179/mo covers freelancers and small teams. The Business plan at €329/mo adds the REST API for piping spend data into your own tooling. Both include a 3-day free trial.
You've already identified the gap Meta leaves. Now close it with a workflow that uses both the new official impression data and the proxy signals Meta doesn't publish.