---
title: "POST /v23/customers/{customersId}/sharedCriteria:mutate"
method: POST
path: "/v23/customers/{customersId}/sharedCriteria:mutate"
tags: ["customers"]
---

# POST /v23/customers/{customersId}/sharedCriteria:mutate

`POST /v23/customers/{customersId}/sharedCriteria:mutate`

## Request

- Base URL: `https://searchads360.googleapis.com`
- URL: `https://searchads360.googleapis.com/v23/customers/{customersId}/sharedCriteria:mutate`
- Auth: OAuth 2 and OAuth 2
  - Implicit: `https://accounts.google.com/o/oauth2/auth`
  - Scopes: `https://www.googleapis.com/auth/doubleclicksearch`
  - Authorization code: `https://accounts.google.com/o/oauth2/auth`
  - Token URL: `https://accounts.google.com/o/oauth2/token` scopes: `https://www.googleapis.com/auth/doubleclicksearch`
- TypeScript: <https://skmtc.dev/google/apis/searchads360/docs/v23/customers/:customersId/sharedCriteria:mutate/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates or removes shared criteria. Operation statuses are returned. List of thrown errors: [AuthenticationError]() [AuthorizationError]() [CriterionError]() [DatabaseError]() [DistinctError]() [FieldError]() [HeaderError]() [IdError]() [InternalError]() [MutateError]() [NotEmptyError]() [NullError]() [OperatorError]() [QuotaError]() [RangeError]() [RequestError]() [ResourceCountLimitExceededError]() [SizeLimitError]() [StringFormatError]() [StringLengthError]()

## Path parameters

- `customersId` string, required

## Request body

