# Add Microsoft Advertising campaign targeting

Add one native campaign targeting criterion. Works on your own Microsoft Advertising account, connected through Get MCP Ads. The preview is free; the change costs $0.05 when you confirm it. Needs account id, campaign id, campaign type and more.

Add one native campaign targeting criterion. Read current targeting before edits; use Targets for demographic/geo edits and Audience for audience associations. Does not clear unspecified criteria. Agentik price: free to preview; $0.05 when the change is applied (confirm: true without validateOnly).

- Tool ID: `bing-ads/add-campaign-targeting`
- Name in the catalog: Microsoft Advertising: Add campaign targeting
- Provider: [Microsoft Advertising](/providers/bing-ads.md)
- Capability: [Microsoft Ads audiences & targeting](/tools/microsoft-ads/audiences.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": {
    "accountId": {
      "type": "string",
      "description": "Numeric Microsoft Advertising ID as a string, not an account number."
    },
    "campaignId": {
      "type": "string",
      "description": "Numeric Microsoft Advertising ID as a string, not an account number."
    },
    "campaignType": {
      "type": "string",
      "enum": [
        "Search",
        "Shopping",
        "Audience",
        "PerformanceMax",
        "Hotel"
      ],
      "description": "Explicit native campaign type, used to verify parent ownership. Dynamic Search uses Search with DynamicSearchAdsSetting."
    },
    "criterionType": {
      "type": "string",
      "enum": [
        "Targets",
        "Audience",
        "Webpage",
        "ProductPartition"
      ],
      "description": "Mutation category: Targets for demographics/geo/devices; Audience for audience associations. Read operations use the specific criterion type."
    },
    "data": {
      "type": "object",
      "additionalProperties": {},
      "description": "Native Microsoft REST fields; read bing_get_write_schema. REST Type discriminators can differ from SOAP class names. Provider eligibility is checked only on confirmed execution."
    },
    "confirm": {
      "type": "boolean",
      "default": false,
      "description": "False returns a local preview. True executes the specifically authorized change."
    },
    "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": [
    "accountId",
    "campaignId",
    "campaignType",
    "criterionType",
    "data"
  ]
}
```

## 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/bing-ads/add-campaign-targeting) · [OpenAPI](/openapi.json) · [Connection guide](/connect.md)

---

[HTML page](/providers/bing-ads/add-campaign-targeting) · [Agent index](/llms.txt)
