---
title: LinkedIn Ads connector tools
slug: agent-platform/docs/linkedin-ads-connector-tools
docTags: 
createdAt: 2026-08-12T15:37:10.000Z
---

The LinkedIn Ads connector tools in Agent Platform let you plan and measure your LinkedIn advertising campaigns directly within Mark, without switching between platforms. Use these tools to review campaigns, size and validate target audiences, get bid and budget guidance, forecast campaign delivery, discover similar targeting entities, report on performance, and review post engagement. All tools operate on LinkedIn Ads accounts that your connected LinkedIn account can access.

:::hint{type="success"}
**Beta**

The LinkedIn Ads connector tools are in beta.
:::

First, a [Mark administrator](docId\:pe0pbUJveWrG8ewvZWDRE) must [connect Mark with LinkedIn Ads](docId\:dqc4IHuAIgjMId5z1nbOa). After an administrator installs the connector in Optimizely Connect Platform (OCP), you can [log in to LinkedIn Ads](docId\:dqc4IHuAIgjMId5z1nbOa) from Mark to access your data. Administrators only need to install the LinkedIn Ads connection in OCP once.

## Connect Mark with LinkedIn Ads

### Install the Mark LinkedIn Ads Tool in OCP

In the OCP **App Directory**, complete the following:

1. Click the **Mark LinkedIn Ads Tool**.

   ![Screenshot of the OCP App Directory where LinkedIn is entered in the search field and Mark LinkedIn Ads Tools displays in the results](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/98KdzHu_Ffh-JEahZNimU_mark-connector-linkedin-app0.png)
2. Click **Install App**.

![Screenshot of the Mark LinkedIn Ads Tool app where Install App starts the installation](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/TgOWsDXCXPYr4hITItzIg_mark-connector-linkedin-install-app0.png)

### Add the LinkedIn Ads connector tools to Mark

After you [install the app in OCP](docId\:dqc4IHuAIgjMId5z1nbOa), complete the following steps to register it with your Mark instance. If your organization manages its own OAuth provider, see [Configure instance-level Mark OAuth](docId\:dqc4IHuAIgjMId5z1nbOa).

1. Select the **Settings** tab.
2. Expand **Add to Mark**.
3. Click **Add to Mark** for the **Mark Account** you want to add the LinkedIn Ads connector tools to.

![Screenshot of the Mark LinkedIn Ads Tool app where the Add to Mark section is expanded and Add to Mark is in the Actions column](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/xY5ixc1rHKOxQkN7MwNVH_mark-connector-linkedin-add-to-mark0.png)

Click **Remove from Mark** to remove the connection.

After you complete the steps in this section, each Mark user in your account can follow the steps in [Authenticate with LinkedIn Ads](docId\:dqc4IHuAIgjMId5z1nbOa) to connect their own LinkedIn Ads login.

### (Optional) Configure instance-level Mark OAuth

Configure this *only* if your organization manages its own OAuth provider. Most administrators can skip this section.

In the OCP **App Directory**, complete the following steps before [adding your connector tools to Mark](docId\:dqc4IHuAIgjMId5z1nbOa):

1. Go to the **Settings** tab of the LinkedIn Ads Mark tool.
2. Expand the **LinkedIn Authentication** section.
3. Toggle **Instance level Mark OAuth** on if you want to use a custom LinkedIn Ads authentication provider connection.
4. Enter your **LinkedIn Auth Provider ID**.
5. Click **Save**.

![Screenshot of the LinkedIn Authentication section where Save stores the settings](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/xaY-ec8WxGBm-Ueja6iY3_mark-connector-linkedin-save-authentication-settings0.png)

## Authenticate with LinkedIn Ads

After an administrator [connects Mark with LinkedIn Ads](docId\:dqc4IHuAIgjMId5z1nbOa), log in from Mark to access your data. The LinkedIn Ads connector tools use user-level authentication, so you can only access data you have permission to view in your LinkedIn account.

