
AI LinkedIn ads optimization splits into two layers, and if you only run one, you leave most of the return on the table.
The first layer is LinkedIn’s own AI (Predictive Audiences, automated bidding, AI-drafted creative) that optimizes the auction: it spends your budget toward more clicks and conversions from individual members.
That layer is real and worth using, but it is also blind to the one thing ABM runs on, which is which companies your ads reached and moved.
The second layer is account-level optimization, and it lives outside Campaign Manager: an AI agent reading your company-level engagement, ABM stages, and CRM deals, then pausing, capping, and reallocating on that basis.
This guide is about that second layer, mechanism by mechanism, with the exact thresholds and copy-paste prompts.
The short version:
/abm-strategy-planning sizes the program against your budget, /abm-campaign-execution builds the ads, /linkedin-abm-audit runs the 30-day diagnostic, and /linkedin-abm-report writes the monthly exec recap. One command installs all four. You can also access the repo here.
Giving LinkedIn’s native AI its due first, Predictive Audiences went generally available in 2025 and now powers roughly 41% of Sponsored Content spend, delivering about 21% lower CPL versus standard targeting once the conversion pixel has enough signal, per GrowthSpree’s 2026 analysis.
LinkedIn’s Accelerate campaign mode uses the same machine learning to auto-tune bids and targeting, and LinkedIn markets it as improving cost per action against classic campaigns.
So the auction-side AI works, and I turn it on for broad demand gen, but not for account-based marketing.
What limits it for ABM is its click-based optimization model.
LinkedIn’s AI has your conversion pixel and its own professional graph; it does not have your target account list or your CRM, so it cannot tell that 40 of the impressions it just bought went to an account with an open deal while 4,000 went to companies that will never buy.
It optimizes member-level events.
ABM needs account-level outcomes.
The mistake I keep seeing is a team flipping on Maximum Delivery, watching blended CTR hold steady, and never noticing the account-level distribution underneath has gone lopsided.
That gap is the entire reason for the second layer.
Everything below runs an agent against company-level engagement, ABM stages, intent signals, and CRM deals, so the optimization decisions (pause this, cap that, move budget here) are made on account outcomes rather than on clicks.


The account-level layer runs on one connection you make once.
Claude Code (or ChatGPT, Cursor, or Zena in-app) points at the ZenABM MCP server, which sits on top of the LinkedIn Ads API and your CRM and exposes a set of tools the agent selects from.
Setup is a single config block plus /init, which writes a CLAUDE.md so the agent carries account context between sessions:
{
"mcpServers": {
"zenabm": {
"url": "https://app.zenabm.com/api/mcp",
"headers": { "Authorization": "Bearer YOUR_ZENABM_API_TOKEN" }
}
}
}
OAuth works too (approve the prompt and you are linked), and the full reference is in the ZenABM MCP docs.
The server ships 60+ tools in five groups, and you never call them by name (the agent matches your plain-English question to the right ones).
Here’s a brief breakdown:
| Tool group | What the agent uses it for in an optimization pass | Example tools |
|---|---|---|
| List and search | Find the right campaign, ad set, creative, company, deal, job title, or intent theme to work on. | list_campaigns, list_ad_sets, list_creatives, find_ad_sets_or_campaigns |
| Company intelligence | Read company-level engagement, activity logs, ABM stage history, and deals for a specific account. | get_company_overview, get_company_timeline, get_company_deals |
| LinkedIn ads performance | Pull CTR, CPC, eCTR, eCPC, spend, and engagement across campaigns, formats, job titles, and company audiences. | get_campaign_overview, get_creative_performance, get_ad_set_companies |
| ABM and revenue | Read program pipeline, ROAS, stage movement, and which accounts entered or progressed. | get_abm_campaign_overview, get_abm_stage_history |
| Safe write actions | The group that makes it an optimizer, not just a reader: pause or activate ads, ad sets, and campaigns, each behind a confirmation. | update_ad_status, update_ad_set_or_campaign_status |
Everything starting with get or list only reads; the two write tools are the only ones that touch ad serving state, and they are flagged destructive, so the agent proposes and you approve.
That safety model is what makes it sane to point a terminal agent at a live ad account, and it is the same model whether you drive it from Claude Code or from Zena in the browser.
The deeper connection walkthrough is in the LinkedIn Ads Claude Code integration guide.
Note: If you’re wondering why you should go for a third-party MCP server and not LinkedIn’s API directly, here’s why:

