--- v11/resources/recommendation.proto 2022-08-17 18:51:23.000000000 +0000 +++ v12/resources/recommendation.proto 2022-10-07 15:06:00.000000000 +0000 @@ -1,434 +1,476 @@ // Copyright 2022 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; -package google.ads.googleads.v11.resources; +package google.ads.googleads.v12.resources; -import "google/ads/googleads/v11/common/criteria.proto"; -import "google/ads/googleads/v11/common/extensions.proto"; -import "google/ads/googleads/v11/enums/keyword_match_type.proto"; -import "google/ads/googleads/v11/enums/recommendation_type.proto"; -import "google/ads/googleads/v11/enums/target_cpa_opt_in_recommendation_goal.proto"; -import "google/ads/googleads/v11/resources/ad.proto"; +import "google/ads/googleads/v12/common/criteria.proto"; +import "google/ads/googleads/v12/common/extensions.proto"; +import "google/ads/googleads/v12/enums/keyword_match_type.proto"; +import "google/ads/googleads/v12/enums/recommendation_type.proto"; +import "google/ads/googleads/v12/enums/target_cpa_opt_in_recommendation_goal.proto"; +import "google/ads/googleads/v12/resources/ad.proto"; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; -option csharp_namespace = "Google.Ads.GoogleAds.V11.Resources"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/resources;resources"; +option csharp_namespace = "Google.Ads.GoogleAds.V12.Resources"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v12/resources;resources"; option java_multiple_files = true; option java_outer_classname = "RecommendationProto"; -option java_package = "com.google.ads.googleads.v11.resources"; +option java_package = "com.google.ads.googleads.v12.resources"; option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Resources"; -option ruby_package = "Google::Ads::GoogleAds::V11::Resources"; +option php_namespace = "Google\\Ads\\GoogleAds\\V12\\Resources"; +option ruby_package = "Google::Ads::GoogleAds::V12::Resources"; // Proto file describing the Recommendation resource. // A recommendation. message Recommendation { option (google.api.resource) = { type: "googleads.googleapis.com/Recommendation" pattern: "customers/{customer_id}/recommendations/{recommendation_id}" }; // The impact of making the change as described in the recommendation. // Some types of recommendations may not have impact information. message RecommendationImpact { // Output only. Base metrics at the time the recommendation was generated. RecommendationMetrics base_metrics = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Estimated metrics if the recommendation is applied. RecommendationMetrics potential_metrics = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Weekly account performance metrics. For some recommendation types, these // are averaged over the past 90-day period and hence can be fractional. message RecommendationMetrics { // Output only. Number of ad impressions. optional double impressions = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Number of ad clicks. optional double clicks = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Cost (in micros) for advertising, in the local currency for the account. optional int64 cost_micros = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Number of conversions. optional double conversions = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Number of video views for a video ad campaign. optional double video_views = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The budget recommendation for budget constrained campaigns. message CampaignBudgetRecommendation { // The impact estimates for a given budget amount. message CampaignBudgetRecommendationOption { // Output only. The budget amount for this option. optional int64 budget_amount_micros = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The impact estimate if budget is changed to amount specified in this // option. RecommendationImpact impact = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Output only. The current budget amount in micros. optional int64 current_budget_amount_micros = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The recommended budget amount in micros. optional int64 recommended_budget_amount_micros = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The budget amounts and associated impact estimates for some values of // possible budget amounts. repeated CampaignBudgetRecommendationOption budget_options = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The keyword recommendation. message KeywordRecommendation { // Output only. The recommended keyword. - google.ads.googleads.v11.common.KeywordInfo keyword = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.ads.googleads.v12.common.KeywordInfo keyword = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The recommended CPC (cost-per-click) bid. optional int64 recommended_cpc_bid_micros = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The text ad recommendation. message TextAdRecommendation { // Output only. Recommended ad. Ad ad = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Creation date of the recommended ad. // YYYY-MM-DD format, for example, 2018-04-17. optional string creation_date = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Date, if present, is the earliest when the recommendation will be auto // applied. // YYYY-MM-DD format, for example, 2018-04-17. optional string auto_apply_date = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The Target CPA opt-in recommendation. message TargetCpaOptInRecommendation { // The Target CPA opt-in option with impact estimate. message TargetCpaOptInRecommendationOption { // Output only. The goal achieved by this option. - google.ads.googleads.v11.enums.TargetCpaOptInRecommendationGoalEnum.TargetCpaOptInRecommendationGoal goal = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.ads.googleads.v12.enums.TargetCpaOptInRecommendationGoalEnum.TargetCpaOptInRecommendationGoal goal = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Average CPA target. optional int64 target_cpa_micros = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The minimum campaign budget, in local currency for the account, // required to achieve the target CPA. // Amount is specified in micros, where one million is equivalent to one // currency unit. optional int64 required_campaign_budget_amount_micros = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The impact estimate if this option is selected. RecommendationImpact impact = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Output only. The available goals and corresponding options for Target CPA strategy. repeated TargetCpaOptInRecommendationOption options = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The recommended average CPA target. See required budget amount and impact // of using this recommendation in options list. optional int64 recommended_target_cpa_micros = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The Maximize Conversions Opt-In recommendation. message MaximizeConversionsOptInRecommendation { // Output only. The recommended new budget amount. optional int64 recommended_budget_amount_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The Enhanced Cost-Per-Click Opt-In recommendation. message EnhancedCpcOptInRecommendation { } // The Search Partners Opt-In recommendation. message SearchPartnersOptInRecommendation { } // The Maximize Clicks opt-in recommendation. message MaximizeClicksOptInRecommendation { // Output only. The recommended new budget amount. // Only set if the current budget is too high. optional int64 recommended_budget_amount_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The Optimize Ad Rotation recommendation. message OptimizeAdRotationRecommendation { } // The Callout extension recommendation. message CalloutExtensionRecommendation { // Output only. Callout extensions recommended to be added. - repeated google.ads.googleads.v11.common.CalloutFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + repeated google.ads.googleads.v12.common.CalloutFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The Sitelink extension recommendation. message SitelinkExtensionRecommendation { // Output only. Sitelink extensions recommended to be added. - repeated google.ads.googleads.v11.common.SitelinkFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + repeated google.ads.googleads.v12.common.SitelinkFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The Call extension recommendation. message CallExtensionRecommendation { // Output only. Call extensions recommended to be added. - repeated google.ads.googleads.v11.common.CallFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + repeated google.ads.googleads.v12.common.CallFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The keyword match type recommendation. message KeywordMatchTypeRecommendation { // Output only. The existing keyword where the match type should be more broad. - google.ads.googleads.v11.common.KeywordInfo keyword = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.ads.googleads.v12.common.KeywordInfo keyword = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The recommended new match type. - google.ads.googleads.v11.enums.KeywordMatchTypeEnum.KeywordMatchType recommended_match_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.ads.googleads.v12.enums.KeywordMatchTypeEnum.KeywordMatchType recommended_match_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The move unused budget recommendation. message MoveUnusedBudgetRecommendation { // Output only. The excess budget's resource_name. optional string excess_campaign_budget = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The recommendation for the constrained budget to increase. CampaignBudgetRecommendation budget_recommendation = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The Target ROAS opt-in recommendation. message TargetRoasOptInRecommendation { // Output only. The recommended target ROAS (revenue per unit of spend). // The value is between 0.01 and 1000.0, inclusive. optional double recommended_target_roas = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The minimum campaign budget, in local currency for the account, // required to achieve the target ROAS. // Amount is specified in micros, where one million is equivalent to one // currency unit. optional int64 required_campaign_budget_amount_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The add responsive search ad asset recommendation. message ResponsiveSearchAdAssetRecommendation { // Output only. The current ad to be updated. Ad current_ad = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The recommended assets. This is populated only with the new headlines // and/or descriptions, and is otherwise empty. Ad recommended_assets = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The responsive search ad improve ad strength recommendation. message ResponsiveSearchAdImproveAdStrengthRecommendation { // Output only. The current ad to be updated. Ad current_ad = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The updated ad. Ad recommended_ad = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The add responsive search ad recommendation. message ResponsiveSearchAdRecommendation { // Output only. Recommended ad. Ad ad = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The use broad match keyword recommendation. message UseBroadMatchKeywordRecommendation { // Output only. Sample of keywords to be expanded to Broad Match. - repeated google.ads.googleads.v11.common.KeywordInfo keyword = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + repeated google.ads.googleads.v12.common.KeywordInfo keyword = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Total number of keywords to be expanded to Broad Match in the campaign. int64 suggested_keywords_count = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Total number of keywords in the campaign. int64 campaign_keywords_count = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Whether the associated campaign uses a shared budget. bool campaign_uses_shared_budget = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The budget recommended to avoid becoming budget constrained after // applying the recommendation. int64 required_campaign_budget_amount_micros = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The upgrade a Smart Shopping campaign to a Performance Max campaign // recommendation. message UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation { // Output only. ID of Merchant Center account. int64 merchant_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Country whose products from merchant's inventory should be included. string sales_country_code = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } + // The raise target CPA bid too low recommendation. + message RaiseTargetCpaBidTooLowRecommendation { + // Output only. A number greater than 1.0 indicating the factor by which we recommend the + // target CPA should be increased. + optional double recommended_target_multiplier = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The current average target CPA of the campaign, in micros of customer + // local currency. + optional int64 average_target_cpa_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + // The Display Expansion opt-in recommendation. message DisplayExpansionOptInRecommendation { } // The Upgrade Local campaign to Performance Max campaign recommendation. message UpgradeLocalCampaignToPerformanceMaxRecommendation { } + // The forecasting set target ROAS recommendation. + message ForecastingSetTargetRoasRecommendation { + // Output only. The recommended target ROAS (revenue per unit of spend). + // The value is between 0.01 and 1000.0, inclusive. + double recommended_target_roas = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The campaign budget. + CampaignBudget campaign_budget = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // A campaign budget shared amongst various budget recommendation types. + message CampaignBudget { + // Output only. Current budget amount. + int64 current_amount_micros = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Recommended budget amount. + int64 recommended_new_amount_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The date when the new budget would start being used. + // This field will be set for the following recommendation types: + // FORECASTING_SET_TARGET_ROAS. YYYY-MM-DD format, for example, 2018-04-17. + string new_start_date = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + // Immutable. The resource name of the recommendation. // // `customers/{customer_id}/recommendations/{recommendation_id}` string resource_name = 1 [ (google.api.field_behavior) = IMMUTABLE, (google.api.resource_reference) = { type: "googleads.googleapis.com/Recommendation" } ]; // Output only. The type of recommendation. - google.ads.googleads.v11.enums.RecommendationTypeEnum.RecommendationType type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.ads.googleads.v12.enums.RecommendationTypeEnum.RecommendationType type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The impact on account performance as a result of applying the // recommendation. RecommendationImpact impact = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The budget targeted by this recommendation. This will be set only when // the recommendation affects a single campaign budget. // // This field will be set for the following recommendation types: // CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET, MARGINAL_ROI_CAMPAIGN_BUDGET, // MOVE_UNUSED_BUDGET optional string campaign_budget = 24 [ (google.api.field_behavior) = OUTPUT_ONLY, (google.api.resource_reference) = { type: "googleads.googleapis.com/CampaignBudget" } ]; // Output only. The campaign targeted by this recommendation. This will be set only when // the recommendation affects a single campaign. // // This field will be set for the following recommendation types: // CALL_EXTENSION, CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN, // USE_BROAD_MATCH_KEYWORD, KEYWORD, KEYWORD_MATCH_TYPE, // UPGRADE_LOCAL_CAMPAIGN_TO_PERFORMANCE_MAX, MAXIMIZE_CLICKS_OPT_IN, // MAXIMIZE_CONVERSIONS_OPT_IN, OPTIMIZE_AD_ROTATION, // RESPONSIVE_SEARCH_AD, // RESPONSIVE_SEARCH_AD_ASSET, // SEARCH_PARTNERS_OPT_IN, // DISPLAY_EXPANSION_OPT_IN, SITELINK_EXTENSION, TARGET_CPA_OPT_IN, // TARGET_ROAS_OPT_IN, TEXT_AD, - // UPGRADE_SMART_SHOPPING_CAMPAIGN_TO_PERFORMANCE_MAX + // UPGRADE_SMART_SHOPPING_CAMPAIGN_TO_PERFORMANCE_MAX , + // RAISE_TARGET_CPA_BID_TOO_LOW, FORECASTING_SET_TARGET_ROAS optional string campaign = 25 [ (google.api.field_behavior) = OUTPUT_ONLY, (google.api.resource_reference) = { type: "googleads.googleapis.com/Campaign" } ]; // Output only. The ad group targeted by this recommendation. This will be set only when // the recommendation affects a single ad group. // // This field will be set for the following recommendation types: // KEYWORD, OPTIMIZE_AD_ROTATION, RESPONSIVE_SEARCH_AD, // RESPONSIVE_SEARCH_AD_ASSET, TEXT_AD optional string ad_group = 26 [ (google.api.field_behavior) = OUTPUT_ONLY, (google.api.resource_reference) = { type: "googleads.googleapis.com/AdGroup" } ]; // Output only. Whether the recommendation is dismissed or not. optional bool dismissed = 27 [(google.api.field_behavior) = OUTPUT_ONLY]; // The details of recommendation. oneof recommendation { // Output only. The campaign budget recommendation. CampaignBudgetRecommendation campaign_budget_recommendation = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The forecasting campaign budget recommendation. CampaignBudgetRecommendation forecasting_campaign_budget_recommendation = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The keyword recommendation. KeywordRecommendation keyword_recommendation = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Add expanded text ad recommendation. TextAdRecommendation text_ad_recommendation = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The TargetCPA opt-in recommendation. TargetCpaOptInRecommendation target_cpa_opt_in_recommendation = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The MaximizeConversions Opt-In recommendation. MaximizeConversionsOptInRecommendation maximize_conversions_opt_in_recommendation = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The Enhanced Cost-Per-Click Opt-In recommendation. EnhancedCpcOptInRecommendation enhanced_cpc_opt_in_recommendation = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The Search Partners Opt-In recommendation. SearchPartnersOptInRecommendation search_partners_opt_in_recommendation = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The MaximizeClicks Opt-In recommendation. MaximizeClicksOptInRecommendation maximize_clicks_opt_in_recommendation = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The Optimize Ad Rotation recommendation. OptimizeAdRotationRecommendation optimize_ad_rotation_recommendation = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The Callout extension recommendation. CalloutExtensionRecommendation callout_extension_recommendation = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The Sitelink extension recommendation. SitelinkExtensionRecommendation sitelink_extension_recommendation = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The Call extension recommendation. CallExtensionRecommendation call_extension_recommendation = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The keyword match type recommendation. KeywordMatchTypeRecommendation keyword_match_type_recommendation = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The move unused budget recommendation. MoveUnusedBudgetRecommendation move_unused_budget_recommendation = 21 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The Target ROAS opt-in recommendation. TargetRoasOptInRecommendation target_roas_opt_in_recommendation = 23 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The add responsive search ad recommendation. ResponsiveSearchAdRecommendation responsive_search_ad_recommendation = 28 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The marginal ROI campaign budget recommendation. CampaignBudgetRecommendation marginal_roi_campaign_budget_recommendation = 29 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The use broad match keyword recommendation. UseBroadMatchKeywordRecommendation use_broad_match_keyword_recommendation = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The responsive search ad asset recommendation. ResponsiveSearchAdAssetRecommendation responsive_search_ad_asset_recommendation = 31 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The upgrade a Smart Shopping campaign to a Performance Max campaign // recommendation. UpgradeSmartShoppingCampaignToPerformanceMaxRecommendation upgrade_smart_shopping_campaign_to_performance_max_recommendation = 32 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The responsive search ad improve ad strength recommendation. ResponsiveSearchAdImproveAdStrengthRecommendation responsive_search_ad_improve_ad_strength_recommendation = 33 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The Display Expansion opt-in recommendation. DisplayExpansionOptInRecommendation display_expansion_opt_in_recommendation = 34 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The upgrade a Local campaign to a Performance Max campaign // recommendation. UpgradeLocalCampaignToPerformanceMaxRecommendation upgrade_local_campaign_to_performance_max_recommendation = 35 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The raise target CPA bid too low recommendation. + RaiseTargetCpaBidTooLowRecommendation raise_target_cpa_bid_too_low_recommendation = 36 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The forecasting set target ROAS recommendation. + ForecastingSetTargetRoasRecommendation forecasting_set_target_roas_recommendation = 37 [(google.api.field_behavior) = OUTPUT_ONLY]; } }
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2022-10-26 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Missing the information I need"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Too complicated / too many steps"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Out of date"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Samples / code issue"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Other"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Easy to understand"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Solved my problem"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Other"
}]