{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/google-ads/json-schema/google-ads-google-ads-googleads-v25-services-mutate-campaign-criteria-request-schema.json",
  "title": "GoogleAdsGoogleadsV25Services__MutateCampaignCriteriaRequest",
  "description": "Request message for CampaignCriterionService.MutateCampaignCriteria.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/google-ads-customers-campaigncriteria-api-openapi.yml#/components/schemas/GoogleAdsGoogleadsV25Services__MutateCampaignCriteriaRequest",
  "type": "object",
  "properties": {
    "operations": {
      "description": "Required. The list of operations to perform on individual criteria.",
      "items": {
        "$ref": "#/$defs/GoogleAdsGoogleadsV25Services__CampaignCriterionOperation"
      },
      "type": "array"
    },
    "validateOnly": {
      "type": "boolean",
      "description": "If true, the request is validated but not executed. Only errors are returned, not results."
    },
    "responseContentType": {
      "type": "string",
      "description": "The response content type setting. Determines whether the mutable resource or just the resource name should be returned post mutation.",
      "x-enumDescriptions": [
        "Not specified. Will return the resource name only in the response.",
        "The mutate response will be the resource name.",
        "The mutate response will contain the resource name and the resource with mutable fields if possible. Otherwise, only the resource name will be returned."
      ],
      "enum": [
        "UNSPECIFIED",
        "RESOURCE_NAME_ONLY",
        "MUTABLE_RESOURCE"
      ]
    },
    "partialFailure": {
      "type": "boolean",
      "description": "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."
    }
  },
  "$defs": {
    "GoogleAdsGoogleadsV25Common__ActivityCityInfo": {
      "description": "The city where the travel activity is available.",
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "String value of the activity city. The Geo Target Constant resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ActivityCountryInfo": {
      "description": "The country where the travel activity is available.",
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "String value of the activity country. The Geo Target Constant resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ActivityIdInfo": {
      "description": "Advertiser-specific activity ID.",
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "String value of the activity ID."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ActivityRatingInfo": {
      "description": "Rating of the activity as a number 1 to 5, where 5 is the best.",
      "type": "object",
      "properties": {
        "value": {
          "description": "Long value of the activity rating.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ActivityStateInfo": {
      "description": "The state where the travel activity is available.",
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "String value of the activity state. The Geo Target Constant resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AdScheduleInfo": {
      "type": "object",
      "properties": {
        "dayOfWeek": {
          "description": "Day of the week the schedule applies to. This field is required for CREATE operations and is prohibited on UPDATE operations.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Monday.",
            "Tuesday.",
            "Wednesday.",
            "Thursday.",
            "Friday.",
            "Saturday.",
            "Sunday."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "MONDAY",
            "TUESDAY",
            "WEDNESDAY",
            "THURSDAY",
            "FRIDAY",
            "SATURDAY",
            "SUNDAY"
          ]
        },
        "startHour": {
          "type": "integer",
          "description": "Starting hour in 24 hour time. This field must be between 0 and 23, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.",
          "format": "int32"
        },
        "endHour": {
          "type": "integer",
          "description": "Ending hour in 24 hour time; 24 signifies end of the day. This field must be between 0 and 24, inclusive. This field is required for CREATE operations and is prohibited on UPDATE operations.",
          "format": "int32"
        },
        "endMinute": {
          "type": "string",
          "description": "Minutes after the end hour at which this schedule ends. The schedule is exclusive of the end minute. This field is required for CREATE operations and is prohibited on UPDATE operations.",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Zero minutes past the hour.",
            "Fifteen minutes past the hour.",
            "Thirty minutes past the hour.",
            "Forty-five minutes past the hour."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ZERO",
            "FIFTEEN",
            "THIRTY",
            "FORTY_FIVE"
          ]
        },
        "startMinute": {
          "description": "Minutes after the start hour at which this schedule starts. This field is required for CREATE operations and is prohibited on UPDATE operations.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Zero minutes past the hour.",
            "Fifteen minutes past the hour.",
            "Thirty minutes past the hour.",
            "Forty-five minutes past the hour."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ZERO",
            "FIFTEEN",
            "THIRTY",
            "FORTY_FIVE"
          ]
        }
      },
      "description": "Represents an AdSchedule criterion. AdSchedule is specified as the day of the week and a time interval within which ads will be shown. No more than six AdSchedules can be added for the same day."
    },
    "GoogleAdsGoogleadsV25Common__AddressInfo": {
      "description": "Address for proximity criterion.",
      "type": "object",
      "properties": {
        "cityName": {
          "type": "string",
          "description": "Name of the city."
        },
        "countryCode": {
          "description": "Country code.",
          "type": "string"
        },
        "postalCode": {
          "type": "string",
          "description": "Postal code."
        },
        "streetAddress": {
          "type": "string",
          "description": "Street address line 1."
        },
        "provinceCode": {
          "description": "Province or state code.",
          "type": "string"
        },
        "provinceName": {
          "type": "string",
          "description": "Province or state name."
        },
        "streetAddress2": {
          "description": "Street address line 2. This field is write-only. It is only used for calculating the longitude and latitude of an address when geo_point is empty.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__AgeRangeInfo": {
      "description": "An age range criterion.",
      "type": "object",
      "properties": {
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Between 18 and 24 years old.",
            "Between 25 and 34 years old.",
            "Between 35 and 44 years old.",
            "Between 45 and 54 years old.",
            "Between 55 and 64 years old.",
            "65 years old and beyond.",
            "Undetermined age range."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "AGE_RANGE_18_24",
            "AGE_RANGE_25_34",
            "AGE_RANGE_35_44",
            "AGE_RANGE_45_54",
            "AGE_RANGE_55_64",
            "AGE_RANGE_65_UP",
            "AGE_RANGE_UNDETERMINED"
          ],
          "type": "string",
          "description": "Type of the age range."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__BrandListInfo": {
      "type": "object",
      "properties": {
        "sharedSet": {
          "description": "Shared set resource name of the brand list.",
          "type": "string"
        }
      },
      "description": "A Brand List Criterion is used to specify a list of brands. The list is represented as a SharedSet id type BRAND_HINT. A criterion of this type can be either targeted or excluded."
    },
    "GoogleAdsGoogleadsV25Common__CarrierInfo": {
      "description": "Represents a Carrier Criterion.",
      "type": "object",
      "properties": {
        "carrierConstant": {
          "type": "string",
          "description": "The Carrier constant resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__CombinedAudienceInfo": {
      "description": "A combined audience criterion.",
      "type": "object",
      "properties": {
        "combinedAudience": {
          "type": "string",
          "description": "The CombinedAudience resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ContentLabelInfo": {
      "type": "object",
      "properties": {
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Sexually suggestive content.",
            "Below the fold placement.",
            "Parked domain.",
            "Juvenile, gross & bizarre content.",
            "Profanity & rough language.",
            "Death & tragedy.",
            "Video.",
            "Content rating: G.",
            "Content rating: PG.",
            "Content rating: T.",
            "Content rating: MA.",
            "Content rating: not yet rated.",
            "Embedded video.",
            "Live streaming video.",
            "Sensitive social issues.",
            "Content that's suitable for families to view together, including Made for Kids videos on YouTube.",
            "Video games that simulate hand-to-hand fighting or combat with the use of modern or medieval weapons.",
            "Video games that feature mature content, such as violence, inappropriate language, or sexual suggestiveness.",
            "Health content that people might find sensitive or upsetting, such as medical procedures or images and descriptions of various medical conditions.",
            "Health content from sources that may provide accurate information but aren't as commonly cited as other, more well-known sources.",
            "News content that's been recently announced, regardless of the themes or people being reported on.",
            "News content that people might find sensitive or upsetting, such as crimes, accidents, and natural incidents, or commentary on potentially controversial social and political issues.",
            "News content from sources that aren't featured on Google News or YouTube News.",
            "Political content, such as political statements made by well-known politicians, political elections, or events widely perceived to be political in nature.",
            "Content with religious themes, such as religious teachings or customs, holy sites or places of worship, well-known religious figures or people dressed in religious attire, or religious opinions on social and political issues."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "SEXUALLY_SUGGESTIVE",
            "BELOW_THE_FOLD",
            "PARKED_DOMAIN",
            "JUVENILE",
            "PROFANITY",
            "TRAGEDY",
            "VIDEO",
            "VIDEO_RATING_DV_G",
            "VIDEO_RATING_DV_PG",
            "VIDEO_RATING_DV_T",
            "VIDEO_RATING_DV_MA",
            "VIDEO_NOT_YET_RATED",
            "EMBEDDED_VIDEO",
            "LIVE_STREAMING_VIDEO",
            "SOCIAL_ISSUES",
            "BRAND_SUITABILITY_CONTENT_FOR_FAMILIES",
            "BRAND_SUITABILITY_GAMES_FIGHTING",
            "BRAND_SUITABILITY_GAMES_MATURE",
            "BRAND_SUITABILITY_HEALTH_SENSITIVE",
            "BRAND_SUITABILITY_HEALTH_SOURCE_UNDETERMINED",
            "BRAND_SUITABILITY_NEWS_RECENT",
            "BRAND_SUITABILITY_NEWS_SENSITIVE",
            "BRAND_SUITABILITY_NEWS_SOURCE_NOT_FEATURED",
            "BRAND_SUITABILITY_POLITICS",
            "BRAND_SUITABILITY_RELIGION"
          ],
          "description": "Content label type, required for CREATE operations.",
          "type": "string"
        }
      },
      "description": "Content Label for category exclusion."
    },
    "GoogleAdsGoogleadsV25Common__CustomAffinityInfo": {
      "description": "A custom affinity criterion. A criterion of this type is only targetable.",
      "type": "object",
      "properties": {
        "customAffinity": {
          "type": "string",
          "description": "The CustomInterest resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__CustomAudienceInfo": {
      "description": "A custom audience criterion.",
      "type": "object",
      "properties": {
        "customAudience": {
          "type": "string",
          "description": "The CustomAudience resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__DeviceInfo": {
      "description": "A device criterion.",
      "type": "object",
      "properties": {
        "type": {
          "x-enumDescriptions": [
            "Not specified.",
            "The value is unknown in this version.",
            "Mobile devices with full browsers.",
            "Tablets with full browsers.",
            "Computers.",
            "Smart TVs and game consoles.",
            "Other device types."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "MOBILE",
            "TABLET",
            "DESKTOP",
            "CONNECTED_TV",
            "OTHER"
          ],
          "description": "Type of the device.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ExtendedDemographicInfo": {
      "description": "Represents an extended demographic criterion.",
      "type": "object",
      "properties": {
        "extendedDemographicId": {
          "format": "int64",
          "type": "string",
          "description": "Taxonomy id of the extended demographic group."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__GenderInfo": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "description": "Type of the gender.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Male.",
            "Female.",
            "Undetermined gender."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "MALE",
            "FEMALE",
            "UNDETERMINED"
          ]
        }
      },
      "description": "A gender criterion."
    },
    "GoogleAdsGoogleadsV25Common__GeoPointInfo": {
      "description": "Geo point for proximity criterion.",
      "type": "object",
      "properties": {
        "latitudeInMicroDegrees": {
          "format": "int32",
          "description": "Micro degrees for the latitude.",
          "type": "integer"
        },
        "longitudeInMicroDegrees": {
          "format": "int32",
          "description": "Micro degrees for the longitude.",
          "type": "integer"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__HotelCityInfo": {
      "description": "City the hotel is located in.",
      "type": "object",
      "properties": {
        "cityCriterion": {
          "type": "string",
          "description": "The Geo Target Constant resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__HotelClassInfo": {
      "type": "object",
      "properties": {
        "value": {
          "format": "int64",
          "type": "string",
          "description": "Long value of the hotel class."
        }
      },
      "description": "Class of the hotel as a number of stars 1 to 5."
    },
    "GoogleAdsGoogleadsV25Common__HotelCountryRegionInfo": {
      "type": "object",
      "properties": {
        "countryRegionCriterion": {
          "description": "The Geo Target Constant resource name.",
          "type": "string"
        }
      },
      "description": "Country or Region the hotel is located in."
    },
    "GoogleAdsGoogleadsV25Common__HotelIdInfo": {
      "description": "Advertiser-specific hotel ID.",
      "type": "object",
      "properties": {
        "value": {
          "description": "String value of the hotel ID.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__HotelStateInfo": {
      "type": "object",
      "properties": {
        "stateCriterion": {
          "description": "The Geo Target Constant resource name.",
          "type": "string"
        }
      },
      "description": "State the hotel is located in."
    },
    "GoogleAdsGoogleadsV25Common__IncomeRangeInfo": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "description": "Type of the income range.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "0%-50%.",
            "50% to 60%.",
            "60% to 70%.",
            "70% to 80%.",
            "80% to 90%.",
            "Greater than 90%.",
            "Undetermined income range."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "INCOME_RANGE_0_50",
            "INCOME_RANGE_50_60",
            "INCOME_RANGE_60_70",
            "INCOME_RANGE_70_80",
            "INCOME_RANGE_80_90",
            "INCOME_RANGE_90_UP",
            "INCOME_RANGE_UNDETERMINED"
          ]
        }
      },
      "description": "An income range criterion."
    },
    "GoogleAdsGoogleadsV25Common__IpBlockInfo": {
      "type": "object",
      "properties": {
        "ipAddress": {
          "type": "string",
          "description": "The IP address or the CIDR block to be excluded."
        }
      },
      "description": "An IpBlock criterion used for excluding IP addresses. We support excluding individual IP addresses or CIDR blocks. Create one IpBlockInfo criterion for each individual IP address or CIDR block you want to exclude. You can exclude up to 500 IP addresses per campaign. For more details, see [Exclude IP addresses](//support.google.com/google-ads/answer/2456098). IPv4 examples: * Individual address: 192.168.0.1 * Individual address as CIDR block: 192.168.0.1/32 * CIDR block: 192.168.0.0/24 IPv6 examples: * Individual address: 2001:db8:a0b:12f0::1 * Individual address as CIDR block: 2001:db8:a0b:12f0::1/128 * CIDR block: 2001:db8::/48"
    },
    "GoogleAdsGoogleadsV25Common__KeywordInfo": {
      "type": "object",
      "properties": {
        "text": {
          "type": "string",
          "description": "The text of the keyword (at most 80 characters and 10 words)."
        },
        "matchType": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Exact match.",
            "Phrase match.",
            "Broad match."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "EXACT",
            "PHRASE",
            "BROAD"
          ],
          "type": "string",
          "description": "The match type of the keyword."
        }
      },
      "description": "A keyword criterion."
    },
    "GoogleAdsGoogleadsV25Common__KeywordThemeInfo": {
      "description": "A Smart Campaign keyword theme.",
      "type": "object",
      "properties": {
        "keywordThemeConstant": {
          "type": "string",
          "description": "The resource name of a Smart Campaign keyword theme constant. `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`"
        },
        "freeFormKeywordTheme": {
          "type": "string",
          "description": "Free-form text to be matched to a Smart Campaign keyword theme constant on a best-effort basis."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__LanguageInfo": {
      "description": "A language criterion.",
      "type": "object",
      "properties": {
        "languageConstant": {
          "type": "string",
          "description": "The language constant resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__LifeEventInfo": {
      "type": "object",
      "properties": {
        "lifeEventId": {
          "format": "int64",
          "description": "Taxonomy id of the life event.",
          "type": "string"
        }
      },
      "description": "Represents a life event criterion."
    },
    "GoogleAdsGoogleadsV25Common__ListingDimensionInfo": {
      "type": "object",
      "properties": {
        "activityCountry": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ActivityCountryInfo",
          "description": "The country where the travel activity is available."
        },
        "productGrouping": {
          "description": "Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductGroupingInfo"
        },
        "productChannel": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductChannelInfo",
          "description": "Locality of a product offer."
        },
        "activityId": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ActivityIdInfo",
          "description": "Advertiser-specific activity ID."
        },
        "hotelCountryRegion": {
          "description": "Country or Region the hotel is located in.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__HotelCountryRegionInfo"
        },
        "hotelCity": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__HotelCityInfo",
          "description": "City the hotel is located in."
        },
        "productCustomAttribute": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductCustomAttributeInfo",
          "description": "Custom attribute of a product offer."
        },
        "hotelClass": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__HotelClassInfo",
          "description": "Class of the hotel as a number of stars 1 to 5."
        },
        "productLabels": {
          "description": "Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductLabelsInfo"
        },
        "productItemId": {
          "description": "Item id of a product offer.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductItemIdInfo"
        },
        "unknownListingDimension": {
          "description": "Unknown dimension. Set when no other listing dimension is set.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__UnknownListingDimensionInfo"
        },
        "productCategory": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductCategoryInfo",
          "description": "Category of a product offer."
        },
        "activityRating": {
          "description": "Rating of the activity as a number 1 to 5, where 5 is the best.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ActivityRatingInfo"
        },
        "hotelState": {
          "description": "State the hotel is located in.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__HotelStateInfo"
        },
        "productType": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductTypeInfo",
          "description": "Type of a product offer."
        },
        "hotelId": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__HotelIdInfo",
          "description": "Advertiser-specific hotel ID."
        },
        "activityCity": {
          "description": "The city where the travel activity is available.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ActivityCityInfo"
        },
        "productBrand": {
          "description": "Brand of a product offer.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductBrandInfo"
        },
        "activityState": {
          "description": "The state where the travel activity is available.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ActivityStateInfo"
        },
        "productCondition": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductConditionInfo",
          "description": "Condition of a product offer."
        },
        "productLegacyCondition": {
          "description": "Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductLegacyConditionInfo"
        },
        "productTypeFull": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductTypeFullInfo",
          "description": "Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns."
        },
        "productChannelExclusivity": {
          "description": "Availability of a product offer.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProductChannelExclusivityInfo"
        }
      },
      "description": "Listing dimensions for listing group criterion."
    },
    "GoogleAdsGoogleadsV25Common__ListingScopeInfo": {
      "description": "A listing scope criterion.",
      "type": "object",
      "properties": {
        "dimensions": {
          "description": "Scope of the campaign criterion.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ListingDimensionInfo"
          },
          "type": "array"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__LocalServiceIdInfo": {
      "description": "A Local Services Ads service ID. Represents a service type (such as install_faucet) that a Local Services Campaign can target.",
      "type": "object",
      "properties": {
        "serviceId": {
          "type": "string",
          "description": "The criterion resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__LocationGroupInfo": {
      "type": "object",
      "properties": {
        "enableCustomerLevelLocationAssetSet": {
          "description": "Denotes that the latest customer level asset set is used for targeting. Used with radius and radius_units. Cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or location_group_asset_sets should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.",
          "type": "boolean"
        },
        "locationGroupAssetSets": {
          "description": "AssetSets whose Assets are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with feed, geo target constants or feed item sets. When using asset sets, either this field or enable_customer_level_location_asset_set should be specified. Both cannot be used at the same time. This can only be set in CREATE operations.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "geoTargetConstants": {
          "type": "array",
          "description": "Geo target constant(s) restricting the scope of the geographic area within the feed. Currently only one geo target constant is allowed. Cannot be set with AssetSet fields.",
          "items": {
            "type": "string"
          }
        },
        "radius": {
          "format": "int64",
          "type": "string",
          "description": "Distance in units specifying the radius around targeted locations. This is required and must be set in CREATE operations."
        },
        "radiusUnits": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Meters",
            "Miles",
            "Milli Miles"
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "METERS",
            "MILES",
            "MILLI_MILES"
          ],
          "type": "string",
          "description": "Unit of the radius. Miles and meters are supported for geo target constants. Milli miles and meters are supported for feed item sets and asset sets. This is required and must be set in CREATE operations."
        },
        "feedItemSets": {
          "description": "FeedItemSets whose FeedItems are targeted. If multiple IDs are specified, then all items that appear in at least one set are targeted. This field cannot be used with geo_target_constants. This is optional and can only be set in CREATE operations. Cannot be set with AssetSet fields.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "description": "A radius around a list of locations specified through a feed or assetSet."
    },
    "GoogleAdsGoogleadsV25Common__LocationInfo": {
      "type": "object",
      "properties": {
        "geoTargetConstant": {
          "type": "string",
          "description": "The geo target constant resource name."
        }
      },
      "description": "A location criterion."
    },
    "GoogleAdsGoogleadsV25Common__MobileAppCategoryInfo": {
      "description": "A mobile app category criterion.",
      "type": "object",
      "properties": {
        "mobileAppCategoryConstant": {
          "type": "string",
          "description": "The mobile app category constant resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__MobileApplicationInfo": {
      "type": "object",
      "properties": {
        "appId": {
          "description": "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.",
          "type": "string"
        },
        "name": {
          "description": "Name of this mobile application.",
          "type": "string"
        }
      },
      "description": "A mobile application criterion."
    },
    "GoogleAdsGoogleadsV25Common__MobileDeviceInfo": {
      "description": "A mobile device criterion.",
      "type": "object",
      "properties": {
        "mobileDeviceConstant": {
          "type": "string",
          "description": "The mobile device constant resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__OperatingSystemVersionInfo": {
      "description": "Represents an operating system version to be targeted.",
      "type": "object",
      "properties": {
        "operatingSystemVersionConstant": {
          "type": "string",
          "description": "The operating system version constant resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ParentalStatusInfo": {
      "type": "object",
      "properties": {
        "type": {
          "description": "Type of the parental status.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Parent.",
            "Not a parent.",
            "Undetermined parental status."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "PARENT",
            "NOT_A_PARENT",
            "UNDETERMINED"
          ]
        }
      },
      "description": "A parental status criterion."
    },
    "GoogleAdsGoogleadsV25Common__PlacementInfo": {
      "description": "A placement criterion. This can be used to modify bids for sites when targeting the content network.",
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "description": "URL of the placement. For example, \"http://www.domain.com\"."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ProductBrandInfo": {
      "type": "object",
      "properties": {
        "value": {
          "description": "String value of the product brand.",
          "type": "string"
        }
      },
      "description": "Brand of the product."
    },
    "GoogleAdsGoogleadsV25Common__ProductCategoryInfo": {
      "type": "object",
      "properties": {
        "level": {
          "description": "Level of the product category.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Level 1.",
            "Level 2.",
            "Level 3.",
            "Level 4.",
            "Level 5."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "LEVEL1",
            "LEVEL2",
            "LEVEL3",
            "LEVEL4",
            "LEVEL5"
          ]
        },
        "categoryId": {
          "description": "ID of the product category. This ID is equivalent to the google_product_category ID as described in this article: https://support.google.com/merchants/answer/6324436",
          "type": "string",
          "format": "int64"
        }
      },
      "description": "Category of a product offer."
    },
    "GoogleAdsGoogleadsV25Common__ProductChannelExclusivityInfo": {
      "description": "Availability of a product offer.",
      "type": "object",
      "properties": {
        "channelExclusivity": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The item is sold through one channel only, either local stores or online as indicated by its ProductChannel.",
            "The item is matched to its online or local stores counterpart, indicating it is available for purchase in both ShoppingProductChannels."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "SINGLE_CHANNEL",
            "MULTI_CHANNEL"
          ],
          "description": "Value of the availability.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ProductChannelInfo": {
      "description": "Locality of a product offer.",
      "type": "object",
      "properties": {
        "channel": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The item is sold online.",
            "The item is sold in local stores."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ONLINE",
            "LOCAL"
          ],
          "description": "Value of the locality.",
          "type": "string"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ProductConditionInfo": {
      "description": "Condition of a product offer.",
      "type": "object",
      "properties": {
        "condition": {
          "type": "string",
          "description": "Value of the condition.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The product condition is new.",
            "The product condition is refurbished.",
            "The product condition is used."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "NEW",
            "REFURBISHED",
            "USED"
          ]
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ProductCustomAttributeInfo": {
      "type": "object",
      "properties": {
        "index": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "First product custom attribute.",
            "Second product custom attribute.",
            "Third product custom attribute.",
            "Fourth product custom attribute.",
            "Fifth product custom attribute."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "INDEX0",
            "INDEX1",
            "INDEX2",
            "INDEX3",
            "INDEX4"
          ],
          "type": "string",
          "description": "Indicates the index of the custom attribute."
        },
        "value": {
          "description": "String value of the product custom attribute.",
          "type": "string"
        }
      },
      "description": "Custom attribute of a product offer."
    },
    "GoogleAdsGoogleadsV25Common__ProductGroupingInfo": {
      "type": "object",
      "properties": {
        "value": {
          "description": "String value of the product grouping.",
          "type": "string"
        }
      },
      "description": "Grouping of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns."
    },
    "GoogleAdsGoogleadsV25Common__ProductItemIdInfo": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "Value of the id."
        }
      },
      "description": "Item id of a product offer."
    },
    "GoogleAdsGoogleadsV25Common__ProductLabelsInfo": {
      "description": "Labels of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns.",
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "String value of the product labels."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__ProductLegacyConditionInfo": {
      "type": "object",
      "properties": {
        "value": {
          "description": "String value of the product legacy condition.",
          "type": "string"
        }
      },
      "description": "Legacy condition of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns."
    },
    "GoogleAdsGoogleadsV25Common__ProductTypeFullInfo": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "String value of the product full type."
        }
      },
      "description": "Full type of a product offer. This listing dimension is deprecated and it is supported only in Display campaigns."
    },
    "GoogleAdsGoogleadsV25Common__ProductTypeInfo": {
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "description": "Value of the type."
        },
        "level": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Level 1.",
            "Level 2.",
            "Level 3.",
            "Level 4.",
            "Level 5."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "LEVEL1",
            "LEVEL2",
            "LEVEL3",
            "LEVEL4",
            "LEVEL5"
          ],
          "type": "string",
          "description": "Level of the type."
        }
      },
      "description": "Type of a product offer."
    },
    "GoogleAdsGoogleadsV25Common__ProximityInfo": {
      "description": "A Proximity criterion. The geo point and radius determine what geographical area is included. The address is a description of the geo point that does not affect ad serving. There are two ways to create a proximity. First, by setting an address and radius. The geo point will be automatically computed. Second, by setting a geo point and radius. The address is an optional label that won't be validated.",
      "type": "object",
      "properties": {
        "geoPoint": {
          "description": "Latitude and longitude.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__GeoPointInfo"
        },
        "radius": {
          "description": "The radius of the proximity.",
          "type": "number",
          "format": "double"
        },
        "radiusUnits": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Miles",
            "Kilometers"
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "MILES",
            "KILOMETERS"
          ],
          "description": "The unit of measurement of the radius. Default is KILOMETERS.",
          "type": "string"
        },
        "address": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AddressInfo",
          "description": "Full address."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__TopicInfo": {
      "type": "object",
      "properties": {
        "topicConstant": {
          "type": "string",
          "description": "The Topic Constant resource name."
        },
        "path": {
          "description": "The category to target or exclude. Each subsequent element in the array describes a more specific sub-category. For example, \"Pets & Animals\", \"Pets\", \"Dogs\" represents the \"Pets & Animals/Pets/Dogs\" category.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "description": "A topic criterion. Use topics to target or exclude placements in the Google Display Network based on the category into which the placement falls (for example, \"Pets & Animals/Pets/Dogs\")."
    },
    "GoogleAdsGoogleadsV25Common__UnknownListingDimensionInfo": {
      "type": "object",
      "properties": {},
      "description": "Unknown listing dimension."
    },
    "GoogleAdsGoogleadsV25Common__UserInterestInfo": {
      "description": "Represents a particular interest-based topic to be targeted.",
      "type": "object",
      "properties": {
        "userInterestCategory": {
          "type": "string",
          "description": "The UserInterest resource name."
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__UserListInfo": {
      "type": "object",
      "properties": {
        "userList": {
          "type": "string",
          "description": "The User List resource name."
        }
      },
      "description": "A User List criterion. Represents a user list that is defined by the advertiser to be targeted."
    },
    "GoogleAdsGoogleadsV25Common__VideoLineupInfo": {
      "description": "A Video lineup criterion.",
      "type": "object",
      "properties": {
        "videoLineupId": {
          "type": "string",
          "description": "ID for a Video lineup. Contact your Google business development representative for details.",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Common__WebpageConditionInfo": {
      "type": "object",
      "properties": {
        "operator": {
          "type": "string",
          "description": "Operator of webpage targeting condition.",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "The argument web condition is equal to the compared web condition.",
            "The argument web condition is part of the compared web condition."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "EQUALS",
            "CONTAINS"
          ]
        },
        "operand": {
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Operand denoting a webpage URL targeting condition.",
            "Operand denoting a webpage category targeting condition.",
            "Operand denoting a webpage title targeting condition.",
            "Operand denoting a webpage content targeting condition.",
            "Operand denoting a webpage custom label targeting condition."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "URL",
            "CATEGORY",
            "PAGE_TITLE",
            "PAGE_CONTENT",
            "CUSTOM_LABEL"
          ],
          "description": "Operand of webpage targeting condition.",
          "type": "string"
        },
        "argument": {
          "description": "Argument of webpage targeting condition.",
          "type": "string"
        }
      },
      "description": "Logical expression for targeting webpages of an advertiser's website."
    },
    "GoogleAdsGoogleadsV25Common__WebpageInfo": {
      "type": "object",
      "properties": {
        "criterionName": {
          "description": "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.",
          "type": "string"
        },
        "coveragePercentage": {
          "description": "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.",
          "type": "number",
          "format": "double"
        },
        "conditions": {
          "description": "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.",
          "items": {
            "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__WebpageConditionInfo"
          },
          "type": "array"
        },
        "sample": {
          "description": "List of sample urls that match the website target. This field is read-only.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__WebpageSampleInfo"
        }
      },
      "description": "Represents a criterion for targeting webpages of an advertiser's website."
    },
    "GoogleAdsGoogleadsV25Common__WebpageListInfo": {
      "type": "object",
      "properties": {
        "sharedSet": {
          "type": "string",
          "description": "Shared set resource name of the webpage list."
        }
      },
      "description": "Represents a list of webpage criteria."
    },
    "GoogleAdsGoogleadsV25Common__WebpageSampleInfo": {
      "type": "object",
      "properties": {
        "sampleUrls": {
          "type": "array",
          "description": "Webpage sample urls",
          "items": {
            "type": "string"
          }
        }
      },
      "description": "List of sample urls that match the website target"
    },
    "GoogleAdsGoogleadsV25Common__YouTubeChannelInfo": {
      "type": "object",
      "properties": {
        "channelId": {
          "type": "string",
          "description": "The YouTube uploader channel id or the channel code of a YouTube channel."
        }
      },
      "description": "A YouTube Channel criterion."
    },
    "GoogleAdsGoogleadsV25Common__YouTubeVideoInfo": {
      "description": "A YouTube Video criterion.",
      "type": "object",
      "properties": {
        "videoId": {
          "type": "string",
          "description": "YouTube video id as it appears on the YouTube watch page."
        }
      }
    },
    "GoogleAdsGoogleadsV25Resources__CampaignCriterion": {
      "description": "A campaign criterion.",
      "type": "object",
      "properties": {
        "type": {
          "enum": [
            "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",
            "RETAIL_FILTER_BUNDLE",
            "RETAIL_FILTER"
          ],
          "description": "Output only. The type of the criterion.",
          "type": "string",
          "x-enumDescriptions": [
            "Not specified.",
            "Used for return value only. Represents value unknown in this version.",
            "Keyword, for example, 'mars cruise'.",
            "Placement, also known as Website, for example, 'www.flowers4sale.com'",
            "Mobile application categories to target.",
            "Mobile applications to target.",
            "Devices to target.",
            "Locations to target.",
            "Listing groups to target.",
            "Ad Schedule.",
            "Age range.",
            "Gender.",
            "Income Range.",
            "Parental status.",
            "YouTube Video.",
            "YouTube Channel.",
            "User list.",
            "Proximity.",
            "A topic target on the display network (for example, \"Pets & Animals\").",
            "Listing scope to target.",
            "Language.",
            "IpBlock.",
            "Content Label for category exclusion.",
            "Carrier.",
            "A category the user is interested in.",
            "Webpage criterion for dynamic search ads.",
            "Operating system version.",
            "App payment model.",
            "Mobile device.",
            "Custom affinity.",
            "Custom intent.",
            "Location group.",
            "Custom audience",
            "Combined audience",
            "Smart Campaign keyword theme",
            "Audience",
            "Negative Keyword List",
            "Local Services Ads Service ID.",
            "Search Theme.",
            "Brand",
            "Brand List",
            "Life Event",
            "Webpage List",
            "Video lineup",
            "Placement List",
            "A list of rules for item groups in Vertical Ads.",
            "A rule for an item group in Vertical Ads.",
            "Retail Filter Bundle for linking a retail filter shared set to an ad group.",
            "Retail Filter for defining individual tag rules or expressions within a shared set."
          ]
        },
        "carrier": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CarrierInfo",
          "description": "Immutable. Carrier."
        },
        "operatingSystemVersion": {
          "description": "Immutable. Operating system version.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__OperatingSystemVersionInfo"
        },
        "ageRange": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AgeRangeInfo",
          "description": "Immutable. Age range."
        },
        "language": {
          "description": "Immutable. Language.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LanguageInfo"
        },
        "displayName": {
          "type": "string",
          "description": "Output only. The display name of the criterion. This field is ignored for mutates."
        },
        "keywordTheme": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__KeywordThemeInfo",
          "description": "Immutable. Smart Campaign Keyword Theme."
        },
        "locationGroup": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LocationGroupInfo",
          "description": "Immutable. Location Group"
        },
        "brandList": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__BrandListInfo",
          "description": "Immutable. Brand list campaign criterion."
        },
        "device": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__DeviceInfo",
          "description": "Immutable. Device."
        },
        "contentLabel": {
          "description": "Immutable. ContentLabel.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ContentLabelInfo"
        },
        "status": {
          "x-enumDescriptions": [
            "No value has been specified.",
            "The received value is not known in this version. This is a response-only value.",
            "The campaign criterion is enabled.",
            "The campaign criterion is paused.",
            "The campaign criterion is removed."
          ],
          "enum": [
            "UNSPECIFIED",
            "UNKNOWN",
            "ENABLED",
            "PAUSED",
            "REMOVED"
          ],
          "description": "The status of the criterion.",
          "type": "string"
        },
        "localServiceId": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LocalServiceIdInfo",
          "description": "Immutable. GLS service campaign criterion."
        },
        "location": {
          "description": "Immutable. Location.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LocationInfo"
        },
        "ipBlock": {
          "description": "Immutable. IpBlock. You can exclude up to 500 IP addresses per campaign.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__IpBlockInfo"
        },
        "campaign": {
          "description": "Immutable. The campaign to which the criterion belongs.",
          "type": "string"
        },
        "webpageList": {
          "description": "Immutable. Webpage list. This criterion is not publicly available.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__WebpageListInfo"
        },
        "youtubeVideo": {
          "description": "Immutable. YouTube Video.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__YouTubeVideoInfo"
        },
        "mobileDevice": {
          "description": "Immutable. Mobile Device.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__MobileDeviceInfo"
        },
        "topic": {
          "description": "Immutable. Topic.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__TopicInfo"
        },
        "mobileAppCategory": {
          "description": "Immutable. Mobile app category.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__MobileAppCategoryInfo"
        },
        "userInterest": {
          "description": "Immutable. User Interest.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__UserInterestInfo"
        },
        "combinedAudience": {
          "description": "Immutable. Combined Audience.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CombinedAudienceInfo"
        },
        "keyword": {
          "description": "Immutable. Keyword.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__KeywordInfo"
        },
        "mobileApplication": {
          "description": "Immutable. Mobile application.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__MobileApplicationInfo"
        },
        "bidModifier": {
          "format": "float",
          "type": "number",
          "description": "The modifier for the bids when the criterion matches. The modifier must be in the range: 0.1 - 10.0. Most targetable criteria types support modifiers. Use 0 to opt out of a Device type."
        },
        "gender": {
          "description": "Immutable. Gender.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__GenderInfo"
        },
        "webpage": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__WebpageInfo",
          "description": "Immutable. Webpage."
        },
        "negative": {
          "description": "Immutable. Whether to target (`false`) or exclude (`true`) the criterion.",
          "type": "boolean"
        },
        "customAffinity": {
          "description": "Immutable. Custom Affinity.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomAffinityInfo"
        },
        "resourceName": {
          "type": "string",
          "description": "Immutable. The resource name of the campaign criterion. Campaign criterion resource names have the form: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`"
        },
        "placement": {
          "description": "Immutable. Placement.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__PlacementInfo"
        },
        "extendedDemographic": {
          "description": "Immutable. Extended demographic criterion.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ExtendedDemographicInfo"
        },
        "proximity": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ProximityInfo",
          "description": "Immutable. Proximity."
        },
        "lifeEvent": {
          "description": "Immutable. Life event campaign criterion.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__LifeEventInfo"
        },
        "videoLineup": {
          "description": "Immutable. Video lineup criterion.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__VideoLineupInfo"
        },
        "adSchedule": {
          "description": "Immutable. Ad Schedule.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__AdScheduleInfo"
        },
        "customAudience": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__CustomAudienceInfo",
          "description": "Immutable. Custom Audience"
        },
        "parentalStatus": {
          "description": "Immutable. Parental status.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ParentalStatusInfo"
        },
        "userList": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__UserListInfo",
          "description": "Immutable. User List."
        },
        "listingScope": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__ListingScopeInfo",
          "description": "Immutable. Listing scope."
        },
        "incomeRange": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__IncomeRangeInfo",
          "description": "Immutable. Income range."
        },
        "youtubeChannel": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Common__YouTubeChannelInfo",
          "description": "Immutable. YouTube Channel."
        },
        "criterionId": {
          "description": "Output only. The ID of the criterion. This field is ignored during mutate.",
          "type": "string",
          "format": "int64"
        }
      }
    },
    "GoogleAdsGoogleadsV25Services__CampaignCriterionOperation": {
      "description": "A single operation (create, update, remove) on a campaign criterion.",
      "type": "object",
      "properties": {
        "remove": {
          "type": "string",
          "description": "Remove operation: A resource name for the removed criterion is expected, in this format: `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`"
        },
        "update": {
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignCriterion",
          "description": "Update operation: The criterion is expected to have a valid resource name. Note that for smart campaigns, you cannot use the update method to edit the geolocation target."
        },
        "updateMask": {
          "type": "string",
          "description": "FieldMask that determines which resource fields are modified in an update.",
          "format": "google-fieldmask"
        },
        "create": {
          "description": "Create operation: No resource name is expected for the new criterion.",
          "$ref": "#/$defs/GoogleAdsGoogleadsV25Resources__CampaignCriterion"
        }
      }
    }
  }
}