chore: Update Google Ads API v4 protos and config files.

PiperOrigin-RevId: 341445073
pull/628/head
Google APIs 4 years ago committed by Copybara-Service
parent 3faad13e60
commit 30500d20b0
  1. 3
      google/ads/googleads/v4/common/ad_type_infos.proto
  2. 13
      google/ads/googleads/v4/common/bidding.proto
  3. 3
      google/ads/googleads/v4/common/criteria.proto
  4. 2
      google/ads/googleads/v4/enums/positive_geo_target_type.proto
  5. 6
      google/ads/googleads/v4/errors/bidding_error.proto
  6. 4
      google/ads/googleads/v4/errors/offline_user_data_job_error.proto
  7. 1
      google/ads/googleads/v4/resources/ad_group_ad_asset_view.proto
  8. 5
      google/ads/googleads/v4/resources/ad_group_criterion_simulation.proto
  9. 77
      google/ads/googleads/v4/resources/campaign.proto
  10. 2
      google/ads/googleads/v4/resources/campaign_budget.proto
  11. 2
      google/ads/googleads/v4/resources/currency_constant.proto
  12. 3
      google/ads/googleads/v4/resources/customer.proto
  13. 2
      google/ads/googleads/v4/resources/dynamic_search_ads_search_term_view.proto
  14. 15
      google/ads/googleads/v4/resources/invoice.proto
  15. 74
      google/ads/googleads/v4/resources/recommendation.proto
  16. 4
      google/ads/googleads/v4/services/keyword_plan_ad_group_keyword_service.proto
  17. 4
      google/ads/googleads/v4/services/keyword_plan_ad_group_service.proto
  18. 4
      google/ads/googleads/v4/services/keyword_plan_campaign_keyword_service.proto
  19. 4
      google/ads/googleads/v4/services/keyword_plan_campaign_service.proto
  20. 25
      google/ads/googleads/v4/services/keyword_plan_service.proto
  21. 5
      google/ads/googleads/v4/services/reach_plan_service.proto

