recommendation.proto 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476
  1. // Copyright 2022 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. syntax = "proto3";
  15. package google.ads.googleads.v12.resources;
  16. import "google/ads/googleads/v12/common/criteria.proto";
  17. import "google/ads/googleads/v12/common/extensions.proto";
  18. import "google/ads/googleads/v12/enums/keyword_match_type.proto";
  19. import "google/ads/googleads/v12/enums/recommendation_type.proto";
  20. import "google/ads/googleads/v12/enums/target_cpa_opt_in_recommendation_goal.proto";
  21. import "google/ads/googleads/v12/resources/ad.proto";
  22. import "google/api/field_behavior.proto";
  23. import "google/api/resource.proto";
  24. option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources";
  25. option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources";
  26. option java_multiple_files = true;
  27. option java_outer_classname = "RecommendationProto";
  28. option java_package = "com.google.ads.googleads.v12.resources";
  29. option objc_class_prefix = "GAA";
  30. option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources";
  31. option ruby_package = "Google::Ads::GoogleAds::V12::Resources";
  32. // Proto file describing the Recommendation resource.
  33. // A recommendation.
  34. message Recommendation {
  35. option (google.api.resource) = {
  36. type: "googleads.googleapis.com/Recommendation"
  37. pattern: "customers/{customer_id}/recommendations/{recommendation_id}"
  38. };
  39. // The impact of making the change as described in the recommendation.
  40. // Some types of recommendations may not have impact information.
  41. message RecommendationImpact {
  42. // Output only. Base metrics at the time the recommendation was generated.
  43. RecommendationMetrics base_metrics = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  44. // Output only. Estimated metrics if the recommendation is applied.
  45. RecommendationMetrics potential_metrics = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  46. }
  47. // Weekly account performance metrics. For some recommendation types, these
  48. // are averaged over the past 90-day period and hence can be fractional.
  49. message RecommendationMetrics {
  50. // Output only. Number of ad impressions.
  51. optional double impressions = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
  52. // Output only. Number of ad clicks.
  53. optional double clicks = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
  54. // Output only. Cost (in micros) for advertising, in the local currency for the account.
  55. optional int64 cost_micros = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
  56. // Output only. Number of conversions.
  57. optional double conversions = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
  58. // Output only. Number of video views for a video ad campaign.
  59. optional double video_views = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
  60. }
  61. // The budget recommendation for budget constrained campaigns.
  62. message CampaignBudgetRecommendation {
  63. // The impact estimates for a given budget amount.
  64. message CampaignBudgetRecommendationOption {
  65. // Output only. The budget amount for this option.
  66. optional int64 budget_amount_micros = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  67. // Output only. The impact estimate if budget is changed to amount specified in this
  68. // option.
  69. RecommendationImpact impact = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  70. }
  71. // Output only. The current budget amount in micros.
  72. optional int64 current_budget_amount_micros = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
  73. // Output only. The recommended budget amount in micros.
  74. optional int64 recommended_budget_amount_micros = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
  75. // Output only. The budget amounts and associated impact estimates for some values of
  76. // possible budget amounts.
  77. repeated CampaignBudgetRecommendationOption budget_options = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  78. }
  79. // The keyword recommendation.
  80. message KeywordRecommendation {
  81. // Output only. The recommended keyword.
  82. google.ads.googleads.v12.common.KeywordInfo keyword = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  83. // Output only. The recommended CPC (cost-per-click) bid.
  84. optional int64 recommended_cpc_bid_micros = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  85. }
  86. // The text ad recommendation.
  87. message TextAdRecommendation {
  88. // Output only. Recommended ad.
  89. Ad ad = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  90. // Output only. Creation date of the recommended ad.
  91. // YYYY-MM-DD format, for example, 2018-04-17.
  92. optional string creation_date = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
  93. // Output only. Date, if present, is the earliest when the recommendation will be auto
  94. // applied.
  95. // YYYY-MM-DD format, for example, 2018-04-17.
  96. optional string auto_apply_date = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
  97. }
  98. // The Target CPA opt-in recommendation.
  99. message TargetCpaOptInRecommendation {
  100. // The Target CPA opt-in option with impact estimate.
  101. message TargetCpaOptInRecommendationOption {
  102. // Output only. The goal achieved by this option.
  103. google.ads.googleads.v12.enums.TargetCpaOptInRecommendationGoalEnum.TargetCpaOptInRecommendationGoal goal = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  104. // Output only. Average CPA target.
  105. optional int64 target_cpa_micros = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
  106. // Output only. The minimum campaign budget, in local currency for the account,
  107. // required to achieve the target CPA.
  108. // Amount is specified in micros, where one million is equivalent to one
  109. // currency unit.
  110. optional int64 required_campaign_budget_amount_micros = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
  111. // Output only. The impact estimate if this option is selected.
  112. RecommendationImpact impact = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
  113. }
  114. // Output only. The available goals and corresponding options for Target CPA strategy.
  115. repeated TargetCpaOptInRecommendationOption options = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  116. // Output only. The recommended average CPA target. See required budget amount and impact
  117. // of using this recommendation in options list.
  118. optional int64 recommended_target_cpa_micros = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  119. }
  120. // The Maximize Conversions Opt-In recommendation.
  121. message MaximizeConversionsOptInRecommendation {
  122. // Output only. The recommended new budget amount.
  123. optional int64 recommended_budget_amount_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  124. }
  125. // The Enhanced Cost-Per-Click Opt-In recommendation.
  126. message EnhancedCpcOptInRecommendation {
  127. }
  128. // The Search Partners Opt-In recommendation.
  129. message SearchPartnersOptInRecommendation {
  130. }
  131. // The Maximize Clicks opt-in recommendation.
  132. message MaximizeClicksOptInRecommendation {
  133. // Output only. The recommended new budget amount.
  134. // Only set if the current budget is too high.
  135. optional int64 recommended_budget_amount_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  136. }
  137. // The Optimize Ad Rotation recommendation.
  138. message OptimizeAdRotationRecommendation {
  139. }
  140. // The Callout extension recommendation.
  141. message CalloutExtensionRecommendation {
  142. // Output only. Callout extensions recommended to be added.
  143. repeated google.ads.googleads.v12.common.CalloutFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  144. }
  145. // The Sitelink extension recommendation.
  146. message SitelinkExtensionRecommendation {
  147. // Output only. Sitelink extensions recommended to be added.
  148. repeated google.ads.googleads.v12.common.SitelinkFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  149. }
  150. // The Call extension recommendation.
  151. message CallExtensionRecommendation {
  152. // Output only. Call extensions recommended to be added.
  153. repeated google.ads.googleads.v12.common.CallFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  154. }
  155. // The keyword match type recommendation.
  156. message KeywordMatchTypeRecommendation {
  157. // Output only. The existing keyword where the match type should be more broad.
  158. google.ads.googleads.v12.common.KeywordInfo keyword = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  159. // Output only. The recommended new match type.
  160. google.ads.googleads.v12.enums.KeywordMatchTypeEnum.KeywordMatchType recommended_match_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  161. }
  162. // The move unused budget recommendation.
  163. message MoveUnusedBudgetRecommendation {
  164. // Output only. The excess budget's resource_name.
  165. optional string excess_campaign_budget = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  166. // Output only. The recommendation for the constrained budget to increase.
  167. CampaignBudgetRecommendation budget_recommendation = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  168. }
  169. // The Target ROAS opt-in recommendation.
  170. message TargetRoasOptInRecommendation {
  171. // Output only. The recommended target ROAS (revenue per unit of spend).
  172. // The value is between 0.01 and 1000.0, inclusive.
  173. optional double recommended_target_roas = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  174. // Output only. The minimum campaign budget, in local currency for the account,
  175. // required to achieve the target ROAS.
  176. // Amount is specified in micros, where one million is equivalent to one
  177. // currency unit.
  178. optional int64 required_campaign_budget_amount_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  179. }
  180. // The add responsive search ad asset recommendation.
  181. message ResponsiveSearchAdAssetRecommendation {
  182. // Output only. The current ad to be updated.
  183. Ad current_ad = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  184. // Output only. The recommended assets. This is populated only with the new headlines
  185. // and/or descriptions, and is otherwise empty.
  186. Ad recommended_assets = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  187. }
  188. // The responsive search ad improve ad strength recommendation.
  189. message ResponsiveSearchAdImproveAdStrengthRecommendation {
  190. // Output only. The current ad to be updated.
  191. Ad current_ad = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  192. // Output only. The updated ad.
  193. Ad recommended_ad = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  194. }
  195. // The add responsive search ad recommendation.
  196. message ResponsiveSearchAdRecommendation {
  197. // Output only. Recommended ad.
  198. Ad ad = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  199. }
  200. // The use broad match keyword recommendation.
  201. message UseBroadMatchKeywordRecommendation {
  202. // Output only. Sample of keywords to be expanded to Broad Match.
  203. repeated google.ads.googleads.v12.common.KeywordInfo keyword = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  204. // Output only. Total number of keywords to be expanded to Broad Match in the campaign.
  205. int64 suggested_keywords_count = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  206. // Output only. Total number of keywords in the campaign.
  207. int64 campaign_keywords_count = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  208. // Output only. Whether the associated campaign uses a shared budget.
  209. bool campaign_uses_shared_budget = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
  210. // Output only. The budget recommended to avoid becoming budget constrained after
  211. // applying the recommendation.
  212. int64 required_campaign_budget_amount_micros = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
  213. }
  214. // The upgrade a Smart Shopping campaign to a Performance Max campaign
  215. // recommendation.
  216. message UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation {
  217. // Output only. ID of Merchant Center account.
  218. int64 merchant_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  219. // Output only. Country whose products from merchant's inventory should be included.
  220. string sales_country_code = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  221. }
  222. // The raise target CPA bid too low recommendation.
  223. message RaiseTargetCpaBidTooLowRecommendation {
  224. // Output only. A number greater than 1.0 indicating the factor by which we recommend the
  225. // target CPA should be increased.
  226. optional double recommended_target_multiplier = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  227. // Output only. The current average target CPA of the campaign, in micros of customer
  228. // local currency.
  229. optional int64 average_target_cpa_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  230. }
  231. // The Display Expansion opt-in recommendation.
  232. message DisplayExpansionOptInRecommendation {
  233. }
  234. // The Upgrade Local campaign to Performance Max campaign recommendation.
  235. message UpgradeLocalCampaignToPerformanceMaxRecommendation {
  236. }
  237. // The forecasting set target ROAS recommendation.
  238. message ForecastingSetTargetRoasRecommendation {
  239. // Output only. The recommended target ROAS (revenue per unit of spend).
  240. // The value is between 0.01 and 1000.0, inclusive.
  241. double recommended_target_roas = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  242. // Output only. The campaign budget.
  243. CampaignBudget campaign_budget = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  244. }
  245. // A campaign budget shared amongst various budget recommendation types.
  246. message CampaignBudget {
  247. // Output only. Current budget amount.
  248. int64 current_amount_micros = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  249. // Output only. Recommended budget amount.
  250. int64 recommended_new_amount_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  251. // Output only. The date when the new budget would start being used.
  252. // This field will be set for the following recommendation types:
  253. // FORECASTING_SET_TARGET_ROAS. YYYY-MM-DD format, for example, 2018-04-17.
  254. string new_start_date = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  255. }
  256. // Immutable. The resource name of the recommendation.
  257. //
  258. // `customers/{customer_id}/recommendations/{recommendation_id}`
  259. string resource_name = 1 [
  260. (google.api.field_behavior) = IMMUTABLE,
  261. (google.api.resource_reference) = {
  262. type: "googleads.googleapis.com/Recommendation"
  263. }
  264. ];
  265. // Output only. The type of recommendation.
  266. google.ads.googleads.v12.enums.RecommendationTypeEnum.RecommendationType type = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  267. // Output only. The impact on account performance as a result of applying the
  268. // recommendation.
  269. RecommendationImpact impact = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  270. // Output only. The budget targeted by this recommendation. This will be set only when
  271. // the recommendation affects a single campaign budget.
  272. //
  273. // This field will be set for the following recommendation types:
  274. // CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET, MARGINAL_ROI_CAMPAIGN_BUDGET,
  275. // MOVE_UNUSED_BUDGET
  276. optional string campaign_budget = 24 [
  277. (google.api.field_behavior) = OUTPUT_ONLY,
  278. (google.api.resource_reference) = {
  279. type: "googleads.googleapis.com/CampaignBudget"
  280. }
  281. ];
  282. // Output only. The campaign targeted by this recommendation. This will be set only when
  283. // the recommendation affects a single campaign.
  284. //
  285. // This field will be set for the following recommendation types:
  286. // CALL_EXTENSION, CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN,
  287. // USE_BROAD_MATCH_KEYWORD, KEYWORD, KEYWORD_MATCH_TYPE,
  288. // UPGRADE_LOCAL_CAMPAIGN_TO_PERFORMANCE_MAX, MAXIMIZE_CLICKS_OPT_IN,
  289. // MAXIMIZE_CONVERSIONS_OPT_IN, OPTIMIZE_AD_ROTATION,
  290. // RESPONSIVE_SEARCH_AD,
  291. // RESPONSIVE_SEARCH_AD_ASSET,
  292. // SEARCH_PARTNERS_OPT_IN,
  293. // DISPLAY_EXPANSION_OPT_IN, SITELINK_EXTENSION, TARGET_CPA_OPT_IN,
  294. // TARGET_ROAS_OPT_IN, TEXT_AD,
  295. // UPGRADE_SMART_SHOPPING_CAMPAIGN_TO_PERFORMANCE_MAX ,
  296. // RAISE_TARGET_CPA_BID_TOO_LOW, FORECASTING_SET_TARGET_ROAS
  297. optional string campaign = 25 [
  298. (google.api.field_behavior) = OUTPUT_ONLY,
  299. (google.api.resource_reference) = {
  300. type: "googleads.googleapis.com/Campaign"
  301. }
  302. ];
  303. // Output only. The ad group targeted by this recommendation. This will be set only when
  304. // the recommendation affects a single ad group.
  305. //
  306. // This field will be set for the following recommendation types:
  307. // KEYWORD, OPTIMIZE_AD_ROTATION, RESPONSIVE_SEARCH_AD,
  308. // RESPONSIVE_SEARCH_AD_ASSET, TEXT_AD
  309. optional string ad_group = 26 [
  310. (google.api.field_behavior) = OUTPUT_ONLY,
  311. (google.api.resource_reference) = {
  312. type: "googleads.googleapis.com/AdGroup"
  313. }
  314. ];
  315. // Output only. Whether the recommendation is dismissed or not.
  316. optional bool dismissed = 27 [(google.api.field_behavior) = OUTPUT_ONLY];
  317. // The details of recommendation.
  318. oneof recommendation {
  319. // Output only. The campaign budget recommendation.
  320. CampaignBudgetRecommendation campaign_budget_recommendation = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
  321. // Output only. The forecasting campaign budget recommendation.
  322. CampaignBudgetRecommendation forecasting_campaign_budget_recommendation = 22 [(google.api.field_behavior) = OUTPUT_ONLY];
  323. // Output only. The keyword recommendation.
  324. KeywordRecommendation keyword_recommendation = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
  325. // Output only. Add expanded text ad recommendation.
  326. TextAdRecommendation text_ad_recommendation = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
  327. // Output only. The TargetCPA opt-in recommendation.
  328. TargetCpaOptInRecommendation target_cpa_opt_in_recommendation = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
  329. // Output only. The MaximizeConversions Opt-In recommendation.
  330. MaximizeConversionsOptInRecommendation maximize_conversions_opt_in_recommendation = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
  331. // Output only. The Enhanced Cost-Per-Click Opt-In recommendation.
  332. EnhancedCpcOptInRecommendation enhanced_cpc_opt_in_recommendation = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
  333. // Output only. The Search Partners Opt-In recommendation.
  334. SearchPartnersOptInRecommendation search_partners_opt_in_recommendation = 14 [(google.api.field_behavior) = OUTPUT_ONLY];
  335. // Output only. The MaximizeClicks Opt-In recommendation.
  336. MaximizeClicksOptInRecommendation maximize_clicks_opt_in_recommendation = 15 [(google.api.field_behavior) = OUTPUT_ONLY];
  337. // Output only. The Optimize Ad Rotation recommendation.
  338. OptimizeAdRotationRecommendation optimize_ad_rotation_recommendation = 16 [(google.api.field_behavior) = OUTPUT_ONLY];
  339. // Output only. The Callout extension recommendation.
  340. CalloutExtensionRecommendation callout_extension_recommendation = 17 [(google.api.field_behavior) = OUTPUT_ONLY];
  341. // Output only. The Sitelink extension recommendation.
  342. SitelinkExtensionRecommendation sitelink_extension_recommendation = 18 [(google.api.field_behavior) = OUTPUT_ONLY];
  343. // Output only. The Call extension recommendation.
  344. CallExtensionRecommendation call_extension_recommendation = 19 [(google.api.field_behavior) = OUTPUT_ONLY];
  345. // Output only. The keyword match type recommendation.
  346. KeywordMatchTypeRecommendation keyword_match_type_recommendation = 20 [(google.api.field_behavior) = OUTPUT_ONLY];
  347. // Output only. The move unused budget recommendation.
  348. MoveUnusedBudgetRecommendation move_unused_budget_recommendation = 21 [(google.api.field_behavior) = OUTPUT_ONLY];
  349. // Output only. The Target ROAS opt-in recommendation.
  350. TargetRoasOptInRecommendation target_roas_opt_in_recommendation = 23 [(google.api.field_behavior) = OUTPUT_ONLY];
  351. // Output only. The add responsive search ad recommendation.
  352. ResponsiveSearchAdRecommendation responsive_search_ad_recommendation = 28 [(google.api.field_behavior) = OUTPUT_ONLY];
  353. // Output only. The marginal ROI campaign budget recommendation.
  354. CampaignBudgetRecommendation marginal_roi_campaign_budget_recommendation = 29 [(google.api.field_behavior) = OUTPUT_ONLY];
  355. // Output only. The use broad match keyword recommendation.
  356. UseBroadMatchKeywordRecommendation use_broad_match_keyword_recommendation = 30 [(google.api.field_behavior) = OUTPUT_ONLY];
  357. // Output only. The responsive search ad asset recommendation.
  358. ResponsiveSearchAdAssetRecommendation responsive_search_ad_asset_recommendation = 31 [(google.api.field_behavior) = OUTPUT_ONLY];
  359. // Output only. The upgrade a Smart Shopping campaign to a Performance Max campaign
  360. // recommendation.
  361. UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation upgrade_smart_shopping_campaign_to_performance_max_recommendation = 32 [(google.api.field_behavior) = OUTPUT_ONLY];
  362. // Output only. The responsive search ad improve ad strength recommendation.
  363. ResponsiveSearchAdImproveAdStrengthRecommendation responsive_search_ad_improve_ad_strength_recommendation = 33 [(google.api.field_behavior) = OUTPUT_ONLY];
  364. // Output only. The Display Expansion opt-in recommendation.
  365. DisplayExpansionOptInRecommendation display_expansion_opt_in_recommendation = 34 [(google.api.field_behavior) = OUTPUT_ONLY];
  366. // Output only. The upgrade a Local campaign to a Performance Max campaign
  367. // recommendation.
  368. UpgradeLocalCampaignToPerformanceMaxRecommendation upgrade_local_campaign_to_performance_max_recommendation = 35 [(google.api.field_behavior) = OUTPUT_ONLY];
  369. // Output only. The raise target CPA bid too low recommendation.
  370. RaiseTargetCpaBidTooLowRecommendation raise_target_cpa_bid_too_low_recommendation = 36 [(google.api.field_behavior) = OUTPUT_ONLY];
  371. // Output only. The forecasting set target ROAS recommendation.
  372. ForecastingSetTargetRoasRecommendation forecasting_set_target_roas_recommendation = 37 [(google.api.field_behavior) = OUTPUT_ONLY];
  373. }
  374. }