- GoogleAdsSearchads360V23ServicesMutateSharedCriteriaRequest: Request message for SharedCriterionService.MutateSharedCriteria.
  - `operations` GoogleAdsSearchads360V23ServicesSharedCriterionOperation[]: Required. The list of operations to perform on individual shared criteria.
    - `create` GoogleAdsSearchads360V23ResourcesSharedCriterion: A criterion belonging to a shared set.
      - `brand` GoogleAdsSearchads360V23CommonBrandInfo: Represents a Brand Criterion used for targeting based on commercial knowledge graph.
        - `displayName` string: Output only. A text representation of a brand.
        - `entityId` string: The Commercial KG MID for the brand.
        - `primaryUrl` string: Output only. The primary url of a brand.
        - `rejectionReason` 'UNSPECIFIED' | 'UNKNOWN' | 'EXISTING_BRAND' | 'EXISTING_BRAND_VARIANT' | 'INCORRECT_INFORMATION' | 'NOT_A_BRAND': Output only. The rejection reason when a brand status is REJECTED.
        - `status` 'UNSPECIFIED' | 'UNKNOWN' | 'ENABLED' | 'DEPRECATED' | 'UNVERIFIED' | 'APPROVED' | 'CANCELLED' | 'REJECTED': Output only. The status of a brand.
      - `criterionId` string, int64: Output only. The ID of the criterion. This field is ignored for mutates.
      - `keyword` GoogleAdsSearchads360V23CommonKeywordInfo: A keyword criterion.
        - `matchType` 'UNSPECIFIED' | 'UNKNOWN' | 'EXACT' | 'PHRASE' | 'BROAD': The match type of the keyword.
        - `text` string: The text of the keyword (at most 80 characters and 10 words).
      - `mobileAppCategory` GoogleAdsSearchads360V23CommonMobileAppCategoryInfo: A mobile app category criterion.
        - `mobileAppCategoryConstant` string: The mobile app category constant resource name.
      - `mobileApplication` GoogleAdsSearchads360V23CommonMobileApplicationInfo: A mobile application criterion.
        - `appId` string: A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
        - `name` string: Name of this mobile application.
      - `negative` boolean: Immutable. If true, the criterion is excluded. If false, the criterion is targeted.
      - `placement` GoogleAdsSearchads360V23CommonPlacementInfo: A placement criterion. This can be used to modify bids for sites when targeting the content network.
        - `url` string: URL of the placement. For example, "http://www.domain.com".
      - `resourceName` string: Immutable. The resource name of the shared criterion. Shared set resource names have the form: `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
      - `sharedSet` string: Immutable. The shared set to which the shared criterion belongs.
      - `type` 'UNSPECIFIED' | 'UNKNOWN' | 'KEYWORD' | 'PLACEMENT' | 'MOBILE_APP_CATEGORY' | 'MOBILE_APPLICATION' | 'DEVICE' | 'LOCATION' | 'LISTING_GROUP' | 'AD_SCHEDULE' | 'AGE_RANGE' | 'GENDER' | 'INCOME_RANGE' | 'PARENTAL_STATUS' | 'YOUTUBE_VIDEO' | 'YOUTUBE_CHANNEL' | 'USER_LIST' | 'PROXIMITY' | 'TOPIC' | 'LISTING_SCOPE' | 'LANGUAGE' | 'IP_BLOCK' | 'CONTENT_LABEL' | 'CARRIER' | 'USER_INTEREST' | 'WEBPAGE' | 'OPERATING_SYSTEM_VERSION' | 'APP_PAYMENT_MODEL' | 'MOBILE_DEVICE' | 'CUSTOM_AFFINITY' | 'CUSTOM_INTENT' | 'LOCATION_GROUP' | 'CUSTOM_AUDIENCE' | 'COMBINED_AUDIENCE' | 'KEYWORD_THEME' | 'AUDIENCE' | 'NEGATIVE_KEYWORD_LIST' | 'LOCAL_SERVICE_ID' | 'SEARCH_THEME' | 'BRAND' | 'BRAND_LIST' | 'LIFE_EVENT' | 'WEBPAGE_LIST' | 'VIDEO_LINEUP' | 'PLACEMENT_LIST' | 'VERTICAL_ADS_ITEM_GROUP_RULE_LIST' | 'VERTICAL_ADS_ITEM_GROUP_RULE': Output only. The type of the criterion.
      - `verticalAdsItemGroupRule` GoogleAdsSearchads360V23CommonVerticalAdsItemGroupRuleInfo: A criterion to represent a single item group rule in Vertical Ads.
        - `cityCriterionId` string: The resource name of the Geo Target Constant for the city.
        - `countryCriterionId` string: The resource name of the Geo Target Constant for the country.
        - `hotelClass` string, int64: Integer value specifying the class rating for a hotel. Ranges from 1 to 5 stars.
        - `itemCode` string: The id specifying a particular Vertical Ad listing.
        - `regionCriterionId` string: The resource name of the Geo Target Constant for the region.
      - `webpage` GoogleAdsSearchads360V23CommonWebpageInfo: Represents a criterion for targeting webpages of an advertiser's website.
        - `conditions` GoogleAdsSearchads360V23CommonWebpageConditionInfo[]: Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
          - `argument` string: Argument of webpage targeting condition.
          - `operand` 'UNSPECIFIED' | 'UNKNOWN' | 'URL' | 'CATEGORY' | 'PAGE_TITLE' | 'PAGE_CONTENT' | 'CUSTOM_LABEL': Operand of webpage targeting condition.
          - `operator` 'UNSPECIFIED' | 'UNKNOWN' | 'EQUALS' | 'CONTAINS': Operator of webpage targeting condition.
        - `coveragePercentage` number, double: Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
        - `criterionName` string: The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
        - `sample` GoogleAdsSearchads360V23CommonWebpageSampleInfo: List of sample urls that match the website target
          - `sampleUrls` string[]: Webpage sample urls
      - `youtubeChannel` GoogleAdsSearchads360V23CommonYouTubeChannelInfo: A YouTube Channel criterion.
        - `channelId` string: The YouTube uploader channel id or the channel code of a YouTube channel.
      - `youtubeVideo` GoogleAdsSearchads360V23CommonYouTubeVideoInfo: A YouTube Video criterion.
        - `videoId` string: YouTube video id as it appears on the YouTube watch page.
    - `remove` string: Remove operation: A resource name for the removed shared criterion is expected, in this format: `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
  - `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.
  - `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.
  - `validateOnly` boolean: If true, the request is validated but not executed. Only errors are returned, not results.

## Response `200`

Successful response

