A practical framework for backing into what a company is likely spending on LinkedIn ads using public signals and proxies.
Since launching Adyntel, we often get asked: "Can I get ad spend data for my target companies on LinkedIn?"
The answer: it's not possible. Unless you can get close to an ad rep or hire a spy to do some good old corporate espionage, the best you're going to do is guess.
No, just kidding. It is possible, but not foolproof. Here's how to approach estimating a company's ad spend, the limitations you need to understand, and tips on how to get better results.
Some people are skeptical that getting accurate ad spend data using proxies is even possible. It is possible, but with some important caveats.
The most obvious: ad spend data isn't publicly available. "I've tried every tool and they're all wildly inaccurate when cross-referencing with my own ad spend data!" writes an anonymous Reddit user on r/ppc. "I literally want to cry thinking about the time I've spent trying to get this data." Another Reddit user writes.
In simple terms, ad intel tools that provide spend estimation gauge how much companies are investing in different channels using benchmark CPM/CPC data and paid traffic estimates. The problem? Most paid traffic estimates are way off, so even if you have relatively accurate CPC data, there's a lot of room for error.
Remember: there's a lot of guesswork involved so take all this data with a grain of salt.
With that in mind, using proxies can sometimes be a cleaner way to gauge spend and marketing maturity. For example, one of our customers, a Y Combinator startup, found out that the quickest way to qualify prospects based on ad spend was to look at the # of ads they were running.
If your ICP = companies investing in paid ads, ad volume can be a clean filter.
"You don't need to know exactly how much someone's spending — you just need to know where they're active and what they're running. That's enough to craft relevant, high-octane outbound and inbound campaigns," says Spencer Tahil, Founder and Chief Growth Officer, The Growth Alliance.
| Proxy type | Channels | Explanation |
|---|---|---|
| Ad volume | LinkedIn, Meta, Google |
Look at how many ads they're running across different platforms. While more ads don't necessarily = more spend, you can use ad volume as a directional signal. Note: Ad volume proxies depend on channel: 500 ads on Meta is not the same as 500 on LinkedIn. CPCs are different, strategies tend to be different, and so on. On Meta, ads use broad match and let the algorithm find the right people. On LinkedIn, ads are more targeted using the titles and firmographics filters (which are not available in Meta). |
| Ad frequency & timeframe | LinkedIn, Meta | Do they have a consistent number of ads every month or just a few random spikes throughout the year? |
| Ad formats & mix | LinkedIn, Meta |
Different formats are priced differently. A mix of formats shows they are likely experimenting a lot. |
| Impressions | LinkedIn's library gives you impression data for paid job posts and ads that target the European Union (EU). | |
| Ad strategy proxies |
If a company runs 1,000+ LinkedIn ads, they almost always have:
|
|
| Hiring paid marketers | All |
If they're hiring paid marketers and have at least 100+ ads running, this likely means they use an agency and want to take over in-house or have a dedicated person watching over the agency work. Either way, depending on location, this is an additional mid to six-figure expense that companies are willing to invest, signalling that they are serious about their ads. Search for job titles that contain any of these keywords: paid, performance, ppc, demand gen, ads. |
| Stage and money raised | All | Later-stage companies that raised a significant round tend to invest a chunk of that money into paid spend to accelerate growth. |
| Company's ICP | All | Who they're targeting can tell you about potential average CPC and CPMs. |
| B2B or B2C | All | A simpler version of the company's target audience is just splitting B2B vs B2C. B2B audiences tend to be more expensive. |
| Geography | All |
Are they selling locally or globally? Costs vary significantly based on geography. Look at where the company's HQ is located, where their employees are based, and what languages their website is available in. Ads in English tend to be more expensive. If they are a B2B company, and they have sales reps in the US, it's a great signal that they're selling or trying to break into the US, where the ads are more expensive. |
| GTM motion (for B2B companies) | LinkedIn, Google |
Sales-led? PLG? Combined? Is pricing visible on the pricing page? Sales-led means a higher price tag, allowing them to spend more on ads. |
With those proxies lodged in your brain, let's look at how you can get the data for each of these to get a better estimation of ad spend for each platform.
HockeyStack has a total of 1,594 ads on LinkedIn. Layering firmographic information like the size of their marketing team, their aggressive hiring, and recent Series A signals they're investing significant resources and effort in ads as a way to grow their business. Just by using the proxies below, we can estimate that their monthly ad spend is likely in the 6-figure range.
| Proxy | Data |
|---|---|
| LinkedIn Ad volume | Total: 1,594 (~130/month) |
| Ad formats and mix | Mix of formats and creatives signalling heavy experimentation |
| Impressions |
HockeyStack has an average of 19,400 impressions across a sample size of 100+ ads. Note: We'll walk you through how we get this number below. |
| Ad strategies |
Running 1,000+ ads on LinkedIn generally means a company has a full-funnel strategy. This is true of HockeyStack:
|
| In-house marketing team and hiring | 6 full-time marketers, 20+ open roles signal aggressive growth |
| Company stage and money raised | Series A ($26M raised) |
| Key market (Geography) | NA, EMEA, APAC |
| B2B or B2C | B2B |
| GTM motion | Sales-led |
| ICP | Marketing leaders |
| Language |
|
LinkedIn's Ad Library offers a searchable archive of all a company's active and inactive ads.
You can search by advertiser name and filter by country and date range. Unlike Meta and Google, LinkedIn makes impression data (only for EU or global ads) available due to transparency requirements.
Let's take an ad from HockeyStack as an example. Here, we can get:
Note: If the ad is running in multiple regions, LinkedIn shows the total impression range across all countries and then breaks it down by percentage share (including the US). If you're looking at US-only ads, you won't be able to use this method.
While we could run the math on the above example using CPM/CPC benchmarks and the impression range using a simple spend formula (spend = impressions × CPM ÷ 1000), we wouldn't get accurate spend numbers because we'd be running the math on a single ad.
That means we need to get the average # of impressions from a larger sample size (100+ ads). Here's how.
Below are global benchmark CPMs from LinkedIn:
LinkedIn Ads global CPM benchmarks by ad type and objective
| Objective | Ad Format (not including conversation and inMail ads) | Global blended CPM (Cost Per 1,000 Impressions) | English-speaking countries (CPM) |
|---|---|---|---|
| Brand Awareness | Single Image Ad | US$ 5.05 | US$ 6.57 |
| Video Ad | US$ 7.39 | US$ 9.61 | |
| Carousel Ad | US$ 7.4 | US$ 9.62 | |
| Engagement | Single Image Ad | US$ 8.13 | US$ 10.57 |
| Video Ad | US$ 15.17 | US$ 19.72 | |
| Carousel Ad | US$ 16.71 | US$ 21.72 | |
| Website Visits | Single Image Ad | US$ 10.16 | US$ 13.21 |
| Video Ad | US$ 19.90 | US$ 25.87 | |
| Carousel Ad | US$ 27.7 | US$ 36.01 | |
| Lead Generation | Carousel Ad | US$ 23.96 | US$ 31.15 |
| Video Ad | US$ 30.11 | US$ 39.14 | |
| Single Image Ad | US$ 37.44 | US$ 48.67 | |
| Average CPM | $22.65 |
Since HockeyStack's website is only available in English and they only have ads in English, their CPMs are likely 20-80% higher. So their average CPM is likely between $22 - $60.
Note: While the above table shows fixed prices, LinkedIn ads function like a live auction. Costs shift constantly based on competing advertisers and how valuable LinkedIn predicts your ad will be. CPMs also vary dramatically by industry, audience, country, seniority, device, and objective. Plus, marketers are incentivised to optimize costs and drive the CPM down, especially for winning campaigns.
Inside LinkedIn's campaign builder, you can see the estimated spend per ad targeting their ICP:
Along with the number of unique ads, Adyntel also gives you all of the LinkedIn ads that are available on the public library, including the creatives and details.
Note: Adyntel retrieves roughly 24 ads per call. To get more, you'll need to use a continuation token and do multiple calls. In this example, we want to get a sample of at least 100 ads.
Here, you can see the details for each ad inside Clay:
Scraping the body text makes it easier for AI to read it and retrieve impressions from each ad.
Here, we're feeding ChatGPT the prompt below to extract monthly impressions from each ad:
"You are a precise data extractor for LinkedIn Ad Library ad details. You will be given the full Bodytext of a LinkedIn Ad Library 'Ad Details' page (as plain text, not HTML). Your task is to find and normalize the Total Impressions data and related fields."
Here, we enter a new column and run a simple formula to get the average number of impressions per ad.
You can do this separately in Google Sheets because Clay doesn't do calculations vertically. Here, you can see HockeyStack's average number of impressions is 19,400:
Note: While more accurate than using a single ad, this larger sample size still gives us directional data. The Ad Library surfaces all ads, meaning cheap test ads pull the average downward. Impressions also vary heavily by active days (50k over 90 days ≠ 50k over 12), so without normalizing for duration, the spend-per-ad estimate drifts.
To get HockeyStack's monthly ad spend, we need to calculate the average cost per ad and multiply that by their monthly ad volume.
1) Estimated cost per ad: Impressions × CPM ÷ 1000
Low end CPM: 19,400 × $22 ÷ 1000 = $427
High end CPM: 19,400 × $60 ÷ 1000 = $1,164
Now that we have the estimated cost per ad, we need to multiply this by HockeyStack's monthly ad volume.
Because you can't filter by date using Adyntel yet (coming soon), we'll make a rough estimate and divide the total number of ads (1,594) by 12. That gives us 133 ads/month.
Note: Not all months are equal in spend. Companies ramp up or limit spend based on seasonality. According to HockeyStack's research, companies tend to increase spending in Q1 and Q4.
2) Estimated monthly ad spend
Estimate using low-end CPM:
$427 × 133 = $56,791
Estimate using high-end CPM:
$1,164 × 133 = $154,812
Not too shabby.
HockeyStack publicly mentioned that they spend around $2M/year on LinkedIn, so these two methods bring us close.
Obviously, there's quite a lot of manual work that goes into doing this at scale, and it can only work with publicly available impression data. If you don't have impression data, here's a quick tip on what you can do instead:
Skip all the calculations and use ad volume as a direct proxy for spend. One of our customers, a smart YC startup, found that the quickest way to qualify prospects based on ad spend was to look at the # of ads they were running. If your ICP = companies investing in paid media, ad volume is a clean filter.
It's a great signal for company maturity, revenue size, campaign volume, and their readiness for your product. Here's how Viktor Salnich, Sr. Software Engineer of GTM Growth at HockeyStack, put it:
"We discovered that companies running 50+ ads were almost always ICP. It's a reliable signal of marketing maturity and consistent spend."
He adds: "Running that many ads usually means there's a team behind it, not just a founder experimenting. It correlates strongly with revenue size, campaign volume, and readiness for HockeyStack."
Read the full case study with HockeyStack here.