Before any optimization move, fix your measurement methodology.
Campaign Manager reports CTR and CPC blended with social engagement (likes, comments, reactions), which flatters ads that collect vanity engagement and never drive a visit.
The MCP server surfaces two that matter more for B2B:
Every threshold in this playbook is expressed in eCTR and eCPC for that reason.
Optimizing on blended CTR is optimizing on the wrong number.

You can drive all of this with handwritten prompts, and the rest of this guide gives you those.
But the whole loop is also packaged as four free Claude skills in the ZenABM LinkedIn ABM skills repo, each owning one job, all reading the same MCP data.
| Skill | Command | The job it owns |
|---|---|---|
| ABM Strategy Planning | /abm-strategy-planning |
Stress-tests your revenue goal against your budget and real ad metrics, then proposes the campaign structure, formats, and how many ads you can afford to run. |
| ABM Campaign Ad Design | /abm-campaign-execution |
Turns the approved strategy into launch-ready output: campaign outline, ad copy briefs, and designed mockups. |
| ABM Audit | /linkedin-abm-audit |
The 30-day diagnostic: scorecard, format grading against benchmarks, decaying ads, impression hogs, and an ordered fix list as branded HTML and PDF. |
| ABM Monthly Report | /linkedin-abm-report |
The exec-facing monthly recap: spend, pipeline and deals influenced, best campaigns and formats, top engaged companies, month-over-month change. |
In Claude Code, two commands install all four:
/plugin marketplace add ZENABM/linkedin-abm-skills
/plugin install linkedin-abm-skills@zenabm
On Claude Desktop or the web app, download the zips from the releases page and upload them under Customize, then Skills, or straight into a Project.
They work on sample data out of the box; point them at a ZenABM account, and they run on your own numbers.
I will call out the relevant one at each step below.

Bidding is where operators most often hand the wrong decision to the machine.
LinkedIn offers three strategies, and the mechanism, not the marketing, should decide which you use:
| Strategy | How it bids | When it wins for ABM |
|---|---|---|
| Maximum delivery | Automated, charged on CPM; LinkedIn’s ML spends the full budget for the most results, no bid control. | Broad awareness on large audiences with a well-fed conversion pixel; rarely on a tight account list. |
| Cost cap | Automated within a target cost per result; the ML chases the cheapest events first and averages under your cap. | Mid-size audiences where you want automation but a ceiling; useful once volume is steady. |
| Manual CPC | You set the bid; charged on the objective’s key action (landing-page click, engagement, view). | Precise ABM audiences, where predictability and a found floor beat the ML’s budget-spending instinct. |
The methodology I run: on a tight, list-based ABM audience, start with manual CPC and find the floor. Bid low, let delivery stall, raise in small steps until impressions flow, and settle just above the point where delivery is healthy.
That floor-finding beats automation on precise audiences because the ML’s job is to spend the whole budget, which on a small audience means bidding you up.
Reserve Maximum Delivery and cost cap for your broader top-of-funnel layers where the pixel has signal to learn from. The full decision tree is in the manual versus automated bidding guide.
One hard timing rule for the automated strategies: LinkedIn’s predictive model needs 4 to 6 weeks of impression and engagement data to calibrate, and it is not making informed bids in weeks 1 and 2.
Judging an AI-bid campaign after ten days and yanking it is the most common self-inflicted wound I see.
If you switch a live campaign to an automated strategy, expect a learning dip and hold the line.
No bid strategy survives a budget spread too thin, and this is the mistake that wastes the most money in ABM advertising.
It compounds in a specific sequence: you split the audience into precise segments, give each its own campaign, then load each ad set with eight creatives.
Every campaign is now underfunded, loses most of its auctions, and delivers so few clicks a day that you cannot tell whether the message landed or the budget simply never reached anyone.
Some ads never serve at all.
The arithmetic that prevents it is the ad-count model: your monthly budget, divided by 30, divided by your cost per landing-page click, divided by roughly 4 clicks per ad per day, is the most ads you can support at once.
Run more than that, and you are funding impressions too thin to learn from.
That number should set your campaign structure, not the other way around.
The /abm-strategy-planning skill runs the whole model properly rather than on an envelope.
You give it the revenue goal, average deal size, planned budget, website conversion rate to demo or trial, and your qualification and close rates.
It pulls your real CPM, cost per landing-page click, and eCTR through the MCP server, then works backwards: the clicks you need to hit the goal and what they will cost, how many accounts and members you must reach to generate them, how many ads you can afford to run at once, and how long the goal will take at your budget.
The output is a proposed campaign structure and a format mix based on what has already worked in your account.
The most useful thing it does is tell you when the answer is no.
If your revenue goal is not reachable with the budget and conversion rates you have today, you want to know that in the planning session, not two quarters in.
Run it before you touch a bid.

