# Create a LinkedIn Ads campaign

Create an inactive (DRAFT) text or sponsored-content campaign. Works on your own LinkedIn Ads account, connected through Get MCP Ads. The preview is free; the change costs $0.05 when you confirm it. Needs ad account id, name, campaign group id and more.

Create an inactive (DRAFT) text or sponsored-content campaign. LinkedIn campaigns hold budget, targeting and bid. Native compatibility still applies. Agentik price: free to preview; $0.05 when the change is applied (confirm: true without validateOnly).

- Tool ID: `linkedin-ads/create-campaign`
- Name in the catalog: LinkedIn: Create campaign
- Provider: [LinkedIn Ads](/providers/linkedin-ads.md)
- Capability: [LinkedIn Ads campaign management](/tools/linkedin-ads/campaign-management.md)
- Price: free preview, $0.05 per applied change
- Workspace access is automatic. Connect a platform using the link and notice returned to your AI assistant; an owner or admin completes platform consent and returns to the conversation; see the [guide](/docs/getmcpads.md).
- Authentication: an authorised Agentik workspace is required for execution, including zero-price tools.

## Pricing contract

The provider’s price, with no markup. Billed for measured usage.


```json
{
  "model": "per_call",
  "amountUsd": 0,
  "multipliers": [
    {
      "all": [
        {
          "field": "confirm",
          "equals": true
        },
        {
          "field": "validateOnly",
          "truthy": false
        }
      ],
      "setUsd": 0.05
    }
  ]
}
```

## Complete input schema


```json
{
  "type": "object",
  "properties": {
    "adAccountId": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Selected LinkedIn advertising account, numeric ID."
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Name stored in LinkedIn; does not rename source files or organic posts."
    },
    "campaignGroupId": {
      "type": "string",
      "pattern": "^\\d+$",
      "description": "Numeric parent campaign-group ID in the selected account."
    },
    "type": {
      "type": "string",
      "enum": [
        "TEXT_AD",
        "SPONSORED_UPDATES"
      ],
      "description": "TEXT_AD for text ads, SPONSORED_UPDATES for sponsored image or video posts."
    },
    "objectiveType": {
      "type": "string",
      "enum": [
        "WEBSITE_VISIT",
        "ENGAGEMENT",
        "VIDEO_VIEW",
        "BRAND_AWARENESS",
        "WEBSITE_CONVERSION",
        "LEAD_GENERATION"
      ],
      "description": "Native objective; must be compatible with the campaign type and ad format."
    },
    "dailyBudget": {
      "type": "object",
      "properties": {
        "amount": {
          "type": "string",
          "pattern": "^\\d+(\\.\\d{1,2})?$"
        },
        "currencyCode": {
          "type": "string",
          "pattern": "^[A-Z]{3}$"
        }
      },
      "required": [
        "amount",
        "currencyCode"
      ],
      "additionalProperties": false,
      "description": "Daily budget in currency units, not minor units: amount \"20.00\" with currencyCode \"EUR\"."
    },
    "unitCost": {
      "type": "object",
      "properties": {
        "amount": {
          "type": "string",
          "pattern": "^\\d+(\\.\\d{1,2})?$"
        },
        "currencyCode": {
          "type": "string",
          "pattern": "^[A-Z]{3}$"
        }
      },
      "required": [
        "amount",
        "currencyCode"
      ],
      "additionalProperties": false,
      "description": "Maximum bid in account currency units, not cents."
    },
    "costType": {
      "type": "string",
      "enum": [
        "CPC",
        "CPM"
      ],
      "description": "Native bidding basis: CPC per click or CPM per thousand impressions."
    },
    "locale": {
      "type": "object",
      "properties": {
        "country": {
          "type": "string",
          "minLength": 2,
          "maxLength": 2
        },
        "language": {
          "type": "string",
          "minLength": 2,
          "maxLength": 2
        }
      },
      "required": [
        "country",
        "language"
      ],
      "additionalProperties": false,
      "description": "Two-letter campaign language and country codes."
    },
    "targetingCriteria": {
      "type": "object",
      "properties": {
        "include": {
          "type": "object",
          "properties": {
            "and": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "or": {
                    "type": "object",
                    "additionalProperties": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "pattern": "^urn:li:[A-Za-z]+:[A-Za-z0-9_-]+$"
                      }
                    }
                  }
                },
                "required": [
                  "or"
                ],
                "additionalProperties": false
              },
              "minItems": 1,
              "maxItems": 15
            }
          },
          "required": [
            "and"
          ],
          "additionalProperties": false
        },
        "exclude": {
          "type": "object",
          "properties": {
            "or": {
              "type": "object",
              "additionalProperties": {
                "type": "array",
                "items": {
                  "type": "string",
                  "pattern": "^urn:li:[A-Za-z]+:[A-Za-z0-9_-]+$"
                }
              }
            }
          },
          "required": [
            "or"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "include"
      ],
      "additionalProperties": false,
      "description": "Native LinkedIn targeting criteria with facet keys and entity URNs; use targeting lookup first."
    },
    "runSchedule": {
      "type": "object",
      "properties": {
        "start": {
          "type": "integer",
          "exclusiveMinimum": 0
        },
        "end": {
          "type": "integer",
          "exclusiveMinimum": 0
        }
      },
      "required": [
        "start"
      ],
      "additionalProperties": false,
      "description": "UTC epoch timestamps in milliseconds; optional end must be later than start."
    },
    "politicalIntent": {
      "type": "string",
      "enum": [
        "NOT_POLITICAL",
        "POLITICAL"
      ],
      "description": "Explicit advertiser declaration; do not infer."
    },
    "confirm": {
      "type": "boolean",
      "default": false,
      "description": "Preview unless true. Writes are restricted to native LinkedIn test accounts."
    },
    "workspace_id": {
      "type": "string",
      "description": "Authorized workspace ID from list_accounts/list_workspaces. Use the user's chosen workspace; never guess between clients. Optional when a unique account identifies it."
    },
    "reason": {
      "type": "string",
      "maxLength": 500,
      "description": "Why, in the person's words or from the evidence (e.g. CPA twice the target for 7 days). Saved with the change in the shared client journal."
    }
  },
  "required": [
    "adAccountId",
    "name",
    "campaignGroupId",
    "type",
    "objectiveType",
    "dailyBudget",
    "unitCost",
    "costType",
    "locale",
    "targetingCriteria",
    "runSchedule",
    "politicalIntent"
  ]
}
```

## Published example

No example input is published for this tool. Ask for the inputs required by its schema.

## Execute and retrieve

Inspect again before execution, explain the price and obtain the required authority. Use MCP run_tool or POST /v1/run with this tool ID, valid input and an idempotency key. Save the returned run ID and follow the actual state. If Agentik answers that the tool is temporarily unavailable, do not retry it blindly; use discovery to propose an alternative.

A partial or uncertain result can still have consumed provider resources. Consult [billing](/docs/billing.md), [idempotency](/docs/idempotency.md) and [asynchronous results](/docs/async.md).

[REST inspection](https://api.agentik.cc/v1/tools/linkedin-ads/create-campaign) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/linkedin-ads/create-campaign) · [Agent index](/llms.txt)
