--- v24/services/smart_campaign_setting_service.proto 2026-04-22 18:40:52.000000000 +0000 +++ v25/services/smart_campaign_setting_service.proto 2026-09-21 15:58:41.000000000 +0000 @@ -1,212 +1,269 @@ // Copyright 2026 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; -package google.ads.googleads.v24.services; +package google.ads.googleads.v25.services; -import "google/ads/googleads/v24/enums/response_content_type.proto"; -import "google/ads/googleads/v24/enums/smart_campaign_not_eligible_reason.proto"; -import "google/ads/googleads/v24/enums/smart_campaign_status.proto"; -import "google/ads/googleads/v24/resources/smart_campaign_setting.proto"; +import "google/ads/googleads/v25/enums/response_content_type.proto"; +import "google/ads/googleads/v25/enums/smart_campaign_not_eligible_reason.proto"; +import "google/ads/googleads/v25/enums/smart_campaign_status.proto"; +import "google/ads/googleads/v25/resources/smart_campaign_setting.proto"; import "google/api/annotations.proto"; import "google/api/client.proto"; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/field_mask.proto"; import "google/rpc/status.proto"; -option csharp_namespace = "Google.Ads.GoogleAds.V24.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v24/services;services"; +option csharp_namespace = "Google.Ads.GoogleAds.V25.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v25/services;services"; option java_multiple_files = true; option java_outer_classname = "SmartCampaignSettingServiceProto"; -option java_package = "com.google.ads.googleads.v24.services"; +option java_package = "com.google.ads.googleads.v25.services"; option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V24\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V24::Services"; +option php_namespace = "Google\\Ads\\GoogleAds\\V25\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V25::Services"; // Proto file describing the Smart campaign setting service. // Service to manage Smart campaign settings. service SmartCampaignSettingService { option (google.api.default_host) = "googleads.googleapis.com"; option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; // Returns the status of the requested Smart campaign. rpc GetSmartCampaignStatus(GetSmartCampaignStatusRequest) returns (GetSmartCampaignStatusResponse) { option (google.api.http) = { - get: "/v24/{resource_name=customers/*/smartCampaignSettings/*}:getSmartCampaignStatus" + get: "/v25/{resource_name=customers/*/smartCampaignSettings/*}:getSmartCampaignStatus" }; option (google.api.method_signature) = "resource_name"; } // Updates Smart campaign settings for campaigns. rpc MutateSmartCampaignSettings(MutateSmartCampaignSettingsRequest) returns (MutateSmartCampaignSettingsResponse) { option (google.api.http) = { - post: "/v24/customers/{customer_id=*}/smartCampaignSettings:mutate" + post: "/v25/customers/{customer_id=*}/smartCampaignSettings:mutate" body: "*" }; option (google.api.method_signature) = "customer_id,operations"; } + + // Generates a Performance Max (PMax) draft campaign from an existing Smart + // campaign, initialized with a status of [CampaignStatus.PAUSED] and a + // creation status of [CampaignCreationStatus.INCOMPLETE]. Returns the draft + // PMax campaign ID and related entity IDs. + rpc GeneratePMaxDraftCampaign(GeneratePMaxDraftCampaignRequest) + returns (GeneratePMaxDraftCampaignResponse) { + option (google.api.http) = { + post: "/v25/{resource_name=customers/*/smartCampaignSettings/*}:generatePMaxDraftCampaign" + body: "*" + }; + option (google.api.method_signature) = "resource_name"; + } } // Request message for -// [SmartCampaignSettingService.GetSmartCampaignStatus][google.ads.googleads.v24.services.SmartCampaignSettingService.GetSmartCampaignStatus]. +// [SmartCampaignSettingService.GetSmartCampaignStatus][google.ads.googleads.v25.services.SmartCampaignSettingService.GetSmartCampaignStatus]. message GetSmartCampaignStatusRequest { // Required. The resource name of the Smart campaign setting belonging to the // Smart campaign to fetch the status of. string resource_name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "googleads.googleapis.com/SmartCampaignSetting" } ]; } // Details related to Smart campaigns that are not eligible to serve. message SmartCampaignNotEligibleDetails { // The reason why the Smart campaign is not eligible to serve. - optional google.ads.googleads.v24.enums.SmartCampaignNotEligibleReasonEnum + optional google.ads.googleads.v25.enums.SmartCampaignNotEligibleReasonEnum .SmartCampaignNotEligibleReason not_eligible_reason = 1; } // Details related to Smart campaigns that are eligible to serve. message SmartCampaignEligibleDetails { // The timestamp of the last impression observed in the last 48 hours for this // campaign. // The timestamp is in the customer’s timezone and in // “yyyy-MM-dd HH:mm:ss” format. optional string last_impression_date_time = 1; // The timestamp of when the campaign will end, if applicable. // The timestamp is in the customer’s timezone and in // “yyyy-MM-dd HH:mm:ss” format. optional string end_date_time = 2; } // Details related to paused Smart campaigns. message SmartCampaignPausedDetails { // The timestamp of when the campaign was last paused. // The timestamp is in the customer’s timezone and in // “yyyy-MM-dd HH:mm:ss” format. optional string paused_date_time = 1; } // Details related to removed Smart campaigns. message SmartCampaignRemovedDetails { // The timestamp of when the campaign was removed. // The timestamp is in the customer’s timezone and in // “yyyy-MM-dd HH:mm:ss” format. optional string removed_date_time = 1; } // Details related to Smart campaigns that have ended. message SmartCampaignEndedDetails { // The timestamp of when the campaign ended. // The timestamp is in the customer’s timezone and in // “yyyy-MM-dd HH:mm:ss” format. optional string end_date_time = 1; } // Response message for -// [SmartCampaignSettingService.GetSmartCampaignStatus][google.ads.googleads.v24.services.SmartCampaignSettingService.GetSmartCampaignStatus]. +// [SmartCampaignSettingService.GetSmartCampaignStatus][google.ads.googleads.v25.services.SmartCampaignSettingService.GetSmartCampaignStatus]. message GetSmartCampaignStatusResponse { // The status of this Smart campaign. - google.ads.googleads.v24.enums.SmartCampaignStatusEnum.SmartCampaignStatus + google.ads.googleads.v25.enums.SmartCampaignStatusEnum.SmartCampaignStatus smart_campaign_status = 1; // Additional details accompanying the status of a Smart campaign. oneof smart_campaign_status_details { // Details related to Smart campaigns that are ineligible to serve. SmartCampaignNotEligibleDetails not_eligible_details = 2; // Details related to Smart campaigns that are eligible to serve. SmartCampaignEligibleDetails eligible_details = 3; // Details related to paused Smart campaigns. SmartCampaignPausedDetails paused_details = 4; // Details related to removed Smart campaigns. SmartCampaignRemovedDetails removed_details = 5; // Details related to Smart campaigns that have ended. SmartCampaignEndedDetails ended_details = 6; } } // Request message for -// [SmartCampaignSettingService.MutateSmartCampaignSettings][google.ads.googleads.v24.services.SmartCampaignSettingService.MutateSmartCampaignSettings]. +// [SmartCampaignSettingService.MutateSmartCampaignSettings][google.ads.googleads.v25.services.SmartCampaignSettingService.MutateSmartCampaignSettings]. message MutateSmartCampaignSettingsRequest { // Required. The ID of the customer whose Smart campaign settings are being // modified. string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; // Required. The list of operations to perform on individual Smart campaign // settings. repeated SmartCampaignSettingOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; // 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. bool partial_failure = 3; // If true, the request is validated but not executed. Only errors are // returned, not results. bool validate_only = 4; // The response content type setting. Determines whether the mutable resource // or just the resource name should be returned post mutation. - google.ads.googleads.v24.enums.ResponseContentTypeEnum.ResponseContentType + google.ads.googleads.v25.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; } // A single operation to update Smart campaign settings for a campaign. message SmartCampaignSettingOperation { // Update operation: The Smart campaign setting must specify a valid // resource name. - google.ads.googleads.v24.resources.SmartCampaignSetting update = 1; + google.ads.googleads.v25.resources.SmartCampaignSetting update = 1; // FieldMask that determines which resource fields are modified in an update. google.protobuf.FieldMask update_mask = 2; } // Response message for campaign mutate. message MutateSmartCampaignSettingsResponse { // Errors that pertain to operation failures in the partial failure mode. // Returned only when partial_failure = true and all errors occur inside the // operations. If any errors occur outside the operations (for example, auth // errors), we return an RPC level error. google.rpc.Status partial_failure_error = 1; // All results for the mutate. repeated MutateSmartCampaignSettingResult results = 2; } // The result for the Smart campaign setting mutate. message MutateSmartCampaignSettingResult { // Returned for successful operations. string resource_name = 1 [(google.api.resource_reference) = { type: "googleads.googleapis.com/SmartCampaignSetting" }]; // The mutated Smart campaign setting with only mutable fields after mutate. // The field will only be returned when response_content_type is set to // "MUTABLE_RESOURCE". - google.ads.googleads.v24.resources.SmartCampaignSetting + google.ads.googleads.v25.resources.SmartCampaignSetting smart_campaign_setting = 2; } + +// Request message for +// [SmartCampaignSettingService.GeneratePMaxDraftCampaign][google.ads.googleads.v25.services.SmartCampaignSettingService.GeneratePMaxDraftCampaign]. +message GeneratePMaxDraftCampaignRequest { + // Required. The resource name of the Smart campaign setting to regenerate. + string resource_name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/SmartCampaignSetting" + } + ]; + + // Optional. If true, the request will be validated but not executed. Only + // validation errors/warnings will be returned. + bool validate_only = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Whether to enable to convert GBP (Google Business Profile) + // location linked with the PMax campaign. + bool gbp_enabled = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Whether to generate PMax campaign required images, like + // Horizontal, Square, logo types. + bool image_enabled = 4 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response message for +// [SmartCampaignSettingService.GeneratePMaxDraftCampaign][google.ads.googleads.v25.services.SmartCampaignSettingService.GeneratePMaxDraftCampaign]. +message GeneratePMaxDraftCampaignResponse { + // The Campaign resource name of the generated draft PMax campaign. + string pmax_campaign = 1; + + // The CampaignBudget resource name linking with the PMax campaign. + string campaign_budget = 2; + + // The AssetGroup resource name linking with the PMax campaign. + string asset_group = 3; + + // The resource names of all assets linking with the PMax campaign. + repeated string assets = 4; + + // Validation info or possible convert issues returned when validate_only is + // true. + string validated_info = 5; +}
/services/smart_campaign_setting_service.proto
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-09-23 UTC.