Skip to content

Commit

Permalink
feat: Updated protos and build files for Google Ads API v16
Browse files Browse the repository at this point in the history
Committer: @Raibaz
PiperOrigin-RevId: 627817854
  • Loading branch information
Google APIs authored and copybara-github committed Apr 24, 2024
1 parent 7415b23 commit eb1a043
Show file tree
Hide file tree
Showing 30 changed files with 343 additions and 31 deletions.
18 changes: 18 additions & 0 deletions google/ads/googleads/v16/common/criteria.proto
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ package google.ads.googleads.v16.common;

import "google/ads/googleads/v16/enums/age_range_type.proto";
import "google/ads/googleads/v16/enums/app_payment_model_type.proto";
import "google/ads/googleads/v16/enums/brand_request_rejection_reason.proto";
import "google/ads/googleads/v16/enums/brand_state.proto";
import "google/ads/googleads/v16/enums/content_label_type.proto";
import "google/ads/googleads/v16/enums/day_of_week.proto";
import "google/ads/googleads/v16/enums/device.proto";
Expand All @@ -39,6 +41,7 @@ import "google/ads/googleads/v16/enums/product_type_level.proto";
import "google/ads/googleads/v16/enums/proximity_radius_units.proto";
import "google/ads/googleads/v16/enums/webpage_condition_operand.proto";
import "google/ads/googleads/v16/enums/webpage_condition_operator.proto";
import "google/api/field_behavior.proto";
import "google/api/resource.proto";

option csharp_namespace = "Google.Ads.GoogleAds.V16.Common";
Expand Down Expand Up @@ -821,8 +824,23 @@ message SearchThemeInfo {
// Represents a Brand Criterion used for targeting based on commercial knowledge
// graph.
message BrandInfo {
// Output only. A text representation of a brand.
optional string display_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY];

// The Commercial KG MID for the brand.
optional string entity_id = 1;

// Output only. The primary url of a brand.
optional string primary_url = 3 [(google.api.field_behavior) = OUTPUT_ONLY];

// Output only. The rejection reason when a brand status is REJECTED.
optional google.ads.googleads.v16.enums.BrandRequestRejectionReasonEnum
.BrandRequestRejectionReason rejection_reason = 4
[(google.api.field_behavior) = OUTPUT_ONLY];

// Output only. The status of a brand.
optional google.ads.googleads.v16.enums.BrandStateEnum.BrandState status = 5
[(google.api.field_behavior) = OUTPUT_ONLY];
}

// A Brand List Criterion is used to specify a list of brands. The list is
Expand Down
36 changes: 19 additions & 17 deletions google/ads/googleads/v16/common/metrics.proto
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ option ruby_package = "Google::Ads::GoogleAds::V16::Common";