- GoogleAdsSearchads360V23ServicesMutateSharedCriteriaResponse: Response message for a shared criterion mutate.
  - `partialFailureError` GoogleRpcStatus: The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).
    - `code` integer: The status code, which should be an enum value of google.rpc.Code.
    - `details` object[]: A list of messages that carry the error details. There is a common set of message types for APIs to use.
    - `message` string: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  - `results` GoogleAdsSearchads360V23ServicesMutateSharedCriterionResult[]: All results for the mutate.
    - `resourceName` string: Returned for successful operations.
    - `sharedCriterion` GoogleAdsSearchads360V23ResourcesSharedCriterion: A criterion belonging to a shared set.
      - `brand` GoogleAdsSearchads360V23CommonBrandInfo: Represents a Brand Criterion used for targeting based on commercial knowledge graph.
        - `displayName` string: Output only. A text representation of a brand.
        - `entityId` string: The Commercial KG MID for the brand.
        - `primaryUrl` string: Output only. The primary url of a brand.
        - `rejectionReason` 'UNSPECIFIED' | 'UNKNOWN' | 'EXISTING_BRAND' | 'EXISTING_BRAND_VARIANT' | 'INCORRECT_INFORMATION' | 'NOT_A_BRAND': Output only. The rejection reason when a brand status is REJECTED.
        - `status` 'UNSPECIFIED' | 'UNKNOWN' | 'ENABLED' | 'DEPRECATED' | 'UNVERIFIED' | 'APPROVED' | 'CANCELLED' | 'REJECTED': Output only. The status of a brand.
      - `criterionId` string, int64: Output only. The ID of the criterion. This field is ignored for mutates.
      - `keyword` GoogleAdsSearchads360V23CommonKeywordInfo: A keyword criterion.
        - `matchType` 'UNSPECIFIED' | 'UNKNOWN' | 'EXACT' | 'PHRASE' | 'BROAD': The match type of the keyword.
        - `text` string: The text of the keyword (at most 80 characters and 10 words).
      - `mobileAppCategory` GoogleAdsSearchads360V23CommonMobileAppCategoryInfo: A mobile app category criterion.
        - `mobileAppCategoryConstant` string: The mobile app category constant resource name.
      - `mobileApplication` GoogleAdsSearchads360V23CommonMobileApplicationInfo: A mobile application criterion.
        - `appId` string: A string that uniquely identifies a mobile application to Google Ads API. The format of this string is "{platform}-{platform_native_id}", where platform is "1" for iOS apps and "2" for Android apps, and where platform_native_id is the mobile application identifier native to the corresponding platform. For iOS, this native identifier is the 9 digit string that appears at the end of an App Store URL (for example, "476943146" for "Flood-It! 2" whose App Store link is "http://itunes.apple.com/us/app/flood-it!-2/id476943146"). For Android, this native identifier is the application's package name (for example, "com.labpixies.colordrips" for "Color Drips" given Google Play link "https://play.google.com/store/apps/details?id=com.labpixies.colordrips"). A well formed app id for Google Ads API would thus be "1-476943146" for iOS and "2-com.labpixies.colordrips" for Android. This field is required and must be set in CREATE operations.
        - `name` string: Name of this mobile application.
      - `negative` boolean: Immutable. If true, the criterion is excluded. If false, the criterion is targeted.
      - `placement` GoogleAdsSearchads360V23CommonPlacementInfo: A placement criterion. This can be used to modify bids for sites when targeting the content network.
        - `url` string: URL of the placement. For example, "http://www.domain.com".
      - `resourceName` string: Immutable. The resource name of the shared criterion. Shared set resource names have the form: `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
      - `sharedSet` string: Immutable. The shared set to which the shared criterion belongs.
      - `type` 'UNSPECIFIED' | 'UNKNOWN' | 'KEYWORD' | 'PLACEMENT' | 'MOBILE_APP_CATEGORY' | 'MOBILE_APPLICATION' | 'DEVICE' | 'LOCATION' | 'LISTING_GROUP' | 'AD_SCHEDULE' | 'AGE_RANGE' | 'GENDER' | 'INCOME_RANGE' | 'PARENTAL_STATUS' | 'YOUTUBE_VIDEO' | 'YOUTUBE_CHANNEL' | 'USER_LIST' | 'PROXIMITY' | 'TOPIC' | 'LISTING_SCOPE' | 'LANGUAGE' | 'IP_BLOCK' | 'CONTENT_LABEL' | 'CARRIER' | 'USER_INTEREST' | 'WEBPAGE' | 'OPERATING_SYSTEM_VERSION' | 'APP_PAYMENT_MODEL' | 'MOBILE_DEVICE' | 'CUSTOM_AFFINITY' | 'CUSTOM_INTENT' | 'LOCATION_GROUP' | 'CUSTOM_AUDIENCE' | 'COMBINED_AUDIENCE' | 'KEYWORD_THEME' | 'AUDIENCE' | 'NEGATIVE_KEYWORD_LIST' | 'LOCAL_SERVICE_ID' | 'SEARCH_THEME' | 'BRAND' | 'BRAND_LIST' | 'LIFE_EVENT' | 'WEBPAGE_LIST' | 'VIDEO_LINEUP' | 'PLACEMENT_LIST' | 'VERTICAL_ADS_ITEM_GROUP_RULE_LIST' | 'VERTICAL_ADS_ITEM_GROUP_RULE': Output only. The type of the criterion.
      - `verticalAdsItemGroupRule` GoogleAdsSearchads360V23CommonVerticalAdsItemGroupRuleInfo: A criterion to represent a single item group rule in Vertical Ads.
        - `cityCriterionId` string: The resource name of the Geo Target Constant for the city.
        - `countryCriterionId` string: The resource name of the Geo Target Constant for the country.
        - `hotelClass` string, int64: Integer value specifying the class rating for a hotel. Ranges from 1 to 5 stars.
        - `itemCode` string: The id specifying a particular Vertical Ad listing.
        - `regionCriterionId` string: The resource name of the Geo Target Constant for the region.
      - `webpage` GoogleAdsSearchads360V23CommonWebpageInfo: Represents a criterion for targeting webpages of an advertiser's website.
        - `conditions` GoogleAdsSearchads360V23CommonWebpageConditionInfo[]: Conditions, or logical expressions, for webpage targeting. The list of webpage targeting conditions are and-ed together when evaluated for targeting. An empty list of conditions indicates all pages of the campaign's website are targeted. This field is required for CREATE operations and is prohibited on UPDATE operations.
          - `argument` string: Argument of webpage targeting condition.
          - `operand` 'UNSPECIFIED' | 'UNKNOWN' | 'URL' | 'CATEGORY' | 'PAGE_TITLE' | 'PAGE_CONTENT' | 'CUSTOM_LABEL': Operand of webpage targeting condition.
          - `operator` 'UNSPECIFIED' | 'UNKNOWN' | 'EQUALS' | 'CONTAINS': Operator of webpage targeting condition.
        - `coveragePercentage` number, double: Website criteria coverage percentage. This is the computed percentage of website coverage based on the website target, negative website target and negative keywords in the ad group and campaign. For instance, when coverage returns as 1, it indicates it has 100% coverage. This field is read-only.
        - `criterionName` string: The name of the criterion that is defined by this parameter. The name value will be used for identifying, sorting and filtering criteria with this type of parameters. This field is required for CREATE operations and is prohibited on UPDATE operations.
        - `sample` GoogleAdsSearchads360V23CommonWebpageSampleInfo: List of sample urls that match the website target
          - `sampleUrls` string[]: Webpage sample urls
      - `youtubeChannel` GoogleAdsSearchads360V23CommonYouTubeChannelInfo: A YouTube Channel criterion.
        - `channelId` string: The YouTube uploader channel id or the channel code of a YouTube channel.
      - `youtubeVideo` GoogleAdsSearchads360V23CommonYouTubeVideoInfo: A YouTube Video criterion.
        - `videoId` string: YouTube video id as it appears on the YouTube watch page.

---

[API](https://skmtc.dev/google/apis/searchads360.md) - [All operations](https://skmtc.dev/google/apis/searchads360/llms.txt) - [OpenAPI document](https://skmtc.dev/google/apis/searchads360/revisions/4a4511f84b18?raw)
