/common/criteria.proto

--- v15/common/criteria.proto   2024-02-20 20:28:59.000000000 +0000
+++ v16/common/criteria.proto   2024-02-20 20:29:03.000000000 +0000
@@ -218,9 +218,15 @@
     // Rating of the activity as a number 1 to 5, where 5 is the best.
     ActivityRatingInfo activity_rating = 22;

-    // Country the activity is in.
+    // The country where the travel activity is available.
     ActivityCountryInfo activity_country = 23;

+    // The state where the travel activity is available.
+    ActivityStateInfo activity_state = 25;
+
+    // The city where the travel activity is available.
+    ActivityCityInfo activity_city = 26;
+
     // Unknown dimension. Set when no other listing dimension is set.
     UnknownListingDimensionInfo unknown_listing_dimension = 14;
   }
@@ -404,13 +410,27 @@
   optional int64 value = 1;
 }

-// Country the activity is in.
+// The country where the travel activity is available.
 message ActivityCountryInfo {
   // String value of the activity country. The Geo Target Constant resource
   // name.
   optional string value = 1;
 }

+// The state where the travel activity is available.
+message ActivityStateInfo {
+  // String value of the activity state. The Geo Target Constant resource
+  // name.
+  optional string value = 1;
+}
+
+// The city where the travel activity is available.
+message ActivityCityInfo {
+  // String value of the activity city. The Geo Target Constant resource
+  // name.
+  optional string value = 1;
+}
+
 // Criterion for Interaction Type.
 message InteractionTypeInfo {
   // The interaction type.
@@ -595,13 +615,15 @@
 // Content Label for category exclusion.
 message ContentLabelInfo {
   // Content label type, required for CREATE operations.
-  google.ads.googleads.v15.enums.ContentLabelTypeEnum.ContentLabelType type = 1;
+  google.ads.googleads.v16.enums.ContentLabelTypeEnum.ContentLabelType type = 1;
 }

 // Represents a Carrier Criterion.
 message CarrierInfo {
   // The Carrier constant resource name.
-  optional string carrier_constant = 2;
+  optional string carrier_constant = 2 [(google.api.resource_reference) = {
+    type: "googleads.googleapis.com/CarrierConstant"
+  }];
 }

 // Represents a particular interest-based topic to be targeted.
@@ -664,7 +686,10 @@
 // Represents an operating system version to be targeted.
 message OperatingSystemVersionInfo {
   // The operating system version constant resource name.
-  optional string operating_system_version_constant = 2;
+  optional string operating_system_version_constant = 2
+      [(google.api.resource_reference) = {
+        type: "googleads.googleapis.com/OperatingSystemVersionConstant"
+      }];
 }

 // An app payment model criterion.
@@ -670,14 +695,17 @@
 // An app payment model criterion.
 message AppPaymentModelInfo {
   // Type of the app payment model.
-  google.ads.googleads.v15.enums.AppPaymentModelTypeEnum.AppPaymentModelType
+  google.ads.googleads.v16.enums.AppPaymentModelTypeEnum.AppPaymentModelType
       type = 1;
 }

 // A mobile device criterion.
 message MobileDeviceInfo {
   // The mobile device constant resource name.
-  optional string mobile_device_constant = 2;
+  optional string mobile_device_constant = 2
+      [(google.api.resource_reference) = {
+        type: "googleads.googleapis.com/MobileDeviceConstant"
+      }];
 }

 // A custom affinity criterion.
@@ -764,7 +792,9 @@
   oneof keyword_theme {
     // The resource name of a Smart Campaign keyword theme constant.
     // `keywordThemeConstants/{keyword_theme_id}~{sub_keyword_theme_id}`
-    string keyword_theme_constant = 1;
+    string keyword_theme_constant = 1 [(google.api.resource_reference) = {
+      type: "googleads.googleapis.com/KeywordThemeConstant"
+    }];

     // Free-form text to be matched to a Smart Campaign keyword theme constant
     // on a best-effort basis.