
Most LinkedIn ads reporting dies in a dashboard, where you stare at a wall of numbers, screenshot the one that looks good, and never quite turn any of it into a decision.
Analyzing LinkedIn ads with Claude Code flips that, because you ask a question in plain English and get back an answer that already points at an action, with your ad metrics, ABM stages, creatives, and CRM deals all queryable from the terminal.
This post is about how to analyze LinkedIn ads with Claude Code as a repeatable routine that comes after the wiring (Claude Code connected to the ZenABM MCP server) is done: the handful of analyses a demand gen marketer reaches for again and again, and exactly how to read each output and turn it into a pause, a scale, or a handoff.

Also, it is important to note that Claude Code is different from a chat window because it runs in your terminal, can write a quick script to chart a result, can save a recurring analysis as a slash command or a CLAUDE.md instruction, and can chain several pulls into a single report file.
That changes analysis from a thing you do once into a thing that runs itself.
Note: Everything below assumes Claude Code can already reach your account through an MCP server at https://zenabm.com/mcp, which exposes 60+ tools across your companies, campaigns, ad sets, creatives, ABM stages, deals, and intent signals (all this data is pulled from LinkedIn’s official API and your CRM, not third-party vendors). If that part is not wired up yet, the LinkedIn ads Claude Code integration guide covers it in about five minutes, and this post is about the payoff once you are connected.

Short on time?
Here’s a quick rundown:
Before the individual analyses, set the cadence.
The marketers who get value out of this do not improvise a new question every time they open the terminal; they run the same sequence on a fixed day, because consistency is what makes a trend visible.
A number on its own tells you nothing, whereas the same number next to last week’s number tells you whether to act.
The routine is five passes, in order: format efficiency, funnel movement, account cohorts, period-over-period deltas, and creative reads.
The whole thing takes about ten minutes once the prompts are saved.
Here is the kickoff prompt to run first to frame the week:
I want my weekly LinkedIn ads review for the last 7 days vs the previous 7 days. Start with a one-paragraph headline: did the program get healthier or worse this week, and why. Then list the 3 things that changed most. Use eCTR and eCPC, not just CTR and CPC. Keep it tight. I will ask for each deep dive after.
How to read it: the headline paragraph is the only thing your boss will read, so judge it the way they would. If Claude leads with vanity engagement instead of landing-page clicks or pipeline, push back and tell it to lead with eCTR, eCPC, and pipeline movement. The three things that changed most are your agenda for the rest of the session, since everything after this is you drilling into those three.

This is the first Claude-Code-specific power worth using.
Once that prompt works, save it, because in Claude Code, you can drop a file in .claude/commands/ so the whole review becomes a slash command, for example /weekly-li-review, that you run with one line.
You can also put your defaults into a CLAUDE.md at the root of your working folder so every analysis inherits them without repeating yourself.
Create a CLAUDE.md in this folder with my LinkedIn ads analysis defaults: always compare last 7 days vs the previous 7 days, always report eCTR and eCPC alongside CTR and CPC, treat any ad above 1,000 impressions with a 2-week eCTR decline as decaying, and end every analysis with a recommended action. Then save my weekly review prompt as a slash command called weekly-li-review.
How to read it: open the CLAUDE.md Claude writes and sanity-check the thresholds. The 1,000-impression floor and the two-week decline window are defaults that may differ if you spend more or less. The point is that once these live in a file, every future analysis in the folder behaves the same way, and a teammate who opens the same folder gets the same standards for free.
This is the analysis to run most, because format choice is the single biggest lever on LinkedIn efficiency, and it is the one most teams get wrong by trusting CTR alone.
CTR counts likes and comments, while eCTR counts the clicks that actually reach your landing page, which is the click you are paying for when you care about pipeline, so ranking your formats by eCTR and eCPC tells you where the next dollar should go.
Rank my LinkedIn ad formats for the last 30 days by eCTR. For each format show impressions, spend, clicks, CTR, landing-page clicks, eCTR, and eCPC side by side. Then tell me which format is the most efficient way to buy a landing-page click right now, and which format I am overspending on.

