• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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