How to Automate LinkedIn Ads with Claude AI and MCP — B2B Workflows That Actually Work
Nikhil Tiwari
MCP Playground
📖 TL;DR — Key Takeaways
- Three LinkedIn Ads MCP servers exist — Radiate B2B (managed, no setup), danielpopamd/linkedin-ads-mcp (14 tools, self-hosted free), and GrowthSpree (free, read-only)
- Claude can segment performance by job function, seniority, company size, and industry — the demographic depth that makes LinkedIn unique for B2B
- Lead gen form analytics, ABM account engagement, and ICP segment ROAS — all accessible via natural language
- Teams using these workflows report 25–40% CPL reduction and 10+ hours saved weekly
- The non-technical setup via Radiate B2B takes under 5 minutes — no LinkedIn developer app required
LinkedIn Ads is the only ad platform where you can directly target a VP of Engineering at a 500-person SaaS company in the US who started in their role within the last year.
That precision is why LinkedIn drives 75–85% of all B2B leads from social media. It's also why getting LinkedIn Ads wrong is so expensive — CPCs of $8–$15 are standard, and broad targeting in the wrong job functions can drain a B2B budget fast without generating a single qualified lead.
The problem isn't data. Campaign Manager has all the demographic breakdown you'd ever need — performance by job function, seniority, company size, industry, and region. The problem is that accessing it requires navigating a clunky interface, manually downloading breakdowns, and then piecing together insights across multiple reports before you can make a single optimization decision.
The LinkedIn Ads MCP server closes that gap. It gives Claude a live, authenticated connection to your Campaign Manager data, so instead of clicking through breakdowns, you have a conversation about where your budget is actually working — and where it's burning.
What Is the LinkedIn Ads MCP Server?
The LinkedIn Ads MCP server implements the Model Context Protocol — the open standard that lets AI models connect to external tools and data sources with live, authenticated access.
It bridges Claude directly to the LinkedIn Marketing API. Ask about campaign performance, Claude queries your live Campaign Manager data. Ask which job functions are converting, Claude pulls the demographic breakdown. Ask why CPL spiked last week, Claude compares this week against last week and surfaces the delta.
What makes LinkedIn's data uniquely valuable for B2B is the demographic granularity. No other ad platform lets you segment ad performance by job function, seniority level, company size, industry, and geographic region simultaneously. LinkedIn knows exactly who saw your ad and what their professional context was — and Claude can interrogate that data across all dimensions in a single prompt.
Three Server Options Compared
1. Radiate B2B — Managed Remote (Easiest)
The zero-friction path. Sign up at radiateb2b.com, connect your LinkedIn Ads account, get a private access token, and paste it into one config file. The MCP server is hosted by Radiate B2B — no Node.js, no developer app, no terminal beyond editing JSON. Capabilities focus on performance analysis, creative evaluation, benchmark comparisons, and optimization recommendations.
Best for: B2B marketers and demand gen teams who want analytics without any technical setup.
2. danielpopamd/linkedin-ads-mcp — 14 Tools, Free
The most comprehensive free option. Fourteen purpose-built tools covering every major analytics area: accounts, campaign groups, campaign performance, creative performance, audience demographics (job function, seniority, company size, industry, country), audience reach, conversions, lead gen forms, and time-series trend analysis. Requires creating a LinkedIn Developer App with Marketing API access — about 20–30 minutes of setup.
Best for: Developers and technical marketers who want the full tool surface at no cost.
3. GrowthSpree — Free, Read-Only
Notable for its HubSpot CRM integration — Claude can see LinkedIn ad engagement alongside CRM pipeline data, enabling revenue attribution at the audience segment level. Simple OAuth setup, no developer app needed. Focused on B2B demand gen use cases: ICP segment analysis, budget waste identification, creative fatigue detection, and quarterly planning reports.
Best for: Teams running ABM campaigns who want pipeline-attributed LinkedIn analytics without a developer setup.
| Server | Setup | Cost | Standout Feature |
|---|---|---|---|
| Radiate B2B | 🟢 5 min | £50/mo | Benchmark comparisons + roadmap |
| danielpopamd (free) | 🟡 30 min | Free | 14 tools, full demographic breakdown |
| GrowthSpree (free) | 🟢 10 min | Free | HubSpot CRM + pipeline attribution |
Full Tool Surface — 14 Tools Explained
The danielpopamd/linkedin-ads-mcp server exposes the most complete free tool surface. Here's what each tool gives Claude access to:
🏢 Account Management (2 tools)
list_ad_accounts — List all accessible LinkedIn ad accountsget_account_details — Account configuration and settings
📊 Campaign Performance (3 tools)
get_campaign_groups — Aggregated group-level metricsget_campaign_performance — Full campaign KPIs (spend, CTR, CPL, conversions)get_creative_performance — Ad-level metrics including video and engagement stats
🎯 Audience & Demographics (3 tools)
get_audience_demographics — Performance by job function, industry, seniority, company size, country, regionget_audience_reach — Unique member reach and frequencylist_saved_audiences — Matched and lookalike audience library
📋 Conversions & Lead Gen (4 tools)
get_conversion_performance — Conversions by action typelist_conversions — Conversion tracking rulesget_lead_gen_performance — Lead form submissions and CPLlist_lead_forms — Lead gen form configurations
📈 Advanced Analytics (2 tools)
compare_performance — Side-by-side comparison between time periods or campaignsget_daily_trends — Time-series data for trend and seasonality analysis
Standard metrics included across all performance tools: Spend, Impressions, Clicks, CTR, Reach, Frequency, Engagements, Engagement Rate, CPM, CPC, Conversions, Conversion Rate, Cost per Conversion, and Audience Penetration.
Setup: Two Paths to Connection
Path 1 — Managed: Radiate B2B (No Technical Setup)
- Go to radiateb2b.com/linkedin-ads-mcp-server and sign up for a free trial
- Connect your LinkedIn Ads account via Radiate B2B's secure OAuth flow
- Copy your private access token from the dashboard
- Add to your Claude Desktop config (
~/Library/Application Support/Claude/claude_desktop_config.jsonon Mac):
{
"mcpServers": {
"RadiateB2B LinkedIn Advertising": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.radiateb2b.com/sse",
"--header",
"Authorization: Bearer your_private_token_here"
]
}
}
}
Restart Claude Desktop. Ask: "List my LinkedIn ad accounts" to confirm it's working.
Path 2 — Self-Hosted: danielpopamd (Free, Full Tool Surface)
Step 1: Create a LinkedIn Developer App
- Go to developer.linkedin.com → Create App
- Associate with a LinkedIn Company Page
- Request Marketing Developer Platform access under Products
- Copy your Client ID and Client Secret
Step 2: Install and configure the server
git clone https://github.com/danielpopamd/linkedin-ads-mcp
cd linkedin-ads-mcp
npm install
# Add to Claude Desktop config
{
"mcpServers": {
"linkedin-ads": {
"command": "node",
"args": ["/path/to/linkedin-ads-mcp/index.js"],
"env": {
"LINKEDIN_CLIENT_ID": "your_client_id",
"LINKEDIN_CLIENT_SECRET": "your_client_secret",
"LINKEDIN_REDIRECT_URL": "http://localhost:3000/callback"
}
}
}
}
💡 Marketing Developer Platform approval
LinkedIn's Marketing Developer Platform access requires a brief review. Apply with a clear description of your use case — typically approved within 1–3 business days for legitimate advertising use. Use Radiate B2B while you wait if you need immediate access.
Workflow 1: ICP Segment Performance Audit
The most common LinkedIn Ads mistake: targeting "Director and above at companies with 200+ employees in SaaS" — and never checking whether it's the Directors or the VPs converting, whether 200–500 employee companies outperform enterprise, or whether engineering outperforms product. You're flying blind on the very targeting precision that makes LinkedIn worth the premium CPCs.
You:
"Break down my campaign performance over the last 90 days by job function and seniority. I want to see CPL and conversion rate for each combination. Flag any segment where CPL is more than 2x the account average, and any segment where we're spending over $500 with zero conversions."
Claude: [Calls get_audience_demographics, get_conversion_performance, calculates CPL by segment]
"ICP segment breakdown — last 90 days:
🟢 High-converting segments (protect + scale):
— VP Engineering: CPL $94, 3.1% conv rate — 2.4x better than account average. Currently receiving 12% of budget.
— Director Product: CPL $108, 2.8% conv rate — well below $156 account avg CPL.
— CTO / Head of Tech (SMB): CPL $87, 4.2% conv rate — your best performing segment.
🔴 Zero-conversion segments with significant spend:
— Individual Contributors (Engineering): $834 spend, 0 conversions. Job function match but wrong seniority — these people can't buy your product.
— HR / People Ops: $612 spend, 0 conversions. Off-target job function. No path to conversion for a developer tooling product.
— Company size 10,001+: $1,240 spend, 2 conversions, CPL $620. Enterprise procurement cycles too long for your funnel — consider separate nurture campaign.
Recommendation: Exclude IC Engineering and HR at the campaign level. Add a company size cap of 5,000. Reallocate the $1,646 in wasted spend to VP Engineering and Director Product audiences."
This is a full account ICP audit in 60 seconds. Without Claude, pulling and cross-referencing the demographic breakdown across seniority × job function × company size in Campaign Manager takes 45–90 minutes of manual work.
Workflow 2: Creative Fatigue Detection
LinkedIn's audience pools for B2B targeting are small by social media standards. A campaign targeting 50,000 members in a specific seniority and job function bracket will exhaust its audience far faster than a broad consumer campaign. Frequency creep is constant — and Campaign Manager doesn't alert you when your CTR has decayed 30% from its peak.
You:
"Pull daily CTR trend data for all active creatives over the last 30 days. Flag any creative where CTR has dropped more than 20% from its 7-day peak, or where frequency has exceeded 4.0. Show me which campaigns those creatives belong to."
Claude: [Calls get_daily_trends and get_creative_performance across all active campaigns]
"Creative fatigue report — 6 creatives flagged across 3 campaigns:
Critical — CTR decay + high frequency:
— Creative 'Pain point — manual reporting' (Campaign: Q1 Demand Gen): CTR peak 0.71% on day 4, now 0.38% on day 22 (-46%). Frequency 5.2. Audience near-saturated. Pause immediately or replace creative.
— Creative 'Social proof — 500 customers' (Campaign: ABM Enterprise): CTR dropped from 0.58% to 0.31% (-47%). Frequency 4.8. Running 34 days — well past typical B2B creative lifespan.
Watch — CTR declining:
— Creative 'Stat — 3x pipeline' (Campaign: Retargeting): CTR down 22% from 7-day peak. Frequency 3.1 — not yet saturated but trending. Schedule creative refresh within 7 days.
Healthy:
— 3 creatives still within normal CTR variance. No action needed."
Catching creative fatigue before frequency hits 5+ is the difference between maintaining a 0.6% CTR and watching it decay to 0.2% while your budget continues spending at full pace.
Workflow 3: Lead Gen Form Quality Analysis
LinkedIn Lead Gen Forms are the highest-converting ad format on the platform — pre-filled with profile data, zero landing page friction. But a high form fill rate doesn't mean high lead quality. The classic LinkedIn trap: your CPL looks great at $45, but 60% of form fills are job seekers, students, or roles that will never buy.
Claude can cross-reference form performance with the demographic data of who is actually filling out those forms.
You:
"Analyze all active lead gen form campaigns for the last 60 days. Show me CPL per form, form completion rate, and the demographic breakdown of who is filling out each form — specifically by job function and seniority. I want to know which forms are getting quality leads vs vanity fills."
Claude: [Calls get_lead_gen_performance, list_lead_forms, get_audience_demographics cross-referenced by campaign]
"Lead gen form analysis — 4 active forms:
Form: 'Free ROI Calculator' — CPL $41, 12.4% completion rate
Demographic split: 34% Director+, 28% Manager, 38% IC and student/unclassified
Assessment: Volume looks good but 38% are non-buyers. True qualified CPL: ~$68 when filtered to Director+ only. Consider adding a company size qualifier question to the form to self-segment.
Form: 'Request Demo — Enterprise' — CPL $89, 8.1% completion rate
Demographic split: 71% Director+, 18% Manager, 11% other
Assessment: Highest quality form. Lower volume but 71% of fills are decision-maker level. True qualified CPL competitive. Scale the campaign running this form.
Form: 'Download Guide — Metrics That Matter' — CPL $28, 18.2% completion rate
Demographic split: 22% Director+, 31% Manager, 47% IC/student
Assessment: Top-of-funnel content is attracting the wrong audience. Nearly half of fills have no purchase authority. CPL is misleading — this is a brand awareness play, not a lead gen play. Move to awareness objective or remove from MQL count."
This is the analysis that B2B marketing leaders need every month but rarely get — because pulling demographic data per form across Campaign Manager takes hours of manual work. With Claude it's a 90-second conversation.
Workflow 4: Budget Waste Identification by Audience Segment
On average, B2B teams waste 27% of their LinkedIn Ads budget on audiences that will never convert — wrong job functions, wrong company sizes, wrong geographies bleeding spend. The fix is simple once you see the data. The problem is most teams never look at it at this level of granularity.
You:
"Across all campaigns last 90 days, show me every audience segment combination — job function × company size × geography — where we spent more than $300 with zero conversions. Rank by wasted spend, highest first. Give me the total."
Claude: [Calls get_audience_demographics with multi-dimension breakdown, filters for zero-conversion segments above spend threshold]
"Zero-conversion segments with $300+ spend — last 90 days:
1. Individual Contributors × 1–10 employees × US — $1,847 spend, 0 conv. Micro-companies + ICs don't have budget authority.
2. HR/People Ops × All sizes × Global — $1,240 spend, 0 conv. Off-target function. No path to conversion for your product.
3. Director+ × 10,001+ employees × India — $892 spend, 0 conv. Enterprise India segment has never converted. Consider removing or creating a separate low-bid experimental campaign.
4. Student/Entry Level × All × All — $634 spend, 0 conv. Shouldn't be in targeting — check your exclusion lists.
5. Operations × 11–50 employees × All — $412 spend, 0 conv. Ops function at SMB has low purchase authority for your ICP.
Total identifiable waste: $5,025 over 90 days (~$1,675/month)
Recommended exclusions: ICs, HR/People Ops, Students, India enterprise targeting. Estimated budget recovery: $1,400–$1,600/month redirectable to high-converting VP Engineering and Director Product segments."
Workflow 5: ABM Account Engagement Intelligence
Account-Based Marketing lives or dies by knowing which target accounts are engaging with your ads — not just aggregate impressions, but which named companies in your ICP list are seeing and clicking. LinkedIn's Company Targeting data makes this possible. Most teams never access it systematically.
You:
"For our ABM campaign targeting the named account list, show me engagement metrics by company over the last 30 days. Which target accounts have had 3+ employees engage with our ads? Which accounts are in our list but showing zero engagement — meaning we're not reaching them at all?"
Claude: [Calls get_audience_demographics filtered by company targeting, cross-references against account list]
"ABM engagement report — 30 days across 47 named accounts:
🔥 High engagement (3+ employees touched):
— Acme Corp: 8 employees engaged, including 2 VP-level. 3 ad clicks. Signal: active evaluation likely. Flag for sales outreach this week.
— TechFlow Inc: 5 employees engaged, Director of Engineering + 4 ICs. 1 lead gen form started (abandoned). Follow up with personalized outreach.
— DataSystems Co: 4 employees engaged. No form fills yet but strong awareness building.
🟡 Low engagement (1–2 employees):
— 12 accounts with minimal touchpoints. These may need higher frequency or a different ad format to break through.
⚠️ Zero engagement (14 accounts):
— 14 named accounts showing no impressions at all — they are in your targeting list but your budget isn't reaching them. Check if company size or employee count filters are accidentally excluding them. Consider a dedicated lower-bid campaign specifically for these accounts.
Sales signal summary: 3 accounts warrant immediate sales outreach. 12 accounts need campaign attention. 14 accounts need targeting audit."
This is the insight that closes the gap between marketing and sales — a real-time view of which accounts are warming up, which are cold, and which aren't being reached at all.
Reported Results
25–40%
CPL reduction reported by B2B teams after ICP segment optimization
10+ hrs
Saved weekly on reporting, audience analysis, and creative monitoring
~27%
Average budget waste discovered in LinkedIn accounts on first audit
75–85%
Of all B2B social leads come from LinkedIn — the platform where this analysis matters most
What Claude Cannot Do (Be Realistic)
❌ No write operations (current servers)
All three server options are read-only for analytics. Claude can surface bid recommendations, exclusion lists, and budget reallocation plans — but you implement them in Campaign Manager manually. The amekala/ads-mcp multi-platform server has write ops for LinkedIn but is less mature.
❌ Cannot see named company clicks
LinkedIn's API exposes company-level engagement in aggregate via Company Targeting reports, but individual named companies who clicked (without being in your matched audience list) are not identifiable due to privacy protections.
❌ CPCs are genuinely high
Claude can optimize your LinkedIn Ads significantly, but it cannot lower LinkedIn's platform-level CPCs ($8–$15 is the norm for most B2B audiences). The optimization is about spend efficiency, not platform cost.
❌ Demographic data has a minimum threshold
LinkedIn suppresses demographic data for segments with fewer than ~300 members to protect member privacy. Very granular segments (e.g., CTO at 50-person fintech in Norway) will show no demographic breakdown.
Combining LinkedIn Ads MCP with Other Servers
🔗 LinkedIn Ads + CRM Pipeline Attribution
LinkedIn Ads MCP + HubSpot MCP
→ Claude sees ad engagement alongside deal stage and revenue data
→ Identifies which campaigns and audiences are generating actual pipeline, not just MQLs
→ True cost-per-pipeline-dollar calculation by audience segment
📣 ABM Engagement → Sales Alert
LinkedIn Ads MCP + Slack MCP
→ Claude monitors target account engagement weekly
→ When 3+ employees at a named account engage, posts to #sales-signals Slack channel
→ Zero manual monitoring — sales team gets warm account alerts automatically
📊 Full-Funnel B2B Reporting
LinkedIn Ads MCP + Google Ads MCP + Google Sheets MCP
→ Claude pulls weekly performance across both paid channels
→ Builds a unified B2B funnel report: impressions → clicks → leads → pipeline by channel
→ Weekly report that used to take 4 hours now takes 6 minutes
Getting Started Today
If you're a B2B marketer (non-technical):
- Go to radiateb2b.com/linkedin-ads-mcp-server — sign up for the free trial (no credit card)
- Connect your LinkedIn Ads account via their OAuth flow
- Copy your private token and add the config above to Claude Desktop
- Start with: "Give me a CPL breakdown by job function and seniority for the last 30 days"
- Run the budget waste workflow — your first action list in under 2 minutes
If you're a developer or technical marketer:
- Create a LinkedIn Developer App at developer.linkedin.com
- Request Marketing Developer Platform access (1–3 day approval)
- Clone
danielpopamd/linkedin-ads-mcpand configure with your Client ID and Secret - Run the ICP segment audit first — it pays for the setup time immediately
Want to see how MCP works before setting anything up?
Go to MCP Playground Online — paste any MCP server URL and inspect its tools in your browser, no installation required.
Why LinkedIn Ads MCP Matters More for B2B Than Any Other Platform
Meta and Google are volume engines. You optimize for scale, broad reach, and algorithmic efficiency. LinkedIn is a precision instrument — you pay a premium specifically because you can reach the exact person with the exact title at the exact company size who has purchase authority for your product.
That precision only works if you're actually analyzing the demographic data. And most B2B teams are not — because pulling the job function × seniority × company size breakdown manually in Campaign Manager is tedious enough that it gets skipped during busy weeks.
Claude with LinkedIn Ads MCP removes that friction. The analysis that should happen weekly — but usually happens quarterly or never — can now happen in a 60-second conversation. The demographic intelligence that makes LinkedIn worth 5× the CPC of Meta can finally be used the way it was intended: to continuously tighten targeting toward the audience segments that are actually buying.
LinkedIn Ads MCP server integrations are unofficial tools and are not affiliated with or endorsed by LinkedIn Corporation. Always review LinkedIn's API terms of service for your use case.
Resources:
- radiateb2b/mcp-linkedin-ads — Managed remote MCP (£50/mo, trial available)
- danielpopamd/linkedin-ads-mcp — 14 tools, free, self-hosted
- Radiate B2B LinkedIn Ads MCP — Setup guide and trial signup
- GrowthSpree LinkedIn Ads MCP — Free, HubSpot CRM integration
- MCP Playground Online — Test MCP servers in your browser
Written by Nikhil Tiwari
15+ years in product development. AI enthusiast building developer tools that make complex technologies accessible to everyone.
Related Resources