We ran one campaign across every persona once, and the data came back unreadable, so we split campaigns by persona and never went back.
The optimization payoff is that the persona-split structure makes every later move legible: you can see which role is expensive, which is engaging, which is dark.
AI adds a continuous audit on top because job-title engagement data shows which personas your spend actually reached versus which it bled into.
You can access job-title engagement data in your Claude terminal using the ZenABM MCP server:

The strategic reason to keep advertising to personas that are not clicking yet: Maximilian Herczeg, a LinkedIn ads consultant across the DACH market, points out that only about 5% of potential buyers are in-market at any moment (dropping toward 1% in tight economies), and the vendor that wins the other 95% is the one that stayed visible while they were not ready.
So a persona reading low on immediate response is not automatically a waste; it may be the warming layer doing its job.
The audit prompt you can put into your Claude terminal connected to the ZenBAM MCP server to know which is which:
Break my LinkedIn ad spend down by job title and persona over the last 60 days. For each: spend, impressions, landing-page clicks, eCTR, eCPC, and any influenced deals. Flag personas that are NOT in my ICP as exclusion candidates, and separate ICP personas that are warming (rising engagement, no conversion yet) from ICP personas that are simply dead (spend, no engagement, no movement). Tell me which to exclude and which to keep warming.
Creative decays gradually, which is what makes it expensive: an ad slides for weeks before a monthly review catches it, and the auction charges more per click the whole way down.
The mechanism to catch it early is a weekly eCTR trend, not a snapshot.
The detection threshold I use:
For my top 15 ads by spend, show the weekly eCTR trend over the last 6 weeks. Separate ads that peaked early then declined for 2 or more consecutive weeks while serving over 1,000 impressions per week (classic fatigue, refresh with a fresh variant of the same idea) from ads that never performed from launch (weak, cut them). For the fatigued ones, tell me how many weeks past peak they are.
I ran a similar prompt a while ago for our program at ZenABM:

In small B2B audiences fatigue can set in within about three weeks of launch, so rotating creative every three to four weeks is the cadence that keeps it from compounding.
The distinction between fatigue and weakness matters because it changes the fix: a fatigued ad earned its keep and needs a new variant of the winning idea, while a never-performed ad is a different problem you should cut, not refresh.
For the kill decision itself, use a hard threshold rather than a judgment call, because judgment calls do not survive a busy week.
The rule I run: an ad past 1,000 impressions with an eCTR under 0.4% comes off. Above 1,000 impressions you have enough delivery to trust the number, and under 0.4% the ad is not driving landing-page traffic at any price worth paying.
Here is the discipline that almost nobody keeps, and it is where good accounts rot slowly.
Killing an ad is only half the move; you have to replace it, and the replacement has to hold your planned messaging ratio.
If the strategy called for eight ads split as two on analytics, three on onboarding, and three on AI agents and surveys, and you spend a quarter killing the analytics ads because they fatigued first, you now run an onboarding campaign that no longer reflects the strategy anyone signed off on.
Nobody decided that.
It just happened, one weekly swap at a time.
So every swap carries two constraints:
/abm-campaign-execution skill is the shortcut for the rebuild half. It takes the approved strategy and produces the campaign outline, the ad copy briefs against the right job-to-be-done per audience, and designed mockups, so a replacement variant is an afternoon rather than a weekly cycle.The most common creative misread is comparing a video’s 0.24% CTR to a Thought Leader Ad’s 2.68% and declaring the video broken.
Different formats do different jobs at wildly different baselines.
From the ZenABM 2026 benchmarks:
| Format | Median CTR | Median CPC |
|---|---|---|
| Thought Leader Ads | 2.68% | $2.29 |
| Single image | 0.42% | $13.23 |
| Carousel | 0.32% | $13.30 |
| Video | 0.24% | $15.61 |