To authenticate, complete the following steps in Mark:

1. Go to **Connectors** and select **LinkedIn Ads** from the **Provider** drop-down list.
2. Click **Connect**.

   ![Screenshot of Connectors where the Provider drop-down list filters to LinkedIn Ads and the LinkedIn Ads card shows a Connect option](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/bCmEEMZ8jSqBjQBksPhyL_mark-connector-linkedin-connect0.png)
3. Log in to LinkedIn in the window Optimizely displays and click **Allow**.

![Screenshot of the LinkedIn sign-in window where you log in to LinkedIn to connect it to Optimizely](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/Y-btagjL76jRgFO7zRd1w_mark-connector-linkedin-sign-in0.png)

After you connect to LinkedIn Ads, the [LinkedIn Ads connector tools](docId\:dqc4IHuAIgjMId5z1nbOa) become available in [Mark chat](docId\:dtNBEttEGVvkhNkwNypLM), [agents](docId\:w7MSVijPnuFqu4nXDo_bq), and [workflows](docId:2HD0fUsIsfdek516VtN9l).

## LinkedIn Ads connector tools

After a Mark administrator [installs the Mark LinkedIn Ads Tool in OCP](docId\:dqc4IHuAIgjMId5z1nbOa) and you [authenticate with LinkedIn Ads](docId\:dqc4IHuAIgjMId5z1nbOa), call the following tools in Mark. Click a tool to expand it and learn when to use it, available parameters, and example prompts. If you do not provide a required parameter, Mark prompts you for it.

:::ExpandableHeading
### `linkedin_ads_forecast_campaign_delivery`

Forecast how a planned LinkedIn campaign would deliver (impressions, clicks, reach, and spend) for a target audience, budget, and future time window.

- **When to use**
  - Estimate the expected impressions, clicks, reach, and spend for a planned LinkedIn campaign before launching it.
  - Compare projected delivery across different budget levels or audience targeting options.
  - Validate whether a proposed campaign budget and targeting will produce meaningful reach for your goals.
  - Use a suggested bid from `linkedin_ads_get_bid_recommendations` as the competing bid input for a more accurate forecast.
- **Parameters**
  - `account` – Ad account URN or numeric ID, for example "urn🇱🇮sponsoredAccount:503123456" or "503123456".
  - `campaignType` – Ad format to forecast. Valid values: SPONSORED\_UPDATES, SPONSORED\_INMAILS, DYNAMIC.
  - `startDate` – Forecast window start, YYYY-MM-DD. Must be in the future. For example: "2026-08-01".
  - `endDate` – Forecast window end, YYYY-MM-DD. Must be after `startDate`. For example: "2026-08-31".
  - `included` – JSON object mapping targeting facet names to arrays of entity URNs. Facets are AND-ed, and values within a facet are OR-ed. Include at least one location facet. For example: "\{\\"locations\\":\[\\"urn🇱🇮geo:103644278\\"]}".
  - (Optional) `excluded` – JSON object of facets to exclude, same shape as `included`. For example: "\{\\"staffCountRanges\\":\[\\"urn🇱🇮staffCountRange:(10001,2147483647)\\"]}".
  - (Optional) `dailyBudget` – Daily budget in `currency` units. Provide either `dailyBudget` or `totalBudget`. For example: 300.
  - (Optional) `totalBudget` – Total lifetime budget in `currency` units. Provide either `totalBudget` or `dailyBudget`. For example: 5000.
  - (Optional) `bidType` – Competing (manual) bid model. Provide together with `bidAmount`. Valid values: CPM (per 1,000 impressions), CPC (per click), CPV (per view).
  - (Optional) `bidAmount` – Competing bid amount in `currency` units. Provide together with `bidType`. For example: 10.
  - (Optional) `currency` – Three-letter ISO 4217 currency code for budget and bid amounts. Must match the account currency. Default: USD.