// Metrics data.
message Metrics {
// The percent of your ad impressions that are shown as the very first ad
// above the organic search results.
// Search absolute top impression share is the percentage of your Search ad
// impressions that are shown in the most prominent Search position.
optional double absolute_top_impression_percentage = 183;

// Average cost of viewable impressions (`active_view_impressions`).
Expand Down Expand Up @@ -147,8 +147,8 @@ message Metrics {
optional double all_conversions_from_store_website = 202;

// This metric is part of the Auction Insights report, and tells how often
// the ads of another participant showed as the very first ad above the
// organic search results.
// the ads of another participant showed in the most prominent position on the
// search results page.
// This percentage is computed only over the auctions that you appeared in
// the page.
//
Expand Down Expand Up @@ -188,9 +188,9 @@ message Metrics {
optional double auction_insight_search_position_above_rate = 262;

// This metric is part of the Auction Insights report, and tells how often
// the ads of another participant showed above the organic search results.
// This percentage is computed only over the auctions that you appeared in
// the page.
// the ads of another participant showed adjacent to the top organic search
// results. This percentage is computed only over the auctions that you
// appeared in the page.
//
// This metric is not publicly available.
optional double auction_insight_search_top_impression_percentage = 263;
Expand Down Expand Up @@ -581,8 +581,8 @@ message Metrics {
// for details. Any value below 0.1 is reported as 0.0999.
optional double search_absolute_top_impression_share = 136;

// The number estimating how often your ad wasn't the very first ad above the
// organic search results due to a low budget. Note: Search
// The number estimating how often your ad wasn't the very first ad among the
// top ads in the search results due to a low budget. Note: Search
// budget lost absolute top impression share is reported in the range of 0 to
// 0.9. Any value above 0.9 is reported as 0.9001.
optional double search_budget_lost_absolute_top_impression_share = 137;
Expand All @@ -593,7 +593,7 @@ message Metrics {
// value above 0.9 is reported as 0.9001.
optional double search_budget_lost_impression_share = 138;

// The number estimating how often your ad didn't show anywhere above the
// The number estimating how often your ad didn't show adjacent to the top
// organic search results due to a low budget. Note: Search
// budget lost top impression share is reported in the range of 0 to 0.9. Any
// value above 0.9 is reported as 0.9001.
Expand All @@ -619,8 +619,8 @@ message Metrics {
// value below 0.1 is reported as 0.0999.
optional double search_impression_share = 142;

// The number estimating how often your ad wasn't the very first ad above the
// organic search results due to poor Ad Rank.
// The number estimating how often your ad wasn't the very first ad among the
// top ads in the search results due to poor Ad Rank.
// Note: Search rank lost absolute top impression share is reported in the
// range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
optional double search_rank_lost_absolute_top_impression_share = 143;
Expand All @@ -631,17 +631,19 @@ message Metrics {
// 0.9. Any value above 0.9 is reported as 0.9001.
optional double search_rank_lost_impression_share = 144;

// The number estimating how often your ad didn't show anywhere above the
// The number estimating how often your ad didn't show adjacent to the top
// organic search results due to poor Ad Rank.
// Note: Search rank lost top impression share is reported in the range of 0
// to 0.9. Any value above 0.9 is reported as 0.9001.
optional double search_rank_lost_top_impression_share = 145;

// The impressions you've received in the top location (anywhere above the
// organic search results) compared to the estimated number of impressions you
// were eligible to receive in the top location.
// The impressions you've received among the top ads compared to the estimated
// number of impressions you were eligible to receive among the top ads.
// Note: Search top impression share is reported in the range of 0.1 to 1. Any
// value below 0.1 is reported as 0.0999.
//
// Top ads are generally above the top organic results, although they may show
// below the top organic results on certain queries.
optional double search_top_impression_share = 146;

// Search volume range for a search term insight category.
Expand All @@ -659,7 +661,7 @@ message Metrics {
// campaigns that had traffic from portfolio bidding strategies or non-tROAS).
optional double average_target_roas = 250;

// The percent of your ad impressions that are shown anywhere above the
// The percent of your ad impressions that are shown adjacent to the top
// organic search results.
optional double top_impression_percentage = 148;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,5 +98,9 @@ message AdGroupPrimaryStatusReasonEnum {
// The AdGroup belongs to a Draft campaign. Contributes to
// AdGroupPrimaryStatus.NOT_ELIGIBLE.
CAMPAIGN_DRAFT = 16;

// Ad group has been paused due to prolonged low activity in serving.
// Contributes to AdGroupPrimaryStatus.PAUSED.
AD_GROUP_PAUSED_DUE_TO_LOW_ACTIVITY = 19;
}
}
3 changes: 3 additions & 0 deletions google/ads/googleads/v16/enums/asset_field_type.proto
Original file line number Diff line number Diff line change
Expand Up @@ -119,5 +119,8 @@ message AssetFieldTypeEnum {
// The asset is linked for use as a hotel property in a Performance Max for
// travel goals campaign.
HOTEL_PROPERTY = 28;

// The asset is linked for use as a discovery carousel card.
DISCOVERY_CAROUSEL_CARD = 29;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
// Copyright 2023 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.v16.enums;

option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums";
option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums";
option java_multiple_files = true;
option java_outer_classname = "BrandRequestRejectionReasonProto";
option java_package = "com.google.ads.googleads.v16.enums";
option objc_class_prefix = "GAA";
option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums";
option ruby_package = "Google::Ads::GoogleAds::V16::Enums";

// Proto file describing the brand request rejection reason for the criterion.

// Container for enum describing rejection reasons for the customer brand
// requests.
message BrandRequestRejectionReasonEnum {
// Enumeration of different brand request rejection reasons.
enum BrandRequestRejectionReason {
// No value has been specified.
UNSPECIFIED = 0;

// Used for return value only. Represents value unknown in this version.
UNKNOWN = 1;

// Brand is already present in the commercial brand set.
EXISTING_BRAND = 2;

// Brand is already present in the commercial brand set, but is a variant.
EXISTING_BRAND_VARIANT = 3;

// Brand information is not correct (eg: URL and name don't match).
INCORRECT_INFORMATION = 4;

// Not a valid brand as per Google policy.
NOT_A_BRAND = 5;
}
}
3 changes: 3 additions & 0 deletions google/ads/googleads/v16/enums/criterion_type.proto
Original file line number Diff line number Diff line change
Expand Up @@ -153,5 +153,8 @@ message CriterionTypeEnum {

// Brand List
BRAND_LIST = 40;

// Life Event
LIFE_EVENT = 41;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
// Copyright 2023 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.v16.enums;

option csharp_namespace = "Google.Ads.GoogleAds.V16.Enums";
option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/enums;enums";
option java_multiple_files = true;
option java_outer_classname = "LocalServicesLeadCreditStateProto";
option java_package = "com.google.ads.googleads.v16.enums";
option objc_class_prefix = "GAA";
option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Enums";
option ruby_package = "Google::Ads::GoogleAds::V16::Enums";

// Container for enum describing possible credit states of a lead.
message LocalServicesCreditStateEnum {
// Possible credit states of a lead.
enum CreditState {
// Not specified.
UNSPECIFIED = 0;

// Used for return value only. Represents value unknown in this version.
UNKNOWN = 1;

// Credit is pending.
PENDING = 2;

// Credit request is complete.
CREDITED = 3;
}
}
3 changes: 3 additions & 0 deletions google/ads/googleads/v16/enums/resource_limit_type.proto
Original file line number Diff line number Diff line change
Expand Up @@ -489,5 +489,8 @@ message ResourceLimitTypeEnum {

// Maximum number of shared sets of brand type for an account.
SHARED_SETS_PER_ACCOUNT_FOR_BRAND = 185;

// Maximum number of lookalike lists per customer.
LOOKALIKE_USER_LISTS_PER_CUSTOMER = 186;
}
}
5 changes: 3 additions & 2 deletions google/ads/googleads/v16/enums/response_content_type.proto
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,9 @@ message ResponseContentTypeEnum {
// The mutate response will be the resource name.
RESOURCE_NAME_ONLY = 1;

// The mutate response will be the resource name and the resource with
// all mutable fields.
// The mutate response will contain the resource name and the resource with
// mutable fields if possible. Otherwise, only the resource name will be
// returned.
MUTABLE_RESOURCE = 2;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -124,5 +124,12 @@ message CampaignCriterionErrorEnum {
// exclusive targeting, broad match campaigns for inclusive targeting or
// PMax generated campaigns.
CANNOT_ATTACH_BRAND_LIST_TO_NON_QUALIFIED_SEARCH_CAMPAIGN = 26;

// Campaigns that target all countries and territories are limited to a
// certain number of top-level location exclusions. If removing a criterion
// causes the campaign to target all countries and territories and the
// campaign has more top-level location exclusions than the limit allows,
// then this error is returned.
CANNOT_REMOVE_ALL_LOCATIONS_DUE_TO_TOO_MANY_COUNTRY_EXCLUSIONS = 27;
}
}
4 changes: 4 additions & 0 deletions google/ads/googleads/v16/errors/campaign_error.proto
Original file line number Diff line number Diff line change
Expand Up @@ -299,5 +299,9 @@ message CampaignErrorEnum {
// active Performance Max optimization automatically created assets
// experiment. End the experiment to modify these settings.
CANNOT_MODIFY_TEXT_ASSET_AUTOMATION_WITH_ENABLED_TRIAL = 88;

// Dynamic text asset cannot be opted out when final URL expansion is opted
// in.
DYNAMIC_TEXT_ASSET_CANNOT_OPT_OUT_WITH_FINAL_URL_EXPANSION_OPT_IN = 89;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -49,5 +49,11 @@ message CustomerSkAdNetworkConversionValueSchemaErrorEnum {

// The customer link id provided could not be found.
LINK_CODE_NOT_FOUND = 5;

// The SkAdNetwork event counter provided is invalid.
INVALID_EVENT_COUNTER = 7;

// The SkAdNetwork event name provided is invalid.
INVALID_EVENT_NAME = 8;
}
}
4 changes: 4 additions & 0 deletions google/ads/googleads/v16/errors/errors.proto
Original file line number Diff line number Diff line change
Expand Up @@ -169,6 +169,7 @@ import "google/ads/googleads/v16/errors/time_zone_error.proto";
import "google/ads/googleads/v16/errors/url_field_error.proto";
import "google/ads/googleads/v16/errors/user_data_error.proto";
import "google/ads/googleads/v16/errors/user_list_error.proto";
import "google/ads/googleads/v16/errors/video_campaign_error.proto";
import "google/ads/googleads/v16/errors/youtube_video_registration_error.proto";
import "google/protobuf/duration.proto";

Expand Down Expand Up @@ -258,6 +259,9 @@ message ErrorCode {
// An error with a Campaign mutate.
CampaignErrorEnum.CampaignError campaign_error = 15;

// An error with a Video Campaign mutate.
VideoCampaignErrorEnum.VideoCampaignError video_campaign_error = 182;

// Indicates failure to properly authenticate user.
AuthenticationErrorEnum.AuthenticationError authentication_error = 17;

Expand Down
3 changes: 3 additions & 0 deletions google/ads/googleads/v16/errors/experiment_error.proto
Original file line number Diff line number Diff line change
Expand Up @@ -129,5 +129,8 @@ message ExperimentErrorEnum {
// experiment types: SEARCH_CUSTOM, DISPLAY_CUSTOM,
// DISPLAY_AUTOMATED_BIDDING_STRATEGY, SEARCH_AUTOMATED_BIDDING_STRATEGY.
CANNOT_ENABLE_SYNC_FOR_UNSUPPORTED_EXPERIMENT_TYPE = 29;

// Experiment length cannot be longer than max length.
INVALID_DURATION_FOR_AN_EXPERIMENT = 30;
}
}
3 changes: 3 additions & 0 deletions google/ads/googleads/v16/errors/product_link_error.proto
Original file line number Diff line number Diff line change
Expand Up @@ -46,5 +46,8 @@ message ProductLinkErrorEnum {

// A link cannot be created because a pending link already exists.
INVITATION_EXISTS = 4;

// A link cannot be created because an active link already exists.
LINK_EXISTS = 5;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -47,5 +47,8 @@ message ProductLinkInvitationErrorEnum {
// access to the invited account. Use the ProductLinkService to directly
// create an active link.
NO_INVITATION_REQUIRED = 4;

// The customer is not permitted to create the invitation.
CUSTOMER_NOT_PERMITTED_TO_CREATE_INVITATION = 5;
}
}
Loading

0 comments on commit eb1a043

Please sign in to comment.