The read is that TLAs win click efficiency by a wide margin (roughly 77% cheaper per landing-page click than single image in ZenABM data), while the other formats earn their keep on awareness and account-level reach.
So the benchmarking prompt flags the bottom 25% of each format against its own median, and treats a whole format underperforming its benchmark as a separate signal from an individual ad dragging its format down:
Group my ads by format. Within each format, rank by eCTR and eCPC and flag any ad in the bottom 25% of its own format. Compare each format’s median to these benchmarks: TLAs 2.68% CTR / $2.29 CPC, single image 0.42% / $13.23, carousel 0.32% / $13.30, video 0.24% / $15.61. Tell me which whole formats are below benchmark and which individual ads drag each format down.
On video specifically, run it as a hook audit: rank by view-through rate, then separate low view-through (weak hook, re-cut the first three seconds) from high view-through with low eCTR (weak CTA or offer, a different fix).
Tim Davidson, founder at B2B Rizz, is blunt about where the leverage sits once targeting is set:
“the messaging, the creative and the copy is the variable of success” Tim Davidson, Founder, B2B Rizz, on LinkedIn
This is the highest-return move in the playbook, because it is the one that recovers cash. LinkedIn accounts rarely break; they leak, in four places, each with its own prompt.
Run them in order and let the numbers drive the decisions.
Sorting by spend alone hides inefficiency because a high-spend ad set can still be efficient. Cross-reference spend against eCPC instead:
Audit my LinkedIn ad sets over the last 30 days. List spend, impressions, clicks, CTR, landing-page clicks, eCTR, and eCPC for each. Sort by eCPC descending. Flag any ad set whose eCPC is more than 2x the account median AND whose spend is in the top third. Show me the account median eCPC for reference.
I ran a similar prompt for our program at ZenABM:

On list-based campaigns a handful of large companies can absorb most of your delivery while the rest of the list sees almost nothing. This is the leak almost nobody checks and often the biggest:
List companies by total impressions served over 30 days, descending, with clicks, landing-page clicks, eCTR, and estimated spend. Flag any company that received more than 5% of total program impressions but sits below the program median eCTR. Those are eating budget without engaging, candidates to exclude or cap.

LinkedIn targeting bleeds into adjacent titles.
Adam Robinson, founder of RB2B, published his own persona breakdown where $819 on his sales persona produced zero conversions while his founder persona converted 12 times at $68.56 each.
That zero-conversion line is exactly what a blended dashboard buries.
The prompt is the persona audit from optimization 2, read for exclusions.
The creative-fatigue detection from optimization 3, read as spend: rank the declining ads by spend-during-decline, because that column is the wasted-spend number.
At typical B2B levels a single fatigued creative can quietly burn $500 to $800 a week as its CPC inflates.

One prompt turns four lists into a decision:
Add up the total monthly spend across everything flagged: overspending ad sets, impression-hog accounts, non-ICP job titles, and decaying ads. Give me one number for reclaimable monthly spend and the specific changes that produce it.
That single figure is what makes the audit worth running, and the full reading guide for each output lives in the 30-minute performance audit walkthrough.

The four prompts above are the manual version, and they are worth running by hand once so you understand what each leak looks like in your own account.
After that, /linkedin-abm-audit does the entire pass as a single diagnostic and adds the parts that are tedious to prompt for.
If you also want a settings-level check (tracking, bid strategy, Audience Network), the free Claude Ads skill runs 250+ checks across 12 ad platforms locally and hands you a weighted health score with a prioritized fix list.
The two pair well: Claude Ads tells you which settings are misconfigured, while /linkedin-abm-audit tells you which ads are reaching the wrong accounts.

An audit that stops at a list of problems is half the job.
The return comes from moving the reclaimed spend into what already works, and the mechanism has one non-obvious constraint: headroom.
Pouring budget into a saturated winner just drives up frequency and starts its fatigue clock, so you confirm capacity before you move money:
Show my best ad sets and ads by eCTR and eCPC over 30 days, with landing-page clicks and influenced pipeline. For each, tell me whether it has headroom (audience not saturated, frequency still healthy) or is already maxed out. Then build a reallocation plan: pair the reclaimable spend from the audit against the winners with headroom, and propose which ads to pause, which accounts to exclude or cap, and where the freed budget goes. Draft the status changes but do not apply anything until I confirm.
The agent drafts every pause through the write tools and executes nothing until you approve each change.
This is where the confirmation gate earns its keep: you review the plan, sign off on the moves that make sense, and only then does anything touch ad serving state.
Zena runs the identical loop from a chat box for operators who never open a terminal.

