1 // Copyright 2019 Google LLC.
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
7 // http://www.apache.org/licenses/LICENSE-2.0
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.
18 package google.ads.googleads.v1.resources;
20 import "google/ads/googleads/v1/common/criteria.proto";
21 import "google/ads/googleads/v1/enums/recommendation_type.proto";
22 import "google/ads/googleads/v1/enums/target_cpa_opt_in_recommendation_goal.proto";
23 import "google/ads/googleads/v1/resources/ad.proto";
24 import "google/protobuf/wrappers.proto";
25 import "google/api/annotations.proto";
27 option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources";
28 option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources";
29 option java_multiple_files = true;
30 option java_outer_classname = "RecommendationProto";
31 option java_package = "com.google.ads.googleads.v1.resources";
32 option objc_class_prefix = "GAA";
33 option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources";
34 option ruby_package = "Google::Ads::GoogleAds::V1::Resources";
35 // Proto file describing the Recommendation resource.
38 message Recommendation {
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 // Base metrics at the time the recommendation was generated.
43 RecommendationMetrics base_metrics = 1;
45 // Estimated metrics if the recommendation is applied.
46 RecommendationMetrics potential_metrics = 2;
49 // Weekly account performance metrics. For some recommendation types, these
50 // are averaged over the past 90-day period and hence can be fractional.
51 message RecommendationMetrics {
52 // Number of ad impressions.
53 google.protobuf.DoubleValue impressions = 1;
55 // Number of ad clicks.
56 google.protobuf.DoubleValue clicks = 2;
58 // Cost (in micros) for advertising, in the local currency for the account.
59 google.protobuf.Int64Value cost_micros = 3;
61 // Number of conversions.
62 google.protobuf.DoubleValue conversions = 4;
64 // Number of video views for a video ad campaign.
65 google.protobuf.DoubleValue video_views = 5;
68 // The budget recommendation for budget constrained campaigns.
69 message CampaignBudgetRecommendation {
70 // The impact estimates for a given budget amount.
71 message CampaignBudgetRecommendationOption {
72 // The budget amount for this option.
73 google.protobuf.Int64Value budget_amount_micros = 1;
75 // The impact estimate if budget is changed to amount specified in this
77 RecommendationImpact impact = 2;
80 // The current budget amount in micros.
81 google.protobuf.Int64Value current_budget_amount_micros = 1;
83 // The recommended budget amount in micros.
84 google.protobuf.Int64Value recommended_budget_amount_micros = 2;
86 // The budget amounts and associated impact estimates for some values of
87 // possible budget amounts.
88 repeated CampaignBudgetRecommendationOption budget_options = 3;
91 // The keyword recommendation.
92 message KeywordRecommendation {
93 // The recommended keyword.
94 google.ads.googleads.v1.common.KeywordInfo keyword = 1;
96 // The recommended CPC (cost-per-click) bid.
97 google.protobuf.Int64Value recommended_cpc_bid_micros = 2;
100 // The Maximize Conversions Opt-In recommendation.
101 message MaximizeConversionsOptInRecommendation {
102 // The recommended new budget amount.
103 google.protobuf.Int64Value recommended_budget_amount_micros = 1;
106 // The Maximize Clicks opt-in recommendation.
107 message MaximizeClicksOptInRecommendation {
108 // The recommended new budget amount.
109 // Only set if the current budget is too high.
110 google.protobuf.Int64Value recommended_budget_amount_micros = 1;
113 // The text ad recommendation.
114 message TextAdRecommendation {
118 // Creation date of the recommended ad.
119 // YYYY-MM-DD format, e.g., 2018-04-17.
120 google.protobuf.StringValue creation_date = 2;
122 // Date, if present, is the earliest when the recommendation will be auto
124 // YYYY-MM-DD format, e.g., 2018-04-17.
125 google.protobuf.StringValue auto_apply_date = 3;
128 // The Target CPA opt-in recommendation.
129 message TargetCpaOptInRecommendation {
130 // The Target CPA opt-in option with impact estimate.
131 message TargetCpaOptInRecommendationOption {
132 // The goal achieved by this option.
133 google.ads.googleads.v1.enums.TargetCpaOptInRecommendationGoalEnum.TargetCpaOptInRecommendationGoal goal = 1;
135 // Average CPA target.
136 google.protobuf.Int64Value target_cpa_micros = 2;
138 // The minimum campaign budget, in local currency for the account,
139 // required to achieve the target CPA.
140 // Amount is specified in micros, where one million is equivalent to one
142 google.protobuf.Int64Value required_campaign_budget_amount_micros = 3;
144 // The impact estimate if this option is selected.
145 RecommendationImpact impact = 4;
148 // The available goals and corresponding options for Target CPA strategy.
149 repeated TargetCpaOptInRecommendationOption options = 1;
151 // The recommended average CPA target. See required budget amount and impact
152 // of using this recommendation in options list.
153 google.protobuf.Int64Value recommended_target_cpa_micros = 2;
156 // The Search Partners Opt-In recommendation.
157 message SearchPartnersOptInRecommendation {
161 // The Optimize Ad Rotation recommendation.
162 message OptimizeAdRotationRecommendation {
166 // The Enhanced Cost-Per-Click Opt-In recommendation.
167 message EnhancedCpcOptInRecommendation {
171 // The resource name of the recommendation.
173 // `customers/{customer_id}/recommendations/{recommendation_id}`
174 string resource_name = 1;
176 // The type of recommendation.
177 google.ads.googleads.v1.enums.RecommendationTypeEnum.RecommendationType type = 2;
179 // The impact on account performance as a result of applying the
181 RecommendationImpact impact = 3;
183 // The budget targeted by this recommendation. This will be set only when
184 // the recommendation affects a single campaign budget.
186 // This field will be set for the following recommendation types:
188 google.protobuf.StringValue campaign_budget = 5;
190 // The campaign targeted by this recommendation. This will be set only when
191 // the recommendation affects a single campaign.
193 // This field will be set for the following recommendation types:
194 // ENHANCED_CPC_OPT_IN, KEYWORD, MAXIMIZE_CLICKS_OPT_IN,
195 // MAXIMIZE_CONVERSIONS_OPT_IN, OPTIMIZE_AD_ROTATION, SEARCH_PARTNERS_OPT_IN,
196 // TARGET_CPA_OPT_IN, TEXT_AD
197 google.protobuf.StringValue campaign = 6;
199 // The ad group targeted by this recommendation. This will be set only when
200 // the recommendation affects a single ad group.
202 // This field will be set for the following recommendation types:
203 // KEYWORD, OPTIMIZE_AD_ROTATION, TEXT_AD
204 google.protobuf.StringValue ad_group = 7;
206 // Whether the recommendation is dismissed or not.
207 google.protobuf.BoolValue dismissed = 13;
209 // The details of recommendation.
210 oneof recommendation {
211 // The campaign budget recommendation.
212 CampaignBudgetRecommendation campaign_budget_recommendation = 4;
214 // The keyword recommendation.
215 KeywordRecommendation keyword_recommendation = 8;
217 // Add expanded text ad recommendation.
218 TextAdRecommendation text_ad_recommendation = 9;
220 // The TargetCPA opt-in recommendation.
221 TargetCpaOptInRecommendation target_cpa_opt_in_recommendation = 10;
223 // The MaximizeConversions Opt-In recommendation.
224 MaximizeConversionsOptInRecommendation maximize_conversions_opt_in_recommendation = 11;
226 // The Enhanced Cost-Per-Click Opt-In recommendation.
227 EnhancedCpcOptInRecommendation enhanced_cpc_opt_in_recommendation = 12;
229 // The Search Partners Opt-In recommendation.
230 SearchPartnersOptInRecommendation search_partners_opt_in_recommendation = 14;
232 // The MaximizeClicks Opt-In recommendation.
233 MaximizeClicksOptInRecommendation maximize_clicks_opt_in_recommendation = 15;
235 // The Optimize Ad Rotation recommendation.
236 OptimizeAdRotationRecommendation optimize_ad_rotation_recommendation = 16;