linkedin_ads_ create_ commentPost a comment on a post, or a reply on a comment, as the signed-in member or as the organization.
Build campaign groups, campaigns and ads, size an audience before you target it, pull performance and CRM-attributed revenue, and pick up Lead Gen form leads as they arrive.
PopMCPLinkedIn Ads
Every Marketing API call this server exposes — campaigns, creatives, targeting, audiences, conversions, analytics, leads — and the triggers it can watch.
linkedin_ads_ create_ commentPost a comment on a post, or a reply on a comment, as the signed-in member or as the organization.
linkedin_ads_ delete_ commentDelete a comment from a post — the moderation action for spam or abuse under a sponsored post.
linkedin_ads_ find_ organization_ access_ by_ memberList the LinkedIn Pages the signed-in member administers, and their role on each.
linkedin_ads_ find_ organization_ by_ vanity_ nameFind a LinkedIn Page by its vanity name — the slug in linkedin.com/company/<vanityName>.
linkedin_ads_ get_ meGet the signed-in LinkedIn member's own profile — id, name and headline.
linkedin_ads_ get_ organizationGet a LinkedIn Page (organization) by id: name, vanity name, website, industry, staff-count range, logo and description.
linkedin_ads_ get_ organization_ share_ statisticsORGANIC engagement for a Page's posts — impressions, clicks, likes, comments, shares and engagement rate, either aggregated or per post.
linkedin_ads_ list_ commentsList the comments on a post (or the replies on a comment).
linkedin_ads_ create_ creativeAttach an existing post to a campaign as an ad (a 'creative').
linkedin_ads_ create_ creative_ inlineCreate the post AND the ad in ONE call — the recommended way to build Sponsored Content, because it avoids the orphaned-dark-post problem where a post is created but the creative fails.
linkedin_ads_ create_ dynamic_ creativeCreate a creative on the ACCOUNT-LESS /creatives resource — the form LinkedIn documents for Text Ads, Spotlight Ads, Follower Ads, Dynamic Job Ads and VAST-tag Video Ads.
linkedin_ads_ find_ creativesFind ads (creatives) in the connected ad account, filtered by campaign, content reference, creative URN or intended status.
linkedin_ads_ get_ ad_ previewGet a renderable HTML preview iframe for an existing ad, exactly as a member would see it.
linkedin_ads_ get_ creativeGet one ad (creative) by URN: its campaign, content reference, intended and computed status, review status and any `servingHoldReasons` — which is where you find out that an ad was rejected in review rather than simply not delivering.
linkedin_ads_ update_ creativeChange an ad — most often to turn it on or off with {"intendedStatus":"ACTIVE"} or {"intendedStatus":"PAUSED"}.
linkedin_ads_ update_ dynamic_ creativeChange a Text, Spotlight, Follower, Jobs or VAST-tag video ad — copy, landing page, logo, or `intendedStatus` to pause and resume it.
linkedin_ads_ add_ dmp_ segment_ companiesAdd or remove companies in an account-list Matched Audience, by company name, website, email domain, stock symbol or LinkedIn organization URN.
linkedin_ads_ add_ dmp_ segment_ usersAdd or remove people in a contact-list Matched Audience by streaming hashed identifiers.
linkedin_ads_ associate_ campaign_ conversionAttach a conversion rule to a campaign so that campaign's conversions are attributed to it.
linkedin_ads_ create_ conversionCreate a conversion rule on the connected ad account — the definition of a valuable action (sign-up, purchase, demo request) that LinkedIn should attribute to ads.
linkedin_ads_ create_ dmp_ segmentCreate a Matched Audience (DMP segment) on the connected ad account — a list-upload audience of contacts or companies, or a container for engagement-retargeting rules.
linkedin_ads_ find_ ad_ segmentsList the ad segments available to the connected ad account, with their sizes and statuses.
linkedin_ads_ find_ conversionsList the conversion rules defined on the connected ad account.
linkedin_ads_ find_ dmp_ segmentsList the Matched Audiences on the connected ad account, with their sizes and statuses.
linkedin_ads_ find_ insight_ tag_ domainsList the website domains LinkedIn has seen the connected account's Insight Tag firing on, with their verification state — the quickest check that a pixel is actually installed.
linkedin_ads_ get_ dmp_ segmentGet one Matched Audience: its type, status, destination and — the field that matters — the matched audience COUNT, which tells you whether it is large enough to target yet.
linkedin_ads_ send_ conversion_ eventsSend server-side conversion events to LinkedIn (the Conversions API) so offline and CRM conversions can be attributed to ads without a browser pixel.
linkedin_ads_ get_ ab_ test_ resultsGet the RESULTS of an A/B test: per-treatment performance on the key metric, lift, and whether the difference is statistically significant.
linkedin_ads_ search_ ab_ testsSearch A/B tests on the connected ad account by campaign, campaign group, key metric or state.
linkedin_ads_ create_ postCreate a post.
linkedin_ads_ find_ images_ by_ ad_ accountBrowse the connected ad account's image media library, so an existing image can be reused instead of re-uploaded.
linkedin_ads_ find_ posts_ by_ ad_ accountList the Direct Sponsored Content (dark posts) created under the connected ad account — the posts that exist only as ads.
linkedin_ads_ get_ imageGet an image asset: its status (the upload must reach AVAILABLE before a post can use it), download URL and dimensions.
linkedin_ads_ get_ postGet one post by URN — its commentary, media, author, visibility and lifecycle state.
linkedin_ads_ get_ videoGet a video asset: transcoding status (must be AVAILABLE before a post can use it), duration, thumbnail and download URL.
linkedin_ads_ initialize_ image_ uploadStep 1 of adding an image to an ad: register the upload and get back an `uploadUrl` plus the new `urn:li:image:...` id.
linkedin_ads_ initialize_ video_ uploadStep 1 of adding a video to an ad: register the upload and get back the new `urn:li:video:...` id plus one or more PART upload URLs (LinkedIn videos upload in chunks).
linkedin_ads_ find_ saved_ audience_ templatesList the saved audience templates on the connected ad account.
linkedin_ads_ find_ targeting_ entitiesList the allowed VALUES of one targeting facet — e.g.
linkedin_ads_ list_ targeting_ facetsList every targeting FACET LinkedIn supports — locations, industries, seniorities, job titles, job functions, skills, employers, company sizes, member groups, interests, degrees, fields of study, years of experience, member behaviors, buyer groups and the rest — with each facet's URN and which entity type its values are.
linkedin_ads_ resolve_ targeting_ urnsTurn targeting URNs back into human names — the reverse lookup.
linkedin_ads_ typeahead_ targeting_ entitiesSearch a targeting facet by free text and get back the matching entity URNs — how you turn "San Francisco", "Software Engineer" or "Salesforce" into the URN targetingCriteria needs.
linkedin_ads_ find_ lead_ form_ responsesRetrieve the LEADS themselves — each submitted Lead Gen Form response with the member's answers.
linkedin_ads_ find_ lead_ formsList the Lead Gen Forms owned by the connected ad account (or by an organization).
linkedin_ads_ get_ account_ intelligenceCompany Intelligence for the connected ad account: which COMPANIES engaged with your ads over a lookback window, with engagement counts and firmographics.
linkedin_ads_ get_ ad_ analyticsTHE reporting tool: performance metrics for the connected ad account, grouped by ONE pivot and one time granularity.
linkedin_ads_ get_ ad_ budget_ pricingGet LinkedIn's suggested bid and the competitive bid range for a targeting audience BEFORE you create a campaign — the bid floor, the suggested bid and the low/high range for the chosen bid type and objective.
linkedin_ads_ get_ ad_ statisticsLike linkedin_ads_get_ad_analytics but grouped by UP TO THREE pivots at once — e.g.
linkedin_ads_ get_ ad_ supply_ forecastForecast the impressions, clicks and spend a proposed campaign would achieve for a given audience, budget, bid and flight — LinkedIn's media-planning estimate.
linkedin_ads_ get_ attributed_ revenue_ metricsCRM-attributed revenue for the connected ad account: revenue won, open and closed-won opportunities, win rate, average deal size, days to close and return on ad spend.
linkedin_ads_ get_ audience_ countGet the estimated size of a targeting audience.
linkedin_ads_ create_ campaignCreate a campaign inside a campaign group.
linkedin_ads_ create_ campaign_ groupCreate a campaign group in the connected ad account.
linkedin_ads_ get_ ad_ accountGet the LinkedIn ad account this connection is locked to: its name, type, status, CURRENCY, notified-on-* settings, the organization it bills to and its serving statuses.
linkedin_ads_ get_ campaignGet one campaign by id — budget, bid, schedule, status, objective, full targetingCriteria and `servingStatuses`.
linkedin_ads_ get_ campaign_ groupGet one campaign group by id: name, status, run schedule, total budget, objective and serving statuses.
linkedin_ads_ search_ campaign_ groupsSearch campaign groups in the connected ad account by id, name, status or test flag.
linkedin_ads_ search_ campaignsSearch campaigns in the connected ad account by id, campaign group, name, type, status or test flag.
linkedin_ads_ update_ campaignChange a campaign: pause or resume it ({"status":"PAUSED"} / {"status":"ACTIVE"}), change budget or bid, extend the schedule, or replace the targeting.
linkedin_ads_ update_ campaign_ groupChange a campaign group: rename it, move it between DRAFT/ACTIVE/PAUSED/ARCHIVED, extend its run schedule or adjust its total budget.
linkedin_ads_ find_ ad_ account_ usersList the people who have access to the connected ad account and the role each one holds.
linkedin_ads_ find_ my_ ad_ accountsList EVERY ad account the signed-in LinkedIn member can reach, with their role on each.
linkedin_ads_ batch_ get_ organizationsFetch several LinkedIn Pages by id in one call — the efficient way to name the organizations behind a set of campaigns.
linkedin_ads_ batch_ get_ social_ actionsGet like and comment summaries for several posts in one call.
linkedin_ads_ batch_ get_ social_ metadataGet social settings for several posts in one call.
linkedin_ads_ create_ eventCreate a LinkedIn Event on behalf of an organization — the object an Event Ad promotes.
linkedin_ads_ create_ event_ subscriptionSubscribe the developer application to push notifications about an organization's social actions, instead of polling.
linkedin_ads_ create_ likeLike a post or comment as the signed-in member or as the organization.
linkedin_ads_ create_ reactionReact to a post or comment as the signed-in member or the organization.
linkedin_ads_ delete_ event_ subscriptionCancel a social-action event subscription.
linkedin_ads_ delete_ likeRemove a like from a post or comment.
linkedin_ads_ delete_ reactionRemove an actor's reaction from a post or comment.
linkedin_ads_ find_ child_ organizationsList the showcase pages and child organizations under a parent LinkedIn Page.
linkedin_ads_ find_ event_ subscriptionsList the signed-in member's event subscriptions of a given type — the audit view of which webhooks are live.
linkedin_ads_ find_ events_ by_ organizerList the LinkedIn Events organized by a company — the way to find the event URN an Event Ad should point at.
linkedin_ads_ find_ leadgen_ events_ by_ organizerList a company's LinkedIn Events that have registration lead-gen forms enabled — the events whose registrations you can pull as leads.
linkedin_ads_ find_ organization_ access_ by_ organizationList everyone with a role on one LinkedIn Page — who can administer it and who may post Direct Sponsored Content.
linkedin_ads_ find_ organization_ authorizationsBatch-check several authorization actions for the signed-in member across organizations in one call.
linkedin_ads_ find_ organization_ notificationsPoll the brand-monitoring feed for a LinkedIn Page: new comments, mentions and shares involving the organization — the way to catch conversation on sponsored posts without watching each one.
linkedin_ads_ find_ reactionsList the reactions on a post or comment, with their types — a finer view than the raw like count.
linkedin_ads_ get_ brand_ page_ statisticsPage view analytics for a showcase (brand) page, the same shape as the organization page statistics.
linkedin_ads_ get_ commentGet one comment on a post.
linkedin_ads_ get_ eventGet a LinkedIn Event: its name, times, mode, organizer, registration settings and attendee counts.
linkedin_ads_ get_ event_ subscriptionGet one social-action event subscription and its status.
linkedin_ads_ get_ member_ follower_ countGet the signed-in member's own follower count.
linkedin_ads_ get_ member_ post_ analyticsCreator analytics for one of the signed-in member's own posts — impressions, reactions, comments and reshares over time.
linkedin_ads_ get_ member_ video_ analyticsCreator video analytics for one of the signed-in member's own video posts — plays, watch time and completion.
linkedin_ads_ get_ organization_ authorizationCheck whether a member is authorized to take a specific action on a LinkedIn Page (e.g.
linkedin_ads_ get_ organization_ follower_ statisticsFollower analytics for a LinkedIn Page — follower gains over time, and the lifetime follower breakdown by seniority, industry, function, company size, country and association.
linkedin_ads_ get_ organization_ network_ sizeGet an organization's follower count.
linkedin_ads_ get_ organization_ page_ statisticsPage view analytics for a LinkedIn Page: views and unique visitors by page section (overview, careers, jobs, life) and by visitor demographic.
linkedin_ads_ get_ reactionGet one actor's reaction on a post or comment, including the reaction type (LIKE, PRAISE, EMPATHY, INTEREST, APPRECIATION, ENTERTAINMENT).
linkedin_ads_ get_ social_ actionsGet the like and comment SUMMARY for a post or comment — total counts and whether the member has reacted.
linkedin_ads_ get_ social_ metadataGet a post's social SETTINGS — whether commenting and resharing are enabled, and the comment moderation state.
linkedin_ads_ list_ likesList the likes on a post or comment.
linkedin_ads_ lookup_ organizationsBatch-resolve organization ids to Page details through the Organization Lookup API, which accepts organization, organizationBrand and school ids together.
linkedin_ads_ set_ organization_ accessGrant or change a member's role on a LinkedIn Page — for example granting DIRECT_SPONSORED_CONTENT_POSTER so they can create dark posts for ads.
linkedin_ads_ update_ eventChange a LinkedIn Event — its name, description, times or registration settings.
linkedin_ads_ update_ social_ metadataChange a post's social settings — most usefully to disable commenting on a sponsored post that is attracting abuse.
linkedin_ads_ batch_ delete_ creativesDelete several ads in one call.
linkedin_ads_ batch_ delete_ dynamic_ creativesDelete several account-less creatives in one call.
linkedin_ads_ batch_ delete_ sponsored_ message_ contentsDelete several message nodes from a Sponsored Conversation.
linkedin_ads_ batch_ get_ conversation_ adsFetch several Sponsored Conversations by URN in one call.
linkedin_ads_ batch_ get_ creativesFetch several ads by URN in one call.
linkedin_ads_ batch_ get_ dynamic_ creativesFetch several account-less creatives by URN in one call.
linkedin_ads_ batch_ get_ inmail_ contentsFetch several Message Ad bodies by URN in one call.
linkedin_ads_ batch_ update_ creativesChange several ads in one call — e.g.
linkedin_ads_ batch_ update_ dynamic_ creativesChange several account-less creatives in one call.
linkedin_ads_ batch_ update_ sponsored_ message_ contentsChange several message nodes of a Sponsored Conversation in one call.
linkedin_ads_ create_ conversation_ adCreate a Sponsored Conversation — the branching message tree behind a Conversation Ad.
linkedin_ads_ create_ dynamic_ creative_ inlineCreate an account-less creative together with its inline content in one call — LinkedIn's documented path for Article Ads and other formats whose content is created alongside the ad.
linkedin_ads_ create_ inmail_ contentCreate the message body for a Message Ad (Sponsored InMail): sender, subject, body, call-to-action and optional lead-gen form.
linkedin_ads_ create_ live_ ad_ previewRender a preview of a creative that has NOT been saved yet — the way to show a draft ad to a human before committing it.
linkedin_ads_ create_ live_ ad_ preview_ inlineRender a preview of an unsaved creative AND its unsaved inline post together — the preview counterpart of linkedin_ads_create_creative_inline.
linkedin_ads_ create_ sponsored_ message_ contentAdd one message node to a Sponsored Conversation: its body copy and the reply buttons that branch to other nodes.
linkedin_ads_ delete_ creativeDelete an ad.
linkedin_ads_ delete_ dynamic_ creativeDelete a Text, Spotlight, Follower, Jobs or VAST-tag video ad.
linkedin_ads_ find_ dynamic_ creativesFind creatives on the account-less /creatives resource by campaign or intended status — the listing counterpart for Text, Spotlight, Follower, Jobs and VAST-tag video ads.
linkedin_ads_ get_ conversation_ adGet one Sponsored Conversation by URN, including the structure of its message tree.
linkedin_ads_ get_ dynamic_ creativeGet a creative from the account-less /creatives resource by URN (Text, Spotlight, Follower, Jobs and VAST-tag video ads).
linkedin_ads_ get_ inmail_ contentGet one Message Ad body by URN.
linkedin_ads_ get_ sponsored_ message_ contentGet one message node of a Sponsored Conversation.
linkedin_ads_ list_ sponsored_ message_ contentsList every message node in a Sponsored Conversation — the way to read the whole tree.
linkedin_ads_ send_ test_ inmailSend a test copy of a Message Ad to a named LinkedIn member so a human can check it in their real inbox before the campaign runs.
linkedin_ads_ update_ conversation_ adChange a Sponsored Conversation's name, sender or first message.
linkedin_ads_ update_ inmail_ contentChange a Message Ad body — subject, body copy, call to action or sender.
linkedin_ads_ update_ sponsored_ message_ contentChange one message node of a Sponsored Conversation — its copy or its reply buttons.
linkedin_ads_ batch_ associate_ campaign_ conversionsAttach conversion rules to campaigns in bulk — the efficient way to wire a new conversion rule to many campaigns.
linkedin_ads_ batch_ delete_ campaign_ conversionsDetach several conversion rules from campaigns in one call.
linkedin_ads_ batch_ delete_ dmp_ engagement_ rulesRemove several engagement-retargeting rules from a Matched Audience in one call.
linkedin_ads_ batch_ delete_ dmp_ segmentsDelete several Matched Audiences in one call.
linkedin_ads_ batch_ get_ campaign_ conversionsCheck several campaign-to-conversion associations in one call.
linkedin_ads_ batch_ get_ conversionsFetch several conversion rules by id in one call.
linkedin_ads_ batch_ get_ dmp_ segmentsFetch several Matched Audiences by id in one call.
linkedin_ads_ batch_ get_ insight_ tag_ domainsFetch several Insight Tag domain records in one call.
linkedin_ads_ batch_ update_ conversionsChange several conversion rules in one call — e.g.
linkedin_ads_ batch_ update_ insight_ tag_ domainsUpdate several Insight Tag domain records in one call.
linkedin_ads_ create_ ad_ page_ setCreate a website-retargeting page set: a named group of URL rules that defines which site visitors go into a retargeting audience.
linkedin_ads_ create_ dmp_ engagement_ ruleAdd an engagement-retargeting rule to a Matched Audience — 'people who watched 50% of this video ad', 'people who opened this lead form', 'people who visited this company page'.
linkedin_ads_ create_ dmp_ segment_ destinationAdd a destination to a Matched Audience, i.e.
linkedin_ads_ create_ dmp_ segment_ upload_ urlGet a signed URL for uploading a bulk audience list FILE.
linkedin_ads_ create_ insight_ tagCreate a LinkedIn Insight Tag for the connected ad account — the browser pixel behind website conversion tracking, retargeting and website demographics.
linkedin_ads_ create_ predictive_ audienceCreate a Predictive Audience from a seed Matched Audience: LinkedIn models people who resemble your seed and are likely to hit a business objective.
linkedin_ads_ create_ third_ party_ tracking_ tagAttach a third-party impression or click tracking tag (DoubleClick, Innovid, and similar verification vendors) to a creative.
linkedin_ads_ delete_ ad_ segment_ sourceDetach a page set from an ad segment.
linkedin_ads_ delete_ campaign_ conversionDetach a conversion rule from a campaign.
linkedin_ads_ delete_ campaign_ tracking_ parametersRemove all dynamic UTM tracking parameters from a campaign.
linkedin_ads_ delete_ dmp_ engagement_ ruleRemove an engagement-retargeting rule from a Matched Audience.
linkedin_ads_ delete_ dmp_ segmentDelete a Matched Audience.
linkedin_ads_ delete_ predictive_ audienceDelete a Predictive Audience.
linkedin_ads_ delete_ third_ party_ tracking_ tagRemove a third-party tracking tag from its creative.
linkedin_ads_ find_ campaign_ conversionsList which conversion rules are attached to the given campaigns — the way to audit whether a campaign is actually tracking anything.
linkedin_ads_ find_ insight_ tag_ permissionsList which other ad accounts have been granted access to the connected account's Insight Tag data.
linkedin_ads_ find_ insight_ tagsList the Insight Tags on the connected ad account.
linkedin_ads_ find_ third_ party_ tracking_ tagsList the third-party tracking tags attached to a creative.
linkedin_ads_ get_ ad_ segmentGet one ad segment — the targetable form of a Matched Audience, which is what a campaign's targetingCriteria actually references.
linkedin_ads_ get_ campaign_ conversionCheck whether one conversion rule is attached to one campaign.
linkedin_ads_ get_ campaign_ tracking_ parametersRead the dynamic UTM tracking parameters currently set on a campaign.
linkedin_ads_ get_ conversionGet one conversion rule: its type, attribution windows, whether it is enabled, and which campaigns it is attached to.
linkedin_ads_ get_ dmp_ engagement_ ruleGet one engagement-retargeting rule on a Matched Audience.
linkedin_ads_ get_ dmp_ engagement_ source_ typeGet one engagement source type and its metadata.
linkedin_ads_ get_ dmp_ engagement_ triggerGet one engagement trigger and its metadata.
linkedin_ads_ get_ dmp_ segment_ destinationGet one destination of a Matched Audience and its sync status.
linkedin_ads_ get_ insight_ tagGet one Insight Tag: its name, id and the domains it has been seen firing on.
linkedin_ads_ get_ insight_ tag_ domainGet the Insight Tag record for one domain on the connected account.
linkedin_ads_ get_ predictive_ audienceGet one Predictive Audience and its build status.
linkedin_ads_ get_ third_ party_ tracking_ tagGet one third-party tracking tag by id.
linkedin_ads_ grant_ insight_ tag_ accessShare the connected account's Insight Tag with another ad account, so that account can build retargeting audiences and track conversions from the same pixel.
linkedin_ads_ list_ dmp_ engagement_ rulesList the engagement-retargeting rules on a Matched Audience.
linkedin_ads_ list_ dmp_ engagement_ source_ typesList the engagement SOURCES you can retarget from — video ads, lead gen forms, company page, events, single image ads, message ads and so on.
linkedin_ads_ list_ dmp_ engagement_ triggersList the TRIGGERS valid for one engagement source — e.g.
linkedin_ads_ list_ dmp_ segment_ destinationsList every destination configured on a Matched Audience.
linkedin_ads_ list_ predictive_ audiencesList the Predictive Audiences built from a seed Matched Audience.
linkedin_ads_ revoke_ insight_ tag_ accessRevoke another ad account's access to the connected account's Insight Tag.
linkedin_ads_ set_ ad_ segment_ sourceAttach a website page set (or other source) to an ad segment, so visitors matching those rules build the retargeting audience.
linkedin_ads_ set_ campaign_ tracking_ parametersSet dynamic UTM tracking parameters on a campaign, so every click from it carries your analytics tags without editing each creative's landing page.
linkedin_ads_ update_ ad_ segmentChange an ad segment's name or status.
linkedin_ads_ update_ conversionChange a conversion rule — rename it, enable or disable it, change the attribution windows or its value.
linkedin_ads_ update_ dmp_ segmentRename a Matched Audience or change its description or access policy.
linkedin_ads_ update_ insight_ tagRename an Insight Tag or change the domains associated with it.
linkedin_ads_ update_ insight_ tag_ domainUpdate the Insight Tag settings for one domain on the connected account.
linkedin_ads_ update_ predictive_ audienceChange a Predictive Audience's name or target size.
linkedin_ads_ batch_ delete_ brand_ lift_ survey_ questionsRemove survey questions from a Brand Lift test.
linkedin_ads_ batch_ get_ ab_ testsFetch several A/B tests by id in one call.
linkedin_ads_ create_ ab_ testCreate an A/B test across campaigns: LinkedIn splits the audience between the treatment campaigns and measures a key metric, so results are causal rather than a before/after comparison.
linkedin_ads_ create_ brand_ lift_ survey_ questionsAdd the survey questions to a Brand Lift test — one question per key metric, with its answer options.
linkedin_ads_ create_ brand_ lift_ testCreate a Brand Lift test: LinkedIn surveys an exposed group and a control group to measure the campaign's effect on awareness, consideration or favourability — the measurement that click metrics cannot give.
linkedin_ads_ create_ media_ planCreate a saved media plan with a reach or impressions forecast, so a plan can be reviewed and reused before campaigns exist.
linkedin_ads_ delete_ ab_ testDelete an A/B test.
linkedin_ads_ delete_ brand_ lift_ testDelete a Brand Lift test and its survey configuration.
linkedin_ads_ find_ brand_ lift_ testsList the Brand Lift tests on the connected ad account, optionally filtered by scope or execution state.
linkedin_ads_ forecast_ media_ plan_ reachForecast reach and frequency for a proposed media plan across several audiences and budgets at once — the planning view that precedes building campaigns.
linkedin_ads_ get_ ab_ testGet one A/B test: its treatments, key metric, schedule and execution state.
linkedin_ads_ get_ brand_ lift_ benchmarksGet industry benchmark values for a Brand Lift test's metrics, so a measured lift can be judged against comparable campaigns rather than in isolation.
linkedin_ads_ get_ brand_ lift_ budget_ requirementFind out the minimum budget a Brand Lift test needs to reach significance for the chosen key metrics.
linkedin_ads_ get_ brand_ lift_ resultsGet Brand Lift RESULTS: the measured lift per key metric between the exposed and control groups, with confidence.
linkedin_ads_ get_ brand_ lift_ testGet one Brand Lift test: its scope, key metrics, schedule and execution state.
linkedin_ads_ get_ media_ planGet one saved media plan with its forecast.
linkedin_ads_ list_ brand_ lift_ survey_ questionsList the survey questions configured on a Brand Lift test.
linkedin_ads_ list_ media_ plansList the saved media plans on the connected ad account.
linkedin_ads_ search_ ab_ test_ resultsGet results for several A/B tests at once.
linkedin_ads_ update_ ab_ testChange an A/B test — rename it, adjust the schedule, or move `userIntendedState` between DRAFT, ACTIVE and ARCHIVED to start or stop it.
linkedin_ads_ update_ brand_ lift_ testChange or ACTIVATE a Brand Lift test — set `executionState` to start it once its survey questions are in place.
linkedin_ads_ validate_ ab_ testDry-run an A/B test definition and get back the problems (overlapping audiences, insufficient budget, incompatible objectives) WITHOUT creating anything.
linkedin_ads_ validate_ brand_ lift_ testDry-run a Brand Lift test definition and get back what is wrong with it, without creating anything.
linkedin_ads_ batch_ get_ documentsFetch several document assets by URN in one call.
linkedin_ads_ batch_ get_ imagesFetch several image assets by URN in one call.
linkedin_ads_ batch_ get_ postsFetch several posts by URN in one call — e.g.
linkedin_ads_ batch_ get_ videosFetch several video assets by URN in one call.
linkedin_ads_ complete_ asset_ multipart_ uploadFinish a multi-part upload on the legacy Vector Assets API, supplying the part ETags returned by each part PUT.
linkedin_ads_ delete_ postDelete a post.
linkedin_ads_ finalize_ video_ uploadStep 3 of a video upload: tell LinkedIn every part has been PUT, supplying the ETags the part uploads returned.
linkedin_ads_ find_ posts_ by_ authorList the posts published by an organization or member, newest first.
linkedin_ads_ find_ videos_ by_ ad_ accountBrowse the connected ad account's video media library to reuse an existing video.
linkedin_ads_ get_ assetGet a legacy Vector asset by id, including its media artifacts and processing status.
linkedin_ads_ get_ documentGet a document asset: its processing status and page count.
linkedin_ads_ initialize_ document_ uploadStep 1 of a Document Ad: register the PDF/PPT upload and get an uploadUrl plus the new `urn:li:document:...` id.
linkedin_ads_ register_ asset_ uploadRegister an upload on the legacy Vector Assets API and get an upload URL — still the documented path for a few asset types such as LinkedIn Event background images.
linkedin_ads_ update_ imageUpdate an image asset's media-library metadata, e.g.
linkedin_ads_ update_ postEdit a published post — its commentary, call-to-action label, landing page or ad context.
linkedin_ads_ update_ videoUpdate a video asset's media-library metadata within the ad account library.
linkedin_ads_ batch_ delete_ saved_ audience_ templatesDelete several saved audience templates in one call.
linkedin_ads_ create_ global_ publisher_ listRequest LinkedIn's global publisher list — the platform-wide inventory of sites and apps in the Audience Network — so it can be reviewed before choosing exclusions.
linkedin_ads_ create_ publisher_ restrictionRegister an uploaded allow-list or block-list file of websites and app-store URLs as a publisher restriction, for brand safety on the LinkedIn Audience Network.
linkedin_ads_ create_ publisher_ restrictions_ download_ urlGet a signed URL to download an existing publisher restriction file, to see which domains it contains.
linkedin_ads_ create_ publisher_ restrictions_ upload_ urlGet a signed URL to upload a publisher allow/block list file to.
linkedin_ads_ create_ saved_ audience_ templateSave a targeting definition as a reusable template on the connected ad account, so the same audience can be applied to future campaigns without rebuilding it.
linkedin_ads_ delete_ saved_ audience_ templateDelete a saved audience template.
linkedin_ads_ find_ publisher_ restrictionsList the publisher restriction files registered against the connected ad account.
linkedin_ads_ find_ similar_ targeting_ entitiesGiven entities you already target, get LinkedIn's suggestions for similar ones within the same facet — e.g.
linkedin_ads_ get_ publisher_ restrictionGet one publisher restriction file record: its name, type (allow or block) and processing status.
linkedin_ads_ get_ saved_ audience_ templateGet one saved audience template by id, including its full targetingCriteria — copy that straight into a campaign.
linkedin_ads_ list_ country_ groupsList LinkedIn's country groupings (the legacy geo vocabulary).
linkedin_ads_ typeahead_ geoSearch LinkedIn's Bing-backed geography by name and get geo URNs — the location vocabulary shared by ad targeting and organic post targeting.
linkedin_ads_ update_ saved_ audience_ templateChange a saved audience template's name, description or targeting.
linkedin_ads_ batch_ get_ lead_ form_ responsesFetch several submitted leads by response id in one call.
linkedin_ads_ batch_ get_ lead_ formsFetch several Lead Gen Forms by id in one call.
linkedin_ads_ create_ lead_ formCreate a Lead Gen Form — the in-platform form a member submits without leaving LinkedIn, pre-filled from their profile.
linkedin_ads_ create_ lead_ notification_ subscriptionSubscribe a webhook URL to new-lead notifications, so leads are pushed to you as they arrive instead of being polled.
linkedin_ads_ create_ lead_ notification_ urlRegister an HTTPS endpoint that LinkedIn may push lead notifications to.
linkedin_ads_ delete_ lead_ notification_ subscriptionCancel a lead-notification subscription.
linkedin_ads_ find_ lead_ notification_ subscriptionsList the lead-notification subscriptions on the connected ad account — the way to audit where your leads are being sent.
linkedin_ads_ get_ lead_ formGet one Lead Gen Form: its headline, questions, privacy policy, thank-you message and state.
linkedin_ads_ get_ lead_ form_ responseGet one submitted lead by its response id, with the member's answers.
linkedin_ads_ get_ lead_ notification_ subscriptionGet one lead-notification subscription: which forms it covers and where it delivers.
linkedin_ads_ update_ lead_ formChange a Lead Gen Form — its name, headline, description, thank-you message or state (e.g.
linkedin_ads_ get_ audience_ insightsProfile an audience: the industries, job functions, seniorities, company sizes, locations and interests over-represented in a matched audience or targeting definition, versus a benchmark.
linkedin_ads_ get_ video_ analyticsPer-video engagement for one post or video entity: time watched, views, viewers, and completion curve — the detail the campaign-level metrics do not carry.
linkedin_ads_ batch_ create_ ad_ accountsCreate several LinkedIn ad accounts in one call.
linkedin_ads_ batch_ create_ campaignsCreate several campaigns in the connected ad account in one call.
linkedin_ads_ batch_ delete_ campaign_ groupsDelete several DRAFT campaign groups in one call.
linkedin_ads_ batch_ get_ campaign_ groupsFetch several campaign groups by id in one call.
linkedin_ads_ batch_ get_ campaignsFetch several campaigns by id in one call.
linkedin_ads_ batch_ update_ campaign_ groupsChange several campaign groups in one call — e.g.
linkedin_ads_ batch_ update_ campaignsChange several campaigns in one call — the efficient way to pause or re-budget a set.
linkedin_ads_ create_ ad_ accountCreate a new LinkedIn ad account.
linkedin_ads_ delete_ ad_ accountDELETE the connected ad account.
linkedin_ads_ delete_ campaignDelete a DRAFT campaign.
linkedin_ads_ delete_ campaign_ groupDelete a DRAFT campaign group.
linkedin_ads_ get_ ad_ account_ trust_ preferencesRead the connected account's brand-safety trust preferences: which publisher-restriction file (allow list or block list) is applied to LinkedIn Audience Network delivery, and whether the LinkedIn global publisher block list is in force.
linkedin_ads_ search_ ad_ accountsSearch the ad accounts this login can reach, by id, name, status, type or test flag.
linkedin_ads_ update_ ad_ accountUpdate the connected ad account's editable settings — `name`, `status` (ACTIVE, DRAFT, CANCELED), `notifiedOnCreativeApproval`, `notifiedOnEndOfCampaign`, `notifiedOnCampaignOptimization`, `notifiedOnCreativeRejection`.
linkedin_ads_ update_ ad_ account_ trust_ preferencesReplace the connected account's brand-safety trust preferences.
linkedin_ads_ check_ create_ share_ authorizationCheck whether the signed-in member may create sponsored (dark) posts on behalf of an organization through this ad account — the permission a Video Ad or any Direct Sponsored Content build depends on.
linkedin_ads_ create_ ad_ account_ userGrant a LinkedIn member access to the connected ad account with a role.
linkedin_ads_ delete_ ad_ account_ userRevoke a member's access to the connected ad account.
linkedin_ads_ get_ ad_ account_ userGet one person's access record on the connected ad account: their role and whether the grant is active.
linkedin_ads_ update_ ad_ account_ userChange an existing user's role on the connected ad account.
Authorize once, then an endpoint your client signs into. Nothing to deploy, and nothing to install on the LinkedIn Ads side.
Create an app at linkedin.com/developers, request the Advertising API, add the callback URL to its Authorized redirect URLs, paste the Client ID and Client Secret, then authorize in your browser and pick ad accounts.
86xxxxxxxxxxxx••••••••••••3f7aleave blank to request everything this connector supportsRead-only limits it to reporting and audience checks. On full access, require approval for writes so no creative goes ACTIVE and no hashed contact list is uploaded without review. Toggle the full catalog when needed.
Drop the PopMCP URL into Claude, ChatGPT, Codex or any other supported client. It signs in through PopMCP with OAuth, so your LinkedIn Ads credential never leaves the server.
app.popmcp.com/mcp/…Ask for something harmless before you turn writes on. Once it comes back clean, widen the tool set or switch the connection to full access.
Show me the A/B test results for the demo-request campaigns
linkedin_ads_search_ab_testsok
Then just ask for the work
“Show me the A/B test results for the demo-request campaigns”
“Pause every ad in the Q3 retargeting campaign before Friday”
“Launch a sponsored post ad for the new pricing page using our hero image”
“Check whether our contact list audience is big enough to target and the Insight Tag is firing”
One hosted endpoint, registered once per client. The same tools and the same permissions, whichever window the request comes from.
Add the PopMCP URL under Settings → Connectors and the tools appear in every chat.
The same endpoint, registered in the browser. Nothing to install on the machine you are working from.
Register PopMCP as a custom connector, then let ChatGPT read and update the account.
Wire the endpoint into Codex or the Codex CLI when a task needs live business context, not a fixture.
Register the remote MCP server in OpenCode's config for terminal-first and scripted agent runs.
Add PopMCP as an MCP server in Z.ai's desktop app and work the account from the same window.
FAQ
What teams ask before putting LinkedIn Ads behind an AI client.
Yes. Create an app at linkedin.com/developers, request the Advertising API product, add the callback URL PopMCP shows you to that app's Authorized redirect URLs, then paste the Client ID and Client Secret into the connect form. The authorization itself happens in your browser, so your LinkedIn password is never shared with us. There is also an optional Permissions field, which you can leave blank. After you authorize, you choose which ad accounts to connect and which workspace each one belongs in.
268 operations across 13 API modules — 149 reads and 119 writes. The 62 most-used tools load into your AI client by default and the rest stay searchable, so a long tool list doesn't crowd out your context. The heaviest modules are Organizations, Creatives, Audiences and Conversions, with Experiments, Content, Targeting and Leads behind them.
That is one of the better reasons to wire this up. find_creatives narrows to a campaign or intended status, and get_creative returns the computed status, the review status and any servingHoldReasons — which is where you learn an ad was rejected in review rather than simply under-delivering. get_ad_preview renders the ad in an HTML iframe exactly as a member would see it. A Creative rejected trigger also fires when an ad is knocked back in review and stops serving.
Uploads are a two-step handshake. initialize_image_upload registers the upload and hands back an uploadUrl plus the new urn:li:image id; initialize_video_upload does the same for video and returns one or more PART upload URLs, because LinkedIn videos upload in chunks. Poll get_image or get_video until the asset reaches AVAILABLE — a post cannot reference it before then. Then create_creative_inline builds the post and the ad in one call, which is what keeps a failed creative from leaving an orphaned dark post behind.
create_dmp_segment sets up a Matched Audience, then add_dmp_segment_users streams hashed contact identifiers or add_dmp_segment_companies adds firms by name, website, email domain, stock symbol or organization URN. get_dmp_segment returns the matched count, which is how you find out whether a list is large enough to target yet. On the conversion side, create_conversion defines the rule, associate_campaign_conversion attaches it to a campaign, and send_conversion_events pushes offline and CRM conversions server-side without a browser pixel. find_insight_tag_domains is the fastest check that your Insight Tag is actually firing on a domain.
Yes. The Leads module retrieves Lead Gen form leads, and two webhook triggers deliver them as they land: Ad lead received for submissions on sponsored campaigns, and Page lead received for lead forms on organic company page content. A Lead form published trigger fires when a new lead gen form is created for the ad account. That means an agent can act on a lead when it arrives instead of on a polling schedule.
No. PopMCP hosts it and gives you a Streamable HTTP MCP URL. There is nothing to deploy, no callback URL to register, and no infrastructure to keep running or patch.
Any client that supports a remote Streamable HTTP MCP server — Claude Desktop, Claude Web, ChatGPT custom connectors, Codex and the Codex CLI, OpenCode and Z.ai's ZCode, as well as editors such as Cursor, Windsurf and Zed. Your client signs in to PopMCP with OAuth; the provider credential never leaves the server.
Loading 268 tool definitions into every conversation burns context before the work starts. PopMCP loads a curated 62-tool set covering the everyday workflows and keeps the rest searchable, so your AI pulls a specialist tool only when a task needs it. You can switch a connection to the full catalog at any time.
A tool is something your AI calls — there are 268 here. A trigger is something PopMCP watches for you: 19 LinkedIn Ads events that can start work on the PopMCP side. Triggers never enter your AI client's context, and none of them ask you to paste a callback URL into LinkedIn Ads.
Launch a hosted MCP endpoint for LinkedIn Ads, keep tool access under control, and start testing real workflow prompts right away.