- **Example prompts**
  - *Forecast what a $300 per day Sponsored Content campaign targeting IT decision makers in the US would deliver next month.*
  - *If I spend $5,000 total on Sponsored InMails targeting senior HR leaders in Germany from August 1 to August 31, what reach should I expect?*
  - *What impressions and clicks can I expect for a Sponsored Updates campaign in the UK with a $50 per day budget and a CPM bid of $12 from September 1 to September 30?*
:::

:::ExpandableHeading
### `linkedin_ads_get_ad_performance`

Get LinkedIn Ads performance metrics (impressions, clicks, cost, conversions) for one or more campaigns or ad accounts over a specified date range.

- **When to use**
  - Review daily, monthly, or total performance metrics for specific LinkedIn campaigns.
  - Get an account-level overview of impressions, clicks, cost, and conversions over a time window.
  - Analyze performance by creative to determine which ad content is most effective.
  - Compare campaign performance across multiple campaigns side by side.
- **Parameters**
  - `startDate` – Start of reporting window in YYYY-MM-DD (inclusive). For example: "2026-06-01".
  - `endDate` – End of reporting window in YYYY-MM-DD (inclusive). For example: "2026-06-30".
  - (Optional) `campaigns` – JSON array of campaign identifiers (URNs or numeric IDs). Provide either `campaigns` or `accounts`, not both. For example: "\[198765432, 198765433]".
  - (Optional) `accounts` – JSON array of ad account identifiers (URNs or numeric IDs). Provide either `accounts` or `campaigns`, not both. For example: "\[503123456]".
  - (Optional) `timeGranularity` – How results are aggregated over time. Valid values: DAILY (one row per day), MONTHLY (one row per month), ALL (one row for the entire window). Default: DAILY.
  - (Optional) `pivot` – Entity dimension each row represents. Valid values: CAMPAIGN, CREATIVE, ACCOUNT, CAMPAIGN\_GROUP. Default: CAMPAIGN.
- **Example prompts**
  - *Show me the daily performance for my LinkedIn campaigns 198765432 and 198765433 in June 2026.*
  - *What were the total impressions, clicks, and spend for my LinkedIn ad account in Q2 2026, aggregated monthly?*
  - *Give me a per-creative breakdown of performance across all campaigns in my account from January to June 2026.*
:::

:::ExpandableHeading
### `linkedin_ads_get_audience_size`

Estimate how many LinkedIn members match a set of targeting criteria, before building or launching a campaign.

- **When to use**
  - Validate that a target audience is large enough to run a LinkedIn campaign (minimum 300 members required).
  - Explore different targeting combinations to find the right audience size for your campaign.
  - Check the estimated active member count for a specific set of targeting facets before investing in a campaign.
  - Compare audience sizes across different industry, seniority, or geographic targeting options.
- **Parameters**
  - `included` – JSON object mapping targeting facet names to arrays of entity URNs to include. Facets are AND-ed, and values within a facet are OR-ed. Facet names can be short (for example "locations", "seniorities", "industries", "titles", "skills", "staffCountRanges") or full URNs ("urn🇱🇮adTargetingFacet\:locations"). Values must be entity URNs. For example: "\{\\"locations\\":\[\\"urn🇱🇮geo:103644278\\"],\\"seniorities\\":\[\\"urn🇱🇮seniority:7\\"]}".
  - (Optional) `excluded` – JSON object of facets to exclude, same shape as `included`. Members matching any excluded value are removed from the audience. For example: "\{\\"seniorities\\":\[\\"urn🇱🇮seniority:1\\"]}".
- **Example prompts**
  - *How many VPs are on LinkedIn in the United States?*
  - *Estimate the audience size for members in the Software industry in the US, excluding entry-level seniority.*
  - *Is my audience of marketing directors in the UK and Germany large enough to run a LinkedIn campaign?*
:::

