---
title: "POST /v23/customers/{+customerId}/biddingStrategies:mutate"
method: POST
path: "/v23/customers/{+customerId}/biddingStrategies:mutate"
tags: ["customers"]
---

# POST /v23/customers/{+customerId}/biddingStrategies:mutate

`POST /v23/customers/{+customerId}/biddingStrategies:mutate`

Creates, updates, or removes bidding strategies. Operation statuses are returned. List of thrown errors: [AdxError]() [AuthenticationError]() [AuthorizationError]() [BiddingError]() [BiddingStrategyError]() [ContextError]() [DatabaseError]() [DateError]() [DistinctError]() [FieldError]() [FieldMaskError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NewResourceCreationError]() [NotEmptyError]() [NullError]() [OperationAccessDeniedError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()

## Path parameters

- `customerId` string, required

## Request body

- GoogleAdsSearchads360V23ServicesMutateBiddingStrategiesRequest — Request message for BiddingStrategyService.MutateBiddingStrategies.
  - `partialFailure` boolean — If true, successful operations will be carried out and invalid operations will return errors. If false, all operations will be carried out in one transaction if and only if they are all valid. Default is false.
  - `validateOnly` boolean — If true, the request is validated but not executed. Only errors are returned, not results.
  - `operations` GoogleAdsSearchads360V23ServicesBiddingStrategyOperation[] — Required. The list of operations to perform on individual bidding strategies.
    - `create` GoogleAdsSearchads360V23ResourcesBiddingStrategy — A bidding strategy.
      - `alignedCampaignBudgetId` string, int64 — ID of the campaign budget that this portfolio bidding strategy is aligned with. When a portfolio and a campaign budget are aligned, that means that they are attached to the same set of campaigns. After a bidding strategy is aligned with a campaign budget, campaigns that are added to the bidding strategy must also use the aligned campaign budget.
      - `id` string, int64 — Output only. The ID of the bidding strategy.
      - `campaignCount` string, int64 — Output only. The number of campaigns attached to this bidding strategy. This field is read-only.
      - `enhancedCpc` GoogleAdsSearchads360V23CommonEnhancedCpc — An automated bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely. This bidding strategy is deprecated and cannot be created anymore. Use ManualCpc with enhanced_cpc_enabled set to true for equivalent functionality.
      - `targetRoas` GoogleAdsSearchads360V23CommonTargetRoas — An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS).
        - `cpcBidCeilingMicros` string, int64 — Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
        - `targetRoas` number, double — Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
        - `cpcBidFloorMicros` string, int64 — Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
        - `targetRoasTolerancePercentMillis` string, int64 — The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
      - `currencyCode` string — Immutable. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this currency can be set on creation and defaults to the manager customer's currency. For serving customers, this field cannot be set; all strategies in a serving customer implicitly use the serving customer's currency. In all cases the effective_currency_code field returns the currency used by the strategy.
      - `targetCpa` GoogleAdsSearchads360V23CommonTargetCpa — An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
        - `targetCpaMicros` string, int64 — Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
        - `cpcBidCeilingMicros` string, int64 — Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
        - `cpcBidFloorMicros` string, int64 — Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
      - `targetSpend` GoogleAdsSearchads360V23CommonTargetSpend — An automated bid strategy that sets your bids to help get as many clicks as possible within your budget.
        - `cpcBidCeilingMicros` string, int64 — Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
        - `targetSpendMicros` string, int64 — Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
      - `status` 'UNSPECIFIED' | 'UNKNOWN' | 'ENABLED' | 'REMOVED' — Output only. The status of the bidding strategy. This field is read-only.
      - `type` 'UNSPECIFIED' | 'UNKNOWN' | 'COMMISSION' | 'ENHANCED_CPC' | 'INVALID' | 'MANUAL_CPA' | 'MANUAL_CPC' | 'MANUAL_CPM' | 'MANUAL_CPV' | 'MAXIMIZE_CONVERSIONS' | 'MAXIMIZE_CONVERSION_VALUE' | 'PAGE_ONE_PROMOTED' | 'PERCENT_CPC' | 'TARGET_CPA' | 'TARGET_CPC' | 'TARGET_CPM' | 'TARGET_IMPRESSION_SHARE' | 'TARGET_OUTRANK_SHARE' | 'TARGET_ROAS' | 'TARGET_SPEND' — Output only. The type of the bidding strategy. Create a bidding strategy by setting the bidding scheme. This field is read-only.
      - `resourceName` string — Immutable. The resource name of the bidding strategy. Bidding strategy resource names have the form: `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
      - `effectiveCurrencyCode` string — Output only. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this is the currency set by the advertiser when creating the strategy. For serving customers, this is the customer's currency_code. Bidding strategy metrics are reported in this currency. This field is read-only.
      - `maximizeConversions` GoogleAdsSearchads360V23CommonMaximizeConversions — An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.
        - `targetCpaMicros` string, int64 — The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
        - `cpcBidCeilingMicros` string, int64 — Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
        - `cpcBidFloorMicros` string, int64 — Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
      - `maximizeConversionValue` GoogleAdsSearchads360V23CommonMaximizeConversionValue — An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.
        - `targetRoasTolerancePercentMillis` string, int64 — The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
        - `cpcBidCeilingMicros` string, int64 — Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
        - `targetRoas` number, double — The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
        - `cpcBidFloorMicros` string, int64 — Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
      - `name` string — The name of the bidding strategy. All bidding strategies within an account must be named distinctly. The length of this string should be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
      - `nonRemovedCampaignCount` string, int64 — Output only. The number of non-removed campaigns attached to this bidding strategy. This field is read-only.
      - `targetImpressionShare` GoogleAdsSearchads360V23CommonTargetImpressionShare — An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location).
        - `locationFractionMicros` string, int64 — The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
        - `location` 'UNSPECIFIED' | 'UNKNOWN' | 'ANYWHERE_ON_PAGE' | 'TOP_OF_PAGE' | 'ABSOLUTE_TOP_OF_PAGE' — The targeted location on the search results page.
        - `cpcBidCeilingMicros` string, int64 — The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
    - `update` GoogleAdsSearchads360V23ResourcesBiddingStrategy — A bidding strategy.
      - `alignedCampaignBudgetId` string, int64 — ID of the campaign budget that this portfolio bidding strategy is aligned with. When a portfolio and a campaign budget are aligned, that means that they are attached to the same set of campaigns. After a bidding strategy is aligned with a campaign budget, campaigns that are added to the bidding strategy must also use the aligned campaign budget.
      - `id` string, int64 — Output only. The ID of the bidding strategy.
      - `campaignCount` string, int64 — Output only. The number of campaigns attached to this bidding strategy. This field is read-only.
      - `enhancedCpc` GoogleAdsSearchads360V23CommonEnhancedCpc — An automated bidding strategy that raises bids for clicks that seem more likely to lead to a conversion and lowers them for clicks where they seem less likely. This bidding strategy is deprecated and cannot be created anymore. Use ManualCpc with enhanced_cpc_enabled set to true for equivalent functionality.
      - `targetRoas` GoogleAdsSearchads360V23CommonTargetRoas — An automated bidding strategy that helps you maximize revenue while averaging a specific target return on ad spend (ROAS).
        - `cpcBidCeilingMicros` string, int64 — Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
        - `targetRoas` number, double — Required. The chosen revenue (based on conversion data) per unit of spend. Value must be between 0.01 and 1000.0, inclusive.
        - `cpcBidFloorMicros` string, int64 — Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
        - `targetRoasTolerancePercentMillis` string, int64 — The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS. This field is only mutable for portfolio bidding strategies.
      - `currencyCode` string — Immutable. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this currency can be set on creation and defaults to the manager customer's currency. For serving customers, this field cannot be set; all strategies in a serving customer implicitly use the serving customer's currency. In all cases the effective_currency_code field returns the currency used by the strategy.
      - `targetCpa` GoogleAdsSearchads360V23CommonTargetCpa — An automated bid strategy that sets bids to help get as many conversions as possible at the target cost-per-acquisition (CPA) you set.
        - `targetCpaMicros` string, int64 — Average CPA target. This target should be greater than or equal to minimum billable unit based on the currency for the account.
        - `cpcBidCeilingMicros` string, int64 — Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
        - `cpcBidFloorMicros` string, int64 — Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. This should only be set for portfolio bid strategies.
      - `targetSpend` GoogleAdsSearchads360V23CommonTargetSpend — An automated bid strategy that sets your bids to help get as many clicks as possible within your budget.
        - `cpcBidCeilingMicros` string, int64 — Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy.
        - `targetSpendMicros` string, int64 — Deprecated: The spend target under which to maximize clicks. A TargetSpend bidder will attempt to spend the smaller of this value or the natural throttling spend amount. If not specified, the budget is used as the spend target. This field is deprecated and should no longer be used. See https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html for details.
      - `status` 'UNSPECIFIED' | 'UNKNOWN' | 'ENABLED' | 'REMOVED' — Output only. The status of the bidding strategy. This field is read-only.
      - `type` 'UNSPECIFIED' | 'UNKNOWN' | 'COMMISSION' | 'ENHANCED_CPC' | 'INVALID' | 'MANUAL_CPA' | 'MANUAL_CPC' | 'MANUAL_CPM' | 'MANUAL_CPV' | 'MAXIMIZE_CONVERSIONS' | 'MAXIMIZE_CONVERSION_VALUE' | 'PAGE_ONE_PROMOTED' | 'PERCENT_CPC' | 'TARGET_CPA' | 'TARGET_CPC' | 'TARGET_CPM' | 'TARGET_IMPRESSION_SHARE' | 'TARGET_OUTRANK_SHARE' | 'TARGET_ROAS' | 'TARGET_SPEND' — Output only. The type of the bidding strategy. Create a bidding strategy by setting the bidding scheme. This field is read-only.
      - `resourceName` string — Immutable. The resource name of the bidding strategy. Bidding strategy resource names have the form: `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
      - `effectiveCurrencyCode` string — Output only. The currency used by the bidding strategy (ISO 4217 three-letter code). For bidding strategies in manager customers, this is the currency set by the advertiser when creating the strategy. For serving customers, this is the customer's currency_code. Bidding strategy metrics are reported in this currency. This field is read-only.
      - `maximizeConversions` GoogleAdsSearchads360V23CommonMaximizeConversions — An automated bidding strategy to help get the most conversions for your campaigns while spending your budget.
        - `targetCpaMicros` string, int64 — The target cost-per-action (CPA) option. This is the average amount that you would like to spend per conversion action specified in micro units of the bidding strategy's currency. If set, the bid strategy will get as many conversions as possible at or below the target cost-per-action. If the target CPA is not set, the bid strategy will aim to achieve the lowest possible CPA given the budget.
        - `cpcBidCeilingMicros` string, int64 — Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
        - `cpcBidFloorMicros` string, int64 — Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
      - `maximizeConversionValue` GoogleAdsSearchads360V23CommonMaximizeConversionValue — An automated bidding strategy to help get the most conversion value for your campaigns while spending your budget.
        - `targetRoasTolerancePercentMillis` string, int64 — The percent of ROAS(return on advertising spend) degradation tolerance allowed to increase traffic diversity and conversion volume, specified in millis (for example, 10,000 = 10%). A value of 10,000 means that the advertiser can expect ROAS degradation of up to 10% of the specified target ROAS.
        - `cpcBidCeilingMicros` string, int64 — Maximum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
        - `targetRoas` number, double — The target return on ad spend (ROAS) option. If set, the bid strategy will maximize revenue while averaging the target return on ad spend. If the target ROAS is high, the bid strategy may not be able to spend the full budget. If the target ROAS is not set, the bid strategy will aim to achieve the highest possible ROAS for the budget.
        - `cpcBidFloorMicros` string, int64 — Minimum bid limit that can be set by the bid strategy. The limit applies to all keywords managed by the strategy. Mutable for portfolio bidding strategies only.
      - `name` string — The name of the bidding strategy. All bidding strategies within an account must be named distinctly. The length of this string should be between 1 and 255, inclusive, in UTF-8 bytes, (trimmed).
      - `nonRemovedCampaignCount` string, int64 — Output only. The number of non-removed campaigns attached to this bidding strategy. This field is read-only.
      - `targetImpressionShare` GoogleAdsSearchads360V23CommonTargetImpressionShare — An automated bidding strategy that sets bids so that a certain percentage of search ads are shown at the top of the first page (or other targeted location).
        - `locationFractionMicros` string, int64 — The chosen fraction of ads to be shown in the targeted location in micros. For example, 1% equals 10,000.
        - `location` 'UNSPECIFIED' | 'UNKNOWN' | 'ANYWHERE_ON_PAGE' | 'TOP_OF_PAGE' | 'ABSOLUTE_TOP_OF_PAGE' — The targeted location on the search results page.
        - `cpcBidCeilingMicros` string, int64 — The highest CPC bid the automated bidding system is permitted to specify. This is a required field entered by the advertiser that sets the ceiling and specified in local micros.
    - `updateMask` string, google-fieldmask — FieldMask that determines which resource fields are modified in an update.
    - `remove` string — Remove operation: A resource name for the removed bidding strategy is expected, in this format: `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
  - `responseContentType` 'UNSPECIFIED' | 'RESOURCE_NAME_ONLY' | 'MUTABLE_RESOURCE' — The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/searchads360.md) · [All operations](https://skmtc.net/google/apis/searchads360/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/searchads360/revisions/40d087435afd/schema)
