• 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.v16.resources;
18
19import "google/ads/googleads/v16/common/criteria.proto";
20import "google/ads/googleads/v16/enums/ad_strength.proto";
21import "google/ads/googleads/v16/enums/app_bidding_goal.proto";
22import "google/ads/googleads/v16/enums/keyword_match_type.proto";
23import "google/ads/googleads/v16/enums/recommendation_type.proto";
24import "google/ads/googleads/v16/enums/shopping_add_products_to_campaign_recommendation_enum.proto";
25import "google/ads/googleads/v16/enums/target_cpa_opt_in_recommendation_goal.proto";
26import "google/ads/googleads/v16/resources/ad.proto";
27import "google/ads/googleads/v16/resources/asset.proto";
28import "google/api/field_behavior.proto";
29import "google/api/resource.proto";
30
31option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources";
32option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources";
33option java_multiple_files = true;
34option java_outer_classname = "RecommendationProto";
35option java_package = "com.google.ads.googleads.v16.resources";
36option objc_class_prefix = "GAA";
37option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources";
38option ruby_package = "Google::Ads::GoogleAds::V16::Resources";
39
40// Proto file describing the Recommendation resource.
41
42// A recommendation.
43message Recommendation {
44  option (google.api.resource) = {
45    type: "googleads.googleapis.com/Recommendation"
46    pattern: "customers/{customer_id}/recommendations/{recommendation_id}"
47  };
48
49  // The Merchant Center account details.
50  message MerchantInfo {
51    // Output only. The Merchant Center account ID.
52    int64 id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
53
54    // Output only. The name of the Merchant Center account.
55    string name = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
56
57    // Output only. Whether the Merchant Center account is a Multi-Client
58    // account (MCA).
59    bool multi_client = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
60  }
61
62  // The impact of making the change as described in the recommendation.
63  // Some types of recommendations may not have impact information.
64  message RecommendationImpact {
65    // Output only. Base metrics at the time the recommendation was generated.
66    RecommendationMetrics base_metrics = 1
67        [(google.api.field_behavior) = OUTPUT_ONLY];
68
69    // Output only. Estimated metrics if the recommendation is applied.
70    RecommendationMetrics potential_metrics = 2
71        [(google.api.field_behavior) = OUTPUT_ONLY];
72  }
73
74  // Weekly account performance metrics. For some recommendation types, these
75  // are averaged over the past 90-day period and hence can be fractional.
76  message RecommendationMetrics {
77    // Output only. Number of ad impressions.
78    optional double impressions = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
79
80    // Output only. Number of ad clicks.
81    optional double clicks = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
82
83    // Output only. Cost (in micros) for advertising, in the local currency for
84    // the account.
85    optional int64 cost_micros = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
86
87    // Output only. Number of conversions.
88    optional double conversions = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
89
90    // Output only. Sum of the conversion value of the conversions.
91    optional double conversions_value = 11
92        [(google.api.field_behavior) = OUTPUT_ONLY];
93
94    // Output only. Number of video views for a video ad campaign.
95    optional double video_views = 10
96        [(google.api.field_behavior) = OUTPUT_ONLY];
97  }
98
99  // The budget recommendation for budget constrained campaigns.
100  message CampaignBudgetRecommendation {
101    // The impact estimates for a given budget amount.
102    message CampaignBudgetRecommendationOption {
103      // Output only. The budget amount for this option.
104      optional int64 budget_amount_micros = 3
105          [(google.api.field_behavior) = OUTPUT_ONLY];
106
107      // Output only. The impact estimate if budget is changed to amount
108      // specified in this option.
109      RecommendationImpact impact = 2
110          [(google.api.field_behavior) = OUTPUT_ONLY];
111    }
112
113    // Output only. The current budget amount in micros.
114    optional int64 current_budget_amount_micros = 7
115        [(google.api.field_behavior) = OUTPUT_ONLY];
116
117    // Output only. The recommended budget amount in micros.
118    optional int64 recommended_budget_amount_micros = 8
119        [(google.api.field_behavior) = OUTPUT_ONLY];
120
121    // Output only. The budget amounts and associated impact estimates for some
122    // values of possible budget amounts.
123    repeated CampaignBudgetRecommendationOption budget_options = 3
124        [(google.api.field_behavior) = OUTPUT_ONLY];
125  }
126
127  // The keyword recommendation.
128  message KeywordRecommendation {
129    // Information about a search term as related to a keyword recommendation.
130    message SearchTerm {
131      // Output only. The text of the search term.
132      string text = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
133
134      // Output only. Estimated number of historical weekly searches for this
135      // search term.
136      int64 estimated_weekly_search_count = 2
137          [(google.api.field_behavior) = OUTPUT_ONLY];
138    }
139
140    // Output only. The recommended keyword.
141    google.ads.googleads.v16.common.KeywordInfo keyword = 1
142        [(google.api.field_behavior) = OUTPUT_ONLY];
143
144    // Output only. A list of search terms this keyword matches. The same search
145    // term may be repeated for multiple keywords.
146    repeated SearchTerm search_terms = 4
147        [(google.api.field_behavior) = OUTPUT_ONLY];
148
149    // Output only. The recommended CPC (cost-per-click) bid.
150    optional int64 recommended_cpc_bid_micros = 3
151        [(google.api.field_behavior) = OUTPUT_ONLY];
152  }
153
154  // The text ad recommendation.
155  message TextAdRecommendation {
156    // Output only. Recommended ad.
157    Ad ad = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
158
159    // Output only. Creation date of the recommended ad.
160    // YYYY-MM-DD format, for example, 2018-04-17.
161    optional string creation_date = 4
162        [(google.api.field_behavior) = OUTPUT_ONLY];
163
164    // Output only. Date, if present, is the earliest when the recommendation
165    // will be auto applied. YYYY-MM-DD format, for example, 2018-04-17.
166    optional string auto_apply_date = 5
167        [(google.api.field_behavior) = OUTPUT_ONLY];
168  }
169
170  // The Target CPA opt-in recommendation.
171  message TargetCpaOptInRecommendation {
172    // The Target CPA opt-in option with impact estimate.
173    message TargetCpaOptInRecommendationOption {
174      // Output only. The goal achieved by this option.
175      google.ads.googleads.v16.enums.TargetCpaOptInRecommendationGoalEnum
176          .TargetCpaOptInRecommendationGoal goal = 1
177          [(google.api.field_behavior) = OUTPUT_ONLY];
178
179      // Output only. Average CPA target.
180      optional int64 target_cpa_micros = 5
181          [(google.api.field_behavior) = OUTPUT_ONLY];
182
183      // Output only. The minimum campaign budget, in local currency for the
184      // account, required to achieve the target CPA. Amount is specified in
185      // micros, where one million is equivalent to one currency unit.
186      optional int64 required_campaign_budget_amount_micros = 6
187          [(google.api.field_behavior) = OUTPUT_ONLY];
188
189      // Output only. The impact estimate if this option is selected.
190      RecommendationImpact impact = 4
191          [(google.api.field_behavior) = OUTPUT_ONLY];
192    }
193
194    // Output only. The available goals and corresponding options for Target CPA
195    // strategy.
196    repeated TargetCpaOptInRecommendationOption options = 1
197        [(google.api.field_behavior) = OUTPUT_ONLY];
198
199    // Output only. The recommended average CPA target. See required budget
200    // amount and impact of using this recommendation in options list.
201    optional int64 recommended_target_cpa_micros = 3
202        [(google.api.field_behavior) = OUTPUT_ONLY];
203  }
204
205  // The Maximize Conversions Opt-In recommendation.
206  message MaximizeConversionsOptInRecommendation {
207    // Output only. The recommended new budget amount.
208    optional int64 recommended_budget_amount_micros = 2
209        [(google.api.field_behavior) = OUTPUT_ONLY];
210  }
211
212  // The Enhanced Cost-Per-Click Opt-In recommendation.
213  message EnhancedCpcOptInRecommendation {}
214
215  // The Search Partners Opt-In recommendation.
216  message SearchPartnersOptInRecommendation {}
217
218  // The Maximize Clicks opt-in recommendation.
219  message MaximizeClicksOptInRecommendation {
220    // Output only. The recommended new budget amount.
221    // Only set if the current budget is too high.
222    optional int64 recommended_budget_amount_micros = 2
223        [(google.api.field_behavior) = OUTPUT_ONLY];
224  }
225
226  // The Optimize Ad Rotation recommendation.
227  message OptimizeAdRotationRecommendation {}
228
229  // The callout asset recommendation.
230  message CalloutAssetRecommendation {
231    // Output only. New callout extension assets recommended at the campaign
232    // level.
233    repeated Asset recommended_campaign_callout_assets = 1
234        [(google.api.field_behavior) = OUTPUT_ONLY];
235
236    // Output only. New callout extension assets recommended at the customer
237    // level.
238    repeated Asset recommended_customer_callout_assets = 2
239        [(google.api.field_behavior) = OUTPUT_ONLY];
240  }
241
242  // The sitelink asset recommendation.
243  message SitelinkAssetRecommendation {
244    // Output only. New sitelink assets recommended at the campaign level.
245    repeated Asset recommended_campaign_sitelink_assets = 1
246        [(google.api.field_behavior) = OUTPUT_ONLY];
247
248    // Output only. New sitelink assets recommended at the customer level.
249    repeated Asset recommended_customer_sitelink_assets = 2
250        [(google.api.field_behavior) = OUTPUT_ONLY];
251  }
252
253  // The call asset recommendation.
254  message CallAssetRecommendation {}
255
256  // The keyword match type recommendation.
257  message KeywordMatchTypeRecommendation {
258    // Output only. The existing keyword where the match type should be more
259    // broad.
260    google.ads.googleads.v16.common.KeywordInfo keyword = 1
261        [(google.api.field_behavior) = OUTPUT_ONLY];
262
263    // Output only. The recommended new match type.
264    google.ads.googleads.v16.enums.KeywordMatchTypeEnum.KeywordMatchType
265        recommended_match_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
266  }
267
268  // The move unused budget recommendation.
269  message MoveUnusedBudgetRecommendation {
270    // Output only. The excess budget's resource_name.
271    optional string excess_campaign_budget = 3
272        [(google.api.field_behavior) = OUTPUT_ONLY];
273
274    // Output only. The recommendation for the constrained budget to increase.
275    CampaignBudgetRecommendation budget_recommendation = 2
276        [(google.api.field_behavior) = OUTPUT_ONLY];
277  }
278
279  // The Target ROAS opt-in recommendation.
280  message TargetRoasOptInRecommendation {
281    // Output only. The recommended target ROAS (revenue per unit of spend).
282    // The value is between 0.01 and 1000.0, inclusive.
283    optional double recommended_target_roas = 1
284        [(google.api.field_behavior) = OUTPUT_ONLY];
285
286    // Output only. The minimum campaign budget, in local currency for the
287    // account, required to achieve the target ROAS. Amount is specified in
288    // micros, where one million is equivalent to one currency unit.
289    optional int64 required_campaign_budget_amount_micros = 2
290        [(google.api.field_behavior) = OUTPUT_ONLY];
291  }
292
293  // The add responsive search ad asset recommendation.
294  message ResponsiveSearchAdAssetRecommendation {
295    // Output only. The current ad to be updated.
296    Ad current_ad = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
297
298    // Output only. The recommended assets. This is populated only with the new
299    // headlines and/or descriptions, and is otherwise empty.
300    Ad recommended_assets = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
301  }
302
303  // The responsive search ad improve ad strength recommendation.
304  message ResponsiveSearchAdImproveAdStrengthRecommendation {
305    // Output only. The current ad to be updated.
306    Ad current_ad = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
307
308    // Output only. The updated ad.
309    Ad recommended_ad = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
310  }
311
312  // The add responsive search ad recommendation.
313  message ResponsiveSearchAdRecommendation {
314    // Output only. Recommended ad.
315    Ad ad = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
316  }
317
318  // The use broad match keyword recommendation.
319  message UseBroadMatchKeywordRecommendation {
320    // Output only. Sample of keywords to be expanded to Broad Match.
321    repeated google.ads.googleads.v16.common.KeywordInfo keyword = 1
322        [(google.api.field_behavior) = OUTPUT_ONLY];
323
324    // Output only. Total number of keywords to be expanded to Broad Match in
325    // the campaign.
326    int64 suggested_keywords_count = 2
327        [(google.api.field_behavior) = OUTPUT_ONLY];
328
329    // Output only. Total number of keywords in the campaign.
330    int64 campaign_keywords_count = 3
331        [(google.api.field_behavior) = OUTPUT_ONLY];
332
333    // Output only. Whether the associated campaign uses a shared budget.
334    bool campaign_uses_shared_budget = 4
335        [(google.api.field_behavior) = OUTPUT_ONLY];
336
337    // Output only. The budget recommended to avoid becoming budget constrained
338    // after applying the recommendation.
339    int64 required_campaign_budget_amount_micros = 5
340        [(google.api.field_behavior) = OUTPUT_ONLY];
341  }
342
343  // The upgrade a Smart Shopping campaign to a Performance Max campaign
344  // recommendation.
345  message UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation {
346    // Output only. ID of Merchant Center account.
347    int64 merchant_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
348
349    // Output only. Country whose products from merchant's inventory should be
350    // included.
351    string sales_country_code = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
352  }
353
354  // The raise target CPA bid too low recommendation.
355  message RaiseTargetCpaBidTooLowRecommendation {
356    // Output only. A number greater than 1.0 indicating the factor by which we
357    // recommend the target CPA should be increased.
358    optional double recommended_target_multiplier = 1
359        [(google.api.field_behavior) = OUTPUT_ONLY];
360
361    // Output only. The current average target CPA of the campaign, in micros of
362    // customer local currency.
363    optional int64 average_target_cpa_micros = 2
364        [(google.api.field_behavior) = OUTPUT_ONLY];
365  }
366
367  // The Display Expansion opt-in recommendation.
368  message DisplayExpansionOptInRecommendation {}
369
370  // The Upgrade Local campaign to Performance Max campaign recommendation.
371  message UpgradeLocalCampaignToPerformanceMaxRecommendation {}
372
373  // The forecasting set target ROAS recommendation.
374  message ForecastingSetTargetRoasRecommendation {
375    // Output only. The recommended target ROAS (revenue per unit of spend).
376    // The value is between 0.01 and 1000.0, inclusive.
377    double recommended_target_roas = 1
378        [(google.api.field_behavior) = OUTPUT_ONLY];
379
380    // Output only. The campaign budget.
381    CampaignBudget campaign_budget = 2
382        [(google.api.field_behavior) = OUTPUT_ONLY];
383  }
384
385  // The shopping recommendation to add an attribute to offers that are demoted
386  // because it is missing.
387  message ShoppingOfferAttributeRecommendation {
388    // Output only. The details of the Merchant Center account.
389    MerchantInfo merchant = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
390
391    // Output only. The campaign feed label.
392    string feed_label = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
393
394    // Output only. The number of online, servable offers.
395    int64 offers_count = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
396
397    // Output only. The number of online, servable offers that are demoted for
398    // missing attributes. Visit the Merchant Center for more details.
399    int64 demoted_offers_count = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
400  }
401
402  // The shopping recommendation to fix disapproved products in a Shopping
403  // Campaign Inventory.
404  message ShoppingFixDisapprovedProductsRecommendation {
405    // Output only. The details of the Merchant Center account.
406    MerchantInfo merchant = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
407
408    // Output only. The feed label for the campaign.
409    string feed_label = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
410
411    // Output only. The number of products of the campaign.
412    int64 products_count = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
413
414    // Output only. The numbers of products of the campaign that are
415    // disapproved.
416    int64 disapproved_products_count = 4
417        [(google.api.field_behavior) = OUTPUT_ONLY];
418  }
419
420  // The shopping recommendation to create a catch-all campaign that targets all
421  // offers.
422  message ShoppingTargetAllOffersRecommendation {
423    // Output only. The details of the Merchant Center account.
424    MerchantInfo merchant = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
425
426    // Output only. The number of untargeted offers.
427    int64 untargeted_offers_count = 2
428        [(google.api.field_behavior) = OUTPUT_ONLY];
429
430    // Output only. The offer feed label.
431    string feed_label = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
432  }
433
434  // The shopping recommendation to add products to a Shopping Campaign
435  // Inventory.
436  message ShoppingAddProductsToCampaignRecommendation {
437    // Output only. The details of the Merchant Center account.
438    MerchantInfo merchant = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
439
440    // Output only. The feed label for the campaign.
441    string feed_label = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
442
443    // Output only. The reason why no products are attached to the campaign.
444    google.ads.googleads.v16.enums
445        .ShoppingAddProductsToCampaignRecommendationEnum.Reason reason = 3
446        [(google.api.field_behavior) = OUTPUT_ONLY];
447  }
448
449  // The shopping recommendation to fix Merchant Center account suspension
450  // issues.
451  message ShoppingMerchantCenterAccountSuspensionRecommendation {
452    // Output only. The details of the Merchant Center account.
453    MerchantInfo merchant = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
454
455    // Output only. The feed label of the campaign for which the suspension
456    // happened.
457    string feed_label = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
458  }
459
460  // The shopping recommendation to migrate Regular Shopping Campaign targeted
461  // offers to Performance Max campaigns.
462  message
463  ShoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation {
464    // Output only. The details of the Merchant Center account.
465    MerchantInfo merchant = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
466
467    // Output only. The feed label of the offers targeted by the campaigns
468    // sharing this suggestion.
469    string feed_label = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
470  }
471
472  // Information of a target adjustment recommendation.
473  message TargetAdjustmentInfo {
474    // Output only. The shared set resource name of the portfolio bidding
475    // strategy where the target is defined. Only populated if the
476    // recommendation is portfolio level.
477    optional string shared_set = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
478
479    // Output only. The factor by which we recommend the target to be adjusted
480    // by.
481    double recommended_target_multiplier = 2
482        [(google.api.field_behavior) = OUTPUT_ONLY];
483
484    // Output only. The current average target of the campaign or portfolio
485    // targeted by this recommendation.
486    int64 current_average_target_micros = 3
487        [(google.api.field_behavior) = OUTPUT_ONLY];
488  }
489
490  // Recommendation to raise Target CPA.
491  message RaiseTargetCpaRecommendation {
492    // Output only. The relevant information describing the recommended target
493    // adjustment.
494    TargetAdjustmentInfo target_adjustment = 1
495        [(google.api.field_behavior) = OUTPUT_ONLY];
496
497    // Output only. Represents the goal towards which the bidding strategy
498    // should optimize. Only populated for App Campaigns.
499    optional google.ads.googleads.v16.enums.AppBiddingGoalEnum.AppBiddingGoal
500        app_bidding_goal = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
501  }
502
503  // Recommendation to lower Target ROAS.
504  message LowerTargetRoasRecommendation {
505    // Output only. The relevant information describing the recommended target
506    // adjustment.
507    TargetAdjustmentInfo target_adjustment = 1
508        [(google.api.field_behavior) = OUTPUT_ONLY];
509  }
510
511  // Recommendation to enable dynamic image extensions on the account,
512  // allowing Google to find the best images from ad landing pages and
513  // complement text ads.
514  message DynamicImageExtensionOptInRecommendation {}
515
516  // A campaign budget shared amongst various budget recommendation types.
517  message CampaignBudget {
518    // Output only. Current budget amount.
519    int64 current_amount_micros = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
520
521    // Output only. Recommended budget amount.
522    int64 recommended_new_amount_micros = 2
523        [(google.api.field_behavior) = OUTPUT_ONLY];
524
525    // Output only. The date when the new budget would start being used.
526    // This field will be set for the following recommendation types:
527    // FORECASTING_SET_TARGET_ROAS , FORECASTING_SET_TARGET_CPA
528    // YYYY-MM-DD format, for example, 2018-04-17.
529    string new_start_date = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
530  }
531
532  // The Performance Max Opt In recommendation.
533  message PerformanceMaxOptInRecommendation {}
534
535  // Recommendation to improve the asset group strength of a Performance Max
536  // campaign to an "Excellent" rating.
537  message ImprovePerformanceMaxAdStrengthRecommendation {
538    // Output only. The asset group resource name.
539    string asset_group = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
540  }
541
542  // The Dynamic Search Ads to Performance Max migration recommendation.
543  message MigrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation {
544    // Output only. A link to the Google Ads UI where the customer can manually
545    // apply the recommendation.
546    string apply_link = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
547  }
548
549  // The set target CPA recommendations.
550  message ForecastingSetTargetCpaRecommendation {
551    // Output only. The recommended target CPA.
552    int64 recommended_target_cpa_micros = 1
553        [(google.api.field_behavior) = OUTPUT_ONLY];
554
555    // Output only. The campaign budget.
556    CampaignBudget campaign_budget = 2
557        [(google.api.field_behavior) = OUTPUT_ONLY];
558  }
559
560  // Recommendation to opt into Maximize Conversion Value bidding strategy.
561  message MaximizeConversionValueOptInRecommendation {}
562
563  // Recommendation to deploy Google Tag on more pages.
564  message ImproveGoogleTagCoverageRecommendation {}
565
566  // Recommendation to turn on Final URL expansion for your Performance Max
567  // campaigns.
568  message PerformanceMaxFinalUrlOptInRecommendation {}
569
570  // The recommendation to update a customer list that hasn't been updated in
571  // the last 90 days. The customer receiving the recommendation is not
572  // necessarily the owner account. The owner account should update the customer
573  // list.
574  message RefreshCustomerMatchListRecommendation {
575    // Output only. The user list ID.
576    int64 user_list_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
577
578    // Output only. The name of the list.
579    string user_list_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
580
581    // Output only. Days since last refresh.
582    int64 days_since_last_refresh = 3
583        [(google.api.field_behavior) = OUTPUT_ONLY];
584
585    // Output only. The top spending account.
586    repeated AccountInfo top_spending_account = 4
587        [(google.api.field_behavior) = OUTPUT_ONLY];
588
589    // Output only. User lists can be shared with other accounts by the owner.
590    // targeting_accounts_count is the number of those accounts that can use it
591    // for targeting.
592    int64 targeting_accounts_count = 5
593        [(google.api.field_behavior) = OUTPUT_ONLY];
594
595    // Output only. The owner account. This is the account that should update
596    // the customer list.
597    AccountInfo owner_account = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
598  }
599
600  // Wrapper for information about a Google Ads account.
601  message AccountInfo {
602    // Output only. The customer ID of the account.
603    int64 customer_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
604
605    // Output only. The descriptive name of the account.
606    string descriptive_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
607  }
608
609  // The Custom Audience Opt In recommendation.
610  message CustomAudienceOptInRecommendation {
611    // Output only. The list of keywords to use for custom audience creation.
612    repeated google.ads.googleads.v16.common.KeywordInfo keywords = 1
613        [(google.api.field_behavior) = OUTPUT_ONLY];
614  }
615
616  // The lead form asset recommendation.
617  message LeadFormAssetRecommendation {}
618
619  // The improve Demand Gen ad strength recommendation.
620  message ImproveDemandGenAdStrengthRecommendation {
621    // Output only. The resource name of the ad that can be improved.
622    string ad = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
623
624    // Output only. The current ad strength.
625    google.ads.googleads.v16.enums.AdStrengthEnum.AdStrength ad_strength = 2
626        [(google.api.field_behavior) = OUTPUT_ONLY];
627
628    // Output only. A list of recommendations to improve the ad strength.
629    repeated string demand_gen_asset_action_items = 3
630        [(google.api.field_behavior) = OUTPUT_ONLY];
631  }
632
633  // Immutable. The resource name of the recommendation.
634  //
635  // `customers/{customer_id}/recommendations/{recommendation_id}`
636  string resource_name = 1 [
637    (google.api.field_behavior) = IMMUTABLE,
638    (google.api.resource_reference) = {
639      type: "googleads.googleapis.com/Recommendation"
640    }
641  ];
642
643  // Output only. The type of recommendation.
644  google.ads.googleads.v16.enums.RecommendationTypeEnum.RecommendationType
645      type = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
646
647  // Output only. The impact on account performance as a result of applying the
648  // recommendation.
649  RecommendationImpact impact = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
650
651  // Output only. The budget targeted by this recommendation. This will be set
652  // only when the recommendation affects a single campaign budget.
653  //
654  // This field will be set for the following recommendation types:
655  // CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET, MARGINAL_ROI_CAMPAIGN_BUDGET,
656  // MOVE_UNUSED_BUDGET
657  optional string campaign_budget = 24 [
658    (google.api.field_behavior) = OUTPUT_ONLY,
659    (google.api.resource_reference) = {
660      type: "googleads.googleapis.com/CampaignBudget"
661    }
662  ];
663
664  // Output only. The campaign targeted by this recommendation.
665  //
666  // This field will be set for the following recommendation types:
667  // CALL_EXTENSION, CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN,
668  // USE_BROAD_MATCH_KEYWORD, KEYWORD, KEYWORD_MATCH_TYPE,
669  // UPGRADE_LOCAL_CAMPAIGN_TO_PERFORMANCE_MAX, MAXIMIZE_CLICKS_OPT_IN,
670  // MAXIMIZE_CONVERSIONS_OPT_IN, OPTIMIZE_AD_ROTATION,
671  // RESPONSIVE_SEARCH_AD,
672  // RESPONSIVE_SEARCH_AD_ASSET,
673  // SEARCH_PARTNERS_OPT_IN, DISPLAY_EXPANSION_OPT_IN, SITELINK_EXTENSION,
674  // TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN, TEXT_AD,
675  // UPGRADE_SMART_SHOPPING_CAMPAIGN_TO_PERFORMANCE_MAX,
676  // RAISE_TARGET_CPA_BID_TOO_LOW, FORECASTING_SET_TARGET_ROAS,
677  // SHOPPING_ADD_AGE_GROUP, SHOPPING_ADD_COLOR, SHOPPING_ADD_GENDER,
678  // SHOPPING_ADD_SIZE, SHOPPING_ADD_GTIN, SHOPPING_ADD_MORE_IDENTIFIERS,
679  // SHOPPING_ADD_PRODUCTS_TO_CAMPAIGN, SHOPPING_FIX_DISAPPROVED_PRODUCTS,
680  // SHOPPING_MIGRATE_REGULAR_SHOPPING_CAMPAIGN_OFFERS_TO_PERFORMANCE_MAX,
681  // DYNAMIC_IMAGE_EXTENSION_OPT_IN, RAISE_TARGET_CPA, LOWER_TARGET_ROAS,
682  // FORECASTING_SET_TARGET_CPA,
683  // SET_TARGET_CPA, SET_TARGET_ROAS, MAXIMIZE_CONVERSION_VALUE_OPT_IN,
684  // IMPROVE_GOOGLE_TAG_COVERAGE, PERFORMANCE_MAX_FINAL_URL_OPT_IN
685  optional string campaign = 25 [
686    (google.api.field_behavior) = OUTPUT_ONLY,
687    (google.api.resource_reference) = {
688      type: "googleads.googleapis.com/Campaign"
689    }
690  ];
691
692  // Output only. The ad group targeted by this recommendation. This will be set
693  // only when the recommendation affects a single ad group.
694  //
695  // This field will be set for the following recommendation types:
696  // KEYWORD, OPTIMIZE_AD_ROTATION, RESPONSIVE_SEARCH_AD,
697  // RESPONSIVE_SEARCH_AD_ASSET, TEXT_AD
698  optional string ad_group = 26 [
699    (google.api.field_behavior) = OUTPUT_ONLY,
700    (google.api.resource_reference) = {
701      type: "googleads.googleapis.com/AdGroup"
702    }
703  ];
704
705  // Output only. Whether the recommendation is dismissed or not.
706  optional bool dismissed = 27 [(google.api.field_behavior) = OUTPUT_ONLY];
707
708  // Output only. The campaigns targeted by this recommendation.
709  //
710  // This field will be set for the following recommendation types:
711  // CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET,
712  // MARGINAL_ROI_CAMPAIGN_BUDGET and MOVE_UNUSED_BUDGET
713  repeated string campaigns = 38 [
714    (google.api.field_behavior) = OUTPUT_ONLY,
715    (google.api.resource_reference) = {
716      type: "googleads.googleapis.com/Campaign"
717    }
718  ];
719
720  // The details of recommendation.
721  oneof recommendation {
722    // Output only. The campaign budget recommendation.
723    CampaignBudgetRecommendation campaign_budget_recommendation = 4
724        [(google.api.field_behavior) = OUTPUT_ONLY];
725
726    // Output only. The forecasting campaign budget recommendation.
727    CampaignBudgetRecommendation forecasting_campaign_budget_recommendation = 22
728        [(google.api.field_behavior) = OUTPUT_ONLY];
729
730    // Output only. The keyword recommendation.
731    KeywordRecommendation keyword_recommendation = 8
732        [(google.api.field_behavior) = OUTPUT_ONLY];
733
734    // Output only. Add expanded text ad recommendation.
735    TextAdRecommendation text_ad_recommendation = 9
736        [(google.api.field_behavior) = OUTPUT_ONLY];
737
738    // Output only. The TargetCPA opt-in recommendation.
739    TargetCpaOptInRecommendation target_cpa_opt_in_recommendation = 10
740        [(google.api.field_behavior) = OUTPUT_ONLY];
741
742    // Output only. The MaximizeConversions Opt-In recommendation.
743    MaximizeConversionsOptInRecommendation
744        maximize_conversions_opt_in_recommendation = 11
745        [(google.api.field_behavior) = OUTPUT_ONLY];
746
747    // Output only. The Enhanced Cost-Per-Click Opt-In recommendation.
748    EnhancedCpcOptInRecommendation enhanced_cpc_opt_in_recommendation = 12
749        [(google.api.field_behavior) = OUTPUT_ONLY];
750
751    // Output only. The Search Partners Opt-In recommendation.
752    SearchPartnersOptInRecommendation search_partners_opt_in_recommendation = 14
753        [(google.api.field_behavior) = OUTPUT_ONLY];
754
755    // Output only. The MaximizeClicks Opt-In recommendation.
756    MaximizeClicksOptInRecommendation maximize_clicks_opt_in_recommendation = 15
757        [(google.api.field_behavior) = OUTPUT_ONLY];
758
759    // Output only. The Optimize Ad Rotation recommendation.
760    OptimizeAdRotationRecommendation optimize_ad_rotation_recommendation = 16
761        [(google.api.field_behavior) = OUTPUT_ONLY];
762
763    // Output only. The keyword match type recommendation.
764    KeywordMatchTypeRecommendation keyword_match_type_recommendation = 20
765        [(google.api.field_behavior) = OUTPUT_ONLY];
766
767    // Output only. The move unused budget recommendation.
768    MoveUnusedBudgetRecommendation move_unused_budget_recommendation = 21
769        [(google.api.field_behavior) = OUTPUT_ONLY];
770
771    // Output only. The Target ROAS opt-in recommendation.
772    TargetRoasOptInRecommendation target_roas_opt_in_recommendation = 23
773        [(google.api.field_behavior) = OUTPUT_ONLY];
774
775    // Output only. The add responsive search ad recommendation.
776    ResponsiveSearchAdRecommendation responsive_search_ad_recommendation = 28
777        [(google.api.field_behavior) = OUTPUT_ONLY];
778
779    // Output only. The marginal ROI campaign budget recommendation.
780    CampaignBudgetRecommendation marginal_roi_campaign_budget_recommendation =
781        29 [(google.api.field_behavior) = OUTPUT_ONLY];
782
783    // Output only. The use broad match keyword recommendation.
784    UseBroadMatchKeywordRecommendation use_broad_match_keyword_recommendation =
785        30 [(google.api.field_behavior) = OUTPUT_ONLY];
786
787    // Output only. The responsive search ad asset recommendation.
788    ResponsiveSearchAdAssetRecommendation
789        responsive_search_ad_asset_recommendation = 31
790        [(google.api.field_behavior) = OUTPUT_ONLY];
791
792    // Output only. The upgrade a Smart Shopping campaign to a Performance Max
793    // campaign recommendation.
794    UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation
795        upgrade_smart_shopping_campaign_to_performance_max_recommendation = 32
796        [(google.api.field_behavior) = OUTPUT_ONLY];
797
798    // Output only. The responsive search ad improve ad strength recommendation.
799    ResponsiveSearchAdImproveAdStrengthRecommendation
800        responsive_search_ad_improve_ad_strength_recommendation = 33
801        [(google.api.field_behavior) = OUTPUT_ONLY];
802
803    // Output only. The Display Expansion opt-in recommendation.
804    DisplayExpansionOptInRecommendation
805        display_expansion_opt_in_recommendation = 34
806        [(google.api.field_behavior) = OUTPUT_ONLY];
807
808    // Output only. The upgrade a Local campaign to a Performance Max campaign
809    // recommendation.
810    UpgradeLocalCampaignToPerformanceMaxRecommendation
811        upgrade_local_campaign_to_performance_max_recommendation = 35
812        [(google.api.field_behavior) = OUTPUT_ONLY];
813
814    // Output only. The raise target CPA bid too low recommendation.
815    RaiseTargetCpaBidTooLowRecommendation
816        raise_target_cpa_bid_too_low_recommendation = 36
817        [(google.api.field_behavior) = OUTPUT_ONLY];
818
819    // Output only. The forecasting set target ROAS recommendation.
820    ForecastingSetTargetRoasRecommendation
821        forecasting_set_target_roas_recommendation = 37
822        [(google.api.field_behavior) = OUTPUT_ONLY];
823
824    // Output only. The callout asset recommendation.
825    CalloutAssetRecommendation callout_asset_recommendation = 39
826        [(google.api.field_behavior) = OUTPUT_ONLY];
827
828    // Output only. The sitelink asset recommendation.
829    SitelinkAssetRecommendation sitelink_asset_recommendation = 40
830        [(google.api.field_behavior) = OUTPUT_ONLY];
831
832    // Output only. The call asset recommendation.
833    CallAssetRecommendation call_asset_recommendation = 41
834        [(google.api.field_behavior) = OUTPUT_ONLY];
835
836    // Output only. The shopping add age group recommendation.
837    ShoppingOfferAttributeRecommendation shopping_add_age_group_recommendation =
838        42 [(google.api.field_behavior) = OUTPUT_ONLY];
839
840    // Output only. The shopping add color recommendation.
841    ShoppingOfferAttributeRecommendation shopping_add_color_recommendation = 43
842        [(google.api.field_behavior) = OUTPUT_ONLY];
843
844    // Output only. The shopping add gender recommendation.
845    ShoppingOfferAttributeRecommendation shopping_add_gender_recommendation = 44
846        [(google.api.field_behavior) = OUTPUT_ONLY];
847
848    // Output only. The shopping add GTIN recommendation.
849    ShoppingOfferAttributeRecommendation shopping_add_gtin_recommendation = 45
850        [(google.api.field_behavior) = OUTPUT_ONLY];
851
852    // Output only. The shopping add more identifiers recommendation.
853    ShoppingOfferAttributeRecommendation
854        shopping_add_more_identifiers_recommendation = 46
855        [(google.api.field_behavior) = OUTPUT_ONLY];
856
857    // Output only. The shopping add size recommendation.
858    ShoppingOfferAttributeRecommendation shopping_add_size_recommendation = 47
859        [(google.api.field_behavior) = OUTPUT_ONLY];
860
861    // Output only. The shopping add products to campaign recommendation.
862    ShoppingAddProductsToCampaignRecommendation
863        shopping_add_products_to_campaign_recommendation = 48
864        [(google.api.field_behavior) = OUTPUT_ONLY];
865
866    // Output only. The shopping fix disapproved products recommendation.
867    ShoppingFixDisapprovedProductsRecommendation
868        shopping_fix_disapproved_products_recommendation = 49
869        [(google.api.field_behavior) = OUTPUT_ONLY];
870
871    // Output only. The shopping target all offers recommendation.
872    ShoppingTargetAllOffersRecommendation
873        shopping_target_all_offers_recommendation = 50
874        [(google.api.field_behavior) = OUTPUT_ONLY];
875
876    // Output only. The shopping fix suspended Merchant Center account
877    // recommendation.
878    ShoppingMerchantCenterAccountSuspensionRecommendation
879        shopping_fix_suspended_merchant_center_account_recommendation = 51
880        [(google.api.field_behavior) = OUTPUT_ONLY];
881
882    // Output only. The shopping fix Merchant Center account suspension warning
883    // recommendation.
884    ShoppingMerchantCenterAccountSuspensionRecommendation
885        shopping_fix_merchant_center_account_suspension_warning_recommendation =
886            52 [(google.api.field_behavior) = OUTPUT_ONLY];
887
888    // Output only. The shopping migrate Regular Shopping Campaign offers to
889    // Performance Max recommendation.
890    ShoppingMigrateRegularShoppingCampaignOffersToPerformanceMaxRecommendation
891        shopping_migrate_regular_shopping_campaign_offers_to_performance_max_recommendation =
892            53 [(google.api.field_behavior) = OUTPUT_ONLY];
893
894    // Output only. Recommendation to enable dynamic image extensions on the
895    // account, allowing Google to find the best images from ad landing pages
896    // and complement text ads.
897    DynamicImageExtensionOptInRecommendation
898        dynamic_image_extension_opt_in_recommendation = 54
899        [(google.api.field_behavior) = OUTPUT_ONLY];
900
901    // Output only. Recommendation to raise Target CPA.
902    RaiseTargetCpaRecommendation raise_target_cpa_recommendation = 55
903        [(google.api.field_behavior) = OUTPUT_ONLY];
904
905    // Output only. Recommendation to lower Target ROAS.
906    LowerTargetRoasRecommendation lower_target_roas_recommendation = 56
907        [(google.api.field_behavior) = OUTPUT_ONLY];
908
909    // Output only. The Performance Max Opt In recommendation.
910    PerformanceMaxOptInRecommendation performance_max_opt_in_recommendation = 57
911        [(google.api.field_behavior) = OUTPUT_ONLY];
912
913    // Output only. The improve Performance Max ad strength recommendation.
914    ImprovePerformanceMaxAdStrengthRecommendation
915        improve_performance_max_ad_strength_recommendation = 58
916        [(google.api.field_behavior) = OUTPUT_ONLY];
917
918    // Output only. The Dynamic Search Ads to Performance Max migration
919    // recommendation.
920    MigrateDynamicSearchAdsCampaignToPerformanceMaxRecommendation
921        migrate_dynamic_search_ads_campaign_to_performance_max_recommendation =
922            59 [(google.api.field_behavior) = OUTPUT_ONLY];
923
924    // Output only. The forecasting set target CPA recommendation.
925    ForecastingSetTargetCpaRecommendation
926        forecasting_set_target_cpa_recommendation = 60
927        [(google.api.field_behavior) = OUTPUT_ONLY];
928
929    // Output only. The set target CPA recommendation.
930    ForecastingSetTargetCpaRecommendation set_target_cpa_recommendation = 61
931        [(google.api.field_behavior) = OUTPUT_ONLY];
932
933    // Output only. The set target ROAS recommendation.
934    ForecastingSetTargetRoasRecommendation set_target_roas_recommendation = 62
935        [(google.api.field_behavior) = OUTPUT_ONLY];
936
937    // Output only. The Maximize Conversion Value opt-in recommendation.
938    MaximizeConversionValueOptInRecommendation
939        maximize_conversion_value_opt_in_recommendation = 63
940        [(google.api.field_behavior) = OUTPUT_ONLY];
941
942    // Output only. Recommendation to deploy Google Tag on more pages.
943    ImproveGoogleTagCoverageRecommendation
944        improve_google_tag_coverage_recommendation = 64
945        [(google.api.field_behavior) = OUTPUT_ONLY];
946
947    // Output only. Recommendation to turn on Final URL expansion for your
948    // Performance Max campaigns.
949    PerformanceMaxFinalUrlOptInRecommendation
950        performance_max_final_url_opt_in_recommendation = 65
951        [(google.api.field_behavior) = OUTPUT_ONLY];
952
953    // Output only. The refresh customer list recommendation.
954    RefreshCustomerMatchListRecommendation
955        refresh_customer_match_list_recommendation = 66
956        [(google.api.field_behavior) = OUTPUT_ONLY];
957
958    // Output only. The custom audience opt in recommendation.
959    CustomAudienceOptInRecommendation custom_audience_opt_in_recommendation = 67
960        [(google.api.field_behavior) = OUTPUT_ONLY];
961
962    // Output only. The lead form asset recommendation.
963    LeadFormAssetRecommendation lead_form_asset_recommendation = 68
964        [(google.api.field_behavior) = OUTPUT_ONLY];
965
966    // Output only. The improve Demand Gen ad strength recommendation.
967    ImproveDemandGenAdStrengthRecommendation
968        improve_demand_gen_ad_strength_recommendation = 69
969        [(google.api.field_behavior) = OUTPUT_ONLY];
970  }
971}
972