How to read it: ignore the CTR column for ranking and read the eCTR and eCPC columns, because the format with the highest eCTR and lowest eCPC is where the incremental budget belongs. In ZenABM benchmark data, Thought Leader Ads run a 2.68% median CTR at a $2.29 median CPC, while single-image ads run 0.42% CTR at $13.23 CPC, which is the gap that makes a format ranking worth doing. If a format is eating spend with a high eCPC and a thin landing-page click count, that is your first pause-or-cut candidate of the week.

The second Claude Code power: it does not just return a table, it can write a script to draw the table. A chart makes a format gap obvious in a way a wall of numbers never will, and it is the asset you drop into a Slack update or a deck.
Write a quick Python script that charts my formats as a scatter: eCPC on the x axis, eCTR on the y axis, bubble size by spend. Save it as format_efficiency.png so I can paste it into Slack. The top-left quadrant is my winners, label them.


How to read it: winners sit top-left, high eCTR and low eCPC, while big bubbles in the bottom-right are the expensive problem, high cost per landing-page click and weak click-through, with real money behind them. That bottom-right bubble is usually where a budget reallocation pays for itself. For more on how the formats compare across accounts, the 2026 LinkedIn ABM benchmarks report is the reference to check yours against.
Juan Esteban Moncada, who built a custom LinkedIn Ads MCP server at Understory, described the shift this kind of natural-language querying creates in his LinkedIn post.
“Anyone can build their own custom MCP server and give superpowers to models like ChatGPT or Claude. That’s exactly what I did at Understory. Creating a custom MCP server that allows AI models to securely query and understand LinkedIn Ads performance in seconds, using natural language. It helps teams make strategic decisions faster, saving time.”

Format efficiency tells you what to buy, while funnel movement tells you whether the buying is actually moving accounts.
This is the analysis that separates a demand gen marketer from someone who just reports ad metrics, because it ties LinkedIn spend to stage progression rather than to impressions.
The question is not how many clicks you got, but how many accounts crossed from aware to interested to considering, and which campaigns pushed them.
Show me ABM funnel movement for the last 30 days. Who moved from aware to interested, interested to considering. Who stalled and is now past the average time in stage. What is the average time in each stage, and which campaigns drove the most stage movement. Flag any account stuck in interested for more than 6 weeks past the average.
How to read it: movement is the good news, and stalls are the action, because an account that progressed is working as intended and needs nothing from you, whereas an account sitting in interested for six weeks past your average time in stage is the prompt to change the creative, add a touch, or hand it to sales before it goes cold. Pay equal attention to the campaign-level read at the bottom, because the campaign driving the most stage movement is the message that is actually working, and that is where you want more budget and more creative variations.
This is also the moment to be skeptical of the machine.
Chris Chambers, who has spent months testing AI tools against paid campaigns, makes the case for keeping human context in the loop in his LinkedIn post.
“AI sees your CPA going up and immediately suggests lowering bids. Sounds logical, right? Except it doesn’t know you just launched in a new vertical where competition is fierce. Or that you’re testing a higher-value audience segment that converts at 3x revenue but takes longer to close.
The lesson for funnel analysis is the same, because Claude can show you that a campaign looks weak on eCTR, but you may know it is targeting a slower, higher-value segment.
Read the output, then apply the context only you have.
This is the analysis your sales team cares about most, and the one that makes marketing look like it is generating pipeline rather than reporting on it.
The goal is to find the cohort of accounts whose engagement is accelerating right now, pair each with the intent topics it is researching, and route the hottest ones to a rep while the timing is still warm, because engagement that is rising this week is worth more than engagement that was high last quarter and is now flat.
Build me an account cohort for this week. Which companies are surging in engagement with my LinkedIn ads compared to the prior two weeks, which are engaging for the first time, and which show the strongest buying intent right now. For each, show the intent topics and the ABM stage. Sort by how fast engagement is accelerating, and tell me the 5 accounts a rep should call this week.

