/resources/campaign.proto

--- v23/resources/campaign.proto    2026-06-18 21:38:48.000000000 +0000
+++ v24/resources/campaign.proto    2026-06-18 21:38:55.000000000 +0000
@@ -205,6 +205,10 @@
     // https://support.google.com/google-ads/answer/13721750 to learn more about
     // this feature.
     optional bool disable_product_feed = 12;
+
+    // If true, brand exclusions are ignored for Shopping ads.
+    // Only supported for Shopping campaigns.
+    optional bool ignore_brand_exclusion_in_shopping_ads = 13;
   }

   // Campaign-level settings for tracking information.
@@ -295,6 +299,25 @@
     repeated CategoryBid category_bids = 1;
   }

+  // Settings for Local Services Performance Max Campaign subresource.
+  message LocalServicesPmaxCampaignSettings {
+    // Whether to use navigational query filter.
+    optional bool navigational_query_leads_enabled = 1;
+
+    // Founding year of the business.
+    optional int64 founding_year = 2;
+
+    // Immutable. Country code of the Local Services Ad. Set once during Ad
+    // Creation and used to determine verification requirements and validate
+    // location criterion selection; upper-case, two-letter codes as defined by
+    // ISO-3166.
+    optional string country_code = 3 [(google.api.field_behavior) = IMMUTABLE];
+
+    // List of phone numbers associated with the provider.
+    repeated google.ads.googleads.v24.common.LocalServicesPhoneNumber
+        phone_numbers = 4;
+  }
+
   // Category bids in LocalServicesReportingCampaignSettings.
   message CategoryBid {
     // Category for which the bid will be associated with. For example,
@@ -478,6 +501,15 @@

     // Overrides of brand targeting for various ad types.
     BrandTargetingOverrides brand_targeting_overrides = 1;
+
+    // The Local Services Campaign related settings. Only updates are available
+    // for existing Local Services Pmax campaigns.
+    LocalServicesPmaxCampaignSettings local_services_pmax_campaign_settings = 2;
+
+    // Output only. Indicates whether the Performance Max campaign is a Local
+    // Services campaign.
+    optional bool local_services_enabled = 3
+        [(google.api.field_behavior) = OUTPUT_ONLY];
   }

   // Asset automation setting contains pair of AssetAutomationType and the
@@ -793,15 +825,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;

@@ -929,9 +955,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