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