LinkedIn campaign (ad set) performance
linkedin_get_campaign_performance🟢 READ-ONLY — runs immediately, changes nothing. Cost: free (not counted against tasks).
Reports spend, impressions, clicks, CTR, CPC, CPM, leads, cost per lead and website conversions for a window, per campaign (an ad set in Campaign Manager) and in total, next to the equally long window before it so every number has a baseline. Use when: the user asks how LinkedIn is doing, before recommending any budget or bid change, and to decide which campaign is worth more money. Start here, not with a list tool. Do not use it for a brief or a report to keep or forward: that is generate_report_now (monitoring router), which covers every connected account and saves a page. Do not judge a LinkedIn campaign on a day or two: at typical B2B volumes a single day is noise, and LinkedIn's cost per lead is an order of magnitude above other channels by design. Use last_7_days at minimum, last_30_days for a decision about money. Do not read a rise in CPC as failure on its own — on LinkedIn it usually means the auction got busier, and the number that matters is cost per lead. Returns account totals with period-over-period change, plus a per-campaign table sorted by spend. LinkedIn ad accounts carry no reporting timezone, so every window here is UTC days. If the user has not said which window, use last_30_days and say so. If a campaign shows spend but zero leads, check linkedin_list_conversions before concluding the ads are bad — an unattached conversion rule reports nothing.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum rows to return (default 100). | |
| end_date | No | Last day, YYYY-MM-DD, inclusive. Needs start_date. | |
| raw_data | No | Return compact JSON only (no markdown). Use when you will compute on the result. | |
| date_range | No | Preset window. The "last N days" ones end yesterday, so no partial day is mixed in. Either this or start_date + end_date, never both. | |
| start_date | No | First day, YYYY-MM-DD. Needs end_date. | |
| campaign_ids | No | Limit the report to these campaigns. Omit for the whole account. | |
| ad_account_id | No | LinkedIn ad account id — the numeric id from Campaign Manager, as a string ("506699162"). Omit it to use the primary account; pass it when the user manages several. | |
| compare_previous | No | Include the previous equally long period for comparison (default true). | |
| campaign_group_id | No | Limit the report to one campaign group. LinkedIn ids are numeric strings; a full urn:li:… value is also accepted. |