@ -444,8 +444,7 @@ message LegacyResponsiveDisplayAdInfo {
// An app ad.
message AppAdInfo {
// An optional text asset that, if specified, must always be displayed when
// the ad is served.
// Mandatory ad text.
AdTextAsset mandatory_ad_text = 1;
// List of text assets for headlines. When the ad serves the headlines will

@ -64,14 +64,14 @@ message ManualCpv {
}
// An automated bidding strategy that sets bids to help get the most conversions
// for your campaign while spending your budget.
// An automated bidding strategy to help get the most conversions for your
// campaigns while spending your budget.
message MaximizeConversions {
}
// An automated bidding strategy which tries to maximize conversion value
// given a daily budget.
// An automated bidding strategy to help get the most conversion value for your
// campaigns while spending your budget.
message MaximizeConversionValue {
// The target return on ad spend (ROAS) option. If set, the bid strategy will
// maximize revenue while averaging the target return on ad spend. If the
@ -144,7 +144,10 @@ message TargetSpend {
// A TargetSpend bidder will attempt to spend the smaller of this value
// or the natural throttling spend amount.
// If not specified, the budget is used as the spend target.
google.protobuf.Int64Value target_spend_micros = 1;
// This field is deprecated and should no longer be used. See
// https://ads-developers.googleblog.com/2020/05/reminder-about-sunset-creation-of.html
// for details.
google.protobuf.Int64Value target_spend_micros = 1 [deprecated = true];
// Maximum bid limit that can be set by the bid strategy.
// The limit applies to all keywords managed by the strategy.

@ -587,7 +587,8 @@ message LocationGroupInfo {
// This is required and must be set in CREATE operations.
google.protobuf.Int64Value radius = 3;
// Unit of the radius, miles and meters supported currently.
// Unit of the radius. Miles and meters are supported for geo target
// constants. Milli miles and meters are supported for feed item sets.
// This is required and must be set in CREATE operations.
google.ads.googleads.v4.enums.LocationGroupRadiusUnitsEnum.LocationGroupRadiusUnits radius_units = 4;
}

@ -45,6 +45,8 @@ message PositiveGeoTargetTypeEnum {
// Specifies that an ad is triggered if the user
// searches for advertiser's targeted locations.
// This can only be used with Search and standard
// Shopping campaigns.
SEARCH_INTEREST = 6;
// Specifies that an ad is triggered if the user is in

@ -57,11 +57,11 @@ message BiddingErrorEnum {
// Bidding strategy is not available for the account type.
BIDDING_STRATEGY_NOT_AVAILABLE_FOR_ACCOUNT_TYPE = 18;
// Conversion tracking is not enabled in the campaign that has YouTube
// Video Builder transitions.
// Conversion tracking is not enabled in the campaign that has value-based
// bidding transitions.
CONVERSION_TRACKING_NOT_ENABLED = 19;
// Not enough conversions tracked for YouTube Video Builder transitions.
// Not enough conversions tracked for value-based bidding transitions.
NOT_ENOUGH_CONVERSIONS = 20;
// Campaign can not be created with given bidding strategy. It can be

@ -109,7 +109,7 @@ message OfflineUserDataJobErrorEnum {
// Remove operation is not allowed for store sales direct updates.
REMOVE_NOT_SUPPORTED = 23;
// Remove-all is not supported for store sales direct updates.
// Remove-all is not supported for certain offline user data job types.
REMOVE_ALL_NOT_SUPPORTED = 24;
// The SHA256 encoded value is malformed.
@ -125,7 +125,7 @@ message OfflineUserDataJobErrorEnum {
// The custom key specified is not set in the upload.
CUSTOM_KEY_NOT_SET = 29;
// The customer has not accpeted the customer data terms in the conversion
// The customer has not accepted the customer data terms in the conversion
// settings page.
CUSTOMER_NOT_ACCEPTED_CUSTOMER_DATA_TERMS = 30;
}

@ -38,6 +38,7 @@ option ruby_package = "Google::Ads::GoogleAds::V4::Resources";
// Proto file describing the ad group ad asset view resource.
// A link between an AdGroupAd and an Asset.
// Currently we only support AdGroupAdAssetView for AppAds.
message AdGroupAdAssetView {
option (google.api.resource) = {
type: "googleads.googleapis.com/AdGroupAdAssetView"

@ -37,11 +37,14 @@ option ruby_package = "Google::Ads::GoogleAds::V4::Resources";
// An ad group criterion simulation. Supported combinations of advertising
// channel type, criterion type, simulation type, and simulation modification
// method are detailed below respectively.
// method are detailed below respectively. Hotel AdGroupCriterion simulation
// operations starting in V5.
//
// 1. DISPLAY - KEYWORD - CPC_BID - UNIFORM
// 2. SEARCH - KEYWORD - CPC_BID - UNIFORM
// 3. SHOPPING - LISTING_GROUP - CPC_BID - UNIFORM
// 4. HOTEL - LISTING_GROUP - CPC_BID - UNIFORM
// 5. HOTEL - LISTING_GROUP - PERCENT_CPC_BID - UNIFORM
message AdGroupCriterionSimulation {
option (google.api.resource) = {
type: "googleads.googleapis.com/AdGroupCriterionSimulation"

@ -106,35 +106,6 @@ message Campaign {
];
}
// Represents a collection of settings related to ads geotargeting.
message GeoTargetTypeSetting {
// The setting used for positive geotargeting in this particular campaign.
google.ads.googleads.v4.enums.PositiveGeoTargetTypeEnum.PositiveGeoTargetType positive_geo_target_type = 1;
// The setting used for negative geotargeting in this particular campaign.
google.ads.googleads.v4.enums.NegativeGeoTargetTypeEnum.NegativeGeoTargetType negative_geo_target_type = 2;
}
// Campaign-level settings for App Campaigns.
message AppCampaignSetting {
// Represents the goal which the bidding strategy of this app campaign
// should optimize towards.
google.ads.googleads.v4.enums.AppCampaignBiddingStrategyGoalTypeEnum.AppCampaignBiddingStrategyGoalType bidding_strategy_goal_type = 1;
// Immutable. A string that uniquely identifies a mobile application.
google.protobuf.StringValue app_id = 2 [(google.api.field_behavior) = IMMUTABLE];
// Immutable. The application store that distributes this specific app.
google.ads.googleads.v4.enums.AppCampaignAppStoreEnum.AppCampaignAppStore app_store = 3 [(google.api.field_behavior) = IMMUTABLE];
}
// Optimization goal setting for this campaign, which includes a set of
// optimization goal types.
message OptimizationGoalSetting {
// The list of optimization goal types.
repeated google.ads.googleads.v4.enums.OptimizationGoalTypeEnum.OptimizationGoalType optimization_goal_types = 1;
}
// The setting for Shopping campaigns. Defines the universe of products that
// can be advertised by the campaign, and how this campaign interacts with
// other Shopping campaigns.
@ -162,18 +133,49 @@ message Campaign {
google.protobuf.BoolValue enable_local = 4;
}
// Selective optimization setting for this campaign, which includes a set of
// conversion actions to optimize this campaign towards.
message SelectiveOptimization {
// The selected set of conversion actions for optimizing this campaign.
repeated google.protobuf.StringValue conversion_actions = 1 [(google.api.resource_reference) = {
type: "googleads.googleapis.com/ConversionAction"
}];
}
// Campaign-level settings for tracking information.
message TrackingSetting {
// Output only. The url used for dynamic tracking.
google.protobuf.StringValue tracking_url = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// Represents a collection of settings related to ads geotargeting.
message GeoTargetTypeSetting {
// The setting used for positive geotargeting in this particular campaign.
google.ads.googleads.v4.enums.PositiveGeoTargetTypeEnum.PositiveGeoTargetType positive_geo_target_type = 1;
// The setting used for negative geotargeting in this particular campaign.
google.ads.googleads.v4.enums.NegativeGeoTargetTypeEnum.NegativeGeoTargetType negative_geo_target_type = 2;
}
// Campaign setting for local campaigns.
message LocalCampaignSetting {
// The location source type for this local campaign.
google.ads.googleads.v4.enums.LocationSourceTypeEnum.LocationSourceType location_source_type = 1;
}
// Campaign-level settings for App Campaigns.
message AppCampaignSetting {
// Represents the goal which the bidding strategy of this app campaign
// should optimize towards.
google.ads.googleads.v4.enums.AppCampaignBiddingStrategyGoalTypeEnum.AppCampaignBiddingStrategyGoalType bidding_strategy_goal_type = 1;
// Immutable. A string that uniquely identifies a mobile application.
google.protobuf.StringValue app_id = 2 [(google.api.field_behavior) = IMMUTABLE];
// Immutable. The application store that distributes this specific app.
google.ads.googleads.v4.enums.AppCampaignAppStoreEnum.AppCampaignAppStore app_store = 3 [(google.api.field_behavior) = IMMUTABLE];
}
// Describes how unbranded pharma ads will be displayed.
message VanityPharma {
// The display mode for vanity pharma URLs.
@ -184,13 +186,11 @@ message Campaign {
google.ads.googleads.v4.enums.VanityPharmaTextEnum.VanityPharmaText vanity_pharma_text = 2;
}
// Selective optimization setting for this campaign, which includes a set of
// conversion actions to optimize this campaign towards.
message SelectiveOptimization {
// The selected set of conversion actions for optimizing this campaign.
repeated google.protobuf.StringValue conversion_actions = 1 [(google.api.resource_reference) = {
type: "googleads.googleapis.com/ConversionAction"
}];
// Optimization goal setting for this campaign, which includes a set of
// optimization goal types.
message OptimizationGoalSetting {
// The list of optimization goal types.
repeated google.ads.googleads.v4.enums.OptimizationGoalTypeEnum.OptimizationGoalType optimization_goal_types = 1;
}
// Immutable. The resource name of the campaign.
@ -354,7 +354,8 @@ message Campaign {
//
// Optimization score is an estimate of how well a campaign is set to perform.
// It ranges from 0% (0.0) to 100% (1.0), with 100% indicating that the
// campaign is performing at full potential.
// campaign is performing at full potential. This field is null for unscored
// campaigns.
//
// See "About optimization score" at
// https://support.google.com/google-ads/answer/9061546.
@ -389,7 +390,7 @@ message Campaign {
google.ads.googleads.v4.common.ManualCpv manual_cpv = 37 [(google.api.field_behavior) = OUTPUT_ONLY];
// Standard Maximize Conversions bidding strategy that automatically
// maximizes number of conversions given a daily budget.
// maximizes number of conversions while spending your budget.
google.ads.googleads.v4.common.MaximizeConversions maximize_conversions = 30;
// Standard Maximize Conversion Value bidding strategy that automatically

@ -46,7 +46,7 @@ message CampaignBudget {
// Immutable. The resource name of the campaign budget.
// Campaign budget resource names have the form:
//
// `customers/{customer_id}/campaignBudgets/{budget_id}`
// `customers/{customer_id}/campaignBudgets/{campaign_budget_id}`
string resource_name = 1 [
(google.api.field_behavior) = IMMUTABLE,
(google.api.resource_reference) = {

@ -42,7 +42,7 @@ message CurrencyConstant {
// Output only. The resource name of the currency constant.
// Currency constant resource names have the form:
//
// `currencyConstants/{currency_code}`
// `currencyConstants/{code}`
string resource_name = 1 [
(google.api.field_behavior) = OUTPUT_ONLY,
(google.api.resource_reference) = {

@ -101,7 +101,8 @@ message Customer {
// Output only. Optimization score of the customer.
//
// Optimization score is an estimate of how well a customer's campaigns are
// set to perform. It ranges from 0% (0.0) to 100% (1.0).
// set to perform. It ranges from 0% (0.0) to 100% (1.0). This field is null
// for all manager customers, and for unscored non-manager customers.
//
// See "About optimization score" at
// https://support.google.com/google-ads/answer/9061546.

@ -42,7 +42,7 @@ message DynamicSearchAdsSearchTermView {
// Output only. The resource name of the dynamic search ads search term view.
// Dynamic search ads search term view resource names have the form:
//
// `customers/{customer_id}/dynamicSearchAdsSearchTermViews/{ad_group_id}~{search_term_fp}~{headline_fp}~{landing_page_fp}~{page_url_fp}`
// `customers/{customer_id}/dynamicSearchAdsSearchTermViews/{ad_group_id}~{search_term_fingerprint}~{headline_fingerprint}~{landing_page_fingerprint}~{page_url_fingerprint}`
string resource_name = 1 [
(google.api.field_behavior) = OUTPUT_ONLY,
(google.api.resource_reference) = {

@ -142,8 +142,12 @@ message Invoice {
// on the invoice, not on a specific account budget.
google.protobuf.Int64Value invoice_level_adjustments_micros = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The pretax subtotal amount, in micros. This equals the sum of the
// AccountBudgetSummary subtotal amounts, plus the invoice level adjustments.
// Output only. The pretax subtotal amount, in micros. This equals the
// sum of the AccountBudgetSummary subtotal amounts,
// Invoice.adjustments_subtotal_amount_micros, and
// Invoice.regulatory_costs_subtotal_amount_micros.
// Starting with v6, the Invoice.regulatory_costs_subtotal_amount_micros is no
// longer included.
google.protobuf.Int64Value subtotal_amount_micros = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The sum of all taxes on the invoice, in micros. This equals the sum of the
@ -151,8 +155,11 @@ message Invoice {
// account budget.
google.protobuf.Int64Value tax_amount_micros = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The total amount, in micros. This equals the sum of the invoice subtotal
// amount and the invoice tax amount.
// Output only. The total amount, in micros. This equals the sum of
// Invoice.subtotal_amount_micros and Invoice.tax_amount_micros.
// Starting with v6, Invoice.regulatory_costs_subtotal_amount_micros is
// also added as it is no longer already included in
// Invoice.tax_amount_micros.
google.protobuf.Int64Value total_amount_micros = 14 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The resource name of the original invoice corrected, wrote off, or canceled

@ -106,10 +106,10 @@ message Recommendation {
google.protobuf.Int64Value recommended_cpc_bid_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// The Call extension recommendation.
message CallExtensionRecommendation {
// Output only. Call extensions recommended to be added.
repeated google.ads.googleads.v4.common.CallFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
// The Callout extension recommendation.
message CalloutExtensionRecommendation {
// Output only. Callout extensions recommended to be added.
repeated google.ads.googleads.v4.common.CalloutFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// The text ad recommendation.
@ -127,15 +127,6 @@ message Recommendation {
google.protobuf.StringValue auto_apply_date = 3 [(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.v4.common.KeywordInfo keyword = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
// Output only. The recommended new match type.
google.ads.googleads.v4.enums.KeywordMatchTypeEnum.KeywordMatchType recommended_match_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// The Target CPA opt-in recommendation.
message TargetCpaOptInRecommendation {
// The Target CPA opt-in option with impact estimate.
@ -164,25 +155,39 @@ message Recommendation {
google.protobuf.Int64Value recommended_target_cpa_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// The Optimize Ad Rotation recommendation.
message OptimizeAdRotationRecommendation {
}
// The move unused budget recommendation.
message MoveUnusedBudgetRecommendation {
// Output only. The excess budget's resource_name.
google.protobuf.StringValue excess_campaign_budget = 1 [(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 Maximize Conversions Opt-In recommendation.
message MaximizeConversionsOptInRecommendation {
// Output only. The recommended new budget amount.
google.protobuf.Int64Value recommended_budget_amount_micros = 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.v4.common.SitelinkFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// The Search Partners Opt-In recommendation.
message SearchPartnersOptInRecommendation {
// The Enhanced Cost-Per-Click Opt-In recommendation.
message EnhancedCpcOptInRecommendation {
}
// The Call extension recommendation.
message CallExtensionRecommendation {
// Output only. Call extensions recommended to be added.
repeated google.ads.googleads.v4.common.CallFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// The Search Partners Opt-In recommendation.
message SearchPartnersOptInRecommendation {
// The Enhanced Cost-Per-Click Opt-In recommendation.
message EnhancedCpcOptInRecommendation {
}
@ -193,24 +198,19 @@ message Recommendation {
google.protobuf.Int64Value recommended_budget_amount_micros = 1 [(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.v4.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.v4.common.SitelinkFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// The move unused budget recommendation.
message MoveUnusedBudgetRecommendation {
// Output only. The excess budget's resource_name.
google.protobuf.StringValue excess_campaign_budget = 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.v4.common.KeywordInfo keyword = 1 [(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];
// Output only. The recommended new match type.
google.ads.googleads.v4.enums.KeywordMatchTypeEnum.KeywordMatchType recommended_match_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// Immutable. The resource name of the recommendation.

@ -117,7 +117,9 @@ message KeywordPlanAdGroupKeywordOperation {
// keyword is expected, in this format:
//
// `customers/{customer_id}/keywordPlanAdGroupKeywords/{kp_ad_group_keyword_id}`
string remove = 3;
string remove = 3 [(google.api.resource_reference) = {
type: "googleads.googleapis.com/KeywordPlanAdGroupKeyword"
}];
}
}

@ -108,7 +108,9 @@ message KeywordPlanAdGroupOperation {
// is expected, in this format:
//
// `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`
string remove = 3;
string remove = 3 [(google.api.resource_reference) = {
type: "googleads.googleapis.com/KeywordPlanAdGroup"
}];
}
}

@ -115,7 +115,9 @@ message KeywordPlanCampaignKeywordOperation {
// keywords expected in this format:
//
// `customers/{customer_id}/keywordPlanCampaignKeywords/{kp_campaign_keyword_id}`
string remove = 3;
string remove = 3 [(google.api.resource_reference) = {
type: "googleads.googleapis.com/KeywordPlanCampaignKeyword"
}];
}
}

@ -109,7 +109,9 @@ message KeywordPlanCampaignOperation {
// is expected, in this format:
//
// `customers/{customer_id}/keywordPlanCampaigns/{keywordPlan_campaign_id}`
string remove = 3;
string remove = 3 [(google.api.resource_reference) = {
type: "googleads.googleapis.com/KeywordPlanCampaign"
}];
}
}

@ -141,7 +141,9 @@ message KeywordPlanOperation {
// expected in this format:
//
// `customers/{customer_id}/keywordPlans/{keyword_plan_id}`
string remove = 3;
string remove = 3 [(google.api.resource_reference) = {
type: "googleads.googleapis.com/KeywordPlan"
}];
}
}
@ -166,7 +168,12 @@ message MutateKeywordPlansResult {
// Request message for [KeywordPlanService.GenerateForecastCurve][google.ads.googleads.v4.services.KeywordPlanService.GenerateForecastCurve].
message GenerateForecastCurveRequest {
// Required. The resource name of the keyword plan to be forecasted.
string keyword_plan = 1 [(google.api.field_behavior) = REQUIRED];
string keyword_plan = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "googleads.googleapis.com/KeywordPlan"
}
];
}
// Response message for [KeywordPlanService.GenerateForecastCurve][google.ads.googleads.v4.services.KeywordPlanService.GenerateForecastCurve].
@ -179,7 +186,12 @@ message GenerateForecastCurveResponse {
// Request message for [KeywordPlanService.GenerateForecastMetrics][google.ads.googleads.v4.services.KeywordPlanService.GenerateForecastMetrics].
message GenerateForecastMetricsRequest {
// Required. The resource name of the keyword plan to be forecasted.
string keyword_plan = 1 [(google.api.field_behavior) = REQUIRED];
string keyword_plan = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "googleads.googleapis.com/KeywordPlan"
}
];
}
// Response message for [KeywordPlanService.GenerateForecastMetrics][google.ads.googleads.v4.services.KeywordPlanService.GenerateForecastMetrics].
@ -276,7 +288,12 @@ message ForecastMetrics {
message GenerateHistoricalMetricsRequest {
// Required. The resource name of the keyword plan of which historical metrics are
// requested.
string keyword_plan = 1 [(google.api.field_behavior) = REQUIRED];
string keyword_plan = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = {
type: "googleads.googleapis.com/KeywordPlan"
}
];
}
// Response message for [KeywordPlanService.GenerateHistoricalMetrics][google.ads.googleads.v4.services.KeywordPlanService.GenerateHistoricalMetrics].

@ -130,7 +130,7 @@ message ListPlannableProductsResponse {
// The metadata associated with an available plannable product.
message ProductMetadata {
// The code associated with the ad product. E.g. Trueview, Bumper
// The code associated with the ad product. E.g. BUMPER, TRUEVIEW_IN_STREAM
// To list the available plannable product codes use ListPlannableProducts.
google.protobuf.StringValue plannable_product_code = 1;
@ -317,7 +317,8 @@ message CampaignDuration {
// A product being planned for reach.
message PlannedProduct {
// Required. Selected product for planning.
// Plannable products codes can be obtained from ListPlannableProducts.
// The code associated with the ad product. E.g. Trueview, Bumper
// To list the available plannable product codes use ListPlannableProducts.
google.protobuf.StringValue plannable_product_code = 1;
// Required. Maximum budget allocation in micros for the selected product.

Loading…
Cancel
Save