How to read it: read the acceleration, not the absolute volume, because a small account that went from zero to several engagements in a week is a stronger signal than a large account holding steady. The intent topics next to each company are what the rep opens with, so an SDR reaches out about the thing the account is actually researching instead of a generic pitch, and the five-account shortlist is the deliverable.
The third Claude Code power: chaining several pulls into one output file. Instead of copying a list into Slack by hand, have Claude write the cohort to a dated markdown or CSV that your reps can open.
Take those 5 accounts and write a handoff file called hot_accounts_this_week.md. For each one include the company name, ABM stage, top intent topics, the ads they engaged with, and a one-line suggested opener for the rep. Date it at the top.
How to read it: open the file and check that each opener references something real about the account, not a template line, because if the opener is generic, the intent topics did not make it in, so ask Claude to rewrite using the specific topics. This file is the bridge between a marketing signal and a booked conversation, and it costs one prompt rather than an hour of copy-paste.
Deltas are where most of the real insight lives, because a metric in isolation is just a number, while a metric next to its prior period is a story.
This analysis answers the only question leadership actually asks, which is whether things got better or worse since last time and why, so run it on the program as a whole, then on the pieces that moved most.
Compare this month vs last month across my LinkedIn ABM program. Show ad spend, attributed revenue, blended ROAS, active campaigns, eCTR, and eCPC for both periods with the percent change. Then write a short narrative: what drove the biggest changes, what is a real trend vs noise, and the top 3 risks and opportunities right now.
How to read it: scan the percent-change column first and let the biggest movers set your attention, but read the absolute numbers next to the percentages before you celebrate, because a revenue jump from a low base can look dramatic in percentage terms. The narrative is where Claude earns its keep, because a good one separates a structural change, like a mid-month campaign consolidation, from random week-to-week noise. Treat the risks and opportunities as a hypothesis list, not gospel, and verify the one that would cost you the most if it were true.

Saving each period-over-period analysis to its own dated file gives you something most dashboards cannot: a history you can re-read. Six weeks from now you can ask Claude to compare this month’s report to the one from two months ago and surface the slow trends that never show up in a single week.
Save this comparison to a file named li_review_2026_06.md. Next month, when I ask, read the previous month’s file from this folder and tell me what is genuinely trending across both reports, not just what changed this month.
How to read it: the value here is the second-order read, because a single delta tells you this month moved, whereas a diff across three monthly files tells you whether your eCPC is on a slow climb you have been ignoring, which is the kind of drift a one-week view hides.
The last analysis in the routine goes down to the individual creative, because format efficiency and budget shifts only get you so far if the actual ad is fatiguing.
Creative decay on LinkedIn is gradual, so an ad can slide for weeks before anyone notices in a dashboard, which is why running a creative-level read every week catches the decline early enough to refresh before it wastes another month of spend.
Give me a decaying-ads report. Which of my LinkedIn ads have a declining CTR or eCTR for 2 or more consecutive weeks while above 1,000 impressions, and should be paused or refreshed. For each, show the eCTR trend by week and the eCPC, and rank by how much spend is behind the decline. Then list my top 5 ads by eCTR that I should scale or clone.

How to read it: the decaying list is your pause-and-refresh queue, sorted so the ads burning the most money sit at the top, and a two-week eCTR slide above the impression floor is a real signal, not noise, so trust it. The winners list at the bottom is the other half of the decision, because the budget you free from a fatigued ad should flow to a format and creative that is still pulling landing-page clicks, and when you find a winner, the move is to clone it with a fresh variation before it fatigues too. For tracking these creative reads over time alongside your other metrics, a LinkedIn ad analytics dashboard gives you the visual companion to the terminal output.

