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

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

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

Creates, updates, or removes data exclusions. Operation statuses are returned.

## Path parameters

- `customerId` string, required

## Request body

- GoogleAdsSearchads360V23ServicesMutateBiddingDataExclusionsRequest — Request message for BiddingDataExclusionService.MutateBiddingDataExclusions.
  - `validateOnly` boolean — If true, the request is validated but not executed. Only errors are returned, not results.
  - `operations` GoogleAdsSearchads360V23ServicesBiddingDataExclusionOperation[] — Required. The list of operations to perform on individual data exclusions.
    - `create` GoogleAdsSearchads360V23ResourcesBiddingDataExclusion — Represents a bidding data exclusion. Bidding data exclusions can be set in client accounts only, and cannot be used in manager accounts. See "About data exclusions" at https://support.google.com/google-ads/answer/10370710. Note: A customer account can have a maximum of 500 active bidding data exclusions.
      - `scope` 'UNSPECIFIED' | 'UNKNOWN' | 'CUSTOMER' | 'CAMPAIGN' | 'CHANNEL' — The scope of the data exclusion.
      - `name` string — The name of the data exclusion. The name can be at most 255 characters.
      - `status` 'UNSPECIFIED' | 'UNKNOWN' | 'ENABLED' | 'REMOVED' — Output only. The status of the data exclusion.
      - `startDateTime` string — Required. The inclusive start time of the data exclusion in yyyy-MM-dd HH:mm:ss format. A data exclusion is backward looking and should be used for events that start in the past and end either in the past or future.
      - `dataExclusionId` string, int64 — Output only. The ID of the data exclusion.
      - `endDateTime` string — Required. The exclusive end time of the data exclusion in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
      - `resourceName` string — Immutable. The resource name of the data exclusion. Data exclusion resource names have the form: `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}`
      - `description` string — The description of the data exclusion. The description can be at most 2048 characters.
      - `devices` string[] — If not specified, all devices will be included in this exclusion. Otherwise, only the specified targeted devices will be included in this exclusion.
      - `campaigns` string[] — The data exclusion will apply to the campaigns listed when the scope of this exclusion is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
      - `advertisingChannelTypes` string[] — The data_exclusion will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this exclusion is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
    - `update` GoogleAdsSearchads360V23ResourcesBiddingDataExclusion — Represents a bidding data exclusion. Bidding data exclusions can be set in client accounts only, and cannot be used in manager accounts. See "About data exclusions" at https://support.google.com/google-ads/answer/10370710. Note: A customer account can have a maximum of 500 active bidding data exclusions.
      - `scope` 'UNSPECIFIED' | 'UNKNOWN' | 'CUSTOMER' | 'CAMPAIGN' | 'CHANNEL' — The scope of the data exclusion.
      - `name` string — The name of the data exclusion. The name can be at most 255 characters.
      - `status` 'UNSPECIFIED' | 'UNKNOWN' | 'ENABLED' | 'REMOVED' — Output only. The status of the data exclusion.
      - `startDateTime` string — Required. The inclusive start time of the data exclusion in yyyy-MM-dd HH:mm:ss format. A data exclusion is backward looking and should be used for events that start in the past and end either in the past or future.
      - `dataExclusionId` string, int64 — Output only. The ID of the data exclusion.
      - `endDateTime` string — Required. The exclusive end time of the data exclusion in yyyy-MM-dd HH:mm:ss format. The length of [start_date_time, end_date_time) interval must be within (0, 14 days].
      - `resourceName` string — Immutable. The resource name of the data exclusion. Data exclusion resource names have the form: `customers/{customer_id}/biddingDataExclusions/{data_exclusion_id}`
      - `description` string — The description of the data exclusion. The description can be at most 2048 characters.
      - `devices` string[] — If not specified, all devices will be included in this exclusion. Otherwise, only the specified targeted devices will be included in this exclusion.
      - `campaigns` string[] — The data exclusion will apply to the campaigns listed when the scope of this exclusion is CAMPAIGN. The maximum number of campaigns per event is 2000. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
      - `advertisingChannelTypes` string[] — The data_exclusion will apply to all the campaigns under the listed channels retroactively as well as going forward when the scope of this exclusion is CHANNEL. The supported advertising channel types are DISPLAY, SEARCH and SHOPPING. Note: a data exclusion with both advertising_channel_types and campaign_ids is not supported.
    - `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 data exclusion is expected, in this format: `customers/{customer_id}/biddingDataExclusions/{data_exclusion_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.
  - `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)
