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

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

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

Creates, updates, or removes Keyword Plan campaigns. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [DatabaseError]() [FieldError]() [FieldMaskError]() [HeaderError]() [InternalError]() [KeywordPlanCampaignError]() [KeywordPlanError]() [ListOperationError]() [MutateError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]()

## Path parameters

- `customerId` string, required

## Request body

- GoogleAdsSearchads360V23ServicesMutateKeywordPlanCampaignsRequest — Request message for KeywordPlanCampaignService.MutateKeywordPlanCampaigns.
  - `validateOnly` boolean — If true, the request is validated but not executed. Only errors are returned, not results.
  - `operations` GoogleAdsSearchads360V23ServicesKeywordPlanCampaignOperation[] — Required. The list of operations to perform on individual Keyword Plan campaigns.
    - `remove` string — Remove operation: A resource name for the removed Keyword Plan campaign is expected, in this format: `customers/{customer_id}/keywordPlanCampaigns/{keywordPlan_campaign_id}`
    - `updateMask` string, google-fieldmask — The FieldMask that determines which resource fields are modified in an update.
    - `create` GoogleAdsSearchads360V23ResourcesKeywordPlanCampaign — A Keyword Plan campaign. Max number of keyword plan campaigns per plan allowed: 1.
      - `cpcBidMicros` string, int64 — A default max cpc bid in micros, and in the account currency, for all ad groups under the campaign. This field is required and should not be empty when creating Keyword Plan campaigns.
      - `id` string, int64 — Output only. The ID of the Keyword Plan campaign.
      - `languageConstants` string[] — The languages targeted for the Keyword Plan campaign. Max allowed: 1.
      - `keywordPlanNetwork` 'UNSPECIFIED' | 'UNKNOWN' | 'GOOGLE_SEARCH' | 'GOOGLE_SEARCH_AND_PARTNERS' — Targeting network. This field is required and should not be empty when creating Keyword Plan campaigns.
      - `geoTargets` GoogleAdsSearchads360V23ResourcesKeywordPlanGeoTarget[] — The geo targets. Max number allowed: 20.
        - `geoTargetConstant` string — Required. The resource name of the geo target.
      - `resourceName` string — Immutable. The resource name of the Keyword Plan campaign. KeywordPlanCampaign resource names have the form: `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}`
      - `keywordPlan` string — The keyword plan this campaign belongs to.
      - `name` string — The name of the Keyword Plan campaign. This field is required and should not be empty when creating Keyword Plan campaigns.
    - `update` GoogleAdsSearchads360V23ResourcesKeywordPlanCampaign — A Keyword Plan campaign. Max number of keyword plan campaigns per plan allowed: 1.
      - `cpcBidMicros` string, int64 — A default max cpc bid in micros, and in the account currency, for all ad groups under the campaign. This field is required and should not be empty when creating Keyword Plan campaigns.
      - `id` string, int64 — Output only. The ID of the Keyword Plan campaign.
      - `languageConstants` string[] — The languages targeted for the Keyword Plan campaign. Max allowed: 1.
      - `keywordPlanNetwork` 'UNSPECIFIED' | 'UNKNOWN' | 'GOOGLE_SEARCH' | 'GOOGLE_SEARCH_AND_PARTNERS' — Targeting network. This field is required and should not be empty when creating Keyword Plan campaigns.
      - `geoTargets` GoogleAdsSearchads360V23ResourcesKeywordPlanGeoTarget[] — The geo targets. Max number allowed: 20.
        - `geoTargetConstant` string — Required. The resource name of the geo target.
      - `resourceName` string — Immutable. The resource name of the Keyword Plan campaign. KeywordPlanCampaign resource names have the form: `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}`
      - `keywordPlan` string — The keyword plan this campaign belongs to.
      - `name` string — The name of the Keyword Plan campaign. This field is required and should not be empty when creating Keyword Plan campaigns.
  - `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.

## 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)
