Connect LinkedIn Ads to Claude and Claude Code
Connect LinkedIn Ads to Claude through Adport to review B2B advertising campaigns and the evidence behind a proposed change. LinkedIn has its own campaign hierarchy and API access requirements. Start with the right ad account and a report at a supported level before comparing spend or website conversions.
Check Advertising API access first
For local use, you need a LinkedIn developer app associated with a real Company Page and approved for the Advertising API. Your authorized member must have the appropriate ad-account access. The connector's read/write setup uses rw_ads and r_ads_reporting; account discovery alone does not prove permission to retrieve a report.
Use the LinkedIn integration guide to prepare the grant. The local wizard imports an authorized token and checks account discovery. Access-only tokens require reauthorization when they expire. Keep them in the documented credential setup rather than in reusable prompts or client report files.
Add the LinkedIn connection to Claude Code
After installing Node.js 22.13 or newer, connect your own credentials and check the account list:
npm install -g adport
adport connect linkedin
adport doctor
adport accounts --provider linkedinclaude mcp add --transport stdio adport -- adport mcpOpen Claude Code and inspect the Adport server with /mcp. A successful MCP handshake confirms the process is reachable. Ask for the LinkedIn account inventory to verify the next layer: the advertiser grant and available account.
If LinkedIn is offered in your Cloud workspace, you can instead connect it there and authorize Claude against the selected Adport project:
claude mcp add --transport http --scope user adport https://app.adport.dev/mcpHosted availability depends on provider configuration and rollout. Use the shared MCP setup guide to choose the connection method and avoid confusing a local server with a hosted project grant.
Use campaigns, campaign groups, and creatives
LinkedIn does not have a native ad-group entity. Adport reports at account, campaign, and creative levels and lists campaign groups separately. A request for an ad-group report is rejected rather than silently relabeling campaigns as ad groups.
Ask Claude to inventory campaign groups and campaigns, including inactive campaigns, before investigating a client portfolio. Campaign creation requires selecting an existing group. A report grouped by campaign is useful for comparing delivery, but it is not a complete inventory of the creatives and forms needed for a launch.
Ask for a B2B campaign review with explicit outcomes
Use Adport to report LinkedIn campaign spend, impressions, clicks, and available website conversions for the last 30 completed days. Show the account, currency, period, and any truncation warning. Explain which conversion definition is available. Do not treat website conversions as qualified pipeline and make no campaign changes.
Decide what the business wants to measure before interpreting the result. Website conversions, submitted lead forms, qualified leads, opportunities, and closed revenue are different outcomes. The advertising report alone cannot establish the later CRM stages. If a funnel source is missing, ask for that gap to be stated.
LinkedIn reporting responses can reach a 15,000-element ceiling. Adport flags ceiling results as potentially truncated. Narrow the period or report scope when needed instead of presenting a partial response as the entire account.
Inspect budgets and request one preview
Check whether the campaign uses a daily or total budget and whether its group shares a dynamic budget. Ordinary campaign budget creation is not supported under a group with a shared dynamic budget in this connector. Keep the budget level visible when proposing a change.
Ask Claude to preview one supported operation for exact account and campaign IDs. Review the current amount, proposed amount, currency, and any policy adjustments. A matching pending operation and identical arguments are required for apply. After approval, fetch the campaign again and verify the platform state.
New campaigns are paused by policy and do not automatically include creatives or lead forms. The connector also requires explicit non-political confirmation for campaign creation and activation; a general request to improve performance is not that confirmation.
Separate an access failure from a performance issue
If accounts appear but reports fail, check reporting permissions and app approval before changing the prompt. If the report is empty, verify dates and campaign scope before concluding that a campaign never delivered. If writes fail, inspect member role, plan, account permissions, and the exact policy rejection.
LinkedIn separates Advertising API access, campaign management, and reporting documentation. See LinkedIn Ads MCP for the implemented surface. For search campaigns alongside B2B social, the Microsoft Ads and Claude guide explains a different reporting flow and comparison baseline.
Sources & further reading
Provider documentation for the setup and platform behavior described above.
- Claude Code: connect tools with MCPcode.claude.com
- LinkedIn Marketing API programlearn.microsoft.com