:::ExpandableHeading
### `linkedin_ads_get_bid_recommendations`

Get LinkedIn suggested bid and budget guidance for a target audience, so you can bid competitively without guessing.

- **When to use**
  - Determine a competitive CPM, CPC, or CPV bid for a specific LinkedIn target audience.
  - Get daily budget guidance to help plan campaign spending.
  - Understand the allowable bid range before setting up a campaign.
  - Use the suggested bid as input to `linkedin_ads_forecast_campaign_delivery` for a more accurate delivery forecast.
- **Parameters**
  - `account` – Ad account URN or numeric ID, for example "urn🇱🇮sponsoredAccount:503123456" or "503123456".
  - `campaignType` – Ad format to price. Valid values: TEXT\_AD, SPONSORED\_UPDATES, SPONSORED\_INMAILS.
  - `bidType` – Bidding model. Valid values: CPM (per 1,000 impressions), CPC (per click), CPV (per view).
  - `included` – JSON object mapping targeting facet names to arrays of entity URNs. Facets are AND-ed, and values within a facet are OR-ed. For example: "\{\\"locations\\":\[\\"urn🇱🇮geo:103644278\\"]}".
  - (Optional) `excluded` – JSON object of facets to exclude, same shape as `included`. For example: "\{\\"seniorities\\":\[\\"urn🇱🇮seniority:1\\"]}".
  - (Optional) `dailyBudget` – Daily budget (in `currency` units) used to inform the suggested bid. For example: 300.
  - (Optional) `currency` – Three-letter ISO 4217 currency code for the returned amounts. Default: USD.
  - (Optional) `matchType` – Audience match type. Valid values: EXACT, AUDIENCE\_EXPANDED. Default: EXACT.
- **Example prompts**
  - *What is a competitive CPM bid for Sponsored Content targeting members in the United States?*
  - *Get me CPC bid recommendations for a Text Ad campaign targeting large companies (501–1000 employees) with a $300 daily budget.*
  - *What should I bid for Sponsored InMails targeting senior HR leaders in the US and Canada?*
:::

:::ExpandableHeading
### `linkedin_ads_get_creative_engagement`

Get engagement for a LinkedIn share or sponsored post, like count, comment count, and the actual comment text.

- **When to use**
  - Check how many likes and comments a specific LinkedIn sponsored post has received.
  - Read the actual comment text on a post to understand audience sentiment and reactions.
  - Identify which creative content is resonating most with your audience.
  - Audit engagement on your most-liked or most-commented posts.
- **Parameters**
  - `shareUrn` – URN of the share, activity, or `ugcPost` to inspect, for example "urn🇱🇮activity:6230438468758052864" or "urn🇱🇮share:123".
  - (Optional) `includeComments` – Whether to fetch comment text (not just the count). Default: true.
  - (Optional) `commentCount` – Maximum number of comment texts to return when `includeComments` is true. Default: 10.
- **Example prompts**
  - *How many likes and comments does my LinkedIn post* `urn:li:activity:6230438468758052864` *have?*
  - *Show me the top comments on my sponsored post* `urn:li:share:123456789`*.*
  - *Get the engagement counts for post* `urn:li:activity:7890123456` *without fetching the comment text.*
:::

:::ExpandableHeading
### `linkedin_ads_get_targeting_suggestions`

Discover LinkedIn targeting entities similar to ones you already use, to expand reach intelligently and surface targeting blind spots.

- **When to use**
  - Find industries similar to one you are already targeting to expand your campaign reach.
  - Discover employers or companies similar to a specific organization for competitive or lookalike targeting.
  - Explore related job titles, skills, or groups to broaden your audience without losing relevance.
  - Surface targeting blind spots by seeing what related entities you may have missed.
