/resources/campaign.proto

--- v23/resources/campaign.proto    2026-04-17 05:00:51.000000000 +0000
+++ v24/resources/campaign.proto    2026-04-17 05:00:57.000000000 +0000
@@ -787,15 +786,9 @@
   optional string final_url_suffix = 65;

   // A list that limits how often each user will see this campaign's ads.
-  repeated google.ads.googleads.v23.common.FrequencyCapEntry frequency_caps =
+  repeated google.ads.googleads.v24.common.FrequencyCapEntry frequency_caps =
       40;

-  // Brand Safety setting at the individual campaign level. Allows for selecting
-  // an inventory type to show your ads on content that is the right fit for
-  // your brand. See https://support.google.com/google-ads/answer/7515513.
-  google.ads.googleads.v23.enums.BrandSafetySuitabilityEnum
-      .BrandSafetySuitability video_brand_safety_suitability = 42;
-
   // Describes how unbranded pharma ads will be displayed.
   VanityPharma vanity_pharma = 44;

@@ -923,9 +916,13 @@
       .EuPoliticalAdvertisingStatus contains_eu_political_advertising = 102;

   // Output only. Types of feeds that are attached directly to this campaign.
-  repeated google.ads.googleads.v23.enums.AssetSetTypeEnum.AssetSetType
+  repeated google.ads.googleads.v24.enums.AssetSetTypeEnum.AssetSetType
       feed_types = 103 [(google.api.field_behavior) = OUTPUT_ONLY];

+  // Whether VTC (View-through Conversion) optimization is enabled for this
+  // campaign. Only allowed for certain Demand Gen and App Campaigns.
+  optional bool view_through_conversion_optimization_enabled = 106;
+
   // Output only. Indicates whether this campaign is missing a declaration about
   // whether it contains political advertising targeted towards the EU and is
   // ineligible for any exemptions. If this field is true, use the