What separates either from a generic optimizer is that both act on who engaged, a company-level intent signal from your target list, which is why the agent can correctly recommend pausing an ad with a fine blended CTR that is only reaching the wrong companies.

Frequency fails in both directions, and most teams only guard the wrong one.
The direction everyone fears is over-delivery.
The direction that actually costs ABM programs is under-delivery to most of the list, while a few accounts hog the impressions, which is the impression-hog leak from the audit viewed as a delivery problem.
On the ceiling, the fear is mostly misplaced.
Maximillian Herczeg (ex-LinkedIn) argues from his client accounts that ads need 8 to 10 touchpoints a month to register, that most accounts he audits do not reach half of that, and his working floor in a 30-day window is a frequency of at least 6 for cold audiences and 8 for retargeting layers.
Under-frequency wastes budget as surely as fatigue does, because the impressions are too thin to build memory. The account-level fix runs in three steps:

This account-level control is precisely what member-level frequency caps in Campaign Manager cannot give you, because LinkedIn counts people and your program counts companies.
The program design behind these thresholds (personas, audience floors, stage-based retargeting) sits in the guide to running ABM on LinkedIn.
Every move above optimizes an input.
This one checks the output, and it is where the CRM join earns its place: because ZenABM matches ad-engaged companies to CRM deals, the agent answers the question leadership actually asks, which is whether the spend produced a pipeline.



The monthly prompt:
Compare my ABM program this month versus last: spend, influenced pipeline, deals opened, closed-won, and pipeline per dollar. Which campaigns were the most common touchpoints among companies with open deals, and among closed-won? Which deals closed with zero LinkedIn exposure (a targeting gap)? End with the three optimization moves you would make next month and the data behind each.
We ran a similar prompt a while ago:

Grade the answer against real baselines: the 2026 benchmarks put the median influenced pipeline at $5.21 per dollar spent, top performers at $15.20, and the median ROAS at 1.62x, so a program returning $3 per dollar has a diagnosis to run, not a win to celebrate.
This is also the loop that closes the reallocation: a budget move from optimization 5 shows up here, weeks later, graded in pipeline rather than CTR.
Since 2026, ZenABM covers multiple channels (LinkedIn, Google Ads, Reddit Ads, organic, and AI chatbot referrals), so LinkedIn competes for budget on equal footing rather than winning by being the only channel measured.

