Update LinkedIn Campaign Targeting
User wants to add or remove targeting criteria from a LinkedIn campaign.
Smart targeting update - incrementally add or remove targeting facets without replacing everything.
Parameters:
- campaign_id: Campaign ID to update targeting for (required)
- add_locations / remove_locations: Location URNs to add/remove
- add_industries / remove_industries: Industry URNs to add/remove
- add_seniorities / remove_seniorities: Seniority URNs to add/remove
- add_job_titles / remove_job_titles: Job title URNs to add/remove
- add_company_sizes / remove_company_sizes: Company size URNs to add/remove
- replace_all: If True, replaces ALL targeting (default: False, incremental)
- account_id: Optional LinkedIn Ad Account ID
Use search_linkedin_targeting first to find the correct URNs for targeting criteria.
Example Prompts:
- “Add New York to my campaign targeting”
- “Remove the finance industry from targeting”
- “Target VP and C-suite in my campaign”
- “Change targeting to include tech companies”
- “Add software engineers to my ad targeting”
Execution time: 3-5 seconds
Authorizations
API key from https://adspirer.ai/keys. Prefix sk_live_. Treat as a secret — never commit.
Headers
Client-generated UUID to make writes idempotent. Strongly recommended for write tools. A repeat call with the same key returns the cached result instead of re-executing. Example: 550e8400-e29b-41d4-a716-446655440000
Body
All tool arguments are wrapped in an arguments object. The fields accepted inside arguments are listed below — required fields are marked with a red asterisk.
Input schema for smart targeting update
Response
Tool executed successfully. data.text carries the human-readable result (markdown-friendly). data.quota shows your current usage against the plan limit. data.structured appears when the tool emits machine-parseable structured content. data.content appears for tools that return non-text blocks (images, resources).
Returned on HTTP 200. data.text is the primary human-readable output. data.quota is always present for billable calls. data.structured is set only when the tool emits machine-parseable structured content. data.content is set only when the tool emits non-text content blocks.

