You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kratos/third_party/google/ads/googleads/v1/resources/recommendation.proto

293 lines
11 KiB

// Copyright 2019 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.v1.resources;
import "google/ads/googleads/v1/common/criteria.proto";
import "google/ads/googleads/v1/common/extensions.proto";
import "google/ads/googleads/v1/enums/keyword_match_type.proto";
import "google/ads/googleads/v1/enums/recommendation_type.proto";
import "google/ads/googleads/v1/enums/target_cpa_opt_in_recommendation_goal.proto";
import "google/ads/googleads/v1/resources/ad.proto";
import "google/protobuf/wrappers.proto";
import "google/api/annotations.proto";
option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources";
option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources";
option java_multiple_files = true;
option java_outer_classname = "RecommendationProto";
option java_package = "com.google.ads.googleads.v1.resources";
option objc_class_prefix = "GAA";
option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources";
option ruby_package = "Google::Ads::GoogleAds::V1::Resources";
// Proto file describing the Recommendation resource.
// A recommendation.
message Recommendation {
// The impact of making the change as described in the recommendation.
// Some types of recommendations may not have impact information.
message RecommendationImpact {
// Base metrics at the time the recommendation was generated.
RecommendationMetrics base_metrics = 1;
// Estimated metrics if the recommendation is applied.
RecommendationMetrics potential_metrics = 2;
}
// Weekly account performance metrics. For some recommendation types, these
// are averaged over the past 90-day period and hence can be fractional.
message RecommendationMetrics {
// Number of ad impressions.
google.protobuf.DoubleValue impressions = 1;
// Number of ad clicks.
google.protobuf.DoubleValue clicks = 2;
// Cost (in micros) for advertising, in the local currency for the account.
google.protobuf.Int64Value cost_micros = 3;
// Number of conversions.
google.protobuf.DoubleValue conversions = 4;
// Number of video views for a video ad campaign.
google.protobuf.DoubleValue video_views = 5;
}
// The budget recommendation for budget constrained campaigns.
message CampaignBudgetRecommendation {
// The impact estimates for a given budget amount.
message CampaignBudgetRecommendationOption {
// The budget amount for this option.
google.protobuf.Int64Value budget_amount_micros = 1;
// The impact estimate if budget is changed to amount specified in this
// option.
RecommendationImpact impact = 2;
}
// The current budget amount in micros.
google.protobuf.Int64Value current_budget_amount_micros = 1;
// The recommended budget amount in micros.
google.protobuf.Int64Value recommended_budget_amount_micros = 2;
// The budget amounts and associated impact estimates for some values of
// possible budget amounts.
repeated CampaignBudgetRecommendationOption budget_options = 3;
}
// The keyword recommendation.
message KeywordRecommendation {
// The recommended keyword.
google.ads.googleads.v1.common.KeywordInfo keyword = 1;
// The recommended CPC (cost-per-click) bid.
google.protobuf.Int64Value recommended_cpc_bid_micros = 2;
}
// The text ad recommendation.
message TextAdRecommendation {
// Recommended ad.
Ad ad = 1;
// Creation date of the recommended ad.
// YYYY-MM-DD format, e.g., 2018-04-17.
google.protobuf.StringValue creation_date = 2;
// Date, if present, is the earliest when the recommendation will be auto
// applied.
// YYYY-MM-DD format, e.g., 2018-04-17.
google.protobuf.StringValue auto_apply_date = 3;
}
// The Target CPA opt-in recommendation.
message TargetCpaOptInRecommendation {
// The Target CPA opt-in option with impact estimate.
message TargetCpaOptInRecommendationOption {
// The goal achieved by this option.
google.ads.googleads.v1.enums.TargetCpaOptInRecommendationGoalEnum.TargetCpaOptInRecommendationGoal goal = 1;
// Average CPA target.
google.protobuf.Int64Value target_cpa_micros = 2;
// 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.
google.protobuf.Int64Value required_campaign_budget_amount_micros = 3;
// The impact estimate if this option is selected.
RecommendationImpact impact = 4;
}
// The available goals and corresponding options for Target CPA strategy.
repeated TargetCpaOptInRecommendationOption options = 1;
// The recommended average CPA target. See required budget amount and impact
// of using this recommendation in options list.
google.protobuf.Int64Value recommended_target_cpa_micros = 2;
}
// The keyword match type recommendation.
message KeywordMatchTypeRecommendation {
// The existing keyword where the match type should be more broad.
google.ads.googleads.v1.common.KeywordInfo keyword = 1;
// The recommended new match type.
google.ads.googleads.v1.enums.KeywordMatchTypeEnum.KeywordMatchType recommended_match_type = 2;
}
// The Maximize Conversions Opt-In recommendation.
message MaximizeConversionsOptInRecommendation {
// The recommended new budget amount.
google.protobuf.Int64Value recommended_budget_amount_micros = 1;
}
// The Enhanced Cost-Per-Click Opt-In recommendation.
message EnhancedCpcOptInRecommendation {
}
// The Call extension recommendation.
message CallExtensionRecommendation {
// Call extensions recommended to be added.
repeated google.ads.googleads.v1.common.CallFeedItem recommended_extensions = 1;
}
// The Search Partners Opt-In recommendation.
message SearchPartnersOptInRecommendation {
}
// The Maximize Clicks opt-in recommendation.
message MaximizeClicksOptInRecommendation {
// The recommended new budget amount.
// Only set if the current budget is too high.
google.protobuf.Int64Value recommended_budget_amount_micros = 1;
}
// The Optimize Ad Rotation recommendation.
message OptimizeAdRotationRecommendation {
}
// The move unused budget recommendation.
message MoveUnusedBudgetRecommendation {
// The excess budget's resource_name.
google.protobuf.StringValue excess_campaign_budget = 1;
// The recommendation for the constrained budget to increase.
CampaignBudgetRecommendation budget_recommendation = 2;
}
// The Callout extension recommendation.
message CalloutExtensionRecommendation {
// Callout extensions recommended to be added.
repeated google.ads.googleads.v1.common.CalloutFeedItem recommended_extensions = 1;
}
// The Sitelink extension recommendation.
message SitelinkExtensionRecommendation {
// Sitelink extensions recommended to be added.
repeated google.ads.googleads.v1.common.SitelinkFeedItem recommended_extensions = 1;
}
// The resource name of the recommendation.
//
// `customers/{customer_id}/recommendations/{recommendation_id}`
string resource_name = 1;
// The type of recommendation.
google.ads.googleads.v1.enums.RecommendationTypeEnum.RecommendationType type = 2;
// The impact on account performance as a result of applying the
// recommendation.
RecommendationImpact impact = 3;
// 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
google.protobuf.StringValue campaign_budget = 5;
// 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:
// ENHANCED_CPC_OPT_IN, KEYWORD, MAXIMIZE_CLICKS_OPT_IN,
// MAXIMIZE_CONVERSIONS_OPT_IN, OPTIMIZE_AD_ROTATION, SEARCH_PARTNERS_OPT_IN,
// TARGET_CPA_OPT_IN, TEXT_AD
google.protobuf.StringValue campaign = 6;
// 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, TEXT_AD
google.protobuf.StringValue ad_group = 7;
// Whether the recommendation is dismissed or not.
google.protobuf.BoolValue dismissed = 13;
// The details of recommendation.
oneof recommendation {
// The campaign budget recommendation.
CampaignBudgetRecommendation campaign_budget_recommendation = 4;
// The keyword recommendation.
KeywordRecommendation keyword_recommendation = 8;
// Add expanded text ad recommendation.
TextAdRecommendation text_ad_recommendation = 9;
// The TargetCPA opt-in recommendation.
TargetCpaOptInRecommendation target_cpa_opt_in_recommendation = 10;
// The MaximizeConversions Opt-In recommendation.
MaximizeConversionsOptInRecommendation maximize_conversions_opt_in_recommendation = 11;
// The Enhanced Cost-Per-Click Opt-In recommendation.
EnhancedCpcOptInRecommendation enhanced_cpc_opt_in_recommendation = 12;
// The Search Partners Opt-In recommendation.
SearchPartnersOptInRecommendation search_partners_opt_in_recommendation = 14;
// The MaximizeClicks Opt-In recommendation.
MaximizeClicksOptInRecommendation maximize_clicks_opt_in_recommendation = 15;
// The Optimize Ad Rotation recommendation.
OptimizeAdRotationRecommendation optimize_ad_rotation_recommendation = 16;
// The Callout extension recommendation.
CalloutExtensionRecommendation callout_extension_recommendation = 17;
// The Sitelink extension recommendation.
SitelinkExtensionRecommendation sitelink_extension_recommendation = 18;
// The Call extension recommendation.
CallExtensionRecommendation call_extension_recommendation = 19;
// The keyword match type recommendation.
KeywordMatchTypeRecommendation keyword_match_type_recommendation = 20;
// The move unused budget recommendation.
MoveUnusedBudgetRecommendation move_unused_budget_recommendation = 21;
}
}