For a recurring artifact instead of a conversation, the free LinkedIn ABM Reporter plugin turns one /abm-report command into the weekly or monthly readout with period comparisons, auto-detected red flags, and stage moves.
The audit and the report answer different questions for different audiences, and conflating them is why so many monthly reviews land badly.
/linkedin-abm-audit is a to-do list for the operator: what is broken, fix it in this order. /linkedin-abm-report is the recap for the people who fund you, built on the same data, benchmarks, and math, covering the last full calendar month against the month before.
It reports total spend, pipeline and deals influenced, the best campaigns, formats, and individual ads, the companies engaging with your ads most, how each ad set performed against its format benchmark, and the month-over-month changes, then closes with recommendations and next steps.
Run it the Friday before your monthly review and the deck writes itself; more to the point, the exec question you can never answer on the spot (“which campaigns actually preceded the deals?”) is already answered in it, sourced.
This is the split that makes the whole loop survive contact with a real calendar.
The audit keeps the account honest weekly. The report keeps the budget defensible monthly.
Neither one is a job anybody should still be doing by hand.
Put together, this is not a one-time cleanup; it is a standing loop.
The cadence that keeps a LinkedIn ABM account from leaking:
/abm-strategy-planning to stress-test the revenue goal against the budget and set the ad count and format mix. Redo it when the budget or the goal changes, not weekly./abm-campaign-execution for the outline, briefs, and mockups, then the bidding decision (manual floor-finding on tight audiences, automated only where the pixel has signal) and a hold on judging any AI-bid campaign for its first 2 weeks./linkedin-abm-audit, or the four leak prompts by hand, then the reallocation to winners with headroom. Kill anything past 1,000 impressions under 0.4% eCTR, replace it, and hold the messaging ratio. Run it the same day each week so leaks never get a month to compound./linkedin-abm-report for the exec recap, plus the pipeline review against the benchmark baselines and the frequency-distribution check.Three things stay manual on purpose, and I would not automate them if I could.
Everything else in this playbook is automation you can have running this week; if you start with one move, start with the weekly wasted-spend audit, because the reclaimable number it produces is what convinces the rest of the team the whole layer is worth it.
The takeaway is not that AI replaced the demand-gen or ABM team.
It made the program more efficient and a great deal more data-driven, and the proof is in the shape of the team rather than the tooling: for instance, the same LinkedIn ABM motion that reached $900,000 in pipeline at Userpilot now runs on a much bigger budget with a smaller team, because the strategy math, the briefs, the benchmark grading, and the weekly fix list are all structured enough to hand to a skill.
So whether you are about to spend your first $5k or you are already past six figures, run /abm-strategy-planning to stress-test the goal, use /abm-campaign-execution to get the ads built, and let /linkedin-abm-audit and /linkedin-abm-report keep you honest every week and every month.
Grab them from the repo, point them at your own numbers, and skip the half-a-budget’s worth of mistakes we had to make first.
Also, you’ll have to have a ZenABM account to use these skills and run the prompts we discussed above – you can start now for free for 37 days or book a demo to know more.
AI LinkedIn ads optimization is using AI to improve campaign performance at two layers. LinkedIn’s native AI (Predictive Audiences, automated bidding) optimizes member-level delivery inside the auction. The account-level layer uses an AI agent connected to company-level engagement and CRM data to optimize what ABM actually cares about: which companies your ads reach, which to pause or cap, and where to move budget. The second layer runs outside Campaign Manager because LinkedIn’s own AI cannot see your target account list.
It can draft the pause, and the sound implementations require your approval before executing. Through the ZenABM MCP server, an agent identifies decaying ads and eCPC outliers, proposes the pauses through write tools like update_ad_status, and waits for confirmation on each change. Zena, ZenABM’s chatbot, runs the same loop in-app. Nothing changes ad serving state silently, which is the safety model that makes AI ad management trustworthy on a live account.
Use manual CPC with floor-finding on tight, list-based ABM audiences, where predictability beats the machine’s instinct to spend the whole budget by bidding you up. Reserve Maximum Delivery and cost cap for broader top-of-funnel audiences where the conversion pixel has enough signal to learn from. If you do switch to an automated strategy, hold for the full learning period, because LinkedIn’s predictive model needs 4 to 6 weeks of data to calibrate and is not bidding well in weeks 1 and 2.
eCPC is the effective cost per landing-page click: the real amount paid for each visitor who reached your page, rather than each like or comment. Campaign Manager blends clicks with social engagement, so spend can look fine on CTR while the true cost per visitor is terrible. Sorting ad sets by eCPC against the account median is the fastest way to surface inefficient spend, which is why every threshold in this playbook is expressed in eCTR and eCPC rather than blended CTR.
Yes. ZenABM publishes four free Claude skills at github.com/ZENABM/linkedin-abm-skills, one per job: /abm-strategy-planning sizes your revenue goal against your budget and real ad metrics, /abm-campaign-execution produces ad briefs and mockups, /linkedin-abm-audit runs the 30-day diagnostic with a prioritized fix list, and /linkedin-abm-report writes the monthly exec recap. Install all four in Claude Code with the plugin marketplace command, or upload the zips to Claude Desktop or the web app.
Weekly for the wasted-spend audit, decaying-ads check, and reallocation (about 30 minutes with an agent), and monthly for the pipeline-level review and format and frequency benchmarking. Weekly cadence matters because creative fatigue and impression-hog leaks compound quietly; catching a two-week eCTR decline instead of a six-week one is pure recovered budget. The full weekly sequence, prompt by prompt, is documented in the ZenABM performance audit walkthrough.
Want to run this playbook on your own account? A free 37-day ZenABM trial includes the MCP server, Zena, company-level engagement, eCTR and eCPC, and the full attribution layer, or book a demo and I will run the wasted-spend audit on your own data with you.