123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421 |
- // 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.services;
- import "google/ads/googleads/v11/common/keyword_plan_common.proto";
- import "google/ads/googleads/v11/resources/keyword_plan.proto";
- import "google/api/annotations.proto";
- import "google/api/client.proto";
- import "google/api/field_behavior.proto";
- import "google/api/resource.proto";
- import "google/protobuf/field_mask.proto";
- import "google/rpc/status.proto";
- option csharp_namespace = "Google.Ads.GoogleAds.V11.Services";
- option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v11/services;services";
- option java_multiple_files = true;
- option java_outer_classname = "KeywordPlanServiceProto";
- option java_package = "com.google.ads.googleads.v11.services";
- option objc_class_prefix = "GAA";
- option php_namespace = "Google\\Ads\\GoogleAds\\V11\\Services";
- option ruby_package = "Google::Ads::GoogleAds::V11::Services";
- // Proto file describing the keyword plan service.
- // Service to manage keyword plans.
- service KeywordPlanService {
- option (google.api.default_host) = "googleads.googleapis.com";
- option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords";
- // Creates, updates, or removes keyword plans. Operation statuses are
- // returned.
- //
- // List of thrown errors:
- // [AuthenticationError]()
- // [AuthorizationError]()
- // [DatabaseError]()
- // [FieldError]()
- // [HeaderError]()
- // [InternalError]()
- // [KeywordPlanError]()
- // [MutateError]()
- // [NewResourceCreationError]()
- // [QuotaError]()
- // [RequestError]()
- // [ResourceCountLimitExceededError]()
- // [StringLengthError]()
- rpc MutateKeywordPlans(MutateKeywordPlansRequest) returns (MutateKeywordPlansResponse) {
- option (google.api.http) = {
- post: "/v11/customers/{customer_id=*}/keywordPlans:mutate"
- body: "*"
- };
- option (google.api.method_signature) = "customer_id,operations";
- }
- // Returns the requested Keyword Plan forecast curve.
- // Only the bidding strategy is considered for generating forecast curve.
- // The bidding strategy value specified in the plan is ignored.
- //
- // To generate a forecast at a value specified in the plan, use
- // KeywordPlanService.GenerateForecastMetrics.
- //
- // List of thrown errors:
- // [AuthenticationError]()
- // [AuthorizationError]()
- // [HeaderError]()
- // [InternalError]()
- // [KeywordPlanError]()
- // [QuotaError]()
- // [RequestError]()
- rpc GenerateForecastCurve(GenerateForecastCurveRequest) returns (GenerateForecastCurveResponse) {
- option (google.api.http) = {
- post: "/v11/{keyword_plan=customers/*/keywordPlans/*}:generateForecastCurve"
- body: "*"
- };
- option (google.api.method_signature) = "keyword_plan";
- }
- // Returns a forecast in the form of a time series for the Keyword Plan over
- // the next 52 weeks.
- // (1) Forecasts closer to the current date are generally more accurate than
- // further out.
- //
- // (2) The forecast reflects seasonal trends using current and
- // prior traffic patterns. The forecast period of the plan is ignored.
- //
- // List of thrown errors:
- // [AuthenticationError]()
- // [AuthorizationError]()
- // [HeaderError]()
- // [InternalError]()
- // [KeywordPlanError]()
- // [QuotaError]()
- // [RequestError]()
- rpc GenerateForecastTimeSeries(GenerateForecastTimeSeriesRequest) returns (GenerateForecastTimeSeriesResponse) {
- option (google.api.http) = {
- post: "/v11/{keyword_plan=customers/*/keywordPlans/*}:generateForecastTimeSeries"
- body: "*"
- };
- option (google.api.method_signature) = "keyword_plan";
- }
- // Returns the requested Keyword Plan forecasts.
- //
- // List of thrown errors:
- // [AuthenticationError]()
- // [AuthorizationError]()
- // [HeaderError]()
- // [InternalError]()
- // [KeywordPlanError]()
- // [QuotaError]()
- // [RequestError]()
- rpc GenerateForecastMetrics(GenerateForecastMetricsRequest) returns (GenerateForecastMetricsResponse) {
- option (google.api.http) = {
- post: "/v11/{keyword_plan=customers/*/keywordPlans/*}:generateForecastMetrics"
- body: "*"
- };
- option (google.api.method_signature) = "keyword_plan";
- }
- // Returns the requested Keyword Plan historical metrics.
- //
- // List of thrown errors:
- // [AuthenticationError]()
- // [AuthorizationError]()
- // [HeaderError]()
- // [InternalError]()
- // [KeywordPlanError]()
- // [QuotaError]()
- // [RequestError]()
- rpc GenerateHistoricalMetrics(GenerateHistoricalMetricsRequest) returns (GenerateHistoricalMetricsResponse) {
- option (google.api.http) = {
- post: "/v11/{keyword_plan=customers/*/keywordPlans/*}:generateHistoricalMetrics"
- body: "*"
- };
- option (google.api.method_signature) = "keyword_plan";
- }
- }
- // Request message for [KeywordPlanService.MutateKeywordPlans][google.ads.googleads.v11.services.KeywordPlanService.MutateKeywordPlans].
- message MutateKeywordPlansRequest {
- // Required. The ID of the customer whose keyword plans are being modified.
- string customer_id = 1 [(google.api.field_behavior) = REQUIRED];
- // Required. The list of operations to perform on individual keyword plans.
- repeated KeywordPlanOperation operations = 2 [(google.api.field_behavior) = REQUIRED];
- // If true, successful operations will be carried out and invalid
- // operations will return errors. If false, all operations will be carried
- // out in one transaction if and only if they are all valid.
- // Default is false.
- bool partial_failure = 3;
- // If true, the request is validated but not executed. Only errors are
- // returned, not results.
- bool validate_only = 4;
- }
- // A single operation (create, update, remove) on a keyword plan.
- message KeywordPlanOperation {
- // The FieldMask that determines which resource fields are modified in an
- // update.
- google.protobuf.FieldMask update_mask = 4;
- // The mutate operation.
- oneof operation {
- // Create operation: No resource name is expected for the new keyword plan.
- google.ads.googleads.v11.resources.KeywordPlan create = 1;
- // Update operation: The keyword plan is expected to have a valid resource
- // name.
- google.ads.googleads.v11.resources.KeywordPlan update = 2;
- // Remove operation: A resource name for the removed keyword plan is
- // expected in this format:
- //
- // `customers/{customer_id}/keywordPlans/{keyword_plan_id}`
- string remove = 3 [(google.api.resource_reference) = {
- type: "googleads.googleapis.com/KeywordPlan"
- }];
- }
- }
- // Response message for a keyword plan mutate.
- message MutateKeywordPlansResponse {
- // Errors that pertain to operation failures in the partial failure mode.
- // Returned only when partial_failure = true and all errors occur inside the
- // operations. If any errors occur outside the operations (for example, auth
- // errors), we return an RPC level error.
- google.rpc.Status partial_failure_error = 3;
- // All results for the mutate.
- repeated MutateKeywordPlansResult results = 2;
- }
- // The result for the keyword plan mutate.
- message MutateKeywordPlansResult {
- // Returned for successful operations.
- string resource_name = 1 [(google.api.resource_reference) = {
- type: "googleads.googleapis.com/KeywordPlan"
- }];
- }
- // Request message for [KeywordPlanService.GenerateForecastCurve][google.ads.googleads.v11.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,
- (google.api.resource_reference) = {
- type: "googleads.googleapis.com/KeywordPlan"
- }
- ];
- }
- // Response message for [KeywordPlanService.GenerateForecastCurve][google.ads.googleads.v11.services.KeywordPlanService.GenerateForecastCurve].
- message GenerateForecastCurveResponse {
- // List of forecast curves for the keyword plan campaign.
- // One maximum.
- repeated KeywordPlanCampaignForecastCurve campaign_forecast_curves = 1;
- }
- // Request message for [KeywordPlanService.GenerateForecastTimeSeries][google.ads.googleads.v11.services.KeywordPlanService.GenerateForecastTimeSeries].
- message GenerateForecastTimeSeriesRequest {
- // Required. The resource name of the keyword plan to be forecasted.
- string keyword_plan = 1 [
- (google.api.field_behavior) = REQUIRED,
- (google.api.resource_reference) = {
- type: "googleads.googleapis.com/KeywordPlan"
- }
- ];
- }
- // Response message for [KeywordPlanService.GenerateForecastTimeSeries][google.ads.googleads.v11.services.KeywordPlanService.GenerateForecastTimeSeries].
- message GenerateForecastTimeSeriesResponse {
- // List of weekly time series forecasts for the keyword plan campaign.
- // One maximum.
- repeated KeywordPlanWeeklyTimeSeriesForecast weekly_time_series_forecasts = 1;
- }
- // Request message for [KeywordPlanService.GenerateForecastMetrics][google.ads.googleads.v11.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,
- (google.api.resource_reference) = {
- type: "googleads.googleapis.com/KeywordPlan"
- }
- ];
- }
- // Response message for [KeywordPlanService.GenerateForecastMetrics][google.ads.googleads.v11.services.KeywordPlanService.GenerateForecastMetrics].
- message GenerateForecastMetricsResponse {
- // List of campaign forecasts.
- // One maximum.
- repeated KeywordPlanCampaignForecast campaign_forecasts = 1;
- // List of ad group forecasts.
- repeated KeywordPlanAdGroupForecast ad_group_forecasts = 2;
- // List of keyword forecasts.
- repeated KeywordPlanKeywordForecast keyword_forecasts = 3;
- }
- // A campaign forecast.
- message KeywordPlanCampaignForecast {
- // The resource name of the Keyword Plan campaign related to the forecast.
- //
- // `customers/{customer_id}/keywordPlanCampaigns/{keyword_plan_campaign_id}`
- optional string keyword_plan_campaign = 3;
- // The forecast for the Keyword Plan campaign.
- ForecastMetrics campaign_forecast = 2;
- }
- // An ad group forecast.
- message KeywordPlanAdGroupForecast {
- // The resource name of the Keyword Plan ad group related to the forecast.
- //
- // `customers/{customer_id}/keywordPlanAdGroups/{keyword_plan_ad_group_id}`
- optional string keyword_plan_ad_group = 3;
- // The forecast for the Keyword Plan ad group.
- ForecastMetrics ad_group_forecast = 2;
- }
- // A keyword forecast.
- message KeywordPlanKeywordForecast {
- // The resource name of the Keyword Plan keyword related to the forecast.
- //
- // `customers/{customer_id}/keywordPlanAdGroupKeywords/{keyword_plan_ad_group_keyword_id}`
- optional string keyword_plan_ad_group_keyword = 3;
- // The forecast for the Keyword Plan keyword.
- ForecastMetrics keyword_forecast = 2;
- }
- // The forecast curve for the campaign.
- message KeywordPlanCampaignForecastCurve {
- // The resource name of the Keyword Plan campaign related to the forecast.
- //
- // `customers/{customer_id}/keywordPlanCampaigns/{keyword_plan_campaign_id}`
- optional string keyword_plan_campaign = 3;
- // The max cpc bid forecast curve for the campaign.
- KeywordPlanMaxCpcBidForecastCurve max_cpc_bid_forecast_curve = 2;
- }
- // The max cpc bid forecast curve.
- message KeywordPlanMaxCpcBidForecastCurve {
- // The forecasts for the Keyword Plan campaign at different max CPC bids.
- repeated KeywordPlanMaxCpcBidForecast max_cpc_bid_forecasts = 1;
- }
- // The forecast of the campaign at a specific bid.
- message KeywordPlanMaxCpcBidForecast {
- // The max cpc bid in micros.
- optional int64 max_cpc_bid_micros = 3;
- // The forecast for the Keyword Plan campaign at the specific bid.
- ForecastMetrics max_cpc_bid_forecast = 2;
- }
- // The weekly time series forecast for the keyword plan campaign.
- message KeywordPlanWeeklyTimeSeriesForecast {
- // The resource name of the Keyword Plan campaign related to the forecast.
- //
- // `customers/{customer_id}/keywordPlanCampaigns/{keyword_plan_campaign_id}`
- optional string keyword_plan_campaign = 1;
- // The forecasts for the Keyword Plan campaign at different max CPC bids.
- repeated KeywordPlanWeeklyForecast weekly_forecasts = 2;
- }
- // The forecast of the campaign for the week starting start_date.
- message KeywordPlanWeeklyForecast {
- // The start date, in yyyy-mm-dd format. This date is inclusive.
- optional string start_date = 1;
- // The forecast for the Keyword Plan campaign for the week.
- ForecastMetrics forecast = 2;
- }
- // Forecast metrics.
- message ForecastMetrics {
- // Impressions
- optional double impressions = 7;
- // Ctr
- optional double ctr = 8;
- // AVG cpc
- optional int64 average_cpc = 9;
- // Clicks
- optional double clicks = 10;
- // Cost
- optional int64 cost_micros = 11;
- }
- // Request message for [KeywordPlanService.GenerateHistoricalMetrics][google.ads.googleads.v11.services.KeywordPlanService.GenerateHistoricalMetrics].
- 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,
- (google.api.resource_reference) = {
- type: "googleads.googleapis.com/KeywordPlan"
- }
- ];
- // The aggregate fields to include in response.
- google.ads.googleads.v11.common.KeywordPlanAggregateMetrics aggregate_metrics = 2;
- // The options for historical metrics data.
- google.ads.googleads.v11.common.HistoricalMetricsOptions historical_metrics_options = 3;
- }
- // Response message for [KeywordPlanService.GenerateHistoricalMetrics][google.ads.googleads.v11.services.KeywordPlanService.GenerateHistoricalMetrics].
- message GenerateHistoricalMetricsResponse {
- // List of keyword historical metrics.
- repeated KeywordPlanKeywordHistoricalMetrics metrics = 1;
- // The aggregate metrics for all the keywords in the keyword planner plan.
- google.ads.googleads.v11.common.KeywordPlanAggregateMetricResults aggregate_metric_results = 2;
- }
- // A keyword historical metrics.
- message KeywordPlanKeywordHistoricalMetrics {
- // The text of the query associated with one or more ad_group_keywords in the
- // plan.
- //
- // Note that we de-dupe your keywords list, eliminating close variants before
- // returning the plan's keywords as text. For example, if your plan originally
- // contained the keywords 'car' and 'cars', the returned search query will
- // only contain 'cars'.
- // Starting V5, the list of de-duped queries will be included in
- // close_variants field.
- optional string search_query = 4;
- // The list of close variant queries for search_query whose search results
- // are combined into the search_query.
- repeated string close_variants = 3;
- // The historical metrics for the query associated with one or more
- // ad_group_keywords in the plan.
- google.ads.googleads.v11.common.KeywordPlanHistoricalMetrics keyword_metrics = 2;
- }
|