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

# Update Campaign Bidding Strategy

> Update the bidding strategy (bid scheme) of Microsoft Ads campaigns, or attach them to / detach them from a portfolio bid strategy via portfolio_bid_strategy_id

Update the bidding strategy (bid scheme) of Microsoft Ads campaigns, or attach them to / detach them from a portfolio bid strategy via portfolio\_bid\_strategy\_id.

| | |
| - | - |
| **App** | Microsoft Ads |
| **Operation ID** | `microsoft_ads_update_campaign_bidding_strategy` |
| **Type** | Action |
| **Connection** | `microsoft_ads` (required) |
| **Credits per run** | 1 |
| **Agent / MCP tool** | Yes |
| **Requires approval** | Yes (write operation) |

## Inputs

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `account` | object or array of object or MicrosoftAdsAccountItem or string or integer | Yes | - | Select the Microsoft Ads account that owns the campaigns to update. |
| `update_type` | string or SelectableOption | Yes | - | Choose whether to update the bidding strategy of a single campaign or multiple campaigns at once. Options: 'single' or 'bulk'. |
| `campaign_id` | string or SelectItem | No | - | The campaign ID whose bidding strategy to update. Required for single update. |
| `bidding_strategy_type` | string or SelectableOption | No | - | Bidding strategy (bid scheme) to set, sent as the Microsoft technical value. 'EnhancedCpcBiddingScheme': manual bids auto-adjusted toward conversions. 'ManualCpcBiddingScheme': manual cost-per-click, supported only for audience display/video and lodging campaigns. For other campaign types, including Search and Shopping, Microsoft ignores this request and uses Enhanced CPC without returning an error. 'ManualCpmBiddingScheme': manual cost-per-thousand-impressions. 'ManualCpvBiddingScheme': manual cost-per-view (video). 'MaxClicksBiddingScheme': maximize clicks within budget; optional max\_cpc cap. 'MaxConversionsBiddingScheme': maximize conversions; optional target\_cpa and max\_cpc. 'MaxConversionValueBiddingScheme': maximize conversion value; optional target\_roas and max\_cpc. 'TargetImpressionShareBiddingScheme': hit an impression share at a page position; needs target\_ad\_position and target\_impression\_share, optional max\_cpc. 'PercentCpcBiddingScheme': bid a percent of price (used by hotel/commission campaigns); uses max\_percent\_cpc. 'CommissionBiddingScheme': pay a commission percentage per conversion; uses commission\_rate. 'CostPerSaleBiddingScheme': pay per sale; uses target\_cost\_per\_sale. 'ManualCpaBiddingScheme': manual cost-per-acquisition; uses manual\_cpi. Required for single update. |
| `max_cpc` | number or string | No | - | Maximum cost-per-click cap in account currency. Optional for MaxClicks, MaxConversions, MaxConversionValue, and TargetImpressionShare. |
| `target_cpa` | number or string | No | - | Target cost-per-action in account currency. Used by MaxConversions. |
| `target_roas` | number or string | No | - | Target return on ad spend as a multiplier (e.g. 3.5 = 350%). Used by MaxConversionValue. |
| `target_ad_position` | string or SelectableOption | No | - | Where on the search results page to target, for TargetImpressionShare. 'FirstPage': anywhere on the first page. 'MainLine': the top block of ads on the first page. 'MainLine1': the very first ad on the first page. |
| `target_impression_share` | number or string | No | - | Target impression share percentage from 1 to 100 (e.g. 65 = 65%). Used by TargetImpressionShare. |
| `max_percent_cpc` | number or string | No | - | Maximum percent CPC (percentage of the product/booking price). Used by PercentCpc. |
| `commission_rate` | number or string | No | - | Commission rate percentage paid per conversion. Used by Commission. |
| `target_cost_per_sale` | number or string | No | - | Target cost per sale in account currency. Used by CostPerSale. |
| `manual_cpi` | number or string | No | - | Manual cost-per-acquisition bid in account currency. Used by ManualCpa. |
| `portfolio_bid_strategy_id` | integer or string | No | - | Portfolio (shared) bid strategy ID to attach the campaign to; get IDs from microsoft\_ads\_list\_bid\_strategies. Pass 0 to detach the campaign from its portfolio, together with the campaign-level bidding\_strategy\_type to fall back to. Campaigns inside a portfolio cannot change bidding settings directly; update the portfolio with microsoft\_ads\_manage\_bid\_strategy instead. |
| `structured_data` | array (also accepts a comma-separated string) | No | - | Structured data for bulk update. Required columns: 'campaign\_id' plus 'bidding\_strategy\_type' and/or 'portfolio\_bid\_strategy\_id' (0 detaches). Optional columns by strategy: 'max\_cpc', 'target\_cpa', 'target\_roas', 'target\_ad\_position', 'target\_impression\_share', 'max\_percent\_cpc', 'commission\_rate', 'target\_cost\_per\_sale', 'manual\_cpi'. Required for bulk update. |

### MicrosoftAdsAccountItem

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `value` | string | Yes | - | |
| `label` | string | Yes | - | |
| `customerId` | string | No | - | The Microsoft Ads customer ID used for REST CustomerId headers. If omitted, it is resolved from the account ID. |

### SelectItem

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `value` | string | Yes | - | The value of the selectable item. |
| `label` | string | Yes | - | The label of the selectable item, used for display purposes. If not provided, defaults to the value. |

### SelectableOption

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `value` | string | Yes | - | |
| `label` | string | Yes | - | |

## Output

**Type**: `Dict`

Returns Microsoft Ads campaign bidding strategy update results.

**Fields**: `message`, `updated_count`, `results`


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