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