1// Copyright 2023 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.ads.googleads.v16.resources; 18 19import "google/ads/googleads/v16/enums/brand_safety_suitability.proto"; 20import "google/ads/googleads/v16/enums/conversion_tracking_status_enum.proto"; 21import "google/ads/googleads/v16/enums/customer_pay_per_conversion_eligibility_failure_reason.proto"; 22import "google/ads/googleads/v16/enums/customer_status.proto"; 23import "google/ads/googleads/v16/enums/local_services_verification_status.proto"; 24import "google/api/field_behavior.proto"; 25import "google/api/resource.proto"; 26 27option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources"; 28option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources"; 29option java_multiple_files = true; 30option java_outer_classname = "CustomerProto"; 31option java_package = "com.google.ads.googleads.v16.resources"; 32option objc_class_prefix = "GAA"; 33option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources"; 34option ruby_package = "Google::Ads::GoogleAds::V16::Resources"; 35 36// Proto file describing the Customer resource. 37 38// A customer. 39message Customer { 40 option (google.api.resource) = { 41 type: "googleads.googleapis.com/Customer" 42 pattern: "customers/{customer_id}" 43 }; 44 45 // Immutable. The resource name of the customer. 46 // Customer resource names have the form: 47 // 48 // `customers/{customer_id}` 49 string resource_name = 1 [ 50 (google.api.field_behavior) = IMMUTABLE, 51 (google.api.resource_reference) = { 52 type: "googleads.googleapis.com/Customer" 53 } 54 ]; 55 56 // Output only. The ID of the customer. 57 optional int64 id = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; 58 59 // Optional, non-unique descriptive name of the customer. 60 optional string descriptive_name = 20; 61 62 // Immutable. The currency in which the account operates. 63 // A subset of the currency codes from the ISO 4217 standard is 64 // supported. 65 optional string currency_code = 21 [(google.api.field_behavior) = IMMUTABLE]; 66 67 // Immutable. The local timezone ID of the customer. 68 optional string time_zone = 22 [(google.api.field_behavior) = IMMUTABLE]; 69 70 // The URL template for constructing a tracking URL out of parameters. 71 // Only mutable in an `update` operation. 72 optional string tracking_url_template = 23; 73 74 // The URL template for appending params to the final URL. 75 // Only mutable in an `update` operation. 76 optional string final_url_suffix = 24; 77 78 // Whether auto-tagging is enabled for the customer. 79 optional bool auto_tagging_enabled = 25; 80 81 // Output only. Whether the Customer has a Partners program badge. If the 82 // Customer is not associated with the Partners program, this will be false. 83 // For more information, see 84 // https://support.google.com/partners/answer/3125774. 85 optional bool has_partners_badge = 26 86 [(google.api.field_behavior) = OUTPUT_ONLY]; 87 88 // Output only. Whether the customer is a manager. 89 optional bool manager = 27 [(google.api.field_behavior) = OUTPUT_ONLY]; 90 91 // Output only. Whether the customer is a test account. 92 optional bool test_account = 28 [(google.api.field_behavior) = OUTPUT_ONLY]; 93 94 // Call reporting setting for a customer. Only mutable in an `update` 95 // operation. 96 CallReportingSetting call_reporting_setting = 10; 97 98 // Output only. Conversion tracking setting for a customer. 99 ConversionTrackingSetting conversion_tracking_setting = 14 100 [(google.api.field_behavior) = OUTPUT_ONLY]; 101 102 // Output only. Remarketing setting for a customer. 103 RemarketingSetting remarketing_setting = 15 104 [(google.api.field_behavior) = OUTPUT_ONLY]; 105 106 // Output only. Reasons why the customer is not eligible to use 107 // PaymentMode.CONVERSIONS. If the list is empty, the customer is eligible. 108 // This field is read-only. 109 repeated google.ads.googleads.v16.enums 110 .CustomerPayPerConversionEligibilityFailureReasonEnum 111 .CustomerPayPerConversionEligibilityFailureReason 112 pay_per_conversion_eligibility_failure_reasons = 16 113 [(google.api.field_behavior) = OUTPUT_ONLY]; 114 115 // Output only. Optimization score of the customer. 116 // 117 // Optimization score is an estimate of how well a customer's campaigns are 118 // set to perform. It ranges from 0% (0.0) to 100% (1.0). This field is null 119 // for all manager customers, and for unscored non-manager customers. 120 // 121 // See "About optimization score" at 122 // https://support.google.com/google-ads/answer/9061546. 123 // 124 // This field is read-only. 125 optional double optimization_score = 29 126 [(google.api.field_behavior) = OUTPUT_ONLY]; 127 128 // Output only. Optimization score weight of the customer. 129 // 130 // Optimization score weight can be used to compare/aggregate optimization 131 // scores across multiple non-manager customers. The aggregate optimization 132 // score of a manager is computed as the sum over all of their customers of 133 // `Customer.optimization_score * Customer.optimization_score_weight`. This 134 // field is 0 for all manager customers, and for unscored non-manager 135 // customers. 136 // 137 // This field is read-only. 138 double optimization_score_weight = 30 139 [(google.api.field_behavior) = OUTPUT_ONLY]; 140 141 // Output only. The status of the customer. 142 google.ads.googleads.v16.enums.CustomerStatusEnum.CustomerStatus status = 36 143 [(google.api.field_behavior) = OUTPUT_ONLY]; 144 145 // Output only. True if feed based location has been migrated to asset based 146 // location. 147 optional bool location_asset_auto_migration_done = 38 148 [(google.api.field_behavior) = OUTPUT_ONLY]; 149 150 // Output only. True if feed based image has been migrated to asset based 151 // image. 152 optional bool image_asset_auto_migration_done = 39 153 [(google.api.field_behavior) = OUTPUT_ONLY]; 154 155 // Output only. Timestamp of migration from feed based location to asset base 156 // location in yyyy-MM-dd HH:mm:ss format. 157 optional string location_asset_auto_migration_done_date_time = 40 158 [(google.api.field_behavior) = OUTPUT_ONLY]; 159 160 // Output only. Timestamp of migration from feed based image to asset base 161 // image in yyyy-MM-dd HH:mm:ss format. 162 optional string image_asset_auto_migration_done_date_time = 41 163 [(google.api.field_behavior) = OUTPUT_ONLY]; 164 165 // Output only. Customer Agreement Setting for a customer. 166 CustomerAgreementSetting customer_agreement_setting = 44 167 [(google.api.field_behavior) = OUTPUT_ONLY]; 168 169 // Output only. Settings for Local Services customer. 170 LocalServicesSettings local_services_settings = 45 171 [(google.api.field_behavior) = OUTPUT_ONLY]; 172 173 // Output only. Brand Safety setting at the account level. Allows for 174 // selecting an inventory type to show your ads on content that is the right 175 // fit for your brand. See 176 // https://support.google.com/google-ads/answer/7515513. 177 google.ads.googleads.v16.enums.BrandSafetySuitabilityEnum 178 .BrandSafetySuitability video_brand_safety_suitability = 46 179 [(google.api.field_behavior) = OUTPUT_ONLY]; 180} 181 182// Call reporting setting for a customer. Only mutable in an `update` operation. 183message CallReportingSetting { 184 // Enable reporting of phone call events by redirecting them through Google 185 // System. 186 optional bool call_reporting_enabled = 10; 187 188 // Whether to enable call conversion reporting. 189 optional bool call_conversion_reporting_enabled = 11; 190 191 // Customer-level call conversion action to attribute a call conversion to. 192 // If not set a default conversion action is used. Only in effect when 193 // call_conversion_reporting_enabled is set to true. 194 optional string call_conversion_action = 12 195 [(google.api.resource_reference) = { 196 type: "googleads.googleapis.com/ConversionAction" 197 }]; 198} 199 200// A collection of customer-wide settings related to Google Ads Conversion 201// Tracking. 202message ConversionTrackingSetting { 203 // Output only. The conversion tracking id used for this account. This id 204 // doesn't indicate whether the customer uses conversion tracking 205 // (conversion_tracking_status does). This field is read-only. 206 optional int64 conversion_tracking_id = 3 207 [(google.api.field_behavior) = OUTPUT_ONLY]; 208 209 // Output only. The conversion tracking id of the customer's manager. This is 210 // set when the customer is opted into cross account conversion tracking, and 211 // it overrides conversion_tracking_id. This field can only be managed through 212 // the Google Ads UI. This field is read-only. 213 optional int64 cross_account_conversion_tracking_id = 4 214 [(google.api.field_behavior) = OUTPUT_ONLY]; 215 216 // Output only. Whether the customer has accepted customer data terms. If 217 // using cross-account conversion tracking, this value is inherited from the 218 // manager. This field is read-only. For more 219 // information, see https://support.google.com/adspolicy/answer/7475709. 220 bool accepted_customer_data_terms = 5 221 [(google.api.field_behavior) = OUTPUT_ONLY]; 222 223 // Output only. Conversion tracking status. It indicates whether the customer 224 // is using conversion tracking, and who is the conversion tracking owner of 225 // this customer. If this customer is using cross-account conversion tracking, 226 // the value returned will differ based on the `login-customer-id` of the 227 // request. 228 google.ads.googleads.v16.enums.ConversionTrackingStatusEnum 229 .ConversionTrackingStatus conversion_tracking_status = 6 230 [(google.api.field_behavior) = OUTPUT_ONLY]; 231 232 // Output only. Whether the customer is opted-in for enhanced conversions 233 // for leads. If using cross-account conversion tracking, this value is 234 // inherited from the manager. This field is read-only. 235 bool enhanced_conversions_for_leads_enabled = 7 236 [(google.api.field_behavior) = OUTPUT_ONLY]; 237 238 // Output only. The resource name of the customer where conversions are 239 // created and managed. This field is read-only. 240 string google_ads_conversion_customer = 8 241 [(google.api.field_behavior) = OUTPUT_ONLY]; 242} 243 244// Remarketing setting for a customer. 245message RemarketingSetting { 246 // Output only. The Google tag. 247 optional string google_global_site_tag = 2 248 [(google.api.field_behavior) = OUTPUT_ONLY]; 249} 250 251// Customer Agreement Setting for a customer. 252message CustomerAgreementSetting { 253 // Output only. Whether the customer has accepted lead form term of service. 254 bool accepted_lead_form_terms = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 255} 256 257// Settings for Local Services customer. 258message LocalServicesSettings { 259 // Output only. A read-only list of geo vertical level license statuses. 260 repeated GranularLicenseStatus granular_license_statuses = 1 261 [(google.api.field_behavior) = OUTPUT_ONLY]; 262 263 // Output only. A read-only list of geo vertical level insurance statuses. 264 repeated GranularInsuranceStatus granular_insurance_statuses = 2 265 [(google.api.field_behavior) = OUTPUT_ONLY]; 266} 267 268// License status at geo + vertical level. 269message GranularLicenseStatus { 270 // Output only. Geotarget criterion ID associated with the status. Can be on 271 // country or state/province geo level, depending on requirements and 272 // location. See https://developers.google.com/google-ads/api/data/geotargets 273 // for more information. 274 optional int64 geo_criterion_id = 1 275 [(google.api.field_behavior) = OUTPUT_ONLY]; 276 277 // Output only. Service category associated with the status. For example, 278 // xcat:service_area_business_plumber. 279 // For more details see: 280 // https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids 281 optional string category_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 282 283 // Output only. Granular license status, per geo + vertical. 284 optional google.ads.googleads.v16.enums.LocalServicesVerificationStatusEnum 285 .LocalServicesVerificationStatus verification_status = 3 286 [(google.api.field_behavior) = OUTPUT_ONLY]; 287} 288 289// Insurance status at geo + vertical level. 290message GranularInsuranceStatus { 291 // Output only. Geotarget criterion ID associated with the status. Can be on 292 // country or state/province geo level, depending on requirements and 293 // location. See https://developers.google.com/google-ads/api/data/geotargets 294 // for more information. 295 optional int64 geo_criterion_id = 1 296 [(google.api.field_behavior) = OUTPUT_ONLY]; 297 298 // Output only. Service category associated with the status. For example, 299 // xcat:service_area_business_plumber. 300 // For more details see: 301 // https://developers.google.com/google-ads/api/data/codes-formats#local_services_ids 302 optional string category_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 303 304 // Output only. Granular insurance status, per geo + vertical. 305 optional google.ads.googleads.v16.enums.LocalServicesVerificationStatusEnum 306 .LocalServicesVerificationStatus verification_status = 3 307 [(google.api.field_behavior) = OUTPUT_ONLY]; 308} 309