diff --git a/google/ads/searchads360/v0/common/final_app_url.proto b/google/ads/searchads360/v0/common/final_app_url.proto new file mode 100644 index 0000000000..bd7833dccd --- /dev/null +++ b/google/ads/searchads360/v0/common/final_app_url.proto @@ -0,0 +1,46 @@ +// Copyright 2025 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.searchads360.v0.common; + +import "google/ads/searchads360/v0/enums/app_url_operating_system_type.proto"; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/common;common"; +option java_multiple_files = true; +option java_outer_classname = "FinalAppUrlProto"; +option java_package = "com.google.ads.searchads360.v0.common"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Common"; +option ruby_package = "Google::Ads::SearchAds360::V0::Common"; + +// Proto file FinalAppUrl type. + +// A URL for deep linking into an app for the given operating system. +message FinalAppUrl { + // The operating system targeted by this URL. Required. + google.ads.searchads360.v0.enums.AppUrlOperatingSystemTypeEnum + .AppUrlOperatingSystemType os_type = 1; + + // The app deep link URL. Deep links specify a location in an app that + // corresponds to the content you'd like to show, and should be of the form + // {scheme}://{host_path} + // The scheme identifies which app to open. For your app, you can use a custom + // scheme that starts with the app's name. The host and path specify the + // unique location in the app where your content exists. + // Example: "exampleapp://productid_1234". Required. + optional string url = 3; +} diff --git a/google/ads/searchads360/v0/enums/app_url_operating_system_type.proto b/google/ads/searchads360/v0/enums/app_url_operating_system_type.proto new file mode 100644 index 0000000000..d3dea33441 --- /dev/null +++ b/google/ads/searchads360/v0/enums/app_url_operating_system_type.proto @@ -0,0 +1,46 @@ +// Copyright 2025 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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AppUrlOperatingSystemTypeProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::Enums"; + +// Proto file describing operating system for a deeplink app URL. + +// The possible OS types for a deeplink AppUrl. +message AppUrlOperatingSystemTypeEnum { + // Operating System + enum AppUrlOperatingSystemType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // The Apple IOS operating system. + IOS = 2; + + // The Android operating system. + ANDROID = 3; + } +} diff --git a/google/ads/searchads360/v0/enums/asset_engine_status.proto b/google/ads/searchads360/v0/enums/asset_engine_status.proto index 084f8dabf3..0715c75a48 100644 --- a/google/ads/searchads360/v0/enums/asset_engine_status.proto +++ b/google/ads/searchads360/v0/enums/asset_engine_status.proto @@ -29,7 +29,7 @@ option ruby_package = "Google::Ads::SearchAds360::V0::Enums"; // Container for enum describing possible Asset engine statuses. message AssetEngineStatusEnum { - // Next ID = 11 + // Enum describing possible Asset engine statuses. enum AssetEngineStatus { // Not specified. UNSPECIFIED = 0; diff --git a/google/ads/searchads360/v0/enums/asset_set_type.proto b/google/ads/searchads360/v0/enums/asset_set_type.proto new file mode 100644 index 0000000000..5dea215382 --- /dev/null +++ b/google/ads/searchads360/v0/enums/asset_set_type.proto @@ -0,0 +1,92 @@ +// Copyright 2025 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.searchads360.v0.enums; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums"; +option java_multiple_files = true; +option java_outer_classname = "AssetSetTypeProto"; +option java_package = "com.google.ads.searchads360.v0.enums"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums"; +option ruby_package = "Google::Ads::SearchAds360::V0::Enums"; + +// Proto file describing asset set type. + +// Container for enum describing possible types of an asset set. +message AssetSetTypeEnum { + // Possible types of an asset set. + enum AssetSetType { + // Not specified. + UNSPECIFIED = 0; + + // Used for return value only. Represents value unknown in this version. + UNKNOWN = 1; + + // Page asset set. + PAGE_FEED = 2; + + // Dynamic education asset set. + DYNAMIC_EDUCATION = 3; + + // Google Merchant Center asset set. + MERCHANT_CENTER_FEED = 4; + + // Dynamic real estate asset set. + DYNAMIC_REAL_ESTATE = 5; + + // Dynamic custom asset set. + DYNAMIC_CUSTOM = 6; + + // Dynamic hotels and rentals asset set. + DYNAMIC_HOTELS_AND_RENTALS = 7; + + // Dynamic flights asset set. + DYNAMIC_FLIGHTS = 8; + + // Dynamic travel asset set. + DYNAMIC_TRAVEL = 9; + + // Dynamic local asset set. + DYNAMIC_LOCAL = 10; + + // Dynamic jobs asset set. + DYNAMIC_JOBS = 11; + + // Location sync level asset set. + LOCATION_SYNC = 12; + + // Business Profile location group asset set. + BUSINESS_PROFILE_DYNAMIC_LOCATION_GROUP = 13; + + // Chain location group asset set which can be used for both owned + // locations and affiliate locations. + CHAIN_DYNAMIC_LOCATION_GROUP = 14; + + // Static location group asset set which can be used for both owned + // locations and affiliate locations. + STATIC_LOCATION_GROUP = 15; + + // Hotel Property asset set which is used to link a hotel property feed to + // Performance Max for travel goals campaigns. + HOTEL_PROPERTY = 16; + + // Travel Feed asset set type. Can represent either a Hotel feed or a Things + // to Do (activities) feed. + TRAVEL_FEED = 17; + } +} diff --git a/google/ads/searchads360/v0/enums/served_asset_field_type.proto b/google/ads/searchads360/v0/enums/served_asset_field_type.proto index c3b65bc9b3..f6567aa670 100644 --- a/google/ads/searchads360/v0/enums/served_asset_field_type.proto +++ b/google/ads/searchads360/v0/enums/served_asset_field_type.proto @@ -132,5 +132,8 @@ message ServedAssetFieldTypeEnum { // The asset is used as a business logo. BUSINESS_LOGO = 31; + + // The asset is used as a description prefix. + DESCRIPTION_PREFIX = 32; } } diff --git a/google/ads/searchads360/v0/errors/conversion_custom_variable_error.proto b/google/ads/searchads360/v0/errors/conversion_custom_variable_error.proto new file mode 100644 index 0000000000..f2fa804704 --- /dev/null +++ b/google/ads/searchads360/v0/errors/conversion_custom_variable_error.proto @@ -0,0 +1,74 @@ +// Copyright 2025 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.searchads360.v0.errors; + +option csharp_namespace = "Google.Ads.SearchAds360.V0.Errors"; +option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/errors;errors"; +option java_multiple_files = true; +option java_outer_classname = "ConversionCustomVariableErrorProto"; +option java_package = "com.google.ads.searchads360.v0.errors"; +option objc_class_prefix = "GASA360"; +option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Errors"; +option ruby_package = "Google::Ads::SearchAds360::V0::Errors"; + +// Proto file describing conversion custom variable errors. + +// Container for enum describing possible conversion custom variable errors. +message ConversionCustomVariableErrorEnum { + // Enum describing possible conversion custom variable errors. + enum ConversionCustomVariableError { + // Enum unspecified. + UNSPECIFIED = 0; + + // The received error code is not known in this version. + UNKNOWN = 1; + + // A conversion custom variable with the specified name already exists. + DUPLICATE_NAME = 2; + + // A conversion custom variable with the specified tag already exists. + DUPLICATE_TAG = 3; + + // A conversion custom variable with the specified tag is reserved for other + // uses. + RESERVED_TAG = 4; + + // The conversion custom variable is not found. + NOT_FOUND = 5; + + // The conversion custom variable is not available for use. + NOT_AVAILABLE = 6; + + // The conversion custom variable requested is incompatible with the current + // request. + INCOMPATIBLE_TYPE = 7; + + // The conversion custom variable requested is not of type METRIC. + INVALID_METRIC = 8; + + // The conversion custom variable's cardinality exceeds the segmentation + // limit. + EXCEEDS_CARDINALITY_LIMIT = 9; + + // The conversion custom variable requested is not of type DIMENSION. + INVALID_DIMENSION = 10; + + // The conversion custom variable requested is incompatible with the + // selected resource. + INCOMPATIBLE_WITH_SELECTED_RESOURCE = 11; + } +} diff --git a/google/ads/searchads360/v0/errors/errors.proto b/google/ads/searchads360/v0/errors/errors.proto index 2e3e9e0d8b..1da475b522 100644 --- a/google/ads/searchads360/v0/errors/errors.proto +++ b/google/ads/searchads360/v0/errors/errors.proto @@ -19,6 +19,7 @@ package google.ads.searchads360.v0.errors; import "google/ads/searchads360/v0/common/value.proto"; import "google/ads/searchads360/v0/errors/authentication_error.proto"; import "google/ads/searchads360/v0/errors/authorization_error.proto"; +import "google/ads/searchads360/v0/errors/conversion_custom_variable_error.proto"; import "google/ads/searchads360/v0/errors/custom_column_error.proto"; import "google/ads/searchads360/v0/errors/date_error.proto"; import "google/ads/searchads360/v0/errors/date_range_error.proto"; @@ -103,6 +104,10 @@ message ErrorCode { // The reasons for the distinct error DistinctErrorEnum.DistinctError distinct_error = 35; + // The reasons for the conversion custom variable error + ConversionCustomVariableErrorEnum.ConversionCustomVariableError + conversion_custom_variable_error = 143; + // The reasons for the header error. HeaderErrorEnum.HeaderError header_error = 66; diff --git a/google/ads/searchads360/v0/resources/ad.proto b/google/ads/searchads360/v0/resources/ad.proto index 11c394c09c..dbb01d6d68 100644 --- a/google/ads/searchads360/v0/resources/ad.proto +++ b/google/ads/searchads360/v0/resources/ad.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.searchads360.v0.resources; import "google/ads/searchads360/v0/common/ad_type_infos.proto"; +import "google/ads/searchads360/v0/common/final_app_url.proto"; import "google/ads/searchads360/v0/enums/ad_type.proto"; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; @@ -55,6 +56,20 @@ message Ad { // ad. repeated string final_urls = 41; + // A list of final app URLs that will be used on mobile if the user has the + // specific app installed. + repeated google.ads.searchads360.v0.common.FinalAppUrl final_app_urls = 35; + + // The list of possible final mobile URLs after all cross-domain redirects + // for the ad. + repeated string final_mobile_urls = 42; + + // The URL template for constructing a tracking URL. + optional string tracking_url_template = 43; + + // The suffix to use when constructing a final URL. + optional string final_url_suffix = 44; + // The URL that appears in the ad description for some ad formats. optional string display_url = 45; @@ -63,9 +78,7 @@ message Ad { [(google.api.field_behavior) = OUTPUT_ONLY]; // Immutable. The name of the ad. This is only used to be able to identify the - // ad. It does not need to be unique and does not affect the served ad. The - // name field is currently only supported for DisplayUploadAd, ImageAd, - // ShoppingComparisonListingAd and VideoAd. + // ad. It does not need to be unique and does not affect the served ad. optional string name = 47 [(google.api.field_behavior) = IMMUTABLE]; // Details pertinent to the ad type. Exactly one value must be set. diff --git a/google/ads/searchads360/v0/resources/ad_group.proto b/google/ads/searchads360/v0/resources/ad_group.proto index 21adb44d87..7822d4369c 100644 --- a/google/ads/searchads360/v0/resources/ad_group.proto +++ b/google/ads/searchads360/v0/resources/ad_group.proto @@ -78,6 +78,9 @@ message AdGroup { google.ads.searchads360.v0.enums.AdGroupAdRotationModeEnum .AdGroupAdRotationMode ad_rotation_mode = 22; + // The URL template for constructing a tracking URL. + optional string tracking_url_template = 37; + // The maximum CPC (cost-per-click) bid. optional int64 cpc_bid_micros = 39; @@ -90,6 +93,9 @@ message AdGroup { .AdGroupEngineStatus engine_status = 61 [(google.api.field_behavior) = OUTPUT_ONLY]; + // URL template for appending params to Final URL. + optional string final_url_suffix = 46; + // Setting for targeting related features. google.ads.searchads360.v0.common.TargetingSetting targeting_setting = 25; diff --git a/google/ads/searchads360/v0/resources/ad_group_ad_effective_label.proto b/google/ads/searchads360/v0/resources/ad_group_ad_effective_label.proto index 58180bb788..c0c10a681e 100644 --- a/google/ads/searchads360/v0/resources/ad_group_ad_effective_label.proto +++ b/google/ads/searchads360/v0/resources/ad_group_ad_effective_label.proto @@ -36,14 +36,14 @@ option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; message AdGroupAdEffectiveLabel { option (google.api.resource) = { type: "searchads360.googleapis.com/AdGroupAdEffectiveLabel" - pattern: "customers/{customer_id}/adGroupAdEffectiveLabels/{ad_group_id}~{ad_id}~{label_id}" + pattern: "customers/{owner_customer_id}/adGroupAdEffectiveLabels/{ad_group_id}~{ad_id}~{label_id}" plural: "adGroupAdEffectiveLabels" singular: "adGroupAdEffectiveLabel" }; // Immutable. The resource name of the ad group ad effective label. // Ad group ad effective label resource names have the form: - // `customers/{customer_id}/adGroupAdEffectiveLabels/{ad_group_id}~{ad_id}~{label_id}` + // `customers/{owner_customer_id}/adGroupAdEffectiveLabels/{ad_group_id}~{ad_id}~{label_id}` string resource_name = 1 [ (google.api.field_behavior) = IMMUTABLE, (google.api.resource_reference) = { diff --git a/google/ads/searchads360/v0/resources/ad_group_ad_label.proto b/google/ads/searchads360/v0/resources/ad_group_ad_label.proto index ca2406f1d4..ce94728685 100644 --- a/google/ads/searchads360/v0/resources/ad_group_ad_label.proto +++ b/google/ads/searchads360/v0/resources/ad_group_ad_label.proto @@ -34,12 +34,12 @@ option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; message AdGroupAdLabel { option (google.api.resource) = { type: "searchads360.googleapis.com/AdGroupAdLabel" - pattern: "customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{entity_id}" + pattern: "customers/{owner_customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}" }; // Immutable. The resource name of the ad group ad label. // Ad group ad label resource names have the form: - // `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}` + // `customers/{owner_customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}` string resource_name = 1 [ (google.api.field_behavior) = IMMUTABLE, (google.api.resource_reference) = { diff --git a/google/ads/searchads360/v0/resources/ad_group_criterion.proto b/google/ads/searchads360/v0/resources/ad_group_criterion.proto index 2b952e23f0..f991680e4c 100644 --- a/google/ads/searchads360/v0/resources/ad_group_criterion.proto +++ b/google/ads/searchads360/v0/resources/ad_group_criterion.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.searchads360.v0.resources; import "google/ads/searchads360/v0/common/criteria.proto"; +import "google/ads/searchads360/v0/common/custom_parameter.proto"; import "google/ads/searchads360/v0/enums/ad_group_criterion_engine_status.proto"; import "google/ads/searchads360/v0/enums/ad_group_criterion_status.proto"; import "google/ads/searchads360/v0/enums/criterion_type.proto"; @@ -152,6 +153,9 @@ message AdGroupCriterion { // ad. repeated string final_urls = 70; + // The list of possible final mobile URLs after all cross-domain redirects. + repeated string final_mobile_urls = 71; + // Output only. The Engine Status for ad group criterion. optional google.ads.searchads360.v0.enums.AdGroupCriterionEngineStatusEnum .AdGroupCriterionEngineStatus engine_status = 80 @@ -163,6 +167,11 @@ message AdGroupCriterion { // The URL template for constructing a tracking URL. optional string tracking_url_template = 73; + // The list of mappings used to substitute custom parameter tags in a + // `tracking_url_template`, `final_urls`, or `mobile_final_urls`. + repeated google.ads.searchads360.v0.common.CustomParameter + url_custom_parameters = 14; + // Output only. ID of the ad group criterion in the external engine account. // This field is for non-Google Ads account only, for example, Yahoo Japan, // Microsoft, Baidu etc. For Google Ads entity, use diff --git a/google/ads/searchads360/v0/resources/ad_group_criterion_effective_label.proto b/google/ads/searchads360/v0/resources/ad_group_criterion_effective_label.proto index 87a2a22e60..1e6c4273cc 100644 --- a/google/ads/searchads360/v0/resources/ad_group_criterion_effective_label.proto +++ b/google/ads/searchads360/v0/resources/ad_group_criterion_effective_label.proto @@ -36,14 +36,14 @@ option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; message AdGroupCriterionEffectiveLabel { option (google.api.resource) = { type: "searchads360.googleapis.com/AdGroupCriterionEffectiveLabel" - pattern: "customers/{customer_id}/adGroupCriterionEffectiveLabels/{ad_group_id}~{criterion_id}~{label_id}" + pattern: "customers/{owner_customer_id}/adGroupCriterionEffectiveLabels/{ad_group_id}~{criterion_id}~{label_id}" plural: "adGroupCriterionEffectiveLabels" singular: "adGroupCriterionEffectiveLabel" }; // Immutable. The resource name of the ad group criterion effective label. // Ad group criterion effective label resource names have the form: - // `customers/{customer_id}/adGroupCriterionEffectiveLabels/{ad_group_id}~{criterion_id}~{label_id}` + // `customers/{owner_customer_id}/adGroupCriterionEffectiveLabels/{ad_group_id}~{criterion_id}~{label_id}` string resource_name = 1 [ (google.api.field_behavior) = IMMUTABLE, (google.api.resource_reference) = { diff --git a/google/ads/searchads360/v0/resources/ad_group_criterion_label.proto b/google/ads/searchads360/v0/resources/ad_group_criterion_label.proto index 3da8faa481..89b1948ee6 100644 --- a/google/ads/searchads360/v0/resources/ad_group_criterion_label.proto +++ b/google/ads/searchads360/v0/resources/ad_group_criterion_label.proto @@ -34,12 +34,12 @@ option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; message AdGroupCriterionLabel { option (google.api.resource) = { type: "searchads360.googleapis.com/AdGroupCriterionLabel" - pattern: "customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{entity_id}" + pattern: "customers/{owner_customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}" }; // Immutable. The resource name of the ad group criterion label. // Ad group criterion label resource names have the form: - // `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}` + // `customers/{owner_customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}` string resource_name = 1 [ (google.api.field_behavior) = IMMUTABLE, (google.api.resource_reference) = { diff --git a/google/ads/searchads360/v0/resources/ad_group_effective_label.proto b/google/ads/searchads360/v0/resources/ad_group_effective_label.proto index 433059eabb..82c15edb3a 100644 --- a/google/ads/searchads360/v0/resources/ad_group_effective_label.proto +++ b/google/ads/searchads360/v0/resources/ad_group_effective_label.proto @@ -36,14 +36,14 @@ option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; message AdGroupEffectiveLabel { option (google.api.resource) = { type: "searchads360.googleapis.com/AdGroupEffectiveLabel" - pattern: "customers/{customer_id}/adGroupEffectiveLabels/{ad_group_id}~{label_id}" + pattern: "customers/{owner_customer_id}/adGroupEffectiveLabels/{ad_group_id}~{label_id}" plural: "adGroupEffectiveLabels" singular: "adGroupEffectiveLabel" }; // Immutable. The resource name of the ad group effective label. // Ad group effective label resource names have the form: - // `customers/{customer_id}/adGroupEffectiveLabels/{ad_group_id}~{label_id}` + // `customers/{owner_customer_id}/adGroupEffectiveLabels/{ad_group_id}~{label_id}` string resource_name = 1 [ (google.api.field_behavior) = IMMUTABLE, (google.api.resource_reference) = { diff --git a/google/ads/searchads360/v0/resources/ad_group_label.proto b/google/ads/searchads360/v0/resources/ad_group_label.proto index ba3797c84f..ad6072f54d 100644 --- a/google/ads/searchads360/v0/resources/ad_group_label.proto +++ b/google/ads/searchads360/v0/resources/ad_group_label.proto @@ -34,12 +34,12 @@ option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; message AdGroupLabel { option (google.api.resource) = { type: "searchads360.googleapis.com/AdGroupLabel" - pattern: "customers/{customer_id}/adGroupLabels/{ad_group_id}~{entity_id}" + pattern: "customers/{owner_customer_id}/adGroupLabels/{ad_group_id}~{label_id}" }; // Immutable. The resource name of the ad group label. // Ad group label resource names have the form: - // `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}` + // `customers/{owner_customer_id}/adGroupLabels/{ad_group_id}~{label_id}` string resource_name = 1 [ (google.api.field_behavior) = IMMUTABLE, (google.api.resource_reference) = { diff --git a/google/ads/searchads360/v0/resources/asset.proto b/google/ads/searchads360/v0/resources/asset.proto index c3c9f12b58..deb8c8f90f 100644 --- a/google/ads/searchads360/v0/resources/asset.proto +++ b/google/ads/searchads360/v0/resources/asset.proto @@ -17,6 +17,7 @@ syntax = "proto3"; package google.ads.searchads360.v0.resources; import "google/ads/searchads360/v0/common/asset_types.proto"; +import "google/ads/searchads360/v0/common/custom_parameter.proto"; import "google/ads/searchads360/v0/enums/asset_engine_status.proto"; import "google/ads/searchads360/v0/enums/asset_status.proto"; import "google/ads/searchads360/v0/enums/asset_type.proto"; @@ -68,9 +69,21 @@ message Asset { // A list of possible final URLs after all cross domain redirects. repeated string final_urls = 14; + // A list of possible final mobile URLs after all cross domain redirects. + repeated string final_mobile_urls = 16; + // URL template for constructing a tracking URL. optional string tracking_url_template = 17; + // A list of mappings to be used for substituting URL custom parameter tags in + // the tracking_url_template, final_urls, and/or final_mobile_urls. + repeated google.ads.searchads360.v0.common.CustomParameter + url_custom_parameters = 18; + + // URL template for appending params to landing page URLs served with parallel + // tracking. + optional string final_url_suffix = 19; + // Output only. The status of the asset. google.ads.searchads360.v0.enums.AssetStatusEnum.AssetStatus status = 42 [(google.api.field_behavior) = OUTPUT_ONLY]; diff --git a/google/ads/searchads360/v0/resources/campaign.proto b/google/ads/searchads360/v0/resources/campaign.proto index 684d49e124..0f10c8a96f 100644 --- a/google/ads/searchads360/v0/resources/campaign.proto +++ b/google/ads/searchads360/v0/resources/campaign.proto @@ -24,6 +24,7 @@ import "google/ads/searchads360/v0/enums/ad_serving_optimization_status.proto"; import "google/ads/searchads360/v0/enums/advertising_channel_sub_type.proto"; import "google/ads/searchads360/v0/enums/advertising_channel_type.proto"; import "google/ads/searchads360/v0/enums/asset_field_type.proto"; +import "google/ads/searchads360/v0/enums/asset_set_type.proto"; import "google/ads/searchads360/v0/enums/bidding_strategy_system_status.proto"; import "google/ads/searchads360/v0/enums/bidding_strategy_type.proto"; import "google/ads/searchads360/v0/enums/campaign_serving_status.proto"; @@ -361,6 +362,10 @@ message Campaign { // false. optional bool url_expansion_opt_out = 72; + // Output only. Types of feeds that are attached directly to this campaign. + repeated google.ads.searchads360.v0.enums.AssetSetTypeEnum.AssetSetType + feed_types = 103 [(google.api.field_behavior) = OUTPUT_ONLY]; + // The bidding strategy for the campaign. // // Must be either portfolio (created through BiddingStrategy service) or diff --git a/google/ads/searchads360/v0/resources/campaign_effective_label.proto b/google/ads/searchads360/v0/resources/campaign_effective_label.proto index cd18b18420..5c408127af 100644 --- a/google/ads/searchads360/v0/resources/campaign_effective_label.proto +++ b/google/ads/searchads360/v0/resources/campaign_effective_label.proto @@ -36,14 +36,14 @@ option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; message CampaignEffectiveLabel { option (google.api.resource) = { type: "searchads360.googleapis.com/CampaignEffectiveLabel" - pattern: "customers/{customer_id}/campaignEffectiveLabels/{campaign_id}~{label_id}" + pattern: "customers/{owner_customer_id}/campaignEffectiveLabels/{campaign_id}~{label_id}" plural: "campaignEffectiveLabels" singular: "campaignEffectiveLabel" }; // Immutable. Name of the resource. // CampaignEffectivelabel resource names have the form: - // `customers/{customer_id}/campaignEffectiveLabels/{campaign_id}~{label_id}` + // `customers/{owner_customer_id}/campaignEffectiveLabels/{campaign_id}~{label_id}` string resource_name = 1 [ (google.api.field_behavior) = IMMUTABLE, (google.api.resource_reference) = { diff --git a/google/ads/searchads360/v0/resources/campaign_label.proto b/google/ads/searchads360/v0/resources/campaign_label.proto index 33a8beebee..825023b837 100644 --- a/google/ads/searchads360/v0/resources/campaign_label.proto +++ b/google/ads/searchads360/v0/resources/campaign_label.proto @@ -34,12 +34,12 @@ option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; message CampaignLabel { option (google.api.resource) = { type: "searchads360.googleapis.com/CampaignLabel" - pattern: "customers/{customer_id}/campaignLabels/{campaign_id}~{entity_id}" + pattern: "customers/{owner_customer_id}/campaignLabels/{campaign_id}~{label_id}" }; // Immutable. Name of the resource. // Campaign label resource names have the form: - // `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}` + // `customers/{owner_customer_id}/campaignLabels/{campaign_id}~{label_id}` string resource_name = 1 [ (google.api.field_behavior) = IMMUTABLE, (google.api.resource_reference) = { diff --git a/google/ads/searchads360/v0/resources/label.proto b/google/ads/searchads360/v0/resources/label.proto index e4f561a27b..a765cae24e 100644 --- a/google/ads/searchads360/v0/resources/label.proto +++ b/google/ads/searchads360/v0/resources/label.proto @@ -34,12 +34,12 @@ option ruby_package = "Google::Ads::SearchAds360::V0::Resources"; message Label { option (google.api.resource) = { type: "searchads360.googleapis.com/Label" - pattern: "customers/{customer_id}/labels/{label_id}" + pattern: "customers/{owner_customer_id}/labels/{label_id}" }; // Immutable. Name of the resource. // Label resource names have the form: - // `customers/{customer_id}/labels/{label_id}` + // `customers/{owner_customer_id}/labels/{label_id}` string resource_name = 1 [ (google.api.field_behavior) = IMMUTABLE, (google.api.resource_reference) = {