MMetadata /docs
Docs/Tools/update_linkedin_channel_settings

update_linkedin_channel_settings

Update the LinkedIn channel settings of an existing DRAFT wizard campaign: native objective, bidding optimization goal (including Reach), bid strategy with manual bid amount, an…

Destructive campaigns

Deletes, archives, launches or moves budget. Do not give an agent this one without a human gate.

What it does

Update the LinkedIn channel settings of an existing DRAFT wizard campaign: native objective, bidding optimization goal (including Reach), bid strategy with manual bid amount, and the LinkedIn conversion actions the campaign optimizes toward.

                These are the settings the platform UI shows in the LinkedIn channel drawer of the
                campaign draft page (Native Objective, Bidding Optimization Goal, Bid, Conversion
                Actions). The campaign MUST already have its LinkedIn channel enabled (via
                create_campaign / add_and_edit_campaign_elements with a `linkedin` block).

                WARNING: DRAFT-ONLY: the platform rejects these edits once the campaign is Launching/Launched.

                KEYWORDS: linkedin, linkedin campaign, linkedin settings, campaign settings, draft campaign,
                objective, native objective, brand awareness, website visits, engagement, video views,
                bidding optimization goal, optimization goal, reach, impressions, landing page clicks,
                engagement clicks, bid, bid strategy, auto bid, manual bid, maximum delivery,
                conversion, conversions, conversion actions, conversion tracking, insight tag, settings

                WHEN TO USE:
                - Set the LinkedIn native objective (e.g. Brand Awareness instead of the default Engagement)
                - Optimize a Brand Awareness campaign for REACH instead of IMPRESSIONS
                - Switch between auto bid (LinkedIn maximum delivery) and a manual bid
                - Pick which LinkedIn conversion actions the campaign optimizes toward and reports on

                PARAMETERS (campaign_id required; everything else optional, and an unspecified
                setting keeps its current value on the channel):
                - campaign_id: the wizard campaign ID
                - objective: BRAND_AWARENESS | WEBSITE_VISIT | ENGAGEMENT | VIDEO_VIEW, the LinkedIn
                  native objective. Only selectable on Brand Awareness (CTR) campaigns: a Lead Gen
                  (CPL) campaign derives it from its offer at launch (lead-gen form -> LEAD_GENERATION,
                  landing page -> WEBSITE_CONVERSION). The platform default for a new LinkedIn channel
                  is ENGAGEMENT. Every ad already on the channel must be supported by the objective
                  (VIDEO_VIEW is video-only, MESSAGE ads only fit WEBSITE_VISIT, DOCUMENT ads lock the
                  objective, a video-only channel accepts only ENGAGEMENT or VIDEO_VIEW). A channel
                  holding CTV ads is always Brand Awareness / Reach at launch and cannot be changed here.
                  Changing the objective also resets the cost type and the bidding optimization goal to
                  the objective's default (BRAND_AWARENESS -> IMPRESSIONS, WEBSITE_VISIT ->
                  LANDING_PAGE_CLICKS, ENGAGEMENT -> ENGAGEMENT_CLICKS, VIDEO_VIEW -> VIDEO_VIEWS), so
                  pass bidding_optimization_goal in the same call when you want something else.
                - bidding_optimization_goal: what LinkedIn optimizes delivery for. Allowed per objective:
                  BRAND_AWARENESS -> IMPRESSIONS | REACH; WEBSITE_VISIT -> LANDING_PAGE_CLICKS |
                  IMPRESSIONS; ENGAGEMENT -> ENGAGEMENT_CLICKS | IMPRESSIONS; VIDEO_VIEW -> VIDEO_VIEWS |
                  IMPRESSIONS. Conversation and Message ads are always IMPRESSIONS. CTR campaigns only.
                - bid_strategy: AUTO_BID (LinkedIn "maximum delivery", what the campaign builder applies
                  by default) or MANUAL_BID (needs bid_amount). CTV ads REQUIRE AUTO_BID; Spotlight and
                  Text ads REQUIRE MANUAL_BID.
                - bid_amount: manual bid in the account currency, used only with MANUAL_BID.
                - conversion_action_ids: ids of LinkedIn conversion actions (from list_linkedin_conversions)
                  the campaign should optimize toward and count as conversions: website visits, URL-rule
                  page views, lead form fills. REPLACES the current selection; pass [] to clear it (the
                  campaign then falls back to the account's default Insight Tag URL match). Every id must
                  exist and be enabled on the connected LinkedIn account, or launch validation fails.
                  NOTE: the platform UI only shows this picker for campaigns with landing-page offers and
                  an objective other than Brand Awareness; ids stored outside that case are still sent to
                  LinkedIn at launch, but that path is not exercised by the UI.

                NOT SETTABLE ANYWHERE IN THE PLATFORM (say so instead of promising them): LinkedIn
                Audience Network on/off and its category exclusions, audience expansion (campaigns always
                launch with expansion OFF), frequency caps, Thought Leader ads. LinkedIn geo targeting is
                not a channel setting either: it lives on the audience / target group.

                EXAMPLES:

                Brand Awareness optimized for Reach on auto bid:
                update_linkedin_channel_settings({"campaign_id": 12345, "objective": "BRAND_AWARENESS",
                    "bidding_optimization_goal": "REACH", "bid_strategy": "AUTO_BID"})

                Track two conversion actions on a Website Visits campaign:
                update_linkedin_channel_settings({"campaign_id": 12345,
                    "conversion_action_ids": ["123456", "234567"]})

                RESPONSE: {success, campaign_id, channel_id, campaign_status, campaign_goal,
                channel_ad_types, applied:{...}, errors?}. `applied` echoes exactly what was pushed to
                the platform.

                INTEGRATION WITH OTHER TOOLS:
                - list_linkedin_conversions lists the conversion actions available on the account
                - search_campaigns_by_names / get_campaign_by_wizard_id to find the campaign
                - The LinkedIn channel is enabled by create_campaign or add_and_edit_campaign_elements
                - check_campaign_launch_readiness validates the result before launch

Arguments

ArgumentTypeNotes
campaign_id integer required The unique identifier of the wizard campaign
objective string LinkedIn native objective. Brand Awareness (CTR) campaigns only; Lead Gen campaigns derive it from the offer at launch. Resets the bidding optimization goal to the objective's default.
one of: BRAND_AWARENESS, WEBSITE_VISIT, ENGAGEMENT, VIDEO_VIEW
bidding_optimization_goal string What LinkedIn optimizes delivery for. Must fit the channel's objective: BRAND_AWARENESS takes IMPRESSIONS or REACH, WEBSITE_VISIT takes LANDING_PAGE_CLICKS or IMPRESSIONS, ENGAGEMENT takes ENGAGEMENT_CLICKS or IMPRESSIONS, VIDEO_VIEW takes VIDEO_VIEWS or IMPRESSIONS.
one of: IMPRESSIONS, REACH, LANDING_PAGE_CLICKS, ENGAGEMENT_CLICKS, VIDEO_VIEWS
bid_strategy string AUTO_BID = LinkedIn maximum delivery (required for CTV ads); MANUAL_BID needs bid_amount (required for Spotlight and Text ads).
one of: AUTO_BID, MANUAL_BID
bid_amount number Manual bid amount in the account currency. Applied only with MANUAL_BID.
conversion_action_ids array LinkedIn conversion action ids from list_linkedin_conversions. REPLACES the channel's selection; [] clears it.

Request

Request template, not a complete runnable example. Replace placeholders, empty objects, arrays, and zero values with valid account-specific inputs. Read required fields and nested constraints in the full schema. Confirm the account, connected channels, and referenced assets before calling a write tool.

curl
curl -s -X POST https://mcp-server.metadata.io/mcp \
  -H "Authorization: $METADATA_PAT" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2025-11-25" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"update_linkedin_channel_settings","arguments":{"campaign_id":0}}}'

Response

No recorded response. This tool can delete, archive, launch or move budget, so it is never executed to build these docs. The request is an illustrative template. Fill required fields and check the current schema before calling it. No response is fabricated.

Other campaigns tools:

Browse the tool catalog · machine-readable index