Every analysis above leans on eCTR and eCPC, so they are worth defining clearly. eCTR is the effective click-through rate to your landing page, meaning the share of impressions that turn into an actual landing-page click rather than a like or a comment, while eCPC is the effective cost per landing-page click, meaning what you really paid for each visitor who reached the page.
Campaign Manager does not show you either one, which is why a tool that joins your ad engagement to your CRM is what makes these analyses possible.
Once each of the five analyses works on its own, the real Claude Code payoff is running them as one chain that writes a single report.
This is the difference between Claude Code and a chat window, because the terminal can pull from five different tool groups, assemble the results, and hand you a finished file your leadership can read, all from one instruction.
Run my full weekly LinkedIn ads review now: format efficiency, funnel movement, account cohort, this-week-vs-last-week deltas, and the decaying-ads report. Combine everything into one file called weekly_report.md with an executive summary at the top, then a section per analysis, then a single prioritized action list at the end. Use eCTR and eCPC throughout.
How to read it: read the executive summary and the action list, and treat the five sections as the evidence behind them. The prioritized action list is the whole point, because it should read as a short set of moves: pause these two ads, scale this format, exclude this account, hand these five companies to sales.
If the action list is vague, the analyses underneath were vague, so push Claude to make each line a specific, named decision. Save this prompt as a slash command, and your entire weekly review becomes one line you type on Monday morning.
The safety model matters here too, because this same chain can propose changes.
Read questions never alter anything in your account, while write actions, like pausing an ad or activating a campaign, require your explicit confirmation, so Claude proposes the pause and waits for you to approve it.
You get the speed of automation without handing the machine the keys to your ad serving state.
LinkedIn ads analysis is only useful if it ends in a decision, and the five analyses in this routine are built around exactly that: format efficiency tells you where to move the next dollar, funnel movement tells you whether the spend is translating into account progression, the cohort analysis tells you which accounts to surface to sales this week, period-over-period deltas tell you whether the program is getting healthier or decaying, and the creative read catches fatiguing ads before they drain another month of budget.
What ties all five together is the data layer underneath them.
ZenABM connects your LinkedIn ad engagement to your ABM stages, intent signals, and CRM deals through the official LinkedIn API, so every prompt you run against it works from account-level truth rather than platform-level averages.
The eCTR and eCPC figures that anchor each analysis exist because that join exists. Without it, you are back to screenshot reporting.
Save the prompts as slash commands, set your thresholds in a CLAUDE.md, and chain the five analyses into one Monday-morning report.
The whole routine takes ten minutes, which means the rest of the week is for acting on it rather than assembling it.
That is the actual payoff of running your LinkedIn ads analysis in Claude Code with the ZenABM MCP server, and it compounds every week you run it.
You can get access to ZenABM and its MCP server for free for 37 days.
Start your free trial now or book a demo with us to know more!
Run a fixed weekly routine of five analyses: format efficiency by eCTR and eCPC, funnel and ABM-stage movement, an account cohort of who is heating up, period-over-period deltas, and a creative-level decaying-ads report. Ask each question in plain English, read each output for the decision it points to, and save the prompts as slash commands so you never retype them.
Claude Code runs in your terminal, so it can write a quick script to chart a result, save a recurring analysis as a slash command or a CLAUDE.md default, and chain several data pulls into a single report file on disk. A chat window answers one question at a time, while Claude Code turns your analysis into reusable, file-producing workflows.
eCTR is the effective click-through rate to your landing page, the share of impressions that become a real landing-page click rather than a like or comment. eCPC is the effective cost per landing-page click, what you actually paid per visitor who reached the page. They matter because Campaign Manager does not show either, and they measure the click you care about for pipeline.
No. Read questions never alter anything in your account. Write actions, such as pausing an ad or activating a campaign, are flagged as destructive, so Claude Code proposes the change and waits for your explicit confirmation before it touches your ad serving state. Nothing changes without your approval.
Yes. This post assumes your LinkedIn ads and CRM data are already queryable from Claude Code through an MCP server at https://zenabm.com/mcp. If you have not done that, set up the connection first via OAuth or an API token in a few minutes, then come back and run the weekly routine. A ZenABM account starts at $59 per month with a 37-day free trial.