# LinkedIn Ads reporting from your terminal.

Adwarp is an open-source MCP server and CLI that pulls LinkedIn Ads performance at any level, from the whole account to a single ad. Ask in plain words or run 1 command for spend, click-through rate and cost per conversion, with no dashboard to build.

## What you can ask.

Real requests, answered from your terminal.

### How did retargeting do last month vs the month before?

```text
> How did retargeting do last month vs the month before?
adwarp.performance_trend group "Retargeting", monthly: 2 months
click-through rate 0.38% to 0.57%, +50%
Impressions, clicks, spend and conversions, each with its change
Click-through rate up by half. Want it by ad to see what drove it?
```

### When do the ABM ads end, and how much have we spent?

```text
> When do the ABM ads end, and how much have we spent?
adwarp.list_campaigns group "ABM 1:1": 13 active
adwarp.get_performance 13 ad sets, since launch: 13 rows
All end Oct 24, 6 days left
64% of the flight budget spent, on pace
```

### How much are we going to spend on LinkedIn this month?

```text
> How much are we going to spend on LinkedIn this month?
adwarp.performance_summary month to date: 18 of 31 days
Projected month end: 96% of the cap at the current run rate
On pace. No budget changes needed.
```

### Send me the weekly report every Monday at 9am.

```text
> Send me the weekly report every Monday at 9am.
adwarp.get_performance ads, last 7 days: 14 ads
adwarp.get_performance ads, the 7 days before: 14 ads
Movers, flags and up to 3 actions, in the same shape every week
Scheduled for Mondays at 9am, starting next week.
```

## How it works.

1. Ask. Ask in plain words, or run npx adwarp report summary from your terminal.
2. Pick the level. The whole account, a campaign group, an ad group or a single ad, for any period you name.
3. Compare. Weekly and monthly trends come back with the change from the period before, so the movers stand out.

## Why it gets better results.

### You check more often

Performance is 1 question away, so it gets asked daily instead of monthly.

### Problems surface in days

A weak ad shows up in this week's numbers instead of the month-end export.

### The report always arrives

A schedule sends the weekly report whether or not anyone remembers.

## Questions, answered.

### Can it compare 2 periods?

Yes. performance_trend returns weekly or monthly numbers with the change from the period before, and you can ask for any 2 date ranges in plain words.

### Does it replace a dashboard tool?

For the questions you ask every week, it can: you ask in your terminal instead of building a view. If your team wants shared charts, keep the dashboard and use Adwarp for the quick reads.

### Which metrics can I get?

Impressions, clicks, spend and conversions, plus the rates and costs built on them, from the whole account down to a single ad.

| Part | Options |
| --- | --- |
| Metrics | Impressions, clicks, spend, conversions, click-through rate, cost per click, cost per 1,000 impressions, cost per lead, conversion rate and cost per conversion |
| Levels | Account, campaign group, ad group and ad |
| Periods | Last 7, 30 or 90 days, month to date, last month, or any 2 dates |
| Trends | Weekly or monthly, with the change from the period before |

### Can I schedule a weekly report?

Yes. Adwarp has no scheduler of its own, so use cron with the CLI or a scheduled agent in your AI client.

crontab:

```text
0 9 * * 1  npx adwarp report summary -p last_7_days
```

Scheduled agent prompt:

```text
Every Monday at 9am, pull last week's performance summary,
compare it to the week before, and flag anything that moved
more than 20%.
```

### What does the weekly report look like?

Last 7 days against the 7 before, the biggest movers, health flags and up to 3 actions.

weekly-report.txt:

```text
LinkedIn ads, <start> to <end>
Spend <x> (+y%) | Leads <n> (+y%)
Cost per lead <x> (+y%) | Click-through rate <x>% (+y%)

Up:    up to 3 that moved 20% or more, on 1,000+ impressions both weeks
Down:  up to 3 that moved 20% or more, on 1,000+ impressions both weeks
New:   ads and ad groups launched, and changes journaled
Flags: zero delivery, audiences under 300 members, tired creative

Do this week:
1. <an action tied to a number above>
2. ...
3. ...
```

### Which tools and commands does it use?

4 MCP tools and 3 CLI commands, with what each one does.

| Tool | What it does |
| --- | --- |
| `performance_summary` | Account rollup with top and bottom performers and flags |
| `get_performance` | Metrics for every campaign group, ad group or ad |
| `performance_trend` | Weekly or monthly trend with the change from the period before |
| `list_campaigns` | Status and end dates, drafts included |

CLI:

```bash
npx adwarp report summary -p last_7_days
npx adwarp report perf creative -p last_30_days
npx adwarp report trend campaign_group <id> -b monthly
```

### What are the limits?

3 things to know before you start.

- LinkedIn shares no person-level ad data, so reports go down to the ad, never the person.
- Conversions only show when conversion tracking is set up.
- Reports only list ad groups and ads with spend. To see drafts, use list_campaigns.

## Related

- [Optimization](https://adwarp.dev/linkedin-ads/optimization): Act on what the numbers show
- [Campaigns](https://adwarp.dev/linkedin-ads/campaigns): Draft from a brief
- [LinkedIn Ads](https://adwarp.dev/linkedin-ads): Everything it does on LinkedIn

Unofficial. Not affiliated with or endorsed by LinkedIn or Google.

Canonical page: https://adwarp.dev/linkedin-ads/reporting
Last updated: 2026-10-18
