From hopkin
Generate LinkedIn Ads performance reports and analytics using the Hopkin LinkedIn Ads MCP. Includes prerequisite checks, authentication flow, report generation workflows, demographic insights using LinkedIn's unique MEMBER_* pivots, and developer feedback for unsupported write operations.
How this skill is triggered — by the user, by Claude, or both
Slash command
/hopkin:hopkin-linkedin-adsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill enables Claude to build comprehensive reports and analyze LinkedIn Ads campaigns via the Hopkin LinkedIn Ads MCP. Use this skill to:
This skill enables Claude to build comprehensive reports and analyze LinkedIn Ads campaigns via the Hopkin LinkedIn Ads MCP. Use this skill to:
Check for linkedin_ads_ prefixed tools (e.g., linkedin_ads_check_auth_status). If none are found, the MCP is not configured.
Inform the user and provide setup instructions:
The Hopkin LinkedIn Ads MCP is not configured. To use this skill:
- Sign up at https://app.hopkin.ai
- Add the hosted MCP to your Claude configuration:
{ "mcpServers": { "hopkin-linkedin-ads": { "type": "url", "url": "https://linkedin.mcp.hopkin.ai/mcp", "headers": { "Authorization": "Bearer YOUR_HOPKIN_TOKEN" } } } }
- Restart Claude after updating configuration
Pause execution until the user confirms, then re-verify.
linkedin_ads_check_auth_status to verify authenticationNote: LinkedIn tokens have a 60-day TTL. If a previously-authenticated user gets auth errors, direct them to https://app.hopkin.ai to reconnect.
At session start, call linkedin_ads_get_preferences with entity_type: "ad_account" and entity_id: "default". If a default_account_id exists, use it automatically: "Using your saved account [X]. Use a different one? Let me know." Otherwise, look up the account ID.
123456789). Use linkedin_ads_list_ad_accounts to look up by company name.date_preset (e.g., LAST_30_DAYS) or start_date/end_date (YYYY-MM-DD)When linkedin_ads_list_ad_accounts returns multiple accounts, present them as a numbered list, ask the user to confirm, then offer to save the selection via linkedin_ads_store_preference (entity_type: "ad_account", entity_id: "default", key: "default_account_id").
| Meta | Notes | ||
|---|---|---|---|
| Ad Account | Ad Account | Customer | Flat — no MCC hierarchy |
| Campaign Group | Campaign | Campaign | Top-level org unit; holds budget and objective |
| Campaign | Ad Set | Ad Group | Targeting, bidding, scheduling |
| Creative | Ad | Ad | Headline, body, image, CTA |
No MCC equivalent — all accounts are accessible directly; no login_customer_id needed.
linkedin_ads_check_auth_status — Verify auth and get LinkedIn profile info; only call when another tool returns an auth errorlinkedin_ads_ping — Health checklinkedin_ads_list_ad_accounts — List accessible LinkedIn Sponsored Ad Accountslinkedin_ads_list_campaign_groups — List Campaign Groups (top-level org unit, analogous to Campaigns in Meta/Google)linkedin_ads_list_campaigns — List Campaigns (targeting/bidding level, analogous to Ad Sets in Meta)linkedin_ads_list_creatives — List Creatives (headline, body, image, CTA) for an account or campaignslinkedin_ads_get_performance_report — Recommended. Full-funnel report: impressions, clicks, spend, conversions, leads, CTR, CPC, CPA, ROAS, plus optional per-conversion breakdownlinkedin_ads_get_account_summary — Account-level summary; runs three parallel API calls (account details, metrics, conversion breakdown)linkedin_ads_get_insights — Flexible analytics; the only tool supporting LinkedIn's unique MEMBER_ demographic pivots*linkedin_ads_render_chart — MCP App. ALWAYS use this when the user asks for any chart, graph, map, or visualization. Do NOT substitute a table or text summary. Supports 6 types: bar (compare values across campaigns/placements), scatter (correlation between two metrics), timeseries (metrics over time), funnel (conversion stages), waterfall (cumulative contribution), choropleth (US state heatmap). Fetch the data first with insights or performance report tools, then pass the structured data here. This renders an interactive visual — it is the correct tool whenever a chart is explicitly requested.linkedin_ads_get_partner_conversions — List partner conversions (LinkedIn's term for "conversion actions"); call before interpreting conversion metrics or ROASlinkedin_ads_store_preference — Store a persistent preference for a LinkedIn Ads entitylinkedin_ads_get_preferences — Retrieve stored preferences for an entitylinkedin_ads_delete_preference — Delete a stored preference by keylinkedin_ads_render_chart — MCP App. Renders interactive data visualization charts. Supports bar, scatter, timeseries, funnel, waterfall, and choropleth chart types. Use after fetching data with analytics tools to present visual reports. Always render charts when presenting performance trends, campaign comparisons, or demographic data — do not substitute a table or text summary when a chart is requested.linkedin_ads_developer_feedback — Submit feature requests and workflow gap reportsNote: Every tool call requires a
reason(string) parameter for audit trail.
linkedin_ads_get_insights supports demographic pivots unavailable on Meta or Google:
MEMBER_ pivots only work with
linkedin_ads_get_insights* — notlinkedin_ads_get_performance_report.
After fetching report data, proactively render charts to make insights more accessible. Use linkedin_ads_render_chart to visualize data — always pair charts with a summary table and textual insights.
When to use each chart type:
Charts enhance the report — they don't replace the analysis. Always include written insights alongside visualizations.
The MCP is read-only. When a user requests write operations:
linkedin_ads_developer_feedback with feedback_type: "workflow_gap", a descriptive title, description of what was requested, and appropriate priorityAfter completing a task, if a faster path should have existed (e.g., multiple calls that could have been one), call linkedin_ads_developer_feedback with feedback_type: "new_tool" or "improvement". Submit feedback after delivering results — don't block the user's request.
If a user wants to suggest improvements or report issues, call linkedin_ads_developer_feedback on their behalf with the appropriate feedback_type and their feedback in description.
Analyze top-level campaign group performance, compare groups, and understand ROAS and conversion metrics by objective.
Primary tool: linkedin_ads_get_performance_report with pivots: ["CAMPAIGN_GROUP"]
See detailed workflow: references/workflows/campaign-performance.md
Analyze the professional audience by job function, seniority, industry, company size, and other LinkedIn-exclusive dimensions.
Primary tool: linkedin_ads_get_insights with a MEMBER_* pivot (e.g., MEMBER_JOB_FUNCTION, MEMBER_SENIORITY)
See detailed workflow: references/workflows/demographic-insights.md
Evaluate individual creative effectiveness — headlines, copy, CTR, and engagement.
Primary tools: linkedin_ads_list_creatives + linkedin_ads_get_performance_report with pivots: ["CREATIVE"]
See detailed workflow: references/workflows/creative-performance.md
linkedin_ads_list_ad_accounts if neededlinkedin_ads_list_campaign_groups to get budget config.campaign_group_id to drill into a group.campaign_ids to scope to a campaign.date_preset for convenience; start_date/end_date for custom rangesBefore interpreting conversion metrics or ROAS, call linkedin_ads_get_partner_conversions. LinkedIn calls these "partner conversions" — not "conversion actions."
LinkedIn account IDs are numeric only — strip any URN prefix before API calls:
123456789urn:li:sponsoredAccount:123456789Most Hopkin tools accept numeric IDs. linkedin_ads_list_creatives accepts both URN and numeric format for creative_id.
linkedin_ads_check_auth_status; if expired (60-day TTL), direct to https://app.hopkin.ailinkedin_ads_get_insightsSee references/troubleshooting.md for full guidance.
linkedin_ads_get_insightsSkill Version: 1.1 Last Updated: 2026-03-05 Requires: Hopkin LinkedIn Ads MCP (https://app.hopkin.ai)
npx claudepluginhub pearmill/hopkin-plugins --plugin hopkinCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.