Docs menu
Get started
What is Opus GrowthQuickstartAdd to your AIHow it worksSafety and approvalCreditsPlansFAQAI apps
All AI appsChatGPTClaudeGrokPerplexityClaude CodeCodexGemini CLIOpenClawCursorVS CodeWindsurfOther MCPConnect ad platforms
Google AdsMeta AdsLinkedIn AdsMicrosoft AdvertisingTikTok AdsChatGPT AdsAgencies and MCCConnect data sources
Search ConsoleGoogle AnalyticsYouTubeBusiness ProfileTag ManagerWebsites and SEO
AI ServerWordPressSEO IntelligenceClick fraudTool reference
All toolsGoogle AdsMeta AdsTikTok AdsLinkedIn AdsMicrosoft AdvertisingChatGPT AdsSearch ConsoleGoogle AnalyticsYouTubeBusiness ProfileTag ManagerWordPressAI ServerSEO IntelligenceClick fraudCross-channelAccount and billingLanguage
LinkedIn Performance Report
LinkedIn performance report.
- Type
- Reads only
- Credits
- 2
- Platform
- LinkedIn Ads
- Approval
- Not needed, nothing changes
What it does
LinkedIn performance report. pivot: CAMPAIGN | CREATIVE | CAMPAIGN_GROUP | ACCOUNT | MEMBER_JOB_TITLE | MEMBER_JOB_FUNCTION | MEMBER_INDUSTRY | MEMBER_SENIORITY | MEMBER_COMPANY_SIZE ... Up to THREE pivots at once, comma-separated (pivot='CAMPAIGN_GROUP,CAMPAIGN,CREATIVE') via LinkedIn's Statistics finder; combinable pivots are ACCOUNT, CAMPAIGN_GROUP, CAMPAIGN, CREATIVE, CONVERSION. Professional demographic pivots (MEMBER_*) work one at a time. campaign_ids = comma-separated campaign ids to narrow the report. start_date/end_date (YYYY-MM-DD) override days. Performance data is kept 10 years, professional demographic data 2 years (https://learn.microsoft.com/en-us/linkedin/marketing/integrations/ads-reporting/ads-reporting). time_granularity: ALL | DAILY | MONTHLY. fields: comma-separated metric list (empty = default set; up to 20). Demographic pivots have a 12-24h delay and privacy thresholds.
Each row carries `pivot_names` — the HUMAN-READABLE labels for `pivotValues`, resolved for you at EVERY level: campaign / ad set / campaign group / creative names as well as demographic labels. `pivot_names` holds the readable names for the URNs (such as urn:li:title:95); typeahead search only goes name→ID and cannot reverse them. Anything that genuinely could not be resolved remains as its raw URN in that row's `pivotValues` / `pivot_names`; `unresolved_pivot_urn_count` is the account-wide count.
With pivot=CREATIVE each row also carries `creative_content` (headline, description, landing_page, format), so for TEXT-BASED formats (textAd, spotlight, follow/jobs ads) you can correlate MESSAGING with performance directly, without a second call.
POST-BASED formats are the exception and in many accounts they are the MAJORITY of spend (Sponsored Content, Document Ads, Thought Leader Ads). There the copy lives in the referenced post, so by default `creative_content` carries `post_urn` + `post_permalink` and `ad_copy_status: "not_fetched"` instead of the text, which keeps the report fast. The copy IS retrievable: rank the rows first, then call `linkedin_ad_copy` with the top creative ids (or re-run with include_ad_previews=true) — it reads the real ad text from LinkedIn's PUBLIC Ad Library, plus `author_type` / `is_thought_leader_ad` (Thought Leader Ads) and `preview_url`. Each previewed creative costs about two extra LinkedIn requests. An internal creative name is not the ad text.
Rows also carry computed `ctr`, `engagement_rate`, `cpc`, `cpm` (ratios, not %); LinkedIn returns only raw counts. `pivotValues` is always requested even with a custom `fields` list (without it rows have no identity).
Every matching row is retained: `limit` controls only this transport response (0 = as many rows as safely fit). When `has_more` is true, call again with `page_token=next_page_token`; the remaining cached rows are returned without another LinkedIn request or credit.
MCP: linkedin_campaign_analytics
How to use it
You don't call tools by name. Write what you want in ChatGPT, Claude or another assistant connected to Opus Growth, in your own words; it picks this tool when it fits.
Parameters
| Name | Type | Required | Default | |
|---|---|---|---|---|
| account_id | string | Optional | · | Advertising account identifier to query or change. Use the exact ID returned by the relevant account-listing tool, not the display name. |
| days | integer | Optional | 30 | Number of calendar days to look back from now for this analysis or report. |
| pivot | string | Optional | CAMPAIGN | Exact pivot value for linkedin campaign analytics. Supply text in the provider's required format; when it selects an existing resource, use the exact identifier returned by the relevant list or search operation. |
| time_granularity | string | Optional | ALL | Exact time granularity value for linkedin campaign analytics. Supply text in the provider's required format; when it selects an existing resource, use the exact identifier returned by the relevant list or search operation. |
| fields | string | Optional | · | Structured field values for the selected form, entity, or provider request. |
| include_ad_previews | boolean | Optional | false | Whether to include ad previews in this operation's result or change. |
| start_date | string | Optional | · | Inclusive start date for the requested period, in the format required by this tool. |
| end_date | string | Optional | · | Inclusive end date for the requested period, in the format required by this tool. |
| campaign_ids | string | Optional | · | One or more exact campaign identifiers to target. Use identifiers returned by an Opus Growth list or create operation, not display names. |
| limit | integer | Optional | 0 | Maximum number of rows returned in this response. When the result has_more flag is true, continue with next_page_token rather than assuming the list is complete. |
| page_token | string | Optional | · | Continuation token returned as next_page_token by a previous call. Leave empty for the first page; pass it unchanged to retrieve the cached next page. |
Related tools
attach_linkedin_conversionConnect LinkedIn Adsconnect_linkedin_adsCreate LinkedIn Campaigncreate_linkedin_campaignCreate LinkedIn Campaign Groupcreate_linkedin_campaign_groupCreate LinkedIn Post Adcreate_linkedin_post_adCreate LinkedIn Text Adcreate_linkedin_text_adDelete LinkedIn Campaigndelete_linkedin_campaignDelete LinkedIn Campaign Groupdelete_linkedin_campaign_groupDelete LinkedIn Creativedelete_linkedin_creative