- **Parameters**
  - `facet` – Targeting facet to return suggestions for. Facet name (for example "industries", "employers", "titles", "skills") or full URN "urn🇱🇮adTargetingFacet:...".
  - `entities` – JSON array of seed entity URNs to find similar entities for. For example: "\[\\"urn🇱🇮organization:1003\\"]" or "\[\\"urn🇱🇮industry:12\\",\\"urn🇱🇮industry:4\\"]".
  - (Optional) `entityType` – Restrict results to a single entity type. Valid values: AGE, COMPANY, COMPANY\_SIZE, DEGREE, FIELD\_OF\_STUDY, FUNCTION, GENDER, GROUP, INDUSTRY, LOCALE, SCHOOL, SENIORITY, SKILL, TITLE, YEARS\_OF\_EXPERIENCE.
  - (Optional) `localeCountry` – Two-letter ISO 3166 country code for entity names. Default: US.
  - (Optional) `localeLanguage` – Two-letter ISO 639 language code for entity names. Default: en.
- **Example prompts**
  - *What industries are similar to Biotechnology on LinkedIn?*
  - *Find employers similar to* `urn:li:organization:1003` *for LinkedIn ad targeting.*
  - *Suggest job titles related to "Data Scientist" to expand my LinkedIn campaign targeting.*
:::

:::ExpandableHeading
### `linkedin_ads_list_ad_accounts`

List LinkedIn Ads accounts that the authenticated user can access.

- **When to use**
  - Discover your LinkedIn ad account URNs before calling any campaign, reporting, or audience tool.
  - Check which ad accounts you have access to and their current status.
  - Find the account URN needed as input for other LinkedIn Ads tools.
  - Verify whether a specific ad account is active, a sandbox, or in another state.
- **Parameters**
  - (Optional) `status` – Filter by account status. Valid values: ACTIVE, CANCELED, DRAFT, PENDING\_DELETION, REMOVED. Default: returns all accounts the user can access (no status filter).
- **Example prompts**
  - *List all my LinkedIn ad accounts.*
  - *Show me only my active LinkedIn ad accounts.*
  - *What LinkedIn Ads accounts do I have access to?*
:::

:::ExpandableHeading
### `linkedin_ads_list_campaigns`

List LinkedIn Ads campaigns under a specific ad account.

- **When to use**
  - Discover campaign URNs needed for reporting, forecasting, and creative tools.
  - Review all campaigns in an ad account, including their status, type, and budget.
  - Filter campaigns by status (for example active, paused, or archived) to focus on relevant ones.
  - Find campaigns scheduled to run during a specific date range.
- **Parameters**
  - `adAccount` – Ad account identifier. Preferred format: URN like "urn🇱🇮sponsoredAccount:503123456" (as returned by `linkedin_ads_list_ad_accounts`). Raw numeric ID like "503123456" is also accepted.
  - (Optional) `status` – Filter by campaign status. Pass one status or a comma-separated list to match any of them (for example "ACTIVE" or "ACTIVE,PAUSED"). Valid values: DRAFT, ACTIVE, PAUSED, ARCHIVED, COMPLETED, CANCELED, PENDING\_DELETION, REMOVED. Default: returns all campaigns in the account.
  - (Optional) `startDate` – Start of a date-range filter, YYYY-MM-DD (inclusive). When provided with `endDate`, only campaigns whose run schedule overlaps the range are returned. Must be paired with `endDate`.
  - (Optional) `endDate` – End of the date-range filter, YYYY-MM-DD (inclusive). Must be provided together with `startDate` and be on or after it.
- **Example prompts**
  - *List all campaigns in my LinkedIn ad account* `503123456`*.*
  - *Show me only the active and paused campaigns in my LinkedIn account.*
  - *Which LinkedIn campaigns were scheduled to run in June 2026?*
:::

:::hint{type="info"}
**Note**

If you use Opti ID, administrators can turn off generative AI in the Opti ID Admin Center. See [Turn generative AI off across Optimizely applications](docId\:X5U0kKD2azV5cIdNqwGNj).
:::
