> ## Documentation Index
> Fetch the complete documentation index at: https://docs.consile.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect LinkedIn Ads

> Log in with LinkedIn and approve the Consile app. The access is renewed automatically and can be revoked. Read + guardrailed write.

*[Læs siden på dansk](https://docs.consile.ai/connect/forbind-linkedin-ads.md)*

You connect LinkedIn Ads by logging in with LinkedIn and approving the Consile app
for your ad accounts. The result is an access token that Consile stores encrypted
per customer. Your AI never sees the token itself.

> [!NOTE]
>
> LinkedIn Ads must be bought in the [portal](https://app.consile.ai) or be
> included in your plan ([the free edition](https://docs.consile.ai/en/portal/free-edition.md) or
> [the Consile Studio membership](https://docs.consile.ai/en/portal/membership.md)), and your AI must be
> connected ([Claude](https://docs.consile.ai/en/connect/connect-claude.md) or
> [ChatGPT](https://docs.consile.ai/en/connect/connect-chatgpt.md)). You must be able to log in with the
> LinkedIn user that has access to the ad accounts (Campaign Manager) you want to
> connect. The connection gives access to all the ad accounts that LinkedIn user
> has access to. Anyone on the team can connect an agreement that is not connected
> yet. Only an administrator can reconnect it or disconnect it. If some accounts
> are under another LinkedIn user, or each ad account should have its own
> connection, see
> [Multiple LinkedIn logins and ad accounts](#multiple-linkedin-logins-and-ad-accounts).

> [!NOTE]
>
> Unlike our pure data connectors, LinkedIn Ads can both read your ad data and
> (behind safety barriers) create and manage campaigns. See
> [Actions & guardrails](https://docs.consile.ai/en/essentials/actions-and-guardrails.md) before you start
> using the write functions.

## How to connect

**1. Open the connector in the portal**

Open LinkedIn Ads in the portal. Click **Connect now** at the top of the page,
or **Connect** next to the agreement on the **Connections** card. The portal
calls each connection to the system an agreement. If you have not accepted
Consile's current terms yet, the dialog starts with the **Terms** step: check
the box and click **Accept and continue**. The dialog then shows the three
permissions Consile asks for. Click **Authorise access**, and you are sent to
LinkedIn's login and approval page.

**2. Log in with LinkedIn**

Log in with the LinkedIn user that manages your ad accounts. Choose the right
user if you have several. The access follows the user you approve with, and
only reaches the accounts that user has access to.

**3. Approve the Consile app**

LinkedIn shows what the Consile app is asking for access to. Confirm to
continue. You are then sent back to the portal automatically.

> [!TIP]
>
> The portal shows **LinkedIn Ads is connected**, and the agreement shows as
> **Connected**. Your AI can now read your ad data and manage campaigns under
> guardrails.

**4. Lock the connection to one ad account (optional)**

The page also shows *The key reaches several companies. Choose the one this
connection should be locked to, and every call keeps to it.* If you want your
AI to work in only one ad account on this agreement, click **Choose
company**. Choose the account under *Choose ad account*, and click **Lock to
this company**. This requires an administrator.

If you do not want to lock, click **Go to connector**. Your AI then chooses
the account per request. See
[Lock a connection to one company](https://docs.consile.ai/en/portal/company-lock.md).

If something goes wrong along the way, the portal shows **Connection was not
completed**. Click **Try again** to get back to the LinkedIn Ads page, and start
over with **Connect now** or **Connect**.

## What exactly am I approving?

In one approval step, Consile asks for the set of permissions (*scopes*) that the
connector's ad functions use:

| Scope | What it is used for |
| - | - |
| `r_ads` | Reading the setup on your ad accounts: accounts, users, campaign groups, campaigns, ads (creatives), targeting, audience sizes, budget pricing and forecasts, conversion rules, Insight Tag and the structure of lead forms |
| `r_ads_reporting` | Reporting: ad analytics, statistics, demographics and attributed revenue (ROAS) |
| `rw_ads` | Creating and managing campaign groups and campaigns, changing the status of ads and handling conversion rules (behind guardrails) |

> **Read + manage behind guardrails**
>
> The connector can read your ad data and manage campaigns. New campaigns and
> campaign groups are created as drafts (`DRAFT`) by default, and activation,
> changing a budget or bid, and archiving require your confirmation; otherwise
> you only get a preview.

> **Access per account**
>
> The approval applies to the ad accounts the chosen LinkedIn user has access
> to. Your AI chooses the right account per request, unless the connection is
> locked to one ad account.

> **Encrypted per customer**
>
> The token is stored encrypted with a key that applies only to your own
> account, and is never logged.

> **Your AI never sees it**
>
> Your AI is never given the token itself, only answers to your questions.

## Write functions and guardrails

LinkedIn Ads has 64 tools: 45 for reading and 19 for writing. 42 of them can be
used today; the other 22 are not available yet (see the next section). Your AI
calls them for you as `linkedin-ads__<tool>` (for example
`linkedin-ads__create_campaign`).

The 11 tools for ad management (campaign groups, campaigns, the status of ads and
conversion rules) work today and have the safety built in:

* **New items are created as drafts.** New campaign groups and campaigns are
  created as `DRAFT`. They do not serve and spend no money until you ask for it.
  Ads (creatives) cannot be created through the connector, only paused,
  activated or archived.
* **Activation, budget, bids and archiving require confirmation.** Activating
  (`ACTIVE`), changing a budget or bid, or archiving requires an explicit
  `confirm: true`. Without it, the tool only returns a preview of what it would
  do, and sends nothing to LinkedIn.
* **Some changes happen without confirmation.** Name, end date and targeting can
  be changed right away, also on an active campaign. The same applies to creating
  and editing conversion rules (including switching a rule off) and to linking a
  conversion rule to a campaign.

On a connection that is locked to one ad account, three of the 11 are not
available: `update_conversion_rule`, `associate_campaign_conversion` and
`remove_campaign_conversion`. The same applies to five read tools:
`get_ad_preview`, `get_conversion_rule`, `list_campaign_conversions`,
`get_lead_form` and `query`. See
[Lock a connection to one company](https://docs.consile.ai/en/portal/company-lock.md).

LinkedIn Ads does not have the **Read only** level. A user with **All tools**
under **Team** also gets the write tools. If a user should only read, an
administrator chooses **Custom** and only the read tools. See
[Custom access](https://docs.consile.ai/en/portal/team.md#custom-access). Read the whole model in
[Actions & guardrails](https://docs.consile.ai/en/essentials/actions-and-guardrails.md).

## Tools that are not available yet

22 of the 64 tools are not available yet. Your AI can see them, but they cannot
yet fetch or change anything at LinkedIn, and your AI gets an error if it tries.
This applies to:

* the 8 write tools for organic content: posts, comments and reactions as a
  company page or in your own name (`create_organization_post`,
  `create_member_post`, `update_post`, `delete_post`, `create_comment`,
  `delete_comment`, `create_reaction`, `delete_reaction`)
* 14 read tools for the Company Page, posts and your own profile
  (`list_administered_organizations`, `get_organization`,
  `find_organization_by_vanity_name`, `get_organization_follower_count`,
  `list_organization_posts`, `get_organization_page_statistics`,
  `get_organization_follower_statistics`, `get_organization_share_statistics`,
  `get_post`, `get_post_social_metadata`, `list_post_comments`,
  `list_post_reactions`, `get_my_profile`, `get_my_connections_count`)

The ad functions above work today. On a locked connection, your AI does not see
20 of the 22 tools. Only `get_my_profile` and `get_my_connections_count` are still
there.

## The access is renewed automatically

Consile renews the LinkedIn access automatically, so you normally do not have to
reconnect. You must reconnect if you revoke the access yourself, or if LinkedIn
refuses it for other reasons. The automatic renewal does not change a lock.

> [!WARNING]
>
> If the access has expired or been revoked, your AI gets a message that LinkedIn
> Ads must be reconnected. The portal can still show **Connected**, because
> access is stored.

How an administrator reconnects:

* If the agreement says **Access revoked**, click **Reconnect**, and approve
  again at LinkedIn.
* Otherwise: click the menu (the three dots) next to the agreement on the
  **Connections** card, choose **Disconnect**, and confirm with **Disconnect**.
  This only deletes the stored token at Consile, and the subscription continues.
  Then click **Connect**, and approve again at LinkedIn.
* You can also ask your AI to reconnect LinkedIn Ads. The connector has the tool
  `connect_account`, which gives a link straight to LinkedIn's approval. The link
  works for 10 minutes, and the new token replaces the old one. Ask in the
  connector that belongs to the agreement (for example `linkedin-ads-2`), so the
  link connects exactly that agreement.

> [!NOTE]
>
> If the connection is locked to one ad account, the account must be chosen again
> after you have reconnected. After **Reconnect** or a link from your AI, Consile
> refuses all calls on the agreement until an administrator has chosen it. If you
> disconnected first, the lock is gone, and your AI can reach all of the user's ad
> accounts until the account has been chosen again. See
> [After a new connection](https://docs.consile.ai/en/portal/company-lock.md#after-a-new-connection).

## Multiple LinkedIn logins and ad accounts

One agreement covers all the ad accounts that the connected LinkedIn user has
access to. There are two reasons to add another agreement:

* **Another LinkedIn user.** Connect the new agreement with the other user.
* **One ad account per agreement.** Connect the new agreement with the same
  LinkedIn user, and lock each agreement to its own ad account. Then each account
  has its own address in your AI, and your AI only reaches the account the
  agreement is locked to. An ad account can only be locked on one agreement at a
  time.

How to do it:

1. On the **Connections** card, an administrator clicks **Add agreement (199.50
   kr/mo.)**. The agreement is added to the subscription and charged pro rata for
   the rest of the period.
2. When the new agreement is ready (typically after a few seconds), click
   **Connect** next to it and log in with the LinkedIn user the agreement should
   use.
3. Each agreement has its own address, for example
   `https://mcp.consile.ai/linkedin-ads-2/mcp`. Copy it from the card, and add it
   as a separate connector in your AI.

The agreements show as **Agreement 1**, **Agreement 2** and so on. If an agreement
is locked, *Locked to \<ad account>* appears under the name. A user who has
access to LinkedIn Ads can use all the agreements. If you connect the same
LinkedIn user on two agreements without locking them, it does not give access to
more, but you pay for two agreements. Under
[the Consile Studio membership](https://docs.consile.ai/en/portal/membership.md#one-more-agreement-in-a-system)
there is no button to add an agreement. Instead the card says *The membership
covers this system. One more company costs full price under the membership, and we
will set it up for you if you write to us.*

If you have more than one agreement, an administrator can remove an agreement:
click the menu next to the agreement, choose **Remove the agreement**, and confirm
with **Remove agreement**. If you remove, for example, Agreement 2 while there is
also an Agreement 3, Agreement 3 moves up into the free slot and then uses the
address `https://mcp.consile.ai/linkedin-ads-2/mcp`. If it was locked, the ad
account must be chosen again before it answers. So check the connectors in your AI
after you have removed an agreement. If only one agreement is left, you remove it
by cancelling the subscription under **Subscription**. See
[Pricing](https://docs.consile.ai/en/portal/pricing.md).

## Revoke access

You can remove the access again at any time:

* **In the portal:** an administrator clicks the menu (the three dots) next to the
  agreement on the **Connections** card, chooses **Disconnect** and confirms with
  **Disconnect**. The stored token is then deleted at Consile, and any lock
  disappears. The subscription continues, and the access at LinkedIn is not
  revoked automatically. If you have several agreements, an administrator can
  also remove an agreement entirely with **Remove the agreement**. Its token is
  then deleted too.
* **At LinkedIn:** remove the Consile app's access under
  [Permitted services](https://www.linkedin.com/psettings/permitted-services) in
  your LinkedIn settings. After that, the connector stops working, and you must
  reconnect to use it.

> [!NOTE]
>
> When you disconnect in the portal, Consile deletes the stored token right away.
> We keep no copy of your LinkedIn data: only the access itself, which is then
> removed.

More about data processing in [Security & data](https://docs.consile.ai/en/essentials/security-and-data.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.