aboutsummaryrefslogtreecommitdiff
path: root/google/ads/googleads/v1/resources
diff options
context:
space:
mode:
Diffstat (limited to 'google/ads/googleads/v1/resources')
-rw-r--r--google/ads/googleads/v1/resources/account_budget.proto232
-rw-r--r--google/ads/googleads/v1/resources/account_budget_proposal.proto140
-rw-r--r--google/ads/googleads/v1/resources/ad.proto133
-rw-r--r--google/ads/googleads/v1/resources/ad_group.proto138
-rw-r--r--google/ads/googleads/v1/resources/ad_group_ad.proto74
-rw-r--r--google/ads/googleads/v1/resources/ad_group_ad_label.proto45
-rw-r--r--google/ads/googleads/v1/resources/ad_group_audience_view.proto42
-rw-r--r--google/ads/googleads/v1/resources/ad_group_bid_modifier.proto86
-rw-r--r--google/ads/googleads/v1/resources/ad_group_criterion.proto232
-rw-r--r--google/ads/googleads/v1/resources/ad_group_criterion_label.proto46
-rw-r--r--google/ads/googleads/v1/resources/ad_group_extension_setting.proto62
-rw-r--r--google/ads/googleads/v1/resources/ad_group_feed.proto62
-rw-r--r--google/ads/googleads/v1/resources/ad_group_label.proto45
-rw-r--r--google/ads/googleads/v1/resources/ad_parameter.proto67
-rw-r--r--google/ads/googleads/v1/resources/ad_schedule_view.proto40
-rw-r--r--google/ads/googleads/v1/resources/age_range_view.proto39
-rw-r--r--google/ads/googleads/v1/resources/bidding_strategy.proto108
-rw-r--r--google/ads/googleads/v1/resources/billing_setup.proto123
-rw-r--r--google/ads/googleads/v1/resources/campaign.proto321
-rw-r--r--google/ads/googleads/v1/resources/campaign_audience_view.proto44
-rw-r--r--google/ads/googleads/v1/resources/campaign_bid_modifier.proto58
-rw-r--r--google/ads/googleads/v1/resources/campaign_budget.proto141
-rw-r--r--google/ads/googleads/v1/resources/campaign_criterion.proto138
-rw-r--r--google/ads/googleads/v1/resources/campaign_extension_setting.proto62
-rw-r--r--google/ads/googleads/v1/resources/campaign_feed.proto62
-rw-r--r--google/ads/googleads/v1/resources/campaign_label.proto45
-rw-r--r--google/ads/googleads/v1/resources/campaign_shared_set.proto56
-rw-r--r--google/ads/googleads/v1/resources/carrier_constant.proto50
-rw-r--r--google/ads/googleads/v1/resources/change_status.proto83
-rw-r--r--google/ads/googleads/v1/resources/click_view.proto57
-rw-r--r--google/ads/googleads/v1/resources/conversion_action.proto132
-rw-r--r--google/ads/googleads/v1/resources/custom_interest.proto78
-rw-r--r--google/ads/googleads/v1/resources/customer.proto119
-rw-r--r--google/ads/googleads/v1/resources/customer_client.proto55
-rw-r--r--google/ads/googleads/v1/resources/customer_client_link.proto55
-rw-r--r--google/ads/googleads/v1/resources/customer_extension_setting.proto54
-rw-r--r--google/ads/googleads/v1/resources/customer_feed.proto59
-rw-r--r--google/ads/googleads/v1/resources/customer_label.proto51
-rw-r--r--google/ads/googleads/v1/resources/customer_manager_link.proto50
-rw-r--r--google/ads/googleads/v1/resources/customer_negative_criterion.proto71
-rw-r--r--google/ads/googleads/v1/resources/detail_placement_view.proto61
-rw-r--r--google/ads/googleads/v1/resources/display_keyword_view.proto39
-rw-r--r--google/ads/googleads/v1/resources/domain_category.proto75
-rw-r--r--google/ads/googleads/v1/resources/dynamic_search_ads_search_term_view.proto61
-rw-r--r--google/ads/googleads/v1/resources/extension_feed_item.proto84
-rw-r--r--google/ads/googleads/v1/resources/feed.proto179
-rw-r--r--google/ads/googleads/v1/resources/feed_item.proto196
-rw-r--r--google/ads/googleads/v1/resources/feed_item_target.proto73
-rw-r--r--google/ads/googleads/v1/resources/feed_mapping.proto169
-rw-r--r--google/ads/googleads/v1/resources/feed_placeholder_view.proto43
-rw-r--r--google/ads/googleads/v1/resources/gender_view.proto39
-rw-r--r--google/ads/googleads/v1/resources/geo_target_constant.proto60
-rw-r--r--google/ads/googleads/v1/resources/geographic_view.proto53
-rw-r--r--google/ads/googleads/v1/resources/google_ads_field.proto106
-rw-r--r--google/ads/googleads/v1/resources/group_placement_view.proto56
-rw-r--r--google/ads/googleads/v1/resources/hotel_group_view.proto39
-rw-r--r--google/ads/googleads/v1/resources/hotel_performance_view.proto39
-rw-r--r--google/ads/googleads/v1/resources/keyword_plan.proto70
-rw-r--r--google/ads/googleads/v1/resources/keyword_plan_ad_group.proto58
-rw-r--r--google/ads/googleads/v1/resources/keyword_plan_campaign.proto82
-rw-r--r--google/ads/googleads/v1/resources/keyword_plan_keyword.proto58
-rw-r--r--google/ads/googleads/v1/resources/keyword_plan_negative_keyword.proto55
-rw-r--r--google/ads/googleads/v1/resources/keyword_view.proto39
-rw-r--r--google/ads/googleads/v1/resources/label.proto57
-rw-r--r--google/ads/googleads/v1/resources/language_constant.proto53
-rw-r--r--google/ads/googleads/v1/resources/location_view.proto40
-rw-r--r--google/ads/googleads/v1/resources/managed_placement_view.proto40
-rw-r--r--google/ads/googleads/v1/resources/media_file.proto113
-rw-r--r--google/ads/googleads/v1/resources/merchant_center_link.proto53
-rw-r--r--google/ads/googleads/v1/resources/mobile_app_category_constant.proto46
-rw-r--r--google/ads/googleads/v1/resources/mobile_device_constant.proto56
-rw-r--r--google/ads/googleads/v1/resources/mutate_job.proto72
-rw-r--r--google/ads/googleads/v1/resources/operating_system_version_constant.proto62
-rw-r--r--google/ads/googleads/v1/resources/parental_status_view.proto39
-rw-r--r--google/ads/googleads/v1/resources/payments_account.proto59
-rw-r--r--google/ads/googleads/v1/resources/product_bidding_category_constant.proto67
-rw-r--r--google/ads/googleads/v1/resources/product_group_view.proto39
-rw-r--r--google/ads/googleads/v1/resources/recommendation.proto238
-rw-r--r--google/ads/googleads/v1/resources/remarketing_action.proto55
-rw-r--r--google/ads/googleads/v1/resources/search_term_view.proto53
-rw-r--r--google/ads/googleads/v1/resources/shared_criterion.proto73
-rw-r--r--google/ads/googleads/v1/resources/shared_set.proto66
-rw-r--r--google/ads/googleads/v1/resources/shopping_performance_view.proto43
-rw-r--r--google/ads/googleads/v1/resources/topic_constant.proto58
-rw-r--r--google/ads/googleads/v1/resources/topic_view.proto39
-rw-r--r--google/ads/googleads/v1/resources/user_interest.proto60
-rw-r--r--google/ads/googleads/v1/resources/user_list.proto156
-rw-r--r--google/ads/googleads/v1/resources/video.proto52
88 files changed, 6978 insertions, 0 deletions
diff --git a/google/ads/googleads/v1/resources/account_budget.proto b/google/ads/googleads/v1/resources/account_budget.proto
new file mode 100644
index 000000000..20bb29eb1
--- /dev/null
+++ b/google/ads/googleads/v1/resources/account_budget.proto
@@ -0,0 +1,232 @@
+// 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/enums/account_budget_proposal_type.proto";
+import "google/ads/googleads/v1/enums/account_budget_status.proto";
+import "google/ads/googleads/v1/enums/spending_limit_type.proto";
+import "google/ads/googleads/v1/enums/time_type.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 = "AccountBudgetProto";
+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 AccountBudget resource.
+
+// An account-level budget. It contains information about the budget itself,
+// as well as the most recently approved changes to the budget and proposed
+// changes that are pending approval. The proposed changes that are pending
+// approval, if any, are found in 'pending_proposal'. Effective details about
+// the budget are found in fields prefixed 'approved_', 'adjusted_' and those
+// without a prefix. Since some effective details may differ from what the user
+// had originally requested (e.g. spending limit), these differences are
+// juxtaposed via 'proposed_', 'approved_', and possibly 'adjusted_' fields.
+//
+// This resource is mutated using AccountBudgetProposal and cannot be mutated
+// directly. A budget may have at most one pending proposal at any given time.
+// It is read through pending_proposal.
+//
+// Once approved, a budget may be subject to adjustments, such as credit
+// adjustments. Adjustments create differences between the 'approved' and
+// 'adjusted' fields, which would otherwise be identical.
+message AccountBudget {
+ // A pending proposal associated with the enclosing account-level budget,
+ // if applicable.
+ message PendingAccountBudgetProposal {
+ // The resource name of the proposal.
+ // AccountBudgetProposal resource names have the form:
+ //
+ //
+ // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`
+ google.protobuf.StringValue account_budget_proposal = 1;
+
+ // The type of this proposal, e.g. END to end the budget associated
+ // with this proposal.
+ google.ads.googleads.v1.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType proposal_type = 2;
+
+ // The name to assign to the account-level budget.
+ google.protobuf.StringValue name = 3;
+
+ // The start time in yyyy-MM-dd HH:mm:ss format.
+ google.protobuf.StringValue start_date_time = 4;
+
+ // A purchase order number is a value that helps users reference this budget
+ // in their monthly invoices.
+ google.protobuf.StringValue purchase_order_number = 9;
+
+ // Notes associated with this budget.
+ google.protobuf.StringValue notes = 10;
+
+ // The time when this account-level budget proposal was created.
+ // Formatted as yyyy-MM-dd HH:mm:ss.
+ google.protobuf.StringValue creation_date_time = 11;
+
+ // The end time of the account-level budget.
+ oneof end_time {
+ // The end time in yyyy-MM-dd HH:mm:ss format.
+ google.protobuf.StringValue end_date_time = 5;
+
+ // The end time as a well-defined type, e.g. FOREVER.
+ google.ads.googleads.v1.enums.TimeTypeEnum.TimeType end_time_type = 6;
+ }
+
+ // The spending limit.
+ oneof spending_limit {
+ // The spending limit in micros. One million is equivalent to
+ // one unit.
+ google.protobuf.Int64Value spending_limit_micros = 7;
+
+ // The spending limit as a well-defined type, e.g. INFINITE.
+ google.ads.googleads.v1.enums.SpendingLimitTypeEnum.SpendingLimitType spending_limit_type = 8;
+ }
+ }
+
+ // The resource name of the account-level budget.
+ // AccountBudget resource names have the form:
+ //
+ // `customers/{customer_id}/accountBudgets/{account_budget_id}`
+ string resource_name = 1;
+
+ // The ID of the account-level budget.
+ google.protobuf.Int64Value id = 2;
+
+ // The resource name of the billing setup associated with this account-level
+ // budget. BillingSetup resource names have the form:
+ //
+ // `customers/{customer_id}/billingSetups/{billing_setup_id}`
+ google.protobuf.StringValue billing_setup = 3;
+
+ // The status of this account-level budget.
+ google.ads.googleads.v1.enums.AccountBudgetStatusEnum.AccountBudgetStatus status = 4;
+
+ // The name of the account-level budget.
+ google.protobuf.StringValue name = 5;
+
+ // The proposed start time of the account-level budget in
+ // yyyy-MM-dd HH:mm:ss format. If a start time type of NOW was proposed,
+ // this is the time of request.
+ google.protobuf.StringValue proposed_start_date_time = 6;
+
+ // The approved start time of the account-level budget in yyyy-MM-dd HH:mm:ss
+ // format.
+ //
+ // For example, if a new budget is approved after the proposed start time,
+ // the approved start time is the time of approval.
+ google.protobuf.StringValue approved_start_date_time = 7;
+
+ // The total adjustments amount.
+ //
+ // An example of an adjustment is courtesy credits.
+ google.protobuf.Int64Value total_adjustments_micros = 18;
+
+ // The value of Ads that have been served, in micros.
+ //
+ // This includes overdelivery costs, in which case a credit might be
+ // automatically applied to the budget (see total_adjustments_micros).
+ google.protobuf.Int64Value amount_served_micros = 19;
+
+ // A purchase order number is a value that helps users reference this budget
+ // in their monthly invoices.
+ google.protobuf.StringValue purchase_order_number = 20;
+
+ // Notes associated with the budget.
+ google.protobuf.StringValue notes = 21;
+
+ // The pending proposal to modify this budget, if applicable.
+ PendingAccountBudgetProposal pending_proposal = 22;
+
+ // The proposed end time of the account-level budget.
+ oneof proposed_end_time {
+ // The proposed end time in yyyy-MM-dd HH:mm:ss format.
+ google.protobuf.StringValue proposed_end_date_time = 8;
+
+ // The proposed end time as a well-defined type, e.g. FOREVER.
+ google.ads.googleads.v1.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9;
+ }
+
+ // The approved end time of the account-level budget.
+ //
+ // For example, if a budget's end time is updated and the proposal is approved
+ // after the proposed end time, the approved end time is the time of approval.
+ oneof approved_end_time {
+ // The approved end time in yyyy-MM-dd HH:mm:ss format.
+ google.protobuf.StringValue approved_end_date_time = 10;
+
+ // The approved end time as a well-defined type, e.g. FOREVER.
+ google.ads.googleads.v1.enums.TimeTypeEnum.TimeType approved_end_time_type = 11;
+ }
+
+ // The proposed spending limit.
+ oneof proposed_spending_limit {
+ // The proposed spending limit in micros. One million is equivalent to
+ // one unit.
+ google.protobuf.Int64Value proposed_spending_limit_micros = 12;
+
+ // The proposed spending limit as a well-defined type, e.g. INFINITE.
+ google.ads.googleads.v1.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 13;
+ }
+
+ // The approved spending limit.
+ //
+ // For example, if the amount already spent by the account exceeds the
+ // proposed spending limit at the time the proposal is approved, the approved
+ // spending limit is set to the amount already spent.
+ oneof approved_spending_limit {
+ // The approved spending limit in micros. One million is equivalent to
+ // one unit. This will only be populated if the proposed spending limit
+ // is finite, and will always be greater than or equal to the
+ // proposed spending limit.
+ google.protobuf.Int64Value approved_spending_limit_micros = 14;
+
+ // The approved spending limit as a well-defined type, e.g. INFINITE. This
+ // will only be populated if the approved spending limit is INFINITE.
+ google.ads.googleads.v1.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 15;
+ }
+
+ // The spending limit after adjustments have been applied. Adjustments are
+ // stored in total_adjustments_micros.
+ //
+ // This value has the final say on how much the account is allowed to spend.
+ oneof adjusted_spending_limit {
+ // The adjusted spending limit in micros. One million is equivalent to
+ // one unit.
+ //
+ // If the approved spending limit is finite, the adjusted
+ // spending limit may vary depending on the types of adjustments applied
+ // to this budget, if applicable.
+ //
+ // The different kinds of adjustments are described here:
+ // https://support.google.com/google-ads/answer/1704323
+ //
+ // For example, a debit adjustment reduces how much the account is
+ // allowed to spend.
+ google.protobuf.Int64Value adjusted_spending_limit_micros = 16;
+
+ // The adjusted spending limit as a well-defined type, e.g. INFINITE.
+ // This will only be populated if the adjusted spending limit is INFINITE,
+ // which is guaranteed to be true if the approved spending limit is
+ // INFINITE.
+ google.ads.googleads.v1.enums.SpendingLimitTypeEnum.SpendingLimitType adjusted_spending_limit_type = 17;
+ }
+}
diff --git a/google/ads/googleads/v1/resources/account_budget_proposal.proto b/google/ads/googleads/v1/resources/account_budget_proposal.proto
new file mode 100644
index 000000000..a9fe4c8ae
--- /dev/null
+++ b/google/ads/googleads/v1/resources/account_budget_proposal.proto
@@ -0,0 +1,140 @@
+// 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/enums/account_budget_proposal_status.proto";
+import "google/ads/googleads/v1/enums/account_budget_proposal_type.proto";
+import "google/ads/googleads/v1/enums/spending_limit_type.proto";
+import "google/ads/googleads/v1/enums/time_type.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 = "AccountBudgetProposalProto";
+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 AccountBudgetProposal resource.
+
+// An account-level budget proposal.
+//
+// All fields prefixed with 'proposed' may not necessarily be applied directly.
+// For example, proposed spending limits may be adjusted before their
+// application. This is true if the 'proposed' field has an 'approved'
+// counterpart, e.g. spending limits.
+//
+// Please note that the proposal type (proposal_type) changes which fields are
+// required and which must remain empty.
+message AccountBudgetProposal {
+ // The resource name of the proposal.
+ // AccountBudgetProposal resource names have the form:
+ //
+ //
+ // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`
+ string resource_name = 1;
+
+ // The ID of the proposal.
+ google.protobuf.Int64Value id = 14;
+
+ // The resource name of the billing setup associated with this proposal.
+ google.protobuf.StringValue billing_setup = 2;
+
+ // The resource name of the account-level budget associated with this
+ // proposal.
+ google.protobuf.StringValue account_budget = 3;
+
+ // The type of this proposal, e.g. END to end the budget associated with this
+ // proposal.
+ google.ads.googleads.v1.enums.AccountBudgetProposalTypeEnum.AccountBudgetProposalType proposal_type = 4;
+
+ // The status of this proposal.
+ // When a new proposal is created, the status defaults to PENDING.
+ google.ads.googleads.v1.enums.AccountBudgetProposalStatusEnum.AccountBudgetProposalStatus status = 15;
+
+ // The name to assign to the account-level budget.
+ google.protobuf.StringValue proposed_name = 5;
+
+ // The approved start date time in yyyy-mm-dd hh:mm:ss format.
+ google.protobuf.StringValue approved_start_date_time = 20;
+
+ // A purchase order number is a value that enables the user to help them
+ // reference this budget in their monthly invoices.
+ google.protobuf.StringValue proposed_purchase_order_number = 12;
+
+ // Notes associated with this budget.
+ google.protobuf.StringValue proposed_notes = 13;
+
+ // The date time when this account-level budget proposal was created, which is
+ // not the same as its approval date time, if applicable.
+ google.protobuf.StringValue creation_date_time = 16;
+
+ // The date time when this account-level budget was approved, if applicable.
+ google.protobuf.StringValue approval_date_time = 17;
+
+ // The proposed start date time of the account-level budget, which cannot be
+ // in the past.
+ oneof proposed_start_time {
+ // The proposed start date time in yyyy-mm-dd hh:mm:ss format.
+ google.protobuf.StringValue proposed_start_date_time = 18;
+
+ // The proposed start date time as a well-defined type, e.g. NOW.
+ google.ads.googleads.v1.enums.TimeTypeEnum.TimeType proposed_start_time_type = 7;
+ }
+
+ // The proposed end date time of the account-level budget, which cannot be in
+ // the past.
+ oneof proposed_end_time {
+ // The proposed end date time in yyyy-mm-dd hh:mm:ss format.
+ google.protobuf.StringValue proposed_end_date_time = 19;
+
+ // The proposed end date time as a well-defined type, e.g. FOREVER.
+ google.ads.googleads.v1.enums.TimeTypeEnum.TimeType proposed_end_time_type = 9;
+ }
+
+ // The approved end date time of the account-level budget.
+ oneof approved_end_time {
+ // The approved end date time in yyyy-mm-dd hh:mm:ss format.
+ google.protobuf.StringValue approved_end_date_time = 21;
+
+ // The approved end date time as a well-defined type, e.g. FOREVER.
+ google.ads.googleads.v1.enums.TimeTypeEnum.TimeType approved_end_time_type = 22;
+ }
+
+ // The proposed spending limit.
+ oneof proposed_spending_limit {
+ // The proposed spending limit in micros. One million is equivalent to
+ // one unit.
+ google.protobuf.Int64Value proposed_spending_limit_micros = 10;
+
+ // The proposed spending limit as a well-defined type, e.g. INFINITE.
+ google.ads.googleads.v1.enums.SpendingLimitTypeEnum.SpendingLimitType proposed_spending_limit_type = 11;
+ }
+
+ // The approved spending limit.
+ oneof approved_spending_limit {
+ // The approved spending limit in micros. One million is equivalent to
+ // one unit.
+ google.protobuf.Int64Value approved_spending_limit_micros = 23;
+
+ // The approved spending limit as a well-defined type, e.g. INFINITE.
+ google.ads.googleads.v1.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 24;
+ }
+}
diff --git a/google/ads/googleads/v1/resources/ad.proto b/google/ads/googleads/v1/resources/ad.proto
new file mode 100644
index 000000000..10c20045d
--- /dev/null
+++ b/google/ads/googleads/v1/resources/ad.proto
@@ -0,0 +1,133 @@
+// 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/ad_type_infos.proto";
+import "google/ads/googleads/v1/common/custom_parameter.proto";
+import "google/ads/googleads/v1/common/url_collection.proto";
+import "google/ads/googleads/v1/enums/ad_type.proto";
+import "google/ads/googleads/v1/enums/device.proto";
+import "google/ads/googleads/v1/enums/system_managed_entity_source.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 = "AdProto";
+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 ad type.
+
+// An ad.
+message Ad {
+ // The ID of the ad.
+ google.protobuf.Int64Value id = 1;
+
+ // The list of possible final URLs after all cross-domain redirects for the
+ // ad.
+ repeated google.protobuf.StringValue final_urls = 2;
+
+ // The list of possible final mobile URLs after all cross-domain redirects
+ // for the ad.
+ repeated google.protobuf.StringValue final_mobile_urls = 16;
+
+ // The URL template for constructing a tracking URL.
+ google.protobuf.StringValue tracking_url_template = 12;
+
+ // The list of mappings that can be used to substitute custom parameter tags
+ // in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ repeated google.ads.googleads.v1.common.CustomParameter url_custom_parameters = 10;
+
+ // The URL that appears in the ad description for some ad formats.
+ google.protobuf.StringValue display_url = 4;
+
+ // The type of ad.
+ google.ads.googleads.v1.enums.AdTypeEnum.AdType type = 5;
+
+ // Indicates if this ad was automatically added by Google Ads and not by a
+ // user. For example, this could happen when ads are automatically created as
+ // suggestions for new ads based on knowledge of how existing ads are
+ // performing.
+ google.protobuf.BoolValue added_by_google_ads = 19;
+
+ // The device preference for the ad. You can only specify a preference for
+ // mobile devices. When this preference is set the ad will be preferred over
+ // other ads when being displayed on a mobile device. The ad can still be
+ // displayed on other device types, e.g. if no other ads are available.
+ // If unspecified (no device preference), all devices are targeted.
+ // This is only supported by some ad types.
+ google.ads.googleads.v1.enums.DeviceEnum.Device device_preference = 20;
+
+ // Additional URLs for the ad that are tagged with a unique identifier that
+ // can be referenced from other fields in the ad.
+ repeated google.ads.googleads.v1.common.UrlCollection url_collections = 26;
+
+ // The name of the ad. This is only used to be able to identify the ad. It
+ // does not need to be unique and does not affect the served ad.
+ google.protobuf.StringValue name = 23;
+
+ // If this ad is system managed, then this field will indicate the source.
+ // This field is read-only.
+ google.ads.googleads.v1.enums.SystemManagedResourceSourceEnum.SystemManagedResourceSource system_managed_resource_source = 27;
+
+ // Details pertinent to the ad type. Exactly one value must be set.
+ oneof ad_data {
+ // Details pertaining to a text ad.
+ google.ads.googleads.v1.common.TextAdInfo text_ad = 6;
+
+ // Details pertaining to an expanded text ad.
+ google.ads.googleads.v1.common.ExpandedTextAdInfo expanded_text_ad = 7;
+
+ // Details pertaining to a call-only ad.
+ google.ads.googleads.v1.common.CallOnlyAdInfo call_only_ad = 13;
+
+ // Details pertaining to an Expanded Dynamic Search Ad.
+ // This type of ad has its headline, final URLs, and display URL
+ // auto-generated at serving time according to domain name specific
+ // information provided by `dynamic_search_ads_setting` linked at the
+ // campaign level.
+ google.ads.googleads.v1.common.ExpandedDynamicSearchAdInfo expanded_dynamic_search_ad = 14;
+
+ // Details pertaining to a hotel ad.
+ google.ads.googleads.v1.common.HotelAdInfo hotel_ad = 15;
+
+ // Details pertaining to a Smart Shopping ad.
+ google.ads.googleads.v1.common.ShoppingSmartAdInfo shopping_smart_ad = 17;
+
+ // Details pertaining to a Shopping product ad.
+ google.ads.googleads.v1.common.ShoppingProductAdInfo shopping_product_ad = 18;
+
+ // Details pertaining to a Gmail ad.
+ google.ads.googleads.v1.common.GmailAdInfo gmail_ad = 21;
+
+ // Details pertaining to an Image ad.
+ google.ads.googleads.v1.common.ImageAdInfo image_ad = 22;
+
+ // Details pertaining to a Video ad.
+ google.ads.googleads.v1.common.VideoAdInfo video_ad = 24;
+
+ // Details pertaining to a responsive search ad.
+ google.ads.googleads.v1.common.ResponsiveSearchAdInfo responsive_search_ad = 25;
+
+ // Details pertaining to a legacy responsive display ad.
+ google.ads.googleads.v1.common.LegacyResponsiveDisplayAdInfo legacy_responsive_display_ad = 28;
+ }
+}
diff --git a/google/ads/googleads/v1/resources/ad_group.proto b/google/ads/googleads/v1/resources/ad_group.proto
new file mode 100644
index 000000000..eb1636013
--- /dev/null
+++ b/google/ads/googleads/v1/resources/ad_group.proto
@@ -0,0 +1,138 @@
+// 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/custom_parameter.proto";
+import "google/ads/googleads/v1/common/explorer_auto_optimizer_setting.proto";
+import "google/ads/googleads/v1/common/targeting_setting.proto";
+import "google/ads/googleads/v1/enums/ad_group_ad_rotation_mode.proto";
+import "google/ads/googleads/v1/enums/ad_group_status.proto";
+import "google/ads/googleads/v1/enums/ad_group_type.proto";
+import "google/ads/googleads/v1/enums/bidding_source.proto";
+import "google/ads/googleads/v1/enums/targeting_dimension.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 = "AdGroupProto";
+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 ad group resource.
+
+// An ad group.
+message AdGroup {
+ // The resource name of the ad group.
+ // Ad group resource names have the form:
+ //
+ // `customers/{customer_id}/adGroups/{ad_group_id}`
+ string resource_name = 1;
+
+ // The ID of the ad group.
+ google.protobuf.Int64Value id = 3;
+
+ // The name of the ad group.
+ //
+ // This field is required and should not be empty when creating new ad
+ // groups.
+ //
+ // It must contain fewer than 255 UTF-8 full-width characters.
+ //
+ // It must not contain any null (code point 0x0), NL line feed
+ // (code point 0xA) or carriage return (code point 0xD) characters.
+ google.protobuf.StringValue name = 4;
+
+ // The status of the ad group.
+ google.ads.googleads.v1.enums.AdGroupStatusEnum.AdGroupStatus status = 5;
+
+ // The type of the ad group.
+ google.ads.googleads.v1.enums.AdGroupTypeEnum.AdGroupType type = 12;
+
+ // The ad rotation mode of the ad group.
+ google.ads.googleads.v1.enums.AdGroupAdRotationModeEnum.AdGroupAdRotationMode ad_rotation_mode = 22;
+
+ // The URL template for constructing a tracking URL.
+ google.protobuf.StringValue tracking_url_template = 13;
+
+ // The list of mappings used to substitute custom parameter tags in a
+ // `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ repeated google.ads.googleads.v1.common.CustomParameter url_custom_parameters = 6;
+
+ // The campaign to which the ad group belongs.
+ google.protobuf.StringValue campaign = 10;
+
+ // The maximum CPC (cost-per-click) bid.
+ google.protobuf.Int64Value cpc_bid_micros = 14;
+
+ // The maximum CPM (cost-per-thousand viewable impressions) bid.
+ google.protobuf.Int64Value cpm_bid_micros = 15;
+
+ // The target CPA (cost-per-acquisition).
+ google.protobuf.Int64Value target_cpa_micros = 27;
+
+ // The CPV (cost-per-view) bid.
+ google.protobuf.Int64Value cpv_bid_micros = 17;
+
+ // Average amount in micros that the advertiser is willing to pay for every
+ // thousand times the ad is shown.
+ google.protobuf.Int64Value target_cpm_micros = 26;
+
+ // The target ROAS (return-on-ad-spend) override. If the ad group's campaign
+ // bidding strategy is a standard Target ROAS strategy, then this field
+ // overrides the target ROAS specified in the campaign's bidding strategy.
+ // Otherwise, this value is ignored.
+ google.protobuf.DoubleValue target_roas = 30;
+
+ // The percent cpc bid amount, expressed as a fraction of the advertised price
+ // for some good or service. The valid range for the fraction is [0,1) and the
+ // value stored here is 1,000,000 * [fraction].
+ google.protobuf.Int64Value percent_cpc_bid_micros = 20;
+
+ // Settings for the Display Campaign Optimizer, initially termed "Explorer".
+ google.ads.googleads.v1.common.ExplorerAutoOptimizerSetting explorer_auto_optimizer_setting = 21;
+
+ // Allows advertisers to specify a targeting dimension on which to place
+ // absolute bids. This is only applicable for campaigns that target only the
+ // display network and not search.
+ google.ads.googleads.v1.enums.TargetingDimensionEnum.TargetingDimension display_custom_bid_dimension = 23;
+
+ // URL template for appending params to Final URL.
+ google.protobuf.StringValue final_url_suffix = 24;
+
+ // Setting for targeting related features.
+ google.ads.googleads.v1.common.TargetingSetting targeting_setting = 25;
+
+ // The effective target CPA (cost-per-acquisition).
+ // This field is read-only.
+ google.protobuf.Int64Value effective_target_cpa_micros = 28;
+
+ // Source of the effective target CPA.
+ // This field is read-only.
+ google.ads.googleads.v1.enums.BiddingSourceEnum.BiddingSource effective_target_cpa_source = 29;
+
+ // The effective target ROAS (return-on-ad-spend).
+ // This field is read-only.
+ google.protobuf.DoubleValue effective_target_roas = 31;
+
+ // Source of the effective target ROAS.
+ // This field is read-only.
+ google.ads.googleads.v1.enums.BiddingSourceEnum.BiddingSource effective_target_roas_source = 32;
+}
diff --git a/google/ads/googleads/v1/resources/ad_group_ad.proto b/google/ads/googleads/v1/resources/ad_group_ad.proto
new file mode 100644
index 000000000..51fc02931
--- /dev/null
+++ b/google/ads/googleads/v1/resources/ad_group_ad.proto
@@ -0,0 +1,74 @@
+// 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/policy.proto";
+import "google/ads/googleads/v1/enums/ad_group_ad_status.proto";
+import "google/ads/googleads/v1/enums/ad_strength.proto";
+import "google/ads/googleads/v1/enums/policy_approval_status.proto";
+import "google/ads/googleads/v1/enums/policy_review_status.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 = "AdGroupAdProto";
+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 ad group ad resource.
+
+// An ad group ad.
+message AdGroupAd {
+ // The resource name of the ad.
+ // Ad group ad resource names have the form:
+ //
+ // `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
+ string resource_name = 1;
+
+ // The status of the ad.
+ google.ads.googleads.v1.enums.AdGroupAdStatusEnum.AdGroupAdStatus status = 3;
+
+ // The ad group to which the ad belongs.
+ google.protobuf.StringValue ad_group = 4;
+
+ // The ad.
+ Ad ad = 5;
+
+ // Policy information for the ad.
+ AdGroupAdPolicySummary policy_summary = 6;
+
+ // Overall ad strength for this ad group ad.
+ google.ads.googleads.v1.enums.AdStrengthEnum.AdStrength ad_strength = 7;
+}
+
+// Contains policy information for an ad.
+message AdGroupAdPolicySummary {
+ // The list of policy findings for this ad.
+ repeated google.ads.googleads.v1.common.PolicyTopicEntry policy_topic_entries = 1;
+
+ // Where in the review process this ad is.
+ google.ads.googleads.v1.enums.PolicyReviewStatusEnum.PolicyReviewStatus review_status = 2;
+
+ // The overall approval status of this ad, calculated based on the status of
+ // its individual policy topic entries.
+ google.ads.googleads.v1.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3;
+}
diff --git a/google/ads/googleads/v1/resources/ad_group_ad_label.proto b/google/ads/googleads/v1/resources/ad_group_ad_label.proto
new file mode 100644
index 000000000..9ed4a1dfa
--- /dev/null
+++ b/google/ads/googleads/v1/resources/ad_group_ad_label.proto
@@ -0,0 +1,45 @@
+// 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/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 = "AdGroupAdLabelProto";
+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 ad group ad label resource.
+
+// A relationship between an ad group ad and a label.
+message AdGroupAdLabel {
+ // The resource name of the ad group ad label.
+ // Ad group ad label resource names have the form:
+ // `customers/{customer_id}/adGroupAdLabels/{ad_group_id}~{ad_id}~{label_id}`
+ string resource_name = 1;
+
+ // The ad group ad to which the label is attached.
+ google.protobuf.StringValue ad_group_ad = 2;
+
+ // The label assigned to the ad group ad.
+ google.protobuf.StringValue label = 3;
+}
diff --git a/google/ads/googleads/v1/resources/ad_group_audience_view.proto b/google/ads/googleads/v1/resources/ad_group_audience_view.proto
new file mode 100644
index 000000000..be80a6d61
--- /dev/null
+++ b/google/ads/googleads/v1/resources/ad_group_audience_view.proto
@@ -0,0 +1,42 @@
+// 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/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 = "AdGroupAudienceViewProto";
+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 ad group audience view resource.
+
+// An ad group audience view.
+// Includes performance data from interests and remarketing lists for Display
+// Network and YouTube Network ads, and remarketing lists for search ads (RLSA),
+// aggregated at the audience level.
+message AdGroupAudienceView {
+ // The resource name of the ad group audience view.
+ // Ad group audience view resource names have the form:
+ //
+ // `customers/{customer_id}/adGroupAudienceViews/{ad_group_id}~{criterion_id}`
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v1/resources/ad_group_bid_modifier.proto b/google/ads/googleads/v1/resources/ad_group_bid_modifier.proto
new file mode 100644
index 000000000..cd55eabc0
--- /dev/null
+++ b/google/ads/googleads/v1/resources/ad_group_bid_modifier.proto
@@ -0,0 +1,86 @@
+// 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/enums/bid_modifier_source.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 = "AdGroupBidModifierProto";
+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 ad group bid modifier resource.
+
+// Represents an ad group bid modifier.
+message AdGroupBidModifier {
+ // The resource name of the ad group bid modifier.
+ // Ad group bid modifier resource names have the form:
+ //
+ // `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}~{criterion_id}`
+ string resource_name = 1;
+
+ // The ad group to which this criterion belongs.
+ google.protobuf.StringValue ad_group = 2;
+
+ // The ID of the criterion to bid modify.
+ //
+ // This field is ignored for mutates.
+ google.protobuf.Int64Value criterion_id = 3;
+
+ // The modifier for the bid when the criterion matches. The modifier must be
+ // in the range: 0.1 - 10.0. The range is 1.0 - 6.0 for PreferredContent.
+ // Use 0 to opt out of a Device type.
+ google.protobuf.DoubleValue bid_modifier = 4;
+
+ // The base ad group from which this draft/trial adgroup bid modifier was
+ // created. If ad_group is a base ad group then this field will be equal to
+ // ad_group. If the ad group was created in the draft or trial and has no
+ // corresponding base ad group, then this field will be null.
+ // This field is readonly.
+ google.protobuf.StringValue base_ad_group = 9;
+
+ // Bid modifier source.
+ google.ads.googleads.v1.enums.BidModifierSourceEnum.BidModifierSource bid_modifier_source = 10;
+
+ // The criterion of this ad group bid modifier.
+ oneof criterion {
+ // Criterion for hotel date selection (default dates vs. user selected).
+ google.ads.googleads.v1.common.HotelDateSelectionTypeInfo hotel_date_selection_type = 5;
+
+ // Criterion for number of days prior to the stay the booking is being made.
+ google.ads.googleads.v1.common.HotelAdvanceBookingWindowInfo hotel_advance_booking_window = 6;
+
+ // Criterion for length of hotel stay in nights.
+ google.ads.googleads.v1.common.HotelLengthOfStayInfo hotel_length_of_stay = 7;
+
+ // Criterion for day of the week the booking is for.
+ google.ads.googleads.v1.common.HotelCheckInDayInfo hotel_check_in_day = 8;
+
+ // A device criterion.
+ google.ads.googleads.v1.common.DeviceInfo device = 11;
+
+ // A preferred content criterion.
+ google.ads.googleads.v1.common.PreferredContentInfo preferred_content = 12;
+ }
+}
diff --git a/google/ads/googleads/v1/resources/ad_group_criterion.proto b/google/ads/googleads/v1/resources/ad_group_criterion.proto
new file mode 100644
index 000000000..d7b7d7c68
--- /dev/null
+++ b/google/ads/googleads/v1/resources/ad_group_criterion.proto
@@ -0,0 +1,232 @@
+// 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/custom_parameter.proto";
+import "google/ads/googleads/v1/enums/ad_group_criterion_status.proto";
+import "google/ads/googleads/v1/enums/bidding_source.proto";
+import "google/ads/googleads/v1/enums/criterion_system_serving_status.proto";
+import "google/ads/googleads/v1/enums/criterion_type.proto";
+import "google/ads/googleads/v1/enums/quality_score_bucket.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 = "AdGroupCriterionProto";
+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 ad group criterion resource.
+
+// An ad group criterion.
+message AdGroupCriterion {
+ // A container for ad group criterion quality information.
+ message QualityInfo {
+ // The quality score.
+ //
+ // This field may not be populated if Google does not have enough
+ // information to determine a value.
+ google.protobuf.Int32Value quality_score = 1;
+
+ // The performance of the ad compared to other advertisers.
+ google.ads.googleads.v1.enums.QualityScoreBucketEnum.QualityScoreBucket creative_quality_score = 2;
+
+ // The quality score of the landing page.
+ google.ads.googleads.v1.enums.QualityScoreBucketEnum.QualityScoreBucket post_click_quality_score = 3;
+
+ // The click-through rate compared to that of other advertisers.
+ google.ads.googleads.v1.enums.QualityScoreBucketEnum.QualityScoreBucket search_predicted_ctr = 4;
+ }
+
+ // Estimates for criterion bids at various positions.
+ message PositionEstimates {
+ // The estimate of the CPC bid required for ad to be shown on first
+ // page of search results.
+ google.protobuf.Int64Value first_page_cpc_micros = 1;
+
+ // The estimate of the CPC bid required for ad to be displayed in first
+ // position, at the top of the first page of search results.
+ google.protobuf.Int64Value first_position_cpc_micros = 2;
+
+ // The estimate of the CPC bid required for ad to be displayed at the top
+ // of the first page of search results.
+ google.protobuf.Int64Value top_of_page_cpc_micros = 3;
+
+ // Estimate of how many clicks per week you might get by changing your
+ // keyword bid to the value in first_position_cpc_micros.
+ google.protobuf.Int64Value estimated_add_clicks_at_first_position_cpc = 4;
+
+ // Estimate of how your cost per week might change when changing your
+ // keyword bid to the value in first_position_cpc_micros.
+ google.protobuf.Int64Value estimated_add_cost_at_first_position_cpc = 5;
+ }
+
+ // The resource name of the ad group criterion.
+ // Ad group criterion resource names have the form:
+ //
+ // `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
+ string resource_name = 1;
+
+ // The ID of the criterion.
+ //
+ // This field is ignored for mutates.
+ google.protobuf.Int64Value criterion_id = 26;
+
+ // The status of the criterion.
+ google.ads.googleads.v1.enums.AdGroupCriterionStatusEnum.AdGroupCriterionStatus status = 3;
+
+ // Information regarding the quality of the criterion.
+ QualityInfo quality_info = 4;
+
+ // The ad group to which the criterion belongs.
+ google.protobuf.StringValue ad_group = 5;
+
+ // The type of the criterion.
+ google.ads.googleads.v1.enums.CriterionTypeEnum.CriterionType type = 25;
+
+ // Whether to target (`false`) or exclude (`true`) the criterion.
+ //
+ // This field is immutable. To switch a criterion from positive to negative,
+ // remove then re-add it.
+ google.protobuf.BoolValue negative = 31;
+
+ // Serving status of the criterion.
+ google.ads.googleads.v1.enums.CriterionSystemServingStatusEnum.CriterionSystemServingStatus system_serving_status = 52;
+
+ // The modifier for the bid when the criterion matches. The modifier must be
+ // in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+ google.protobuf.DoubleValue bid_modifier = 44;
+
+ // The CPC (cost-per-click) bid.
+ google.protobuf.Int64Value cpc_bid_micros = 16;
+
+ // The CPM (cost-per-thousand viewable impressions) bid.
+ google.protobuf.Int64Value cpm_bid_micros = 17;
+
+ // The CPV (cost-per-view) bid.
+ google.protobuf.Int64Value cpv_bid_micros = 24;
+
+ // The CPC bid amount, expressed as a fraction of the advertised price
+ // for some good or service. The valid range for the fraction is [0,1) and the
+ // value stored here is 1,000,000 * [fraction].
+ google.protobuf.Int64Value percent_cpc_bid_micros = 33;
+
+ // The effective CPC (cost-per-click) bid.
+ google.protobuf.Int64Value effective_cpc_bid_micros = 18;
+
+ // The effective CPM (cost-per-thousand viewable impressions) bid.
+ google.protobuf.Int64Value effective_cpm_bid_micros = 19;
+
+ // The effective CPV (cost-per-view) bid.
+ google.protobuf.Int64Value effective_cpv_bid_micros = 20;
+
+ // The effective Percent CPC bid amount.
+ google.protobuf.Int64Value effective_percent_cpc_bid_micros = 34;
+
+ // Source of the effective CPC bid.
+ google.ads.googleads.v1.enums.BiddingSourceEnum.BiddingSource effective_cpc_bid_source = 21;
+
+ // Source of the effective CPM bid.
+ google.ads.googleads.v1.enums.BiddingSourceEnum.BiddingSource effective_cpm_bid_source = 22;
+
+ // Source of the effective CPV bid.
+ google.ads.googleads.v1.enums.BiddingSourceEnum.BiddingSource effective_cpv_bid_source = 23;
+
+ // Source of the effective Percent CPC bid.
+ google.ads.googleads.v1.enums.BiddingSourceEnum.BiddingSource effective_percent_cpc_bid_source = 35;
+
+ // Estimates for criterion bids at various positions.
+ PositionEstimates position_estimates = 10;
+
+ // The list of possible final URLs after all cross-domain redirects for the
+ // ad.
+ repeated google.protobuf.StringValue final_urls = 11;
+
+ // The list of possible final mobile URLs after all cross-domain redirects.
+ repeated google.protobuf.StringValue final_mobile_urls = 51;
+
+ // URL template for appending params to final URL.
+ google.protobuf.StringValue final_url_suffix = 50;
+
+ // The URL template for constructing a tracking URL.
+ google.protobuf.StringValue tracking_url_template = 13;
+
+ // The list of mappings used to substitute custom parameter tags in a
+ // `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ repeated google.ads.googleads.v1.common.CustomParameter url_custom_parameters = 14;
+
+ // The ad group criterion.
+ //
+ // Exactly one must be set.
+ oneof criterion {
+ // Keyword.
+ google.ads.googleads.v1.common.KeywordInfo keyword = 27;
+
+ // Placement.
+ google.ads.googleads.v1.common.PlacementInfo placement = 28;
+
+ // Mobile app category.
+ google.ads.googleads.v1.common.MobileAppCategoryInfo mobile_app_category = 29;
+
+ // Listing group.
+ google.ads.googleads.v1.common.ListingGroupInfo listing_group = 32;
+
+ // Age range.
+ google.ads.googleads.v1.common.AgeRangeInfo age_range = 36;
+
+ // Gender.
+ google.ads.googleads.v1.common.GenderInfo gender = 37;
+
+ // Income range.
+ google.ads.googleads.v1.common.IncomeRangeInfo income_range = 38;
+
+ // Parental status.
+ google.ads.googleads.v1.common.ParentalStatusInfo parental_status = 39;
+
+ // User List.
+ google.ads.googleads.v1.common.UserListInfo user_list = 42;
+
+ // YouTube Video.
+ google.ads.googleads.v1.common.YouTubeVideoInfo youtube_video = 40;
+
+ // YouTube Channel.
+ google.ads.googleads.v1.common.YouTubeChannelInfo youtube_channel = 41;
+
+ // Topic.
+ google.ads.googleads.v1.common.TopicInfo topic = 43;
+
+ // User Interest.
+ google.ads.googleads.v1.common.UserInterestInfo user_interest = 45;
+
+ // Webpage
+ google.ads.googleads.v1.common.WebpageInfo webpage = 46;
+
+ // App Payment Model.
+ google.ads.googleads.v1.common.AppPaymentModelInfo app_payment_model = 47;
+
+ // Custom Affinity.
+ google.ads.googleads.v1.common.CustomAffinityInfo custom_affinity = 48;
+
+ // Custom Intent.
+ google.ads.googleads.v1.common.CustomIntentInfo custom_intent = 49;
+ }
+}
diff --git a/google/ads/googleads/v1/resources/ad_group_criterion_label.proto b/google/ads/googleads/v1/resources/ad_group_criterion_label.proto
new file mode 100644
index 000000000..ae14a54ae
--- /dev/null
+++ b/google/ads/googleads/v1/resources/ad_group_criterion_label.proto
@@ -0,0 +1,46 @@
+// 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/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 = "AdGroupCriterionLabelProto";
+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 ad group criterion label resource.
+
+// A relationship between an ad group criterion and a label.
+message AdGroupCriterionLabel {
+ // The resource name of the ad group criterion label.
+ // Ad group criterion label resource names have the form:
+ //
+ // `customers/{customer_id}/adGroupCriterionLabels/{ad_group_id}~{criterion_id}~{label_id}`
+ string resource_name = 1;
+
+ // The ad group criterion to which the label is attached.
+ google.protobuf.StringValue ad_group_criterion = 2;
+
+ // The label assigned to the ad group criterion.
+ google.protobuf.StringValue label = 3;
+}
diff --git a/google/ads/googleads/v1/resources/ad_group_extension_setting.proto b/google/ads/googleads/v1/resources/ad_group_extension_setting.proto
new file mode 100644
index 000000000..936b9ad22
--- /dev/null
+++ b/google/ads/googleads/v1/resources/ad_group_extension_setting.proto
@@ -0,0 +1,62 @@
+// 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/enums/extension_setting_device.proto";
+import "google/ads/googleads/v1/enums/extension_type.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 = "AdGroupExtensionSettingProto";
+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 AdGroupExtensionSetting resource.
+
+// An ad group extension setting.
+message AdGroupExtensionSetting {
+ // The resource name of the ad group extension setting.
+ // AdGroupExtensionSetting resource names have the form:
+ //
+ //
+ // `customers/{customer_id}/adGroupExtensionSettings/{ad_group_id}~{extension_type}`
+ string resource_name = 1;
+
+ // The extension type of the ad group extension setting.
+ google.ads.googleads.v1.enums.ExtensionTypeEnum.ExtensionType extension_type = 2;
+
+ // The resource name of the ad group. The linked extension feed items will
+ // serve under this ad group.
+ // AdGroup resource names have the form:
+ //
+ // `customers/{customer_id}/adGroups/{ad_group_id}`
+ google.protobuf.StringValue ad_group = 3;
+
+ // The resource names of the extension feed items to serve under the ad group.
+ // ExtensionFeedItem resource names have the form:
+ //
+ // `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
+ repeated google.protobuf.StringValue extension_feed_items = 4;
+
+ // The device for which the extensions will serve. Optional.
+ google.ads.googleads.v1.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 5;
+}
diff --git a/google/ads/googleads/v1/resources/ad_group_feed.proto b/google/ads/googleads/v1/resources/ad_group_feed.proto
new file mode 100644
index 000000000..c6e584f55
--- /dev/null
+++ b/google/ads/googleads/v1/resources/ad_group_feed.proto
@@ -0,0 +1,62 @@
+// 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/matching_function.proto";
+import "google/ads/googleads/v1/enums/feed_link_status.proto";
+import "google/ads/googleads/v1/enums/placeholder_type.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 = "AdGroupFeedProto";
+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 AdGroupFeed resource.
+
+// An ad group feed.
+message AdGroupFeed {
+ // The resource name of the ad group feed.
+ // Ad group feed resource names have the form:
+ //
+ // `customers/{customer_id}/adGroupFeeds/{ad_group_id}~{feed_id}
+ string resource_name = 1;
+
+ // The feed being linked to the ad group.
+ google.protobuf.StringValue feed = 2;
+
+ // The ad group being linked to the feed.
+ google.protobuf.StringValue ad_group = 3;
+
+ // Indicates which placeholder types the feed may populate under the connected
+ // ad group. Required.
+ repeated google.ads.googleads.v1.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 4;
+
+ // Matching function associated with the AdGroupFeed.
+ // The matching function is used to filter the set of feed items selected.
+ // Required.
+ google.ads.googleads.v1.common.MatchingFunction matching_function = 5;
+
+ // Status of the ad group feed.
+ // This field is read-only.
+ google.ads.googleads.v1.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6;
+}
diff --git a/google/ads/googleads/v1/resources/ad_group_label.proto b/google/ads/googleads/v1/resources/ad_group_label.proto
new file mode 100644
index 000000000..2059ad13f
--- /dev/null
+++ b/google/ads/googleads/v1/resources/ad_group_label.proto
@@ -0,0 +1,45 @@
+// 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/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 = "AdGroupLabelProto";
+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 ad group label resource.
+
+// A relationship between an ad group and a label.
+message AdGroupLabel {
+ // The resource name of the ad group label.
+ // Ad group label resource names have the form:
+ // `customers/{customer_id}/adGroupLabels/{ad_group_id}~{label_id}`
+ string resource_name = 1;
+
+ // The ad group to which the label is attached.
+ google.protobuf.StringValue ad_group = 2;
+
+ // The label assigned to the ad group.
+ google.protobuf.StringValue label = 3;
+}
diff --git a/google/ads/googleads/v1/resources/ad_parameter.proto b/google/ads/googleads/v1/resources/ad_parameter.proto
new file mode 100644
index 000000000..395e26501
--- /dev/null
+++ b/google/ads/googleads/v1/resources/ad_parameter.proto
@@ -0,0 +1,67 @@
+// 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/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 = "AdParameterProto";
+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 ad parameter resource.
+
+// An ad parameter that is used to update numeric values (such as prices or
+// inventory levels) in any text line of an ad (including URLs). There can
+// be a maximum of two AdParameters per ad group criterion. (One with
+// parameter_index = 1 and one with parameter_index = 2.)
+// In the ad the parameters are referenced by a placeholder of the form
+// "{param#:value}". E.g. "{param1:$17}"
+message AdParameter {
+ // The resource name of the ad parameter.
+ // Ad parameter resource names have the form:
+ //
+ //
+ // `customers/{customer_id}/adParameters/{ad_group_id}~{criterion_id}~{parameter_index}`
+ string resource_name = 1;
+
+ // The ad group criterion that this ad parameter belongs to.
+ google.protobuf.StringValue ad_group_criterion = 2;
+
+ // The unique index of this ad parameter. Must be either 1 or 2.
+ google.protobuf.Int64Value parameter_index = 3;
+
+ // Numeric value to insert into the ad text. The following restrictions
+ // apply:
+ // - Can use comma or period as a separator, with an optional period or
+ // comma (respectively) for fractional values. For example, 1,000,000.00
+ // and 2.000.000,10 are valid.
+ // - Can be prepended or appended with a currency symbol. For example,
+ // $99.99 and 200£ are valid.
+ // - Can be prepended or appended with a currency code. For example, 99.99USD
+ // and EUR200 are valid.
+ // - Can use '%'. For example, 1.0% and 1,0% are valid.
+ // - Can use plus or minus. For example, -10.99 and 25+ are valid.
+ // - Can use '/' between two numbers. For example 4/1 and 0.95/0.45 are
+ // valid.
+ google.protobuf.StringValue insertion_text = 4;
+}
diff --git a/google/ads/googleads/v1/resources/ad_schedule_view.proto b/google/ads/googleads/v1/resources/ad_schedule_view.proto
new file mode 100644
index 000000000..e99e7590b
--- /dev/null
+++ b/google/ads/googleads/v1/resources/ad_schedule_view.proto
@@ -0,0 +1,40 @@
+// 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/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 = "AdScheduleViewProto";
+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 ad schedule view resource.
+
+// An ad schedule view summarizes the performance of campaigns by
+// AdSchedule criteria.
+message AdScheduleView {
+ // The resource name of the ad schedule view.
+ // AdSchedule view resource names have the form:
+ //
+ // `customers/{customer_id}/adScheduleViews/{campaign_id}~{criterion_id}`
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v1/resources/age_range_view.proto b/google/ads/googleads/v1/resources/age_range_view.proto
new file mode 100644
index 000000000..c6b0f7dc9
--- /dev/null
+++ b/google/ads/googleads/v1/resources/age_range_view.proto
@@ -0,0 +1,39 @@
+// 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/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 = "AgeRangeViewProto";
+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 age range view resource.
+
+// An age range view.
+message AgeRangeView {
+ // The resource name of the age range view.
+ // Age range view resource names have the form:
+ //
+ // `customers/{customer_id}/ageRangeViews/{ad_group_id}~{criterion_id}`
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v1/resources/bidding_strategy.proto b/google/ads/googleads/v1/resources/bidding_strategy.proto
new file mode 100644
index 000000000..76ab65b3f
--- /dev/null
+++ b/google/ads/googleads/v1/resources/bidding_strategy.proto
@@ -0,0 +1,108 @@
+// 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/bidding.proto";
+import "google/ads/googleads/v1/enums/bidding_strategy_status.proto";
+import "google/ads/googleads/v1/enums/bidding_strategy_type.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 = "BiddingStrategyProto";
+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 BiddingStrategy resource
+
+// A bidding strategy.
+message BiddingStrategy {
+ // The resource name of the bidding strategy.
+ // Bidding strategy resource names have the form:
+ //
+ // `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
+ string resource_name = 1;
+
+ // The ID of the bidding strategy.
+ google.protobuf.Int64Value id = 3;
+
+ // The name of the bidding strategy.
+ // All bidding strategies within an account must be named distinctly.
+ //
+ // The length of this string should be between 1 and 255, inclusive,
+ // in UTF-8 bytes, (trimmed).
+ google.protobuf.StringValue name = 4;
+
+ // The status of the bidding strategy.
+ //
+ // This field is read-only.
+ google.ads.googleads.v1.enums.BiddingStrategyStatusEnum.BiddingStrategyStatus status = 15;
+
+ // The type of the bidding strategy.
+ // Create a bidding strategy by setting the bidding scheme.
+ //
+ // This field is read-only.
+ google.ads.googleads.v1.enums.BiddingStrategyTypeEnum.BiddingStrategyType type = 5;
+
+ // The number of campaigns attached to this bidding strategy.
+ //
+ // This field is read-only.
+ google.protobuf.Int64Value campaign_count = 13;
+
+ // The number of non-removed campaigns attached to this bidding strategy.
+ //
+ // This field is read-only.
+ google.protobuf.Int64Value non_removed_campaign_count = 14;
+
+ // The bidding scheme.
+ //
+ // Only one can be set.
+ oneof scheme {
+ // A bidding strategy that raises bids for clicks that seem more likely to
+ // lead to a conversion and lowers them for clicks where they seem less
+ // likely.
+ google.ads.googleads.v1.common.EnhancedCpc enhanced_cpc = 7;
+
+ // A bidding strategy that sets max CPC bids to target impressions on
+ // page one or page one promoted slots on google.com.
+ google.ads.googleads.v1.common.PageOnePromoted page_one_promoted = 8;
+
+ // A bidding strategy that sets bids to help get as many conversions as
+ // possible at the target cost-per-acquisition (CPA) you set.
+ google.ads.googleads.v1.common.TargetCpa target_cpa = 9;
+
+ // A bidding strategy that automatically optimizes towards a desired
+ // percentage of impressions.
+ google.ads.googleads.v1.common.TargetImpressionShare target_impression_share = 48;
+
+ // A bidding strategy that sets bids based on the target fraction of
+ // auctions where the advertiser should outrank a specific competitor.
+ google.ads.googleads.v1.common.TargetOutrankShare target_outrank_share = 10;
+
+ // A bidding strategy that helps you maximize revenue while averaging a
+ // specific target Return On Ad Spend (ROAS).
+ google.ads.googleads.v1.common.TargetRoas target_roas = 11;
+
+ // A bid strategy that sets your bids to help get as many clicks as
+ // possible within your budget.
+ google.ads.googleads.v1.common.TargetSpend target_spend = 12;
+ }
+}
diff --git a/google/ads/googleads/v1/resources/billing_setup.proto b/google/ads/googleads/v1/resources/billing_setup.proto
new file mode 100644
index 000000000..48d1be00b
--- /dev/null
+++ b/google/ads/googleads/v1/resources/billing_setup.proto
@@ -0,0 +1,123 @@
+// 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/enums/billing_setup_status.proto";
+import "google/ads/googleads/v1/enums/time_type.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 = "BillingSetupProto";
+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 BillingSetup resource.
+
+// A billing setup across Ads and Payments systems; an association between a
+// Payments account and an advertiser. A billing setup is specific to one
+// advertiser.
+message BillingSetup {
+ // Container of Payments account information for this billing.
+ message PaymentsAccountInfo {
+ // A 16 digit id used to identify the Payments account associated with the
+ // billing setup.
+ //
+ // This must be passed as a string with dashes, e.g. "1234-5678-9012-3456".
+ google.protobuf.StringValue payments_account_id = 1;
+
+ // The name of the Payments account associated with the billing setup.
+ //
+ // This enables the user to specify a meaningful name for a Payments account
+ // to aid in reconciling monthly invoices.
+ //
+ // This name will be printed in the monthly invoices.
+ google.protobuf.StringValue payments_account_name = 2;
+
+ // A 12 digit id used to identify the Payments profile associated with the
+ // billing setup.
+ //
+ // This must be passed in as a string with dashes, e.g. "1234-5678-9012".
+ google.protobuf.StringValue payments_profile_id = 3;
+
+ // The name of the Payments profile associated with the billing setup.
+ google.protobuf.StringValue payments_profile_name = 4;
+
+ // A secondary payments profile id present in uncommon situations, e.g.
+ // when a sequential liability agreement has been arranged.
+ google.protobuf.StringValue secondary_payments_profile_id = 5;
+ }
+
+ // The resource name of the billing setup.
+ // BillingSetup resource names have the form:
+ //
+ // `customers/{customer_id}/billingSetups/{billing_setup_id}`
+ string resource_name = 1;
+
+ // The ID of the billing setup.
+ google.protobuf.Int64Value id = 2;
+
+ // The status of the billing setup.
+ google.ads.googleads.v1.enums.BillingSetupStatusEnum.BillingSetupStatus status = 3;
+
+ // The resource name of the Payments account associated with this billing
+ // setup. Payments resource names have the form:
+ //
+ // `customers/{customer_id}/paymentsAccounts/{payments_account_id}`
+ // When setting up billing, this is used to signup with an existing Payments
+ // account (and then payments_account_info should not be set).
+ // When getting a billing setup, this and payments_account_info will be
+ // populated.
+ google.protobuf.StringValue payments_account = 11;
+
+ // The Payments account information associated with this billing setup.
+ // When setting up billing, this is used to signup with a new Payments account
+ // (and then payments_account should not be set).
+ // When getting a billing setup, this and payments_account will be
+ // populated.
+ PaymentsAccountInfo payments_account_info = 12;
+
+ // When creating a new billing setup, this is when the setup should take
+ // effect. NOW is the only acceptable start time if the customer doesn't have
+ // any approved setups.
+ //
+ // When fetching an existing billing setup, this is the requested start time.
+ // However, if the setup was approved (see status) after the requested start
+ // time, then this is the approval time.
+ oneof start_time {
+ // The start date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format. Only a
+ // future time is allowed.
+ google.protobuf.StringValue start_date_time = 9;
+
+ // The start time as a type. Only NOW is allowed.
+ google.ads.googleads.v1.enums.TimeTypeEnum.TimeType start_time_type = 10;
+ }
+
+ // When the billing setup ends / ended. This is either FOREVER or the start
+ // time of the next scheduled billing setup.
+ oneof end_time {
+ // The end date time in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss format.
+ google.protobuf.StringValue end_date_time = 13;
+
+ // The end time as a type. The only possible value is FOREVER.
+ google.ads.googleads.v1.enums.TimeTypeEnum.TimeType end_time_type = 14;
+ }
+}
diff --git a/google/ads/googleads/v1/resources/campaign.proto b/google/ads/googleads/v1/resources/campaign.proto
new file mode 100644
index 000000000..877e2b1d2
--- /dev/null
+++ b/google/ads/googleads/v1/resources/campaign.proto
@@ -0,0 +1,321 @@
+// 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/bidding.proto";
+import "google/ads/googleads/v1/common/custom_parameter.proto";
+import "google/ads/googleads/v1/common/frequency_cap.proto";
+import "google/ads/googleads/v1/common/real_time_bidding_setting.proto";
+import "google/ads/googleads/v1/common/targeting_setting.proto";
+import "google/ads/googleads/v1/enums/ad_serving_optimization_status.proto";
+import "google/ads/googleads/v1/enums/advertising_channel_sub_type.proto";
+import "google/ads/googleads/v1/enums/advertising_channel_type.proto";
+import "google/ads/googleads/v1/enums/bidding_strategy_type.proto";
+import "google/ads/googleads/v1/enums/brand_safety_suitability.proto";
+import "google/ads/googleads/v1/enums/campaign_serving_status.proto";
+import "google/ads/googleads/v1/enums/campaign_status.proto";
+import "google/ads/googleads/v1/enums/negative_geo_target_type.proto";
+import "google/ads/googleads/v1/enums/positive_geo_target_type.proto";
+import "google/ads/googleads/v1/enums/vanity_pharma_display_url_mode.proto";
+import "google/ads/googleads/v1/enums/vanity_pharma_text.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 = "CampaignProto";
+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 Campaign resource.
+
+// A campaign.
+message Campaign {
+ // The network settings for the campaign.
+ message NetworkSettings {
+ // Whether ads will be served with google.com search results.
+ google.protobuf.BoolValue target_google_search = 1;
+
+ // Whether ads will be served on partner sites in the Google Search Network
+ // (requires `target_google_search` to also be `true`).
+ google.protobuf.BoolValue target_search_network = 2;
+
+ // Whether ads will be served on specified placements in the Google Display
+ // Network. Placements are specified using the Placement criterion.
+ google.protobuf.BoolValue target_content_network = 3;
+
+ // Whether ads will be served on the Google Partner Network.
+ // This is available only to some select Google partner accounts.
+ google.protobuf.BoolValue target_partner_search_network = 4;
+ }
+
+ // Campaign-level settings for hotel ads.
+ message HotelSettingInfo {
+ // The linked Hotel Center account.
+ google.protobuf.Int64Value hotel_center_id = 1;
+ }
+
+ // The setting for controlling Dynamic Search Ads (DSA).
+ message DynamicSearchAdsSetting {
+ // The Internet domain name that this setting represents, e.g., "google.com"
+ // or "www.google.com".
+ google.protobuf.StringValue domain_name = 1;
+
+ // The language code specifying the language of the domain, e.g., "en".
+ google.protobuf.StringValue language_code = 2;
+
+ // Whether the campaign uses advertiser supplied URLs exclusively.
+ google.protobuf.BoolValue use_supplied_urls_only = 3;
+
+ // The list of page feeds associated with the campaign.
+ repeated google.protobuf.StringValue feeds = 5;
+ }
+
+ // Represents a collection of settings related to ads geotargeting.
+ message GeoTargetTypeSetting {
+ // The setting used for positive geotargeting in this particular campaign.
+ google.ads.googleads.v1.enums.PositiveGeoTargetTypeEnum.PositiveGeoTargetType positive_geo_target_type = 1;
+
+ // The setting used for negative geotargeting in this particular campaign.
+ google.ads.googleads.v1.enums.NegativeGeoTargetTypeEnum.NegativeGeoTargetType negative_geo_target_type = 2;
+ }
+
+ // 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.
+ message ShoppingSetting {
+ // ID of the Merchant Center account.
+ // This field is required for create operations. This field is immutable for
+ // Shopping campaigns.
+ google.protobuf.Int64Value merchant_id = 1;
+
+ // Sales country of products to include in the campaign.
+ // This field is required for Shopping campaigns. This field is immutable.
+ // This field is optional for non-Shopping campaigns, but it must be equal
+ // to 'ZZ' if set.
+ google.protobuf.StringValue sales_country = 2;
+
+ // Priority of the campaign. Campaigns with numerically higher priorities
+ // take precedence over those with lower priorities.
+ // This field is required for Shopping campaigns, with values between 0 and
+ // 2, inclusive.
+ // This field is optional for Smart Shopping campaigns, but must be equal to
+ // 3 if set.
+ google.protobuf.Int32Value campaign_priority = 3;
+
+ // Enable local inventory ads. This field may only be set to false for Smart
+ // Shopping Campaigns.
+ 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;
+ }
+
+ // Campaign level settings for tracking information.
+ message TrackingSetting {
+ // The url used for dynamic tracking.
+ google.protobuf.StringValue tracking_url = 1;
+ }
+
+ // Describes how unbranded pharma ads will be displayed.
+ message VanityPharma {
+ // The display mode for vanity pharma URLs.
+ google.ads.googleads.v1.enums.VanityPharmaDisplayUrlModeEnum.VanityPharmaDisplayUrlMode vanity_pharma_display_url_mode = 1;
+
+ // The text that will be displayed in display URL of the text ad when
+ // website description is the selected display mode for vanity pharma URLs.
+ google.ads.googleads.v1.enums.VanityPharmaTextEnum.VanityPharmaText vanity_pharma_text = 2;
+ }
+
+ // The resource name of the campaign.
+ // Campaign resource names have the form:
+ //
+ // `customers/{customer_id}/campaigns/{campaign_id}`
+ string resource_name = 1;
+
+ // The ID of the campaign.
+ google.protobuf.Int64Value id = 3;
+
+ // The name of the campaign.
+ //
+ // This field is required and should not be empty when creating new
+ // campaigns.
+ //
+ // It must not contain any null (code point 0x0), NL line feed
+ // (code point 0xA) or carriage return (code point 0xD) characters.
+ google.protobuf.StringValue name = 4;
+
+ // The status of the campaign.
+ //
+ // When a new campaign is added, the status defaults to ENABLED.
+ google.ads.googleads.v1.enums.CampaignStatusEnum.CampaignStatus status = 5;
+
+ // The ad serving status of the campaign.
+ google.ads.googleads.v1.enums.CampaignServingStatusEnum.CampaignServingStatus serving_status = 21;
+
+ // The ad serving optimization status of the campaign.
+ google.ads.googleads.v1.enums.AdServingOptimizationStatusEnum.AdServingOptimizationStatus ad_serving_optimization_status = 8;
+
+ // The primary serving target for ads within the campaign.
+ // The targeting options can be refined in `network_settings`.
+ //
+ // This field is required and should not be empty when creating new
+ // campaigns.
+ //
+ // Can be set only when creating campaigns.
+ // After the campaign is created, the field can not be changed.
+ google.ads.googleads.v1.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 9;
+
+ // Optional refinement to `advertising_channel_type`.
+ // Must be a valid sub-type of the parent channel type.
+ //
+ // Can be set only when creating campaigns.
+ // After campaign is created, the field can not be changed.
+ google.ads.googleads.v1.enums.AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType advertising_channel_sub_type = 10;
+
+ // The URL template for constructing a tracking URL.
+ google.protobuf.StringValue tracking_url_template = 11;
+
+ // The list of mappings used to substitute custom parameter tags in a
+ // `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ repeated google.ads.googleads.v1.common.CustomParameter url_custom_parameters = 12;
+
+ // Settings for Real-Time Bidding, a feature only available for campaigns
+ // targeting the Ad Exchange network.
+ google.ads.googleads.v1.common.RealTimeBiddingSetting real_time_bidding_setting = 39;
+
+ // The network settings for the campaign.
+ NetworkSettings network_settings = 14;
+
+ // The hotel setting for the campaign.
+ HotelSettingInfo hotel_setting = 32;
+
+ // The setting for controlling Dynamic Search Ads (DSA).
+ DynamicSearchAdsSetting dynamic_search_ads_setting = 33;
+
+ // The setting for controlling Shopping campaigns.
+ ShoppingSetting shopping_setting = 36;
+
+ // Setting for targeting related features.
+ google.ads.googleads.v1.common.TargetingSetting targeting_setting = 43;
+
+ // The setting for ads geotargeting.
+ GeoTargetTypeSetting geo_target_type_setting = 47;
+
+ // The budget of the campaign.
+ google.protobuf.StringValue campaign_budget = 6;
+
+ // The type of bidding strategy.
+ //
+ // A bidding strategy can be created by setting either the bidding scheme to
+ // create a standard bidding strategy or the `bidding_strategy` field to
+ // create a portfolio bidding strategy.
+ //
+ // This field is read-only.
+ google.ads.googleads.v1.enums.BiddingStrategyTypeEnum.BiddingStrategyType bidding_strategy_type = 22;
+
+ // The date when campaign started.
+ //
+ // This field must not be used in WHERE clauses.
+ google.protobuf.StringValue start_date = 19;
+
+ // The date when campaign ended.
+ //
+ // This field must not be used in WHERE clauses.
+ google.protobuf.StringValue end_date = 20;
+
+ // Suffix used to append query parameters to landing pages that are served
+ // with parallel tracking.
+ google.protobuf.StringValue final_url_suffix = 38;
+
+ // A list that limits how often each user will see this campaign's ads.
+ repeated google.ads.googleads.v1.common.FrequencyCapEntry frequency_caps = 40;
+
+ // 3-Tier Brand Safety setting for the campaign.
+ google.ads.googleads.v1.enums.BrandSafetySuitabilityEnum.BrandSafetySuitability video_brand_safety_suitability = 42;
+
+ // Describes how unbranded pharma ads will be displayed.
+ VanityPharma vanity_pharma = 44;
+
+ // Selective optimization setting for this campaign, which includes a set of
+ // conversion actions to optimize this campaign towards.
+ SelectiveOptimization selective_optimization = 45;
+
+ // Campaign level settings for tracking information.
+ TrackingSetting tracking_setting = 46;
+
+ // The bidding strategy for the campaign.
+ //
+ // Must be either portfolio (created via BiddingStrategy service) or
+ // standard, that is embedded into the campaign.
+ oneof campaign_bidding_strategy {
+ // Portfolio bidding strategy used by campaign.
+ google.protobuf.StringValue bidding_strategy = 23;
+
+ // Standard Manual CPC bidding strategy.
+ // Manual click-based bidding where user pays per click.
+ google.ads.googleads.v1.common.ManualCpc manual_cpc = 24;
+
+ // Standard Manual CPM bidding strategy.
+ // Manual impression-based bidding where user pays per thousand
+ // impressions.
+ google.ads.googleads.v1.common.ManualCpm manual_cpm = 25;
+
+ // A bidding strategy that pays a configurable amount per video view.
+ google.ads.googleads.v1.common.ManualCpv manual_cpv = 37;
+
+ // Standard Maximize Conversions bidding strategy that automatically
+ // maximizes number of conversions given a daily budget.
+ google.ads.googleads.v1.common.MaximizeConversions maximize_conversions = 30;
+
+ // Standard Maximize Conversion Value bidding strategy that automatically
+ // sets bids to maximize revenue while spending your budget.
+ google.ads.googleads.v1.common.MaximizeConversionValue maximize_conversion_value = 31;
+
+ // Standard Target CPA bidding strategy that automatically sets bids to
+ // help get as many conversions as possible at the target
+ // cost-per-acquisition (CPA) you set.
+ google.ads.googleads.v1.common.TargetCpa target_cpa = 26;
+
+ // Target Impression Share bidding strategy. An automated bidding strategy
+ // that sets bids to achieve a desired percentage of impressions.
+ google.ads.googleads.v1.common.TargetImpressionShare target_impression_share = 48;
+
+ // Standard Target ROAS bidding strategy that automatically maximizes
+ // revenue while averaging a specific target return on ad spend (ROAS).
+ google.ads.googleads.v1.common.TargetRoas target_roas = 29;
+
+ // Standard Target Spend bidding strategy that automatically sets your bids
+ // to help get as many clicks as possible within your budget.
+ google.ads.googleads.v1.common.TargetSpend target_spend = 27;
+
+ // Standard Percent Cpc bidding strategy where bids are a fraction of the
+ // advertised price for some good or service.
+ google.ads.googleads.v1.common.PercentCpc percent_cpc = 34;
+
+ // A bidding strategy that automatically optimizes cost per thousand
+ // impressions.
+ google.ads.googleads.v1.common.TargetCpm target_cpm = 41;
+ }
+}
diff --git a/google/ads/googleads/v1/resources/campaign_audience_view.proto b/google/ads/googleads/v1/resources/campaign_audience_view.proto
new file mode 100644
index 000000000..b5129e7d0
--- /dev/null
+++ b/google/ads/googleads/v1/resources/campaign_audience_view.proto
@@ -0,0 +1,44 @@
+// 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/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 = "CampaignAudienceViewProto";
+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 campaign audience view resource.
+
+// A campaign audience view.
+// Includes performance data from interests and remarketing lists for Display
+// Network and YouTube Network ads, and remarketing lists for search ads (RLSA),
+// aggregated by campaign and audience criterion. This view only includes
+// audiences attached at the campaign level.
+message CampaignAudienceView {
+ // The resource name of the campaign audience view.
+ // Campaign audience view resource names have the form:
+ //
+ //
+ // `customers/{customer_id}/campaignAudienceViews/{campaign_id}~{criterion_id}`
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v1/resources/campaign_bid_modifier.proto b/google/ads/googleads/v1/resources/campaign_bid_modifier.proto
new file mode 100644
index 000000000..821c9f9aa
--- /dev/null
+++ b/google/ads/googleads/v1/resources/campaign_bid_modifier.proto
@@ -0,0 +1,58 @@
+// 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/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 = "CampaignBidModifierProto";
+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 Campaign Bid Modifier resource.
+
+// Represents a bid-modifiable only criterion at the campaign level.
+message CampaignBidModifier {
+ // The resource name of the campaign bid modifier.
+ // Campaign bid modifier resource names have the form:
+ //
+ // `customers/{customer_id}/campaignBidModifiers/{campaign_id}~{criterion_id}`
+ string resource_name = 1;
+
+ // The campaign to which this criterion belongs.
+ google.protobuf.StringValue campaign = 2;
+
+ // The ID of the criterion to bid modify.
+ //
+ // This field is ignored for mutates.
+ google.protobuf.Int64Value criterion_id = 3;
+
+ // The modifier for the bid when the criterion matches.
+ google.protobuf.DoubleValue bid_modifier = 4;
+
+ // The criterion of this campaign bid modifier.
+ oneof criterion {
+ // Criterion for interaction type. Only supported for search campaigns.
+ google.ads.googleads.v1.common.InteractionTypeInfo interaction_type = 5;
+ }
+}
diff --git a/google/ads/googleads/v1/resources/campaign_budget.proto b/google/ads/googleads/v1/resources/campaign_budget.proto
new file mode 100644
index 000000000..8a93b6732
--- /dev/null
+++ b/google/ads/googleads/v1/resources/campaign_budget.proto
@@ -0,0 +1,141 @@
+// 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/enums/budget_delivery_method.proto";
+import "google/ads/googleads/v1/enums/budget_period.proto";
+import "google/ads/googleads/v1/enums/budget_status.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 = "CampaignBudgetProto";
+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 Budget resource.
+
+// A campaign budget.
+message CampaignBudget {
+ // The resource name of the campaign budget.
+ // Campaign budget resource names have the form:
+ //
+ // `customers/{customer_id}/campaignBudgets/{budget_id}`
+ string resource_name = 1;
+
+ // The ID of the campaign budget.
+ //
+ // A campaign budget is created using the CampaignBudgetService create
+ // operation and is assigned a budget ID. A budget ID can be shared across
+ // different campaigns; the system will then allocate the campaign budget
+ // among different campaigns to get optimum results.
+ google.protobuf.Int64Value id = 3;
+
+ // The name of the campaign budget.
+ //
+ // When creating a campaign budget through CampaignBudgetService, every
+ // explicitly shared campaign budget must have a non-null, non-empty name.
+ // Campaign budgets that are not explicitly shared derive their name from the
+ // attached campaign's name.
+ //
+ // The length of this string must be between 1 and 255, inclusive,
+ // in UTF-8 bytes, (trimmed).
+ google.protobuf.StringValue name = 4;
+
+ // The amount of the budget, in the local currency for the account.
+ // Amount is specified in micros, where one million is equivalent to one
+ // currency unit.
+ google.protobuf.Int64Value amount_micros = 5;
+
+ // The lifetime amount of the budget, in the local currency for the account.
+ // Amount is specified in micros, where one million is equivalent to one
+ // currency unit.
+ google.protobuf.Int64Value total_amount_micros = 10;
+
+ // The status of this campaign budget. This field is read-only.
+ google.ads.googleads.v1.enums.BudgetStatusEnum.BudgetStatus status = 6;
+
+ // The delivery method that determines the rate at which the campaign budget
+ // is spent.
+ //
+ // Defaults to STANDARD if unspecified in a create operation.
+ google.ads.googleads.v1.enums.BudgetDeliveryMethodEnum.BudgetDeliveryMethod delivery_method = 7;
+
+ // Specifies whether the budget is explicitly shared. Defaults to true if
+ // unspecified in a create operation.
+ //
+ // If true, the budget was created with the purpose of sharing
+ // across one or more campaigns.
+ //
+ // If false, the budget was created with the intention of only being used
+ // with a single campaign. The budget's name and status will stay in sync
+ // with the campaign's name and status. Attempting to share the budget with a
+ // second campaign will result in an error.
+ //
+ // A non-shared budget can become an explicitly shared. The same operation
+ // must also assign the budget a name.
+ //
+ // A shared campaign budget can never become non-shared.
+ google.protobuf.BoolValue explicitly_shared = 8;
+
+ // The number of campaigns actively using the budget.
+ //
+ // This field is read-only.
+ google.protobuf.Int64Value reference_count = 9;
+
+ // Indicates whether there is a recommended budget for this campaign budget.
+ //
+ // This field is read-only.
+ google.protobuf.BoolValue has_recommended_budget = 11;
+
+ // The recommended budget amount. If no recommendation is available, this will
+ // be set to the budget amount.
+ // Amount is specified in micros, where one million is equivalent to one
+ // currency unit.
+ //
+ // This field is read-only.
+ google.protobuf.Int64Value recommended_budget_amount_micros = 12;
+
+ // Period over which to spend the budget. Defaults to DAILY if not specified.
+ google.ads.googleads.v1.enums.BudgetPeriodEnum.BudgetPeriod period = 13;
+
+ // The estimated change in weekly clicks if the recommended budget is applied.
+ //
+ // This field is read-only.
+ google.protobuf.Int64Value recommended_budget_estimated_change_weekly_clicks = 14;
+
+ // The estimated change in weekly cost in micros if the recommended budget is
+ // applied. One million is equivalent to one currency unit.
+ //
+ // This field is read-only.
+ google.protobuf.Int64Value recommended_budget_estimated_change_weekly_cost_micros = 15;
+
+ // The estimated change in weekly interactions if the recommended budget is
+ // applied.
+ //
+ // This field is read-only.
+ google.protobuf.Int64Value recommended_budget_estimated_change_weekly_interactions = 16;
+
+ // The estimated change in weekly views if the recommended budget is applied.
+ //
+ // This field is read-only.
+ google.protobuf.Int64Value recommended_budget_estimated_change_weekly_views = 17;
+}
diff --git a/google/ads/googleads/v1/resources/campaign_criterion.proto b/google/ads/googleads/v1/resources/campaign_criterion.proto
new file mode 100644
index 000000000..c2f56b568
--- /dev/null
+++ b/google/ads/googleads/v1/resources/campaign_criterion.proto
@@ -0,0 +1,138 @@
+// 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/enums/criterion_type.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 = "CampaignCriterionProto";
+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 Campaign Criterion resource.
+
+// A campaign criterion.
+message CampaignCriterion {
+ // The resource name of the campaign criterion.
+ // Campaign criterion resource names have the form:
+ //
+ // `customers/{customer_id}/campaignCriteria/{campaign_id}~{criterion_id}`
+ string resource_name = 1;
+
+ // The campaign to which the criterion belongs.
+ google.protobuf.StringValue campaign = 4;
+
+ // The ID of the criterion.
+ //
+ // This field is ignored during mutate.
+ google.protobuf.Int64Value criterion_id = 5;
+
+ // The modifier for the bids when the criterion matches. The modifier must be
+ // in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
+ // Use 0 to opt out of a Device type.
+ google.protobuf.FloatValue bid_modifier = 14;
+
+ // Whether to target (`false`) or exclude (`true`) the criterion.
+ google.protobuf.BoolValue negative = 7;
+
+ // The type of the criterion.
+ google.ads.googleads.v1.enums.CriterionTypeEnum.CriterionType type = 6;
+
+ // The campaign criterion.
+ //
+ // Exactly one must be set.
+ oneof criterion {
+ // Keyword.
+ google.ads.googleads.v1.common.KeywordInfo keyword = 8;
+
+ // Placement.
+ google.ads.googleads.v1.common.PlacementInfo placement = 9;
+
+ // Mobile app category.
+ google.ads.googleads.v1.common.MobileAppCategoryInfo mobile_app_category = 10;
+
+ // Location.
+ google.ads.googleads.v1.common.LocationInfo location = 12;
+
+ // Device.
+ google.ads.googleads.v1.common.DeviceInfo device = 13;
+
+ // Ad Schedule.
+ google.ads.googleads.v1.common.AdScheduleInfo ad_schedule = 15;
+
+ // Age range.
+ google.ads.googleads.v1.common.AgeRangeInfo age_range = 16;
+
+ // Gender.
+ google.ads.googleads.v1.common.GenderInfo gender = 17;
+
+ // Income range.
+ google.ads.googleads.v1.common.IncomeRangeInfo income_range = 18;
+
+ // Parental status.
+ google.ads.googleads.v1.common.ParentalStatusInfo parental_status = 19;
+
+ // User List.
+ google.ads.googleads.v1.common.UserListInfo user_list = 22;
+
+ // YouTube Video.
+ google.ads.googleads.v1.common.YouTubeVideoInfo youtube_video = 20;
+
+ // YouTube Channel.
+ google.ads.googleads.v1.common.YouTubeChannelInfo youtube_channel = 21;
+
+ // Proximity.
+ google.ads.googleads.v1.common.ProximityInfo proximity = 23;
+
+ // Topic.
+ google.ads.googleads.v1.common.TopicInfo topic = 24;
+
+ // Listing scope.
+ google.ads.googleads.v1.common.ListingScopeInfo listing_scope = 25;
+
+ // Language.
+ google.ads.googleads.v1.common.LanguageInfo language = 26;
+
+ // IpBlock.
+ google.ads.googleads.v1.common.IpBlockInfo ip_block = 27;
+
+ // ContentLabel.
+ google.ads.googleads.v1.common.ContentLabelInfo content_label = 28;
+
+ // Carrier.
+ google.ads.googleads.v1.common.CarrierInfo carrier = 29;
+
+ // User Interest.
+ google.ads.googleads.v1.common.UserInterestInfo user_interest = 30;
+
+ // Webpage.
+ google.ads.googleads.v1.common.WebpageInfo webpage = 31;
+
+ // Operating system version.
+ google.ads.googleads.v1.common.OperatingSystemVersionInfo operating_system_version = 32;
+
+ // Mobile Device.
+ google.ads.googleads.v1.common.MobileDeviceInfo mobile_device = 33;
+ }
+}
diff --git a/google/ads/googleads/v1/resources/campaign_extension_setting.proto b/google/ads/googleads/v1/resources/campaign_extension_setting.proto
new file mode 100644
index 000000000..7c089affb
--- /dev/null
+++ b/google/ads/googleads/v1/resources/campaign_extension_setting.proto
@@ -0,0 +1,62 @@
+// 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/enums/extension_setting_device.proto";
+import "google/ads/googleads/v1/enums/extension_type.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 = "CampaignExtensionSettingProto";
+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 CampaignExtensionSetting resource.
+
+// A campaign extension setting.
+message CampaignExtensionSetting {
+ // The resource name of the campaign extension setting.
+ // CampaignExtensionSetting resource names have the form:
+ //
+ //
+ // `customers/{customer_id}/campaignExtensionSettings/{campaign_id}~{extension_type}`
+ string resource_name = 1;
+
+ // The extension type of the customer extension setting.
+ google.ads.googleads.v1.enums.ExtensionTypeEnum.ExtensionType extension_type = 2;
+
+ // The resource name of the campaign. The linked extension feed items will
+ // serve under this campaign.
+ // Campaign resource names have the form:
+ //
+ // `customers/{customer_id}/campaigns/{campaign_id}`
+ google.protobuf.StringValue campaign = 3;
+
+ // The resource names of the extension feed items to serve under the campaign.
+ // ExtensionFeedItem resource names have the form:
+ //
+ // `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
+ repeated google.protobuf.StringValue extension_feed_items = 4;
+
+ // The device for which the extensions will serve. Optional.
+ google.ads.googleads.v1.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 5;
+}
diff --git a/google/ads/googleads/v1/resources/campaign_feed.proto b/google/ads/googleads/v1/resources/campaign_feed.proto
new file mode 100644
index 000000000..7618dd9f0
--- /dev/null
+++ b/google/ads/googleads/v1/resources/campaign_feed.proto
@@ -0,0 +1,62 @@
+// 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/matching_function.proto";
+import "google/ads/googleads/v1/enums/feed_link_status.proto";
+import "google/ads/googleads/v1/enums/placeholder_type.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 = "CampaignFeedProto";
+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 CampaignFeed resource.
+
+// A campaign feed.
+message CampaignFeed {
+ // The resource name of the campaign feed.
+ // Campaign feed resource names have the form:
+ //
+ // `customers/{customer_id}/campaignFeeds/{campaign_id}~{feed_id}
+ string resource_name = 1;
+
+ // The feed to which the CampaignFeed belongs.
+ google.protobuf.StringValue feed = 2;
+
+ // The campaign to which the CampaignFeed belongs.
+ google.protobuf.StringValue campaign = 3;
+
+ // Indicates which placeholder types the feed may populate under the connected
+ // campaign. Required.
+ repeated google.ads.googleads.v1.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 4;
+
+ // Matching function associated with the CampaignFeed.
+ // The matching function is used to filter the set of feed items selected.
+ // Required.
+ google.ads.googleads.v1.common.MatchingFunction matching_function = 5;
+
+ // Status of the campaign feed.
+ // This field is read-only.
+ google.ads.googleads.v1.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6;
+}
diff --git a/google/ads/googleads/v1/resources/campaign_label.proto b/google/ads/googleads/v1/resources/campaign_label.proto
new file mode 100644
index 000000000..86f52a458
--- /dev/null
+++ b/google/ads/googleads/v1/resources/campaign_label.proto
@@ -0,0 +1,45 @@
+// 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/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 = "CampaignLabelProto";
+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 campaign label resource.
+
+// Represents a relationship between a campaign and a label.
+message CampaignLabel {
+ // Name of the resource.
+ // Campaign label resource names have the form:
+ // `customers/{customer_id}/campaignLabels/{campaign_id}~{label_id}`
+ string resource_name = 1;
+
+ // The campaign to which the label is attached.
+ google.protobuf.StringValue campaign = 2;
+
+ // The label assigned to the campaign.
+ google.protobuf.StringValue label = 3;
+}
diff --git a/google/ads/googleads/v1/resources/campaign_shared_set.proto b/google/ads/googleads/v1/resources/campaign_shared_set.proto
new file mode 100644
index 000000000..cab32be00
--- /dev/null
+++ b/google/ads/googleads/v1/resources/campaign_shared_set.proto
@@ -0,0 +1,56 @@
+// 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/enums/campaign_shared_set_status.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 = "CampaignSharedSetProto";
+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 CampaignSharedSet resource.
+
+// CampaignSharedSets are used for managing the shared sets associated with a
+// campaign.
+message CampaignSharedSet {
+ // The resource name of the campaign shared set.
+ // Campaign shared set resource names have the form:
+ //
+ // `customers/{customer_id}/campaignSharedSets/{campaign_id}~{shared_set_id}`
+ string resource_name = 1;
+
+ // The campaign to which the campaign shared set belongs.
+ google.protobuf.StringValue campaign = 3;
+
+ // The shared set associated with the campaign. This may be a negative keyword
+ // shared set of another customer. This customer should be a manager of the
+ // other customer, otherwise the campaign shared set will exist but have no
+ // serving effect. Only negative keyword shared sets can be associated with
+ // Shopping campaigns. Only negative placement shared sets can be associated
+ // with Display mobile app campaigns.
+ google.protobuf.StringValue shared_set = 4;
+
+ // The status of this campaign shared set. Read only.
+ google.ads.googleads.v1.enums.CampaignSharedSetStatusEnum.CampaignSharedSetStatus status = 2;
+}
diff --git a/google/ads/googleads/v1/resources/carrier_constant.proto b/google/ads/googleads/v1/resources/carrier_constant.proto
new file mode 100644
index 000000000..1ad91c950
--- /dev/null
+++ b/google/ads/googleads/v1/resources/carrier_constant.proto
@@ -0,0 +1,50 @@
+// 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/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 = "CarrierConstantProto";
+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 Carrier constant resource.
+
+// A carrier criterion that can be used in campaign targeting.
+message CarrierConstant {
+ // The resource name of the carrier criterion.
+ // Carrier criterion resource names have the form:
+ //
+ // `carrierConstants/{criterion_id}`
+ string resource_name = 1;
+
+ // The ID of the carrier criterion.
+ google.protobuf.Int64Value id = 2;
+
+ // The full name of the carrier in English.
+ google.protobuf.StringValue name = 3;
+
+ // The country code of the country where the carrier is located, e.g., "AR",
+ // "FR", etc.
+ google.protobuf.StringValue country_code = 4;
+}
diff --git a/google/ads/googleads/v1/resources/change_status.proto b/google/ads/googleads/v1/resources/change_status.proto
new file mode 100644
index 000000000..f625d6e37
--- /dev/null
+++ b/google/ads/googleads/v1/resources/change_status.proto
@@ -0,0 +1,83 @@
+// 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/enums/change_status_operation.proto";
+import "google/ads/googleads/v1/enums/change_status_resource_type.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 = "ChangeStatusProto";
+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 Change Status resource.
+
+// Describes the status of returned resource.
+message ChangeStatus {
+ // The resource name of the change status.
+ // Change status resource names have the form:
+ //
+ // `customers/{customer_id}/changeStatus/{change_status_id}`
+ string resource_name = 1;
+
+ // Time at which the most recent change has occurred on this resource.
+ google.protobuf.StringValue last_change_date_time = 3;
+
+ // Represents the type of the changed resource. This dictates what fields
+ // will be set. For example, for AD_GROUP, campaign and ad_group fields will
+ // be set.
+ google.ads.googleads.v1.enums.ChangeStatusResourceTypeEnum.ChangeStatusResourceType resource_type = 4;
+
+ // The Campaign affected by this change.
+ google.protobuf.StringValue campaign = 5;
+
+ // The AdGroup affected by this change.
+ google.protobuf.StringValue ad_group = 6;
+
+ // Represents the status of the changed resource.
+ google.ads.googleads.v1.enums.ChangeStatusOperationEnum.ChangeStatusOperation resource_status = 8;
+
+ // The AdGroupAd affected by this change.
+ google.protobuf.StringValue ad_group_ad = 9;
+
+ // The AdGroupCriterion affected by this change.
+ google.protobuf.StringValue ad_group_criterion = 10;
+
+ // The CampaignCriterion affected by this change.
+ google.protobuf.StringValue campaign_criterion = 11;
+
+ // The Feed affected by this change.
+ google.protobuf.StringValue feed = 12;
+
+ // The FeedItem affected by this change.
+ google.protobuf.StringValue feed_item = 13;
+
+ // The AdGroupFeed affected by this change.
+ google.protobuf.StringValue ad_group_feed = 14;
+
+ // The CampaignFeed affected by this change.
+ google.protobuf.StringValue campaign_feed = 15;
+
+ // The AdGroupBidModifier affected by this change.
+ google.protobuf.StringValue ad_group_bid_modifier = 16;
+}
diff --git a/google/ads/googleads/v1/resources/click_view.proto b/google/ads/googleads/v1/resources/click_view.proto
new file mode 100644
index 000000000..517b99dd7
--- /dev/null
+++ b/google/ads/googleads/v1/resources/click_view.proto
@@ -0,0 +1,57 @@
+// 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/click_location.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 = "ClickViewProto";
+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 ClickView resource.
+
+// A click view with metrics aggregated at each click level, including both
+// valid and invalid clicks. For non-Search campaigns, metrics.clicks
+// represents the number of valid and invalid interactions.
+message ClickView {
+ // The resource name of the click view.
+ // Click view resource names have the form:
+ //
+ // `customers/{customer_id}/clickViews/{date (yyyy-MM-dd)}~{gclid}`
+ string resource_name = 1;
+
+ // The Google Click ID.
+ google.protobuf.StringValue gclid = 2;
+
+ // The location criteria matching the area of interest associated with the
+ // impression.
+ google.ads.googleads.v1.common.ClickLocation area_of_interest = 3;
+
+ // The location criteria matching the location of presence associated with the
+ // impression.
+ google.ads.googleads.v1.common.ClickLocation location_of_presence = 4;
+
+ // Page number in search results where the ad was shown.
+ google.protobuf.Int64Value page_number = 5;
+}
diff --git a/google/ads/googleads/v1/resources/conversion_action.proto b/google/ads/googleads/v1/resources/conversion_action.proto
new file mode 100644
index 000000000..8fde41094
--- /dev/null
+++ b/google/ads/googleads/v1/resources/conversion_action.proto
@@ -0,0 +1,132 @@
+// 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/tag_snippet.proto";
+import "google/ads/googleads/v1/enums/attribution_model.proto";
+import "google/ads/googleads/v1/enums/conversion_action_category.proto";
+import "google/ads/googleads/v1/enums/conversion_action_counting_type.proto";
+import "google/ads/googleads/v1/enums/conversion_action_status.proto";
+import "google/ads/googleads/v1/enums/conversion_action_type.proto";
+import "google/ads/googleads/v1/enums/data_driven_model_status.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 = "ConversionActionProto";
+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 Conversion Action resource.
+
+// A conversion action.
+message ConversionAction {
+ // Settings related to this conversion action's attribution model.
+ message AttributionModelSettings {
+ // The attribution model type of this conversion action.
+ google.ads.googleads.v1.enums.AttributionModelEnum.AttributionModel attribution_model = 1;
+
+ // The status of the data-driven attribution model for the conversion
+ // action.
+ google.ads.googleads.v1.enums.DataDrivenModelStatusEnum.DataDrivenModelStatus data_driven_model_status = 2;
+ }
+
+ // Settings related to the value for conversion events associated with this
+ // conversion action.
+ message ValueSettings {
+ // The value to use when conversion events for this conversion action are
+ // sent with an invalid, disallowed or missing value, or when
+ // this conversion action is configured to always use the default value.
+ google.protobuf.DoubleValue default_value = 1;
+
+ // The currency code to use when conversion events for this conversion
+ // action are sent with an invalid or missing currency code, or when this
+ // conversion action is configured to always use the default value.
+ google.protobuf.StringValue default_currency_code = 2;
+
+ // Controls whether the default value and default currency code are used in
+ // place of the value and currency code specified in conversion events for
+ // this conversion action.
+ google.protobuf.BoolValue always_use_default_value = 3;
+ }
+
+ // The resource name of the conversion action.
+ // Conversion action resource names have the form:
+ //
+ // `customers/{customer_id}/conversionActions/{conversion_action_id}`
+ string resource_name = 1;
+
+ // The ID of the conversion action.
+ google.protobuf.Int64Value id = 2;
+
+ // The name of the conversion action.
+ //
+ // This field is required and should not be empty when creating new
+ // conversion actions.
+ google.protobuf.StringValue name = 3;
+
+ // The status of this conversion action for conversion event accrual.
+ google.ads.googleads.v1.enums.ConversionActionStatusEnum.ConversionActionStatus status = 4;
+
+ // The type of this conversion action.
+ google.ads.googleads.v1.enums.ConversionActionTypeEnum.ConversionActionType type = 5;
+
+ // The category of conversions reported for this conversion action.
+ google.ads.googleads.v1.enums.ConversionActionCategoryEnum.ConversionActionCategory category = 6;
+
+ // The resource name of the conversion action owner customer, or null if this
+ // is a system-defined conversion action.
+ google.protobuf.StringValue owner_customer = 7;
+
+ // Whether this conversion action should be included in the "conversions"
+ // metric.
+ google.protobuf.BoolValue include_in_conversions_metric = 8;
+
+ // The maximum number of days that may elapse between an interaction
+ // (e.g., a click) and a conversion event.
+ google.protobuf.Int64Value click_through_lookback_window_days = 9;
+
+ // The maximum number of days which may elapse between an impression and a
+ // conversion without an interaction.
+ google.protobuf.Int64Value view_through_lookback_window_days = 10;
+
+ // Settings related to the value for conversion events associated with this
+ // conversion action.
+ ValueSettings value_settings = 11;
+
+ // How to count conversion events for the conversion action.
+ google.ads.googleads.v1.enums.ConversionActionCountingTypeEnum.ConversionActionCountingType counting_type = 12;
+
+ // Settings related to this conversion action's attribution model.
+ AttributionModelSettings attribution_model_settings = 13;
+
+ // The snippets used for tracking conversions.
+ repeated google.ads.googleads.v1.common.TagSnippet tag_snippets = 14;
+
+ // The phone call duration in seconds after which a conversion should be
+ // reported for this conversion action.
+ //
+ // The value must be between 0 and 10000, inclusive.
+ google.protobuf.Int64Value phone_call_duration_seconds = 15;
+
+ // App ID for an app conversion action.
+ google.protobuf.StringValue app_id = 16;
+}
diff --git a/google/ads/googleads/v1/resources/custom_interest.proto b/google/ads/googleads/v1/resources/custom_interest.proto
new file mode 100644
index 000000000..4eacedd32
--- /dev/null
+++ b/google/ads/googleads/v1/resources/custom_interest.proto
@@ -0,0 +1,78 @@
+// 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/enums/custom_interest_member_type.proto";
+import "google/ads/googleads/v1/enums/custom_interest_status.proto";
+import "google/ads/googleads/v1/enums/custom_interest_type.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 = "CustomInterestProto";
+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 Custom Interest resource.
+
+// A custom interest. This is a list of users by interest.
+message CustomInterest {
+ // The resource name of the custom interest.
+ // Custom interest resource names have the form:
+ //
+ // `customers/{customer_id}/customInterests/{custom_interest_id}`
+ string resource_name = 1;
+
+ // Id of the custom interest.
+ google.protobuf.Int64Value id = 2;
+
+ // Status of this custom interest. Indicates whether the custom interest is
+ // enabled or removed.
+ google.ads.googleads.v1.enums.CustomInterestStatusEnum.CustomInterestStatus status = 3;
+
+ // Name of the custom interest. It should be unique across the same custom
+ // affinity audience.
+ // This field is required for create operations.
+ google.protobuf.StringValue name = 4;
+
+ // Type of the custom interest, CUSTOM_AFFINITY or CUSTOM_INTENT.
+ // By default the type is set to CUSTOM_AFFINITY.
+ google.ads.googleads.v1.enums.CustomInterestTypeEnum.CustomInterestType type = 5;
+
+ // Description of this custom interest audience.
+ google.protobuf.StringValue description = 6;
+
+ // List of custom interest members that this custom interest is composed of.
+ // Members can be added during CustomInterest creation. If members are
+ // presented in UPDATE operation, existing members will be overridden.
+ repeated CustomInterestMember members = 7;
+}
+
+// A member of custom interest audience. A member can be a keyword or url.
+// It is immutable, that is, it can only be created or removed but not changed.
+message CustomInterestMember {
+ // The type of custom interest member, KEYWORD or URL.
+ google.ads.googleads.v1.enums.CustomInterestMemberTypeEnum.CustomInterestMemberType member_type = 1;
+
+ // Keyword text when member_type is KEYWORD or URL string when
+ // member_type is URL.
+ google.protobuf.StringValue parameter = 2;
+}
diff --git a/google/ads/googleads/v1/resources/customer.proto b/google/ads/googleads/v1/resources/customer.proto
new file mode 100644
index 000000000..b5e550d99
--- /dev/null
+++ b/google/ads/googleads/v1/resources/customer.proto
@@ -0,0 +1,119 @@
+// 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/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 = "CustomerProto";
+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 Customer resource.
+
+// A customer.
+message Customer {
+ // The resource name of the customer.
+ // Customer resource names have the form:
+ //
+ // `customers/{customer_id}`
+ string resource_name = 1;
+
+ // The ID of the customer.
+ google.protobuf.Int64Value id = 3;
+
+ // Optional, non-unique descriptive name of the customer.
+ google.protobuf.StringValue descriptive_name = 4;
+
+ // The currency in which the account operates.
+ // A subset of the currency codes from the ISO 4217 standard is
+ // supported.
+ google.protobuf.StringValue currency_code = 5;
+
+ // The local timezone ID of the customer.
+ google.protobuf.StringValue time_zone = 6;
+
+ // The URL template for constructing a tracking URL out of parameters.
+ google.protobuf.StringValue tracking_url_template = 7;
+
+ // The URL template for appending params to the final URL
+ google.protobuf.StringValue final_url_suffix = 11;
+
+ // Whether auto-tagging is enabled for the customer.
+ google.protobuf.BoolValue auto_tagging_enabled = 8;
+
+ // Whether the Customer has a Partners program badge. If the Customer is not
+ // associated with the Partners program, this will be false. For more
+ // information, see https://support.google.com/partners/answer/3125774.
+ google.protobuf.BoolValue has_partners_badge = 9;
+
+ // Whether the customer is a manager.
+ google.protobuf.BoolValue manager = 12;
+
+ // Whether the customer is a test account.
+ google.protobuf.BoolValue test_account = 13;
+
+ // Call reporting setting for a customer.
+ CallReportingSetting call_reporting_setting = 10;
+
+ // Conversion tracking setting for a customer.
+ ConversionTrackingSetting conversion_tracking_setting = 14;
+
+ // Remarketing setting for a customer.
+ RemarketingSetting remarketing_setting = 15;
+}
+
+// Call reporting setting for a customer.
+message CallReportingSetting {
+ // Enable reporting of phone call events by redirecting them via Google
+ // System.
+ google.protobuf.BoolValue call_reporting_enabled = 1;
+
+ // Whether to enable call conversion reporting.
+ google.protobuf.BoolValue call_conversion_reporting_enabled = 2;
+
+ // Customer-level call conversion action to attribute a call conversion to.
+ // If not set a default conversion action is used. Only in effect when
+ // call_conversion_reporting_enabled is set to true.
+ google.protobuf.StringValue call_conversion_action = 9;
+}
+
+// A collection of customer-wide settings related to Google Ads Conversion
+// Tracking.
+message ConversionTrackingSetting {
+ // The conversion tracking id used for this account. This id is automatically
+ // assigned after any conversion tracking feature is used. If the customer
+ // doesn't use conversion tracking, this is 0. This field is read-only.
+ google.protobuf.Int64Value conversion_tracking_id = 1;
+
+ // The conversion tracking id of the customer's manager. This is set when the
+ // customer is opted into cross account conversion tracking, and it overrides
+ // conversion_tracking_id. This field can only be managed through the Google
+ // Ads UI. This field is read-only.
+ google.protobuf.Int64Value cross_account_conversion_tracking_id = 2;
+}
+
+// Remarketing setting for a customer.
+message RemarketingSetting {
+ // The Google global site tag.
+ google.protobuf.StringValue google_global_site_tag = 1;
+}
diff --git a/google/ads/googleads/v1/resources/customer_client.proto b/google/ads/googleads/v1/resources/customer_client.proto
new file mode 100644
index 000000000..92a6453f9
--- /dev/null
+++ b/google/ads/googleads/v1/resources/customer_client.proto
@@ -0,0 +1,55 @@
+// 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/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 = "CustomerClientProto";
+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 CustomerClient resource.
+
+// A link between the given customer and a client customer. CustomerClients only
+// exist for manager customers. All direct and indirect client customers are
+// included, as well as the manager itself.
+message CustomerClient {
+ // The resource name of the customer client.
+ // CustomerClient resource names have the form:
+ // `customers/{customer_id}/customerClients/{client_customer_id}`
+ string resource_name = 1;
+
+ // The resource name of the client-customer which is linked to
+ // the given customer. Read only.
+ google.protobuf.StringValue client_customer = 3;
+
+ // Specifies whether this is a hidden account. Learn more about hidden
+ // accounts <a
+ // href="https://support.google.com/google-ads/answer/7519830">here</a>. Read
+ // only.
+ google.protobuf.BoolValue hidden = 4;
+
+ // Distance between given customer and client. For self link, the level value
+ // will be 0. Read only.
+ google.protobuf.Int64Value level = 5;
+}
diff --git a/google/ads/googleads/v1/resources/customer_client_link.proto b/google/ads/googleads/v1/resources/customer_client_link.proto
new file mode 100644
index 000000000..77a72f2e8
--- /dev/null
+++ b/google/ads/googleads/v1/resources/customer_client_link.proto
@@ -0,0 +1,55 @@
+// 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/enums/manager_link_status.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 = "CustomerClientLinkProto";
+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 CustomerClientLink resource.
+
+// Represents customer client link relationship.
+message CustomerClientLink {
+ // Name of the resource.
+ // CustomerClientLink resource names have the form:
+ //
+ // `customers/{customer_id}/customerClientLinks/{client_customer_id}~{manager_link_id}`
+ string resource_name = 1;
+
+ // The client customer linked to this customer.
+ google.protobuf.StringValue client_customer = 3;
+
+ // This is uniquely identifies a customer client link. Read only.
+ google.protobuf.Int64Value manager_link_id = 4;
+
+ // This is the status of the link between client and manager.
+ google.ads.googleads.v1.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5;
+
+ // The visibility of the link. Users can choose whether or not to see hidden
+ // links in the AdWords UI.
+ // Default value is false
+ google.protobuf.BoolValue hidden = 6;
+}
diff --git a/google/ads/googleads/v1/resources/customer_extension_setting.proto b/google/ads/googleads/v1/resources/customer_extension_setting.proto
new file mode 100644
index 000000000..2cf041314
--- /dev/null
+++ b/google/ads/googleads/v1/resources/customer_extension_setting.proto
@@ -0,0 +1,54 @@
+// 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/enums/extension_setting_device.proto";
+import "google/ads/googleads/v1/enums/extension_type.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 = "CustomerExtensionSettingProto";
+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 CustomerExtensionSetting resource.
+
+// A customer extension setting.
+message CustomerExtensionSetting {
+ // The resource name of the customer extension setting.
+ // CustomerExtensionSetting resource names have the form:
+ //
+ // `customers/{customer_id}/customerExtensionSettings/{extension_type}`
+ string resource_name = 1;
+
+ // The extension type of the customer extension setting.
+ google.ads.googleads.v1.enums.ExtensionTypeEnum.ExtensionType extension_type = 2;
+
+ // The resource names of the extension feed items to serve under the customer.
+ // ExtensionFeedItem resource names have the form:
+ //
+ // `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
+ repeated google.protobuf.StringValue extension_feed_items = 3;
+
+ // The device for which the extensions will serve. Optional.
+ google.ads.googleads.v1.enums.ExtensionSettingDeviceEnum.ExtensionSettingDevice device = 4;
+}
diff --git a/google/ads/googleads/v1/resources/customer_feed.proto b/google/ads/googleads/v1/resources/customer_feed.proto
new file mode 100644
index 000000000..891f9683b
--- /dev/null
+++ b/google/ads/googleads/v1/resources/customer_feed.proto
@@ -0,0 +1,59 @@
+// 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/matching_function.proto";
+import "google/ads/googleads/v1/enums/feed_link_status.proto";
+import "google/ads/googleads/v1/enums/placeholder_type.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 = "CustomerFeedProto";
+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 CustomerFeed resource.
+
+// A customer feed.
+message CustomerFeed {
+ // The resource name of the customer feed.
+ // Customer feed resource names have the form:
+ //
+ // `customers/{customer_id}/customerFeeds/{feed_id}`
+ string resource_name = 1;
+
+ // The feed being linked to the customer.
+ google.protobuf.StringValue feed = 2;
+
+ // Indicates which placeholder types the feed may populate under the connected
+ // customer. Required.
+ repeated google.ads.googleads.v1.enums.PlaceholderTypeEnum.PlaceholderType placeholder_types = 3;
+
+ // Matching function associated with the CustomerFeed.
+ // The matching function is used to filter the set of feed items selected.
+ // Required.
+ google.ads.googleads.v1.common.MatchingFunction matching_function = 4;
+
+ // Status of the customer feed.
+ // This field is read-only.
+ google.ads.googleads.v1.enums.FeedLinkStatusEnum.FeedLinkStatus status = 5;
+}
diff --git a/google/ads/googleads/v1/resources/customer_label.proto b/google/ads/googleads/v1/resources/customer_label.proto
new file mode 100644
index 000000000..23436d86a
--- /dev/null
+++ b/google/ads/googleads/v1/resources/customer_label.proto
@@ -0,0 +1,51 @@
+// 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/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 = "CustomerLabelProto";
+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 customer label resource.
+
+// Represents a relationship between a customer and a label. This customer may
+// not have access to all the labels attached to it. Additional CustomerLabels
+// may be returned by increasing permissions with login-customer-id.
+message CustomerLabel {
+ // Name of the resource.
+ // Customer label resource names have the form:
+ // `customers/{customer_id}/customerLabels/{label_id}`
+ string resource_name = 1;
+
+ // The resource name of the customer to which the label is attached.
+ // Read only.
+ google.protobuf.StringValue customer = 2;
+
+ // The resource name of the label assigned to the customer.
+ //
+ // Note: the Customer ID portion of the label resource name is not
+ // validated when creating a new CustomerLabel.
+ google.protobuf.StringValue label = 3;
+}
diff --git a/google/ads/googleads/v1/resources/customer_manager_link.proto b/google/ads/googleads/v1/resources/customer_manager_link.proto
new file mode 100644
index 000000000..0cf7b8414
--- /dev/null
+++ b/google/ads/googleads/v1/resources/customer_manager_link.proto
@@ -0,0 +1,50 @@
+// 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/enums/manager_link_status.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 = "CustomerManagerLinkProto";
+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 CustomerManagerLink resource.
+
+// Represents customer-manager link relationship.
+message CustomerManagerLink {
+ // Name of the resource.
+ // CustomerManagerLink resource names have the form:
+ //
+ // `customers/{customer_id}/customerManagerLinks/{manager_customer_id}~{manager_link_id}`
+ string resource_name = 1;
+
+ // The manager customer linked to the customer.
+ google.protobuf.StringValue manager_customer = 3;
+
+ // ID of the customer-manager link. This field is read only.
+ google.protobuf.Int64Value manager_link_id = 4;
+
+ // Status of the link between the customer and the manager.
+ google.ads.googleads.v1.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5;
+}
diff --git a/google/ads/googleads/v1/resources/customer_negative_criterion.proto b/google/ads/googleads/v1/resources/customer_negative_criterion.proto
new file mode 100644
index 000000000..8ac449a90
--- /dev/null
+++ b/google/ads/googleads/v1/resources/customer_negative_criterion.proto
@@ -0,0 +1,71 @@
+// 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/enums/criterion_type.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 = "CustomerNegativeCriterionProto";
+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 Customer Negative Criterion resource.
+
+// A negative criterion for exclusions at the customer level.
+message CustomerNegativeCriterion {
+ // The resource name of the customer negative criterion.
+ // Customer negative criterion resource names have the form:
+ //
+ // `customers/{customer_id}/customerNegativeCriteria/{criterion_id}`
+ string resource_name = 1;
+
+ // The ID of the criterion.
+ google.protobuf.Int64Value id = 2;
+
+ // The type of the criterion.
+ google.ads.googleads.v1.enums.CriterionTypeEnum.CriterionType type = 3;
+
+ // The customer negative criterion.
+ //
+ // Exactly one must be set.
+ oneof criterion {
+ // ContentLabel.
+ google.ads.googleads.v1.common.ContentLabelInfo content_label = 4;
+
+ // MobileApplication.
+ google.ads.googleads.v1.common.MobileApplicationInfo mobile_application = 5;
+
+ // MobileAppCategory.
+ google.ads.googleads.v1.common.MobileAppCategoryInfo mobile_app_category = 6;
+
+ // Placement.
+ google.ads.googleads.v1.common.PlacementInfo placement = 7;
+
+ // YouTube Video.
+ google.ads.googleads.v1.common.YouTubeVideoInfo youtube_video = 8;
+
+ // YouTube Channel.
+ google.ads.googleads.v1.common.YouTubeChannelInfo youtube_channel = 9;
+ }
+}
diff --git a/google/ads/googleads/v1/resources/detail_placement_view.proto b/google/ads/googleads/v1/resources/detail_placement_view.proto
new file mode 100644
index 000000000..85ec76bdc
--- /dev/null
+++ b/google/ads/googleads/v1/resources/detail_placement_view.proto
@@ -0,0 +1,61 @@
+// 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/enums/placement_type.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 = "DetailPlacementViewProto";
+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::Services";
+// Proto file describing the detail placement view resource.
+
+// A view with metrics aggregated by ad group and URL or YouTube video.
+message DetailPlacementView {
+ // The resource name of the detail placement view.
+ // Detail placement view resource names have the form:
+ //
+ //
+ // `customers/{customer_id}/detailPlacementViews/{ad_group_id}~{base64_placement}`
+ string resource_name = 1;
+
+ // The automatic placement string at detail level, e. g. website URL, mobile
+ // application ID, or a YouTube video ID.
+ google.protobuf.StringValue placement = 2;
+
+ // The display name is URL name for websites, YouTube video name for YouTube
+ // videos, and translated mobile app name for mobile apps.
+ google.protobuf.StringValue display_name = 3;
+
+ // URL of the group placement, e.g. domain, link to the mobile application in
+ // app store, or a YouTube channel URL.
+ google.protobuf.StringValue group_placement_target_url = 4;
+
+ // URL of the placement, e.g. website, link to the mobile application in app
+ // store, or a YouTube video URL.
+ google.protobuf.StringValue target_url = 5;
+
+ // Type of the placement, e.g. Website, YouTube Video, and Mobile Application.
+ google.ads.googleads.v1.enums.PlacementTypeEnum.PlacementType placement_type = 6;
+}
diff --git a/google/ads/googleads/v1/resources/display_keyword_view.proto b/google/ads/googleads/v1/resources/display_keyword_view.proto
new file mode 100644
index 000000000..609777c83
--- /dev/null
+++ b/google/ads/googleads/v1/resources/display_keyword_view.proto
@@ -0,0 +1,39 @@
+// 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/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 = "DisplayKeywordViewProto";
+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 display keyword view resource.
+
+// A display keyword view.
+message DisplayKeywordView {
+ // The resource name of the display keyword view.
+ // Display Keyword view resource names have the form:
+ //
+ // `customers/{customer_id}/displayKeywordViews/{ad_group_id}~{criterion_id}`
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v1/resources/domain_category.proto b/google/ads/googleads/v1/resources/domain_category.proto
new file mode 100644
index 000000000..874bb07b2
--- /dev/null
+++ b/google/ads/googleads/v1/resources/domain_category.proto
@@ -0,0 +1,75 @@
+// 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/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 = "DomainCategoryProto";
+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 Domain Category resource.
+
+// A category generated automatically by crawling a domain. If a campaign uses
+// the DynamicSearchAdsSetting, then domain categories will be generated for
+// the domain. The categories can be targeted using WebpageConditionInfo.
+// See: https://support.google.com/google-ads/answer/2471185
+message DomainCategory {
+ // The resource name of the domain category.
+ // Domain category resource names have the form:
+ //
+ //
+ // `customers/{customer_id}/domainCategories/{campaign_id}~{category_base64}~{language_code}`
+ string resource_name = 1;
+
+ // The campaign this category is recommended for.
+ google.protobuf.StringValue campaign = 2;
+
+ // Recommended category for the website domain. e.g. if you have a website
+ // about electronics, the categories could be "cameras", "televisions", etc.
+ google.protobuf.StringValue category = 3;
+
+ // The language code specifying the language of the website. e.g. "en" for
+ // English. The language can be specified in the DynamicSearchAdsSetting
+ // required for dynamic search ads. This is the language of the pages from
+ // your website that you want Google Ads to find, create ads for,
+ // and match searches with.
+ google.protobuf.StringValue language_code = 4;
+
+ // The domain for the website. The domain can be specified in the
+ // DynamicSearchAdsSetting required for dynamic search ads.
+ google.protobuf.StringValue domain = 5;
+
+ // Fraction of pages on your site that this category matches.
+ google.protobuf.DoubleValue coverage_fraction = 6;
+
+ // The position of this category in the set of categories. Lower numbers
+ // indicate a better match for the domain. null indicates not recommended.
+ google.protobuf.Int64Value category_rank = 7;
+
+ // Indicates whether this category has sub-categories.
+ google.protobuf.BoolValue has_children = 8;
+
+ // The recommended cost per click for the category.
+ google.protobuf.Int64Value recommended_cpc_bid_micros = 9;
+}
diff --git a/google/ads/googleads/v1/resources/dynamic_search_ads_search_term_view.proto b/google/ads/googleads/v1/resources/dynamic_search_ads_search_term_view.proto
new file mode 100644
index 000000000..75eeb5ad4
--- /dev/null
+++ b/google/ads/googleads/v1/resources/dynamic_search_ads_search_term_view.proto
@@ -0,0 +1,61 @@
+// 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/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 = "DynamicSearchAdsSearchTermViewProto";
+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 Dynamic Search Ads Search Term View resource.
+
+// A dynamic search ads search term view.
+message DynamicSearchAdsSearchTermView {
+ // 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}`
+ string resource_name = 1;
+
+ // Search term
+ //
+ // This field is read-only.
+ google.protobuf.StringValue search_term = 2;
+
+ // The dynamically generated headline of the Dynamic Search Ad.
+ //
+ // This field is read-only.
+ google.protobuf.StringValue headline = 3;
+
+ // The dynamically selected landing page URL of the impression.
+ //
+ // This field is read-only.
+ google.protobuf.StringValue landing_page = 4;
+
+ // The URL of page feed item served for the impression.
+ //
+ // This field is read-only.
+ google.protobuf.StringValue page_url = 5;
+}
diff --git a/google/ads/googleads/v1/resources/extension_feed_item.proto b/google/ads/googleads/v1/resources/extension_feed_item.proto
new file mode 100644
index 000000000..7507e4786
--- /dev/null
+++ b/google/ads/googleads/v1/resources/extension_feed_item.proto
@@ -0,0 +1,84 @@
+// 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/extensions.proto";
+import "google/ads/googleads/v1/enums/feed_item_status.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 = "ExtensionFeedItemProto";
+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 ExtensionFeedItem resource.
+
+// An extension feed item.
+message ExtensionFeedItem {
+ // The resource name of the extension feed item.
+ // Extension feed item resource names have the form:
+ //
+ // `customers/{customer_id}/extensionFeedItems/{feed_item_id}`
+ string resource_name = 1;
+
+ // Start time in which this feed item is effective and can begin serving.
+ // The format is "YYYY-MM-DD HH:MM:SS".
+ // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ google.protobuf.StringValue start_date_time = 5;
+
+ // End time in which this feed item is no longer effective and will stop
+ // serving.
+ // The format is "YYYY-MM-DD HH:MM:SS".
+ // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ google.protobuf.StringValue end_date_time = 6;
+
+ // Status of the feed item.
+ // This field is read-only.
+ google.ads.googleads.v1.enums.FeedItemStatusEnum.FeedItemStatus status = 4;
+
+ // Extension type.
+ oneof extension {
+ // Sitelink extension.
+ google.ads.googleads.v1.common.SitelinkFeedItem sitelink_feed_item = 2;
+
+ // Structured snippet extension.
+ google.ads.googleads.v1.common.StructuredSnippetFeedItem structured_snippet_feed_item = 3;
+
+ // App extension.
+ google.ads.googleads.v1.common.AppFeedItem app_feed_item = 7;
+
+ // Call extension.
+ google.ads.googleads.v1.common.CallFeedItem call_feed_item = 8;
+
+ // Callout extension.
+ google.ads.googleads.v1.common.CalloutFeedItem callout_feed_item = 9;
+
+ // Text message extension.
+ google.ads.googleads.v1.common.TextMessageFeedItem text_message_feed_item = 10;
+
+ // Price extension.
+ google.ads.googleads.v1.common.PriceFeedItem price_feed_item = 11;
+
+ // Promotion extension.
+ google.ads.googleads.v1.common.PromotionFeedItem promotion_feed_item = 12;
+ }
+}
diff --git a/google/ads/googleads/v1/resources/feed.proto b/google/ads/googleads/v1/resources/feed.proto
new file mode 100644
index 000000000..1339271a6
--- /dev/null
+++ b/google/ads/googleads/v1/resources/feed.proto
@@ -0,0 +1,179 @@
+// 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/enums/affiliate_location_feed_relationship_type.proto";
+import "google/ads/googleads/v1/enums/feed_attribute_type.proto";
+import "google/ads/googleads/v1/enums/feed_origin.proto";
+import "google/ads/googleads/v1/enums/feed_status.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 = "FeedProto";
+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 Feed resource.
+
+// A feed.
+message Feed {
+ // Data used to configure a location feed populated from Google My Business
+ // Locations.
+ message PlacesLocationFeedData {
+ // Data used for authorization using OAuth.
+ message OAuthInfo {
+ // The HTTP method used to obtain authorization.
+ google.protobuf.StringValue http_method = 1;
+
+ // The HTTP request URL used to obtain authorization.
+ google.protobuf.StringValue http_request_url = 2;
+
+ // The HTTP authorization header used to obtain authorization.
+ google.protobuf.StringValue http_authorization_header = 3;
+ }
+
+ // Required authentication token (from OAuth API) for the email.
+ // This field can only be specified in a create request. All its subfields
+ // are not selectable.
+ OAuthInfo oauth_info = 1;
+
+ // Email address of a Google My Business account or email address of a
+ // manager of the Google My Business account. Required.
+ google.protobuf.StringValue email_address = 2;
+
+ // Plus page ID of the managed business whose locations should be used. If
+ // this field is not set, then all businesses accessible by the user
+ // (specified by email_address) are used.
+ // This field is mutate-only and is not selectable.
+ google.protobuf.StringValue business_account_id = 10;
+
+ // Used to filter Google My Business listings by business name. If
+ // business_name_filter is set, only listings with a matching business name
+ // are candidates to be sync'd into FeedItems.
+ google.protobuf.StringValue business_name_filter = 4;
+
+ // Used to filter Google My Business listings by categories. If entries
+ // exist in category_filters, only listings that belong to any of the
+ // categories are candidates to be sync'd into FeedItems. If no entries
+ // exist in category_filters, then all listings are candidates for syncing.
+ repeated google.protobuf.StringValue category_filters = 5;
+
+ // Used to filter Google My Business listings by labels. If entries exist in
+ // label_filters, only listings that has any of the labels set are
+ // candidates to be synchronized into FeedItems. If no entries exist in
+ // label_filters, then all listings are candidates for syncing.
+ repeated google.protobuf.StringValue label_filters = 6;
+ }
+
+ // Data used to configure an affiliate location feed populated with the
+ // specified chains.
+ message AffiliateLocationFeedData {
+ // The list of chains that the affiliate location feed will sync the
+ // locations from.
+ repeated google.protobuf.Int64Value chain_ids = 1;
+
+ // The relationship the chains have with the advertiser.
+ google.ads.googleads.v1.enums.AffiliateLocationFeedRelationshipTypeEnum.AffiliateLocationFeedRelationshipType relationship_type = 2;
+ }
+
+ // The resource name of the feed.
+ // Feed resource names have the form:
+ //
+ // `customers/{customer_id}/feeds/{feed_id}`
+ string resource_name = 1;
+
+ // The ID of the feed.
+ // This field is read-only.
+ google.protobuf.Int64Value id = 2;
+
+ // Name of the feed. Required.
+ google.protobuf.StringValue name = 3;
+
+ // The Feed's attributes. Required on CREATE.
+ // Disallowed on UPDATE. Use attribute_operations to add new attributes.
+ repeated FeedAttribute attributes = 4;
+
+ // The list of operations changing the feed attributes. Attributes can only
+ // be added, not removed.
+ repeated FeedAttributeOperation attribute_operations = 9;
+
+ // Specifies who manages the FeedAttributes for the Feed.
+ google.ads.googleads.v1.enums.FeedOriginEnum.FeedOrigin origin = 5;
+
+ // Status of the feed.
+ // This field is read-only.
+ google.ads.googleads.v1.enums.FeedStatusEnum.FeedStatus status = 8;
+
+ // The system data for the Feed. This data specifies information for
+ // generating the feed items of the system generated feed.
+ oneof system_feed_generation_data {
+ // Data used to configure a location feed populated from Google My Business
+ // Locations.
+ PlacesLocationFeedData places_location_feed_data = 6;
+
+ // Data used to configure an affiliate location feed populated with
+ // the specified chains.
+ AffiliateLocationFeedData affiliate_location_feed_data = 7;
+ }
+}
+
+// FeedAttributes define the types of data expected to be present in a Feed. A
+// single FeedAttribute specifies the expected type of the FeedItemAttributes
+// with the same FeedAttributeId. Optionally, a FeedAttribute can be marked as
+// being part of a FeedItem's unique key.
+message FeedAttribute {
+ // ID of the attribute.
+ google.protobuf.Int64Value id = 1;
+
+ // The name of the attribute. Required.
+ google.protobuf.StringValue name = 2;
+
+ // Data type for feed attribute. Required.
+ google.ads.googleads.v1.enums.FeedAttributeTypeEnum.FeedAttributeType type = 3;
+
+ // Indicates that data corresponding to this attribute is part of a
+ // FeedItem's unique key. It defaults to false if it is unspecified. Note
+ // that a unique key is not required in a Feed's schema, in which case the
+ // FeedItems must be referenced by their feed_item_id.
+ google.protobuf.BoolValue is_part_of_key = 4;
+}
+
+// Operation to be performed on a feed attribute list in a mutate.
+message FeedAttributeOperation {
+ // The operator.
+ enum Operator {
+ // Unspecified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Add the attribute to the existing attributes.
+ ADD = 2;
+ }
+
+ // Type of list operation to perform.
+ Operator operator = 1;
+
+ // The feed attribute being added to the list.
+ FeedAttribute value = 2;
+}
diff --git a/google/ads/googleads/v1/resources/feed_item.proto b/google/ads/googleads/v1/resources/feed_item.proto
new file mode 100644
index 000000000..4db8689e9
--- /dev/null
+++ b/google/ads/googleads/v1/resources/feed_item.proto
@@ -0,0 +1,196 @@
+// 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/custom_parameter.proto";
+import "google/ads/googleads/v1/common/feed_common.proto";
+import "google/ads/googleads/v1/common/policy.proto";
+import "google/ads/googleads/v1/enums/feed_item_quality_approval_status.proto";
+import "google/ads/googleads/v1/enums/feed_item_quality_disapproval_reason.proto";
+import "google/ads/googleads/v1/enums/feed_item_status.proto";
+import "google/ads/googleads/v1/enums/feed_item_validation_status.proto";
+import "google/ads/googleads/v1/enums/geo_targeting_restriction.proto";
+import "google/ads/googleads/v1/enums/policy_approval_status.proto";
+import "google/ads/googleads/v1/enums/policy_review_status.proto";
+import "google/ads/googleads/v1/errors/feed_item_validation_error.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 = "FeedItemProto";
+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 FeedItem resource.
+
+// A feed item.
+message FeedItem {
+ // The resource name of the feed item.
+ // Feed item resource names have the form:
+ //
+ // `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}`
+ string resource_name = 1;
+
+ // The feed to which this feed item belongs.
+ google.protobuf.StringValue feed = 2;
+
+ // The ID of this feed item.
+ google.protobuf.Int64Value id = 3;
+
+ // Start time in which this feed item is effective and can begin serving.
+ // The format is "YYYY-MM-DD HH:MM:SS".
+ // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ google.protobuf.StringValue start_date_time = 4;
+
+ // End time in which this feed item is no longer effective and will stop
+ // serving.
+ // The format is "YYYY-MM-DD HH:MM:SS".
+ // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
+ google.protobuf.StringValue end_date_time = 5;
+
+ // The feed item's attribute values.
+ repeated FeedItemAttributeValue attribute_values = 6;
+
+ // Geo targeting restriction specifies the type of location that can be used
+ // for targeting.
+ google.ads.googleads.v1.enums.GeoTargetingRestrictionEnum.GeoTargetingRestriction geo_targeting_restriction = 7;
+
+ // The list of mappings used to substitute custom parameter tags in a
+ // `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+ repeated google.ads.googleads.v1.common.CustomParameter url_custom_parameters = 8;
+
+ // Status of the feed item.
+ // This field is read-only.
+ google.ads.googleads.v1.enums.FeedItemStatusEnum.FeedItemStatus status = 9;
+
+ // List of info about a feed item's validation and approval state for active
+ // feed mappings. There will be an entry in the list for each type of feed
+ // mapping associated with the feed, e.g. a feed with a sitelink and a call
+ // feed mapping would cause every feed item associated with that feed to have
+ // an entry in this list for both sitelink and call.
+ // This field is read-only.
+ repeated FeedItemPlaceholderPolicyInfo policy_infos = 10;
+}
+
+// A feed item attribute value.
+message FeedItemAttributeValue {
+ // Id of the feed attribute for which the value is associated with.
+ google.protobuf.Int64Value feed_attribute_id = 1;
+
+ // Int64 value. Should be set if feed_attribute_id refers to a feed attribute
+ // of type INT64.
+ google.protobuf.Int64Value integer_value = 2;
+
+ // Bool value. Should be set if feed_attribute_id refers to a feed attribute
+ // of type BOOLEAN.
+ google.protobuf.BoolValue boolean_value = 3;
+
+ // String value. Should be set if feed_attribute_id refers to a feed attribute
+ // of type STRING, URL or DATE_TIME.
+ // For STRING the maximum length is 1500 characters. For URL the maximum
+ // length is 2076 characters. For DATE_TIME the format of the string must
+ // be the same as start and end time for the feed item.
+ google.protobuf.StringValue string_value = 4;
+
+ // Double value. Should be set if feed_attribute_id refers to a feed attribute
+ // of type DOUBLE.
+ google.protobuf.DoubleValue double_value = 5;
+
+ // Price value. Should be set if feed_attribute_id refers to a feed attribute
+ // of type PRICE.
+ google.ads.googleads.v1.common.Money price_value = 6;
+
+ // Repeated int64 value. Should be set if feed_attribute_id refers to a feed
+ // attribute of type INT64_LIST.
+ repeated google.protobuf.Int64Value integer_values = 7;
+
+ // Repeated bool value. Should be set if feed_attribute_id refers to a feed
+ // attribute of type BOOLEAN_LIST.
+ repeated google.protobuf.BoolValue boolean_values = 8;
+
+ // Repeated string value. Should be set if feed_attribute_id refers to a feed
+ // attribute of type STRING_LIST, URL_LIST or DATE_TIME_LIST.
+ // For STRING_LIST and URL_LIST the total size of the list in bytes may not
+ // exceed 3000. For DATE_TIME_LIST the number of elements may not exceed 200.
+ //
+ // For STRING_LIST the maximum length of each string element is 1500
+ // characters. For URL_LIST the maximum length is 2076 characters. For
+ // DATE_TIME the format of the string must be the same as start and end time
+ // for the feed item.
+ repeated google.protobuf.StringValue string_values = 9;
+
+ // Repeated double value. Should be set if feed_attribute_id refers to a feed
+ // attribute of type DOUBLE_LIST.
+ repeated google.protobuf.DoubleValue double_values = 10;
+}
+
+// Policy, validation, and quality approval info for a feed item for the
+// specified placeholder type.
+message FeedItemPlaceholderPolicyInfo {
+ // The placeholder type.
+ google.protobuf.Int32Value placeholder_type = 1;
+
+ // The FeedMapping that contains the placeholder type.
+ google.protobuf.StringValue feed_mapping_resource_name = 2;
+
+ // Where the placeholder type is in the review process.
+ google.ads.googleads.v1.enums.PolicyReviewStatusEnum.PolicyReviewStatus review_status = 3;
+
+ // The overall approval status of the placeholder type, calculated based on
+ // the status of its individual policy topic entries.
+ google.ads.googleads.v1.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 4;
+
+ // The list of policy findings for the placeholder type.
+ repeated google.ads.googleads.v1.common.PolicyTopicEntry policy_topic_entries = 5;
+
+ // The validation status of the palceholder type.
+ google.ads.googleads.v1.enums.FeedItemValidationStatusEnum.FeedItemValidationStatus validation_status = 6;
+
+ // List of placeholder type validation errors.
+ repeated FeedItemValidationError validation_errors = 7;
+
+ // Placeholder type quality evaluation approval status.
+ google.ads.googleads.v1.enums.FeedItemQualityApprovalStatusEnum.FeedItemQualityApprovalStatus quality_approval_status = 8;
+
+ // List of placeholder type quality evaluation disapproval reasons.
+ repeated google.ads.googleads.v1.enums.FeedItemQualityDisapprovalReasonEnum.FeedItemQualityDisapprovalReason quality_disapproval_reasons = 9;
+}
+
+// Stores a validation error and the set of offending feed attributes which
+// together are responsible for causing a feed item validation error.
+message FeedItemValidationError {
+ // Error code indicating what validation error was triggered. The description
+ // of the error can be found in the 'description' field.
+ google.ads.googleads.v1.errors.FeedItemValidationErrorEnum.FeedItemValidationError validation_error = 1;
+
+ // The description of the validation error.
+ google.protobuf.StringValue description = 2;
+
+ // Set of feed attributes in the feed item flagged during validation. If
+ // empty, no specific feed attributes can be associated with the error
+ // (e.g. error across the entire feed item).
+ repeated google.protobuf.Int64Value feed_attribute_ids = 3;
+
+ // Any extra information related to this error which is not captured by
+ // validation_error and feed_attribute_id (e.g. placeholder field IDs when
+ // feed_attribute_id is not mapped). Note that extra_info is not localized.
+ google.protobuf.StringValue extra_info = 5;
+}
diff --git a/google/ads/googleads/v1/resources/feed_item_target.proto b/google/ads/googleads/v1/resources/feed_item_target.proto
new file mode 100644
index 000000000..758705e28
--- /dev/null
+++ b/google/ads/googleads/v1/resources/feed_item_target.proto
@@ -0,0 +1,73 @@
+// 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/enums/feed_item_target_device.proto";
+import "google/ads/googleads/v1/enums/feed_item_target_type.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 = "FeedItemTargetProto";
+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 FeedItemTarget resource.
+
+// A feed item target.
+message FeedItemTarget {
+ // The resource name of the feed item target.
+ // Feed item target resource names have the form:
+ //
+ // `customers/{customer_id}/feedItemTargets/{feed_id}~{feed_item_id}~{feed_item_target_type}~{feed_item_target_id}`
+ string resource_name = 1;
+
+ // The feed item to which this feed item target belongs.
+ google.protobuf.StringValue feed_item = 2;
+
+ // The target type of this feed item target. This field is read-only.
+ google.ads.googleads.v1.enums.FeedItemTargetTypeEnum.FeedItemTargetType feed_item_target_type = 3;
+
+ // The ID of the targeted resource. This field is read-only.
+ google.protobuf.Int64Value feed_item_target_id = 6;
+
+ // The targeted resource.
+ oneof target {
+ // The targeted campaign.
+ google.protobuf.StringValue campaign = 4;
+
+ // The targeted ad group.
+ google.protobuf.StringValue ad_group = 5;
+
+ // The targeted keyword.
+ google.ads.googleads.v1.common.KeywordInfo keyword = 7;
+
+ // The targeted geo target constant resource name.
+ google.protobuf.StringValue geo_target_constant = 8;
+
+ // The targeted device.
+ google.ads.googleads.v1.enums.FeedItemTargetDeviceEnum.FeedItemTargetDevice device = 9;
+
+ // The targeted schedule.
+ google.ads.googleads.v1.common.AdScheduleInfo ad_schedule = 10;
+ }
+}
diff --git a/google/ads/googleads/v1/resources/feed_mapping.proto b/google/ads/googleads/v1/resources/feed_mapping.proto
new file mode 100644
index 000000000..75c83e381
--- /dev/null
+++ b/google/ads/googleads/v1/resources/feed_mapping.proto
@@ -0,0 +1,169 @@
+// 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/enums/ad_customizer_placeholder_field.proto";
+import "google/ads/googleads/v1/enums/affiliate_location_placeholder_field.proto";
+import "google/ads/googleads/v1/enums/app_placeholder_field.proto";
+import "google/ads/googleads/v1/enums/call_placeholder_field.proto";
+import "google/ads/googleads/v1/enums/callout_placeholder_field.proto";
+import "google/ads/googleads/v1/enums/custom_placeholder_field.proto";
+import "google/ads/googleads/v1/enums/dsa_page_feed_criterion_field.proto";
+import "google/ads/googleads/v1/enums/education_placeholder_field.proto";
+import "google/ads/googleads/v1/enums/feed_mapping_criterion_type.proto";
+import "google/ads/googleads/v1/enums/feed_mapping_status.proto";
+import "google/ads/googleads/v1/enums/flight_placeholder_field.proto";
+import "google/ads/googleads/v1/enums/hotel_placeholder_field.proto";
+import "google/ads/googleads/v1/enums/job_placeholder_field.proto";
+import "google/ads/googleads/v1/enums/local_placeholder_field.proto";
+import "google/ads/googleads/v1/enums/location_extension_targeting_criterion_field.proto";
+import "google/ads/googleads/v1/enums/location_placeholder_field.proto";
+import "google/ads/googleads/v1/enums/message_placeholder_field.proto";
+import "google/ads/googleads/v1/enums/placeholder_type.proto";
+import "google/ads/googleads/v1/enums/price_placeholder_field.proto";
+import "google/ads/googleads/v1/enums/promotion_placeholder_field.proto";
+import "google/ads/googleads/v1/enums/real_estate_placeholder_field.proto";
+import "google/ads/googleads/v1/enums/sitelink_placeholder_field.proto";
+import "google/ads/googleads/v1/enums/structured_snippet_placeholder_field.proto";
+import "google/ads/googleads/v1/enums/travel_placeholder_field.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 = "FeedMappingProto";
+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 FeedMapping resource.
+
+// A feed mapping.
+message FeedMapping {
+ // The resource name of the feed mapping.
+ // Feed mapping resource names have the form:
+ //
+ // `customers/{customer_id}/feedMappings/{feed_id}~{feed_mapping_id}`
+ string resource_name = 1;
+
+ // The feed of this feed mapping.
+ google.protobuf.StringValue feed = 2;
+
+ // Feed attributes to field mappings. These mappings are a one-to-many
+ // relationship meaning that 1 feed attribute can be used to populate
+ // multiple placeholder fields, but 1 placeholder field can only draw
+ // data from 1 feed attribute. Ad Customizer is an exception, 1 placeholder
+ // field can be mapped to multiple feed attributes. Required.
+ repeated AttributeFieldMapping attribute_field_mappings = 5;
+
+ // Status of the feed mapping.
+ // This field is read-only.
+ google.ads.googleads.v1.enums.FeedMappingStatusEnum.FeedMappingStatus status = 6;
+
+ // Feed mapping target. Can be either a placeholder or a criterion. For a
+ // given feed, the active FeedMappings must have unique targets. Required.
+ oneof target {
+ // The placeholder type of this mapping (i.e., if the mapping maps feed
+ // attributes to placeholder fields).
+ google.ads.googleads.v1.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 3;
+
+ // The criterion type of this mapping (i.e., if the mapping maps feed
+ // attributes to criterion fields).
+ google.ads.googleads.v1.enums.FeedMappingCriterionTypeEnum.FeedMappingCriterionType criterion_type = 4;
+ }
+}
+
+// Maps from feed attribute id to a placeholder or criterion field id.
+message AttributeFieldMapping {
+ // Feed attribute from which to map.
+ google.protobuf.Int64Value feed_attribute_id = 1;
+
+ // The placeholder field ID. If a placeholder field enum is not published in
+ // the current API version, then this field will be populated and the field
+ // oneof will be empty.
+ // This field is read-only.
+ google.protobuf.Int64Value field_id = 2;
+
+ // Placeholder or criterion field to be populated using data from
+ // the above feed attribute. Required.
+ oneof field {
+ // Sitelink Placeholder Fields.
+ google.ads.googleads.v1.enums.SitelinkPlaceholderFieldEnum.SitelinkPlaceholderField sitelink_field = 3;
+
+ // Call Placeholder Fields.
+ google.ads.googleads.v1.enums.CallPlaceholderFieldEnum.CallPlaceholderField call_field = 4;
+
+ // App Placeholder Fields.
+ google.ads.googleads.v1.enums.AppPlaceholderFieldEnum.AppPlaceholderField app_field = 5;
+
+ // Location Placeholder Fields. This field is read-only.
+ google.ads.googleads.v1.enums.LocationPlaceholderFieldEnum.LocationPlaceholderField location_field = 6;
+
+ // Affiliate Location Placeholder Fields. This field is read-only.
+ google.ads.googleads.v1.enums.AffiliateLocationPlaceholderFieldEnum.AffiliateLocationPlaceholderField affiliate_location_field = 7;
+
+ // Callout Placeholder Fields.
+ google.ads.googleads.v1.enums.CalloutPlaceholderFieldEnum.CalloutPlaceholderField callout_field = 8;
+
+ // Structured Snippet Placeholder Fields.
+ google.ads.googleads.v1.enums.StructuredSnippetPlaceholderFieldEnum.StructuredSnippetPlaceholderField structured_snippet_field = 9;
+
+ // Message Placeholder Fields.
+ google.ads.googleads.v1.enums.MessagePlaceholderFieldEnum.MessagePlaceholderField message_field = 10;
+
+ // Price Placeholder Fields.
+ google.ads.googleads.v1.enums.PricePlaceholderFieldEnum.PricePlaceholderField price_field = 11;
+
+ // Promotion Placeholder Fields.
+ google.ads.googleads.v1.enums.PromotionPlaceholderFieldEnum.PromotionPlaceholderField promotion_field = 12;
+
+ // Ad Customizer Placeholder Fields
+ google.ads.googleads.v1.enums.AdCustomizerPlaceholderFieldEnum.AdCustomizerPlaceholderField ad_customizer_field = 13;
+
+ // Dynamic Search Ad Page Feed Fields.
+ google.ads.googleads.v1.enums.DsaPageFeedCriterionFieldEnum.DsaPageFeedCriterionField dsa_page_feed_field = 14;
+
+ // Location Target Fields.
+ google.ads.googleads.v1.enums.LocationExtensionTargetingCriterionFieldEnum.LocationExtensionTargetingCriterionField location_extension_targeting_field = 15;
+
+ // Education Placeholder Fields
+ google.ads.googleads.v1.enums.EducationPlaceholderFieldEnum.EducationPlaceholderField education_field = 16;
+
+ // Flight Placeholder Fields
+ google.ads.googleads.v1.enums.FlightPlaceholderFieldEnum.FlightPlaceholderField flight_field = 17;
+
+ // Custom Placeholder Fields
+ google.ads.googleads.v1.enums.CustomPlaceholderFieldEnum.CustomPlaceholderField custom_field = 18;
+
+ // Hotel Placeholder Fields
+ google.ads.googleads.v1.enums.HotelPlaceholderFieldEnum.HotelPlaceholderField hotel_field = 19;
+
+ // Real Estate Placeholder Fields
+ google.ads.googleads.v1.enums.RealEstatePlaceholderFieldEnum.RealEstatePlaceholderField real_estate_field = 20;
+
+ // Travel Placeholder Fields
+ google.ads.googleads.v1.enums.TravelPlaceholderFieldEnum.TravelPlaceholderField travel_field = 21;
+
+ // Local Placeholder Fields
+ google.ads.googleads.v1.enums.LocalPlaceholderFieldEnum.LocalPlaceholderField local_field = 22;
+
+ // Job Placeholder Fields
+ google.ads.googleads.v1.enums.JobPlaceholderFieldEnum.JobPlaceholderField job_field = 23;
+ }
+}
diff --git a/google/ads/googleads/v1/resources/feed_placeholder_view.proto b/google/ads/googleads/v1/resources/feed_placeholder_view.proto
new file mode 100644
index 000000000..f70f40a12
--- /dev/null
+++ b/google/ads/googleads/v1/resources/feed_placeholder_view.proto
@@ -0,0 +1,43 @@
+// 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/enums/placeholder_type.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 = "FeedPlaceholderViewProto";
+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 FeedPlaceholderView resource.
+
+// A feed placeholder view.
+message FeedPlaceholderView {
+ // The resource name of the feed placeholder view.
+ // Feed placeholder view resource names have the form:
+ //
+ // `customers/{customer_id}/feedPlaceholderViews/{placeholder_type}`
+ string resource_name = 1;
+
+ // The placeholder type of the feed placeholder view.
+ google.ads.googleads.v1.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 2;
+}
diff --git a/google/ads/googleads/v1/resources/gender_view.proto b/google/ads/googleads/v1/resources/gender_view.proto
new file mode 100644
index 000000000..80ecf85dc
--- /dev/null
+++ b/google/ads/googleads/v1/resources/gender_view.proto
@@ -0,0 +1,39 @@
+// 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/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 = "GenderViewProto";
+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 gender view resource.
+
+// A gender view.
+message GenderView {
+ // The resource name of the gender view.
+ // Gender view resource names have the form:
+ //
+ // `customers/{customer_id}/genderViews/{ad_group_id}~{criterion_id}`
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v1/resources/geo_target_constant.proto b/google/ads/googleads/v1/resources/geo_target_constant.proto
new file mode 100644
index 000000000..3ce652019
--- /dev/null
+++ b/google/ads/googleads/v1/resources/geo_target_constant.proto
@@ -0,0 +1,60 @@
+// 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/enums/geo_target_constant_status.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 = "GeoTargetConstantProto";
+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 geo target constant resource.
+
+// A geo target constant.
+message GeoTargetConstant {
+ // The resource name of the geo target constant.
+ // Geo target constant resource names have the form:
+ //
+ // `geoTargetConstants/{geo_target_constant_id}`
+ string resource_name = 1;
+
+ // The ID of the geo target constant.
+ google.protobuf.Int64Value id = 3;
+
+ // Geo target constant English name.
+ google.protobuf.StringValue name = 4;
+
+ // The ISO-3166-1 alpha-2 country code that is associated with the target.
+ google.protobuf.StringValue country_code = 5;
+
+ // Geo target constant target type.
+ google.protobuf.StringValue target_type = 6;
+
+ // Geo target constant status.
+ google.ads.googleads.v1.enums.GeoTargetConstantStatusEnum.GeoTargetConstantStatus status = 7;
+
+ // The fully qualified English name, consisting of the target's name and that
+ // of its parent and country.
+ google.protobuf.StringValue canonical_name = 8;
+}
diff --git a/google/ads/googleads/v1/resources/geographic_view.proto b/google/ads/googleads/v1/resources/geographic_view.proto
new file mode 100644
index 000000000..97c04d766
--- /dev/null
+++ b/google/ads/googleads/v1/resources/geographic_view.proto
@@ -0,0 +1,53 @@
+// 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/enums/geo_targeting_type.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 = "GeographicViewProto";
+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 geographic view resource.
+
+// A geographic view.
+//
+// Geographic View includes all metrics aggregated at the country level,
+// one row per country. It reports metrics at either actual physical location of
+// the user or an area of interest. If other segment fields are used, you may
+// get more than one row per country.
+message GeographicView {
+ // The resource name of the geographic view.
+ // Geographic view resource names have the form:
+ //
+ //
+ // `customers/{customer_id}/geographicViews/{country_criterion_id}~{location_type}`
+ string resource_name = 1;
+
+ // CriterionId for the geo target for a country.
+ google.protobuf.StringValue country_geo_target_constant = 2;
+
+ // Type of the geo targeting of the campaign.
+ google.ads.googleads.v1.enums.GeoTargetingTypeEnum.GeoTargetingType location_type = 3;
+}
diff --git a/google/ads/googleads/v1/resources/google_ads_field.proto b/google/ads/googleads/v1/resources/google_ads_field.proto
new file mode 100644
index 000000000..edf922acc
--- /dev/null
+++ b/google/ads/googleads/v1/resources/google_ads_field.proto
@@ -0,0 +1,106 @@
+// 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/enums/google_ads_field_category.proto";
+import "google/ads/googleads/v1/enums/google_ads_field_data_type.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 = "GoogleAdsFieldProto";
+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 Google Ads Field resource.
+
+// A field or resource (artifact) used by GoogleAdsService.
+message GoogleAdsField {
+ // The resource name of the artifact.
+ // Artifact resource names have the form:
+ //
+ // `googleAdsFields/{name}`
+ string resource_name = 1;
+
+ // The name of the artifact.
+ google.protobuf.StringValue name = 2;
+
+ // The category of the artifact.
+ google.ads.googleads.v1.enums.GoogleAdsFieldCategoryEnum.GoogleAdsFieldCategory category = 3;
+
+ // Whether the artifact can be used in a SELECT clause in search
+ // queries.
+ google.protobuf.BoolValue selectable = 4;
+
+ // Whether the artifact can be used in a WHERE clause in search
+ // queries.
+ google.protobuf.BoolValue filterable = 5;
+
+ // Whether the artifact can be used in a ORDER BY clause in search
+ // queries.
+ google.protobuf.BoolValue sortable = 6;
+
+ // The names of all resources, segments, and metrics that are selectable with
+ // the described artifact.
+ repeated google.protobuf.StringValue selectable_with = 7;
+
+ // The names of all resources that are selectable with the described
+ // artifact. Fields from these resources do not segment metrics when included
+ // in search queries.
+ //
+ // This field is only set for artifacts whose category is RESOURCE.
+ repeated google.protobuf.StringValue attribute_resources = 8;
+
+ // At and beyond version V1 this field lists the names of all metrics that are
+ // selectable with the described artifact when it is used in the FROM clause.
+ // It is only set for artifacts whose category is RESOURCE.
+ //
+ // Before version V1 this field lists the names of all metrics that are
+ // selectable with the described artifact. It is only set for artifacts whose
+ // category is either RESOURCE or SEGMENT
+ repeated google.protobuf.StringValue metrics = 9;
+
+ // At and beyond version V1 this field lists the names of all artifacts,
+ // whether a segment or another resource, that segment metrics when included
+ // in search queries and when the described artifact is used in the FROM
+ // clause. It is only set for artifacts whose category is RESOURCE.
+ //
+ // Before version V1 this field lists the names of all artifacts, whether a
+ // segment or another resource, that segment metrics when included in search
+ // queries. It is only set for artifacts of category RESOURCE, SEGMENT or
+ // METRIC.
+ repeated google.protobuf.StringValue segments = 10;
+
+ // Values the artifact can assume if it is a field of type ENUM.
+ //
+ // This field is only set for artifacts of category SEGMENT or ATTRIBUTE.
+ repeated google.protobuf.StringValue enum_values = 11;
+
+ // This field determines the operators that can be used with the artifact
+ // in WHERE clauses.
+ google.ads.googleads.v1.enums.GoogleAdsFieldDataTypeEnum.GoogleAdsFieldDataType data_type = 12;
+
+ // The URL of proto describing the artifact's data type.
+ google.protobuf.StringValue type_url = 13;
+
+ // Whether the field artifact is repeated.
+ google.protobuf.BoolValue is_repeated = 14;
+}
diff --git a/google/ads/googleads/v1/resources/group_placement_view.proto b/google/ads/googleads/v1/resources/group_placement_view.proto
new file mode 100644
index 000000000..ae23c17f8
--- /dev/null
+++ b/google/ads/googleads/v1/resources/group_placement_view.proto
@@ -0,0 +1,56 @@
+// 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/enums/placement_type.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 = "GroupPlacementViewProto";
+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::Services";
+// Proto file describing the group placement view resource.
+
+// A group placement view.
+message GroupPlacementView {
+ // The resource name of the group placement view.
+ // Group placement view resource names have the form:
+ //
+ //
+ // `customers/{customer_id}/groupPlacementViews/{ad_group_id}~{base64_placement}`
+ string resource_name = 1;
+
+ // The automatic placement string at group level, e. g. web domain, mobile
+ // app ID, or a YouTube channel ID.
+ google.protobuf.StringValue placement = 2;
+
+ // Domain name for websites and YouTube channel name for YouTube channels.
+ google.protobuf.StringValue display_name = 3;
+
+ // URL of the group placement, e.g. domain, link to the mobile application in
+ // app store, or a YouTube channel URL.
+ google.protobuf.StringValue target_url = 4;
+
+ // Type of the placement, e.g. Website, YouTube Channel, Mobile Application.
+ google.ads.googleads.v1.enums.PlacementTypeEnum.PlacementType placement_type = 5;
+}
diff --git a/google/ads/googleads/v1/resources/hotel_group_view.proto b/google/ads/googleads/v1/resources/hotel_group_view.proto
new file mode 100644
index 000000000..53c188fce
--- /dev/null
+++ b/google/ads/googleads/v1/resources/hotel_group_view.proto
@@ -0,0 +1,39 @@
+// 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/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 = "HotelGroupViewProto";
+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 hotel group view resource.
+
+// A hotel group view.
+message HotelGroupView {
+ // The resource name of the hotel group view.
+ // Hotel Group view resource names have the form:
+ //
+ // `customers/{customer_id}/hotelGroupViews/{ad_group_id}~{criterion_id}`
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v1/resources/hotel_performance_view.proto b/google/ads/googleads/v1/resources/hotel_performance_view.proto
new file mode 100644
index 000000000..992313779
--- /dev/null
+++ b/google/ads/googleads/v1/resources/hotel_performance_view.proto
@@ -0,0 +1,39 @@
+// 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/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 = "HotelPerformanceViewProto";
+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 hotel performance view resource.
+
+// A hotel performance view.
+message HotelPerformanceView {
+ // The resource name of the hotel performance view.
+ // Hotel performance view resource names have the form:
+ //
+ // `customers/{customer_id}/hotelPerformanceView`
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v1/resources/keyword_plan.proto b/google/ads/googleads/v1/resources/keyword_plan.proto
new file mode 100644
index 000000000..71d629481
--- /dev/null
+++ b/google/ads/googleads/v1/resources/keyword_plan.proto
@@ -0,0 +1,70 @@
+// 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/dates.proto";
+import "google/ads/googleads/v1/enums/keyword_plan_forecast_interval.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 = "KeywordPlanProto";
+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 keyword plan resource.
+
+// A Keyword Planner plan.
+// Max number of saved keyword plans: 10000.
+// It's possible to remove plans if limit is reached.
+message KeywordPlan {
+ // The resource name of the Keyword Planner plan.
+ // KeywordPlan resource names have the form:
+ //
+ // `customers/{customer_id}/keywordPlans/{kp_plan_id}`
+ string resource_name = 1;
+
+ // The ID of the keyword plan.
+ google.protobuf.Int64Value id = 2;
+
+ // The name of the keyword plan.
+ //
+ // This field is required and should not be empty when creating new keyword
+ // plans.
+ google.protobuf.StringValue name = 3;
+
+ // The date period used for forecasting the plan.
+ KeywordPlanForecastPeriod forecast_period = 4;
+}
+
+// The forecasting period associated with the keyword plan.
+message KeywordPlanForecastPeriod {
+ // Required. The date used for forecasting the Plan.
+ oneof interval {
+ // A future date range relative to the current date used for forecasting.
+ google.ads.googleads.v1.enums.KeywordPlanForecastIntervalEnum.KeywordPlanForecastInterval date_interval = 1;
+
+ // The custom date range used for forecasting.
+ // The start and end dates must be in the future. Otherwise, an error will
+ // be returned when the forecasting action is performed.
+ google.ads.googleads.v1.common.DateRange date_range = 2;
+ }
+}
diff --git a/google/ads/googleads/v1/resources/keyword_plan_ad_group.proto b/google/ads/googleads/v1/resources/keyword_plan_ad_group.proto
new file mode 100644
index 000000000..9092b13a8
--- /dev/null
+++ b/google/ads/googleads/v1/resources/keyword_plan_ad_group.proto
@@ -0,0 +1,58 @@
+// 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/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 = "KeywordPlanAdGroupProto";
+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 keyword plan ad group resource.
+
+// A Keyword Planner ad group.
+// Max number of keyword plan ad groups per plan: 200.
+message KeywordPlanAdGroup {
+ // The resource name of the Keyword Planner ad group.
+ // KeywordPlanAdGroup resource names have the form:
+ //
+ // `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`
+ string resource_name = 1;
+
+ // The keyword plan campaign to which this ad group belongs.
+ google.protobuf.StringValue keyword_plan_campaign = 2;
+
+ // The ID of the keyword plan ad group.
+ google.protobuf.Int64Value id = 3;
+
+ // The name of the keyword plan ad group.
+ //
+ // This field is required and should not be empty when creating keyword plan
+ // ad group.
+ google.protobuf.StringValue name = 4;
+
+ // A default ad group max cpc bid in micros in account currency for all
+ // biddable keywords under the keyword plan ad group.
+ // If not set, will inherit from parent campaign.
+ google.protobuf.Int64Value cpc_bid_micros = 5;
+}
diff --git a/google/ads/googleads/v1/resources/keyword_plan_campaign.proto b/google/ads/googleads/v1/resources/keyword_plan_campaign.proto
new file mode 100644
index 000000000..f304cf8e7
--- /dev/null
+++ b/google/ads/googleads/v1/resources/keyword_plan_campaign.proto
@@ -0,0 +1,82 @@
+// 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/enums/keyword_plan_network.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 = "KeywordPlanCampaignProto";
+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 keyword plan campaign resource.
+
+// A Keyword Plan campaign.
+// Max number of keyword plan campaigns per plan allowed: 1.
+message KeywordPlanCampaign {
+ // The resource name of the Keyword Plan campaign.
+ // KeywordPlanCampaign resource names have the form:
+ //
+ // `customers/{customer_id}/keywordPlanCampaigns/{kp_campaign_id}`
+ string resource_name = 1;
+
+ // The keyword plan this campaign belongs to.
+ google.protobuf.StringValue keyword_plan = 2;
+
+ // The ID of the Keyword Plan campaign.
+ google.protobuf.Int64Value id = 3;
+
+ // The name of the Keyword Plan campaign.
+ //
+ // This field is required and should not be empty when creating Keyword Plan
+ // campaigns.
+ google.protobuf.StringValue name = 4;
+
+ // The languages targeted for the Keyword Plan campaign.
+ // Max allowed: 1.
+ repeated google.protobuf.StringValue language_constants = 5;
+
+ // Targeting network.
+ //
+ // This field is required and should not be empty when creating Keyword Plan
+ // campaigns.
+ google.ads.googleads.v1.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 6;
+
+ // A default max cpc bid in micros, and in the account currency, for all ad
+ // groups under the campaign.
+ //
+ // This field is required and should not be empty when creating Keyword Plan
+ // campaigns.
+ google.protobuf.Int64Value cpc_bid_micros = 7;
+
+ // The geo targets.
+ // Max number allowed: 20.
+ repeated KeywordPlanGeoTarget geo_targets = 8;
+}
+
+// A geo target.
+// Next ID: 3
+message KeywordPlanGeoTarget {
+ // Required. The resource name of the geo target.
+ google.protobuf.StringValue geo_target_constant = 1;
+}
diff --git a/google/ads/googleads/v1/resources/keyword_plan_keyword.proto b/google/ads/googleads/v1/resources/keyword_plan_keyword.proto
new file mode 100644
index 000000000..a3144e7cc
--- /dev/null
+++ b/google/ads/googleads/v1/resources/keyword_plan_keyword.proto
@@ -0,0 +1,58 @@
+// 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/enums/keyword_match_type.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 = "KeywordPlanKeywordProto";
+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 keyword plan keyword resource.
+
+// A Keyword Plan ad group keyword.
+// Max number of keyword plan keywords per plan: 2500.
+message KeywordPlanKeyword {
+ // The resource name of the Keyword Plan ad group keyword.
+ // KeywordPlanKeyword resource names have the form:
+ //
+ // `customers/{customer_id}/keywordPlanKeywords/{kp_ad_group_keyword_id}`
+ string resource_name = 1;
+
+ // The Keyword Plan ad group to which this keyword belongs.
+ google.protobuf.StringValue keyword_plan_ad_group = 2;
+
+ // The ID of the Keyword Plan keyword.
+ google.protobuf.Int64Value id = 3;
+
+ // The keyword text.
+ google.protobuf.StringValue text = 4;
+
+ // The keyword match type.
+ google.ads.googleads.v1.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 5;
+
+ // A keyword level max cpc bid in micros, in the account currency, that
+ // overrides the keyword plan ad group cpc bid.
+ google.protobuf.Int64Value cpc_bid_micros = 6;
+}
diff --git a/google/ads/googleads/v1/resources/keyword_plan_negative_keyword.proto b/google/ads/googleads/v1/resources/keyword_plan_negative_keyword.proto
new file mode 100644
index 000000000..74db907a9
--- /dev/null
+++ b/google/ads/googleads/v1/resources/keyword_plan_negative_keyword.proto
@@ -0,0 +1,55 @@
+// 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/enums/keyword_match_type.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 = "KeywordPlanNegativeKeywordProto";
+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 keyword plan negative keyword resource.
+
+// A Keyword Plan negative keyword.
+// Max number of keyword plan negative keywords per plan: 1000.
+message KeywordPlanNegativeKeyword {
+ // The resource name of the Keyword Plan negative keyword.
+ // KeywordPlanNegativeKeyword resource names have the form:
+ //
+ //
+ // `customers/{customer_id}/keywordPlanNegativeKeywords/{kp_negative_keyword_id}`
+ string resource_name = 1;
+
+ // The Keyword Plan campaign to which this negative keyword belongs.
+ google.protobuf.StringValue keyword_plan_campaign = 2;
+
+ // The ID of the Keyword Plan negative keyword.
+ google.protobuf.Int64Value id = 3;
+
+ // The keyword text.
+ google.protobuf.StringValue text = 4;
+
+ // The keyword match type.
+ google.ads.googleads.v1.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 5;
+}
diff --git a/google/ads/googleads/v1/resources/keyword_view.proto b/google/ads/googleads/v1/resources/keyword_view.proto
new file mode 100644
index 000000000..fe28cc605
--- /dev/null
+++ b/google/ads/googleads/v1/resources/keyword_view.proto
@@ -0,0 +1,39 @@
+// 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/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 = "KeywordViewProto";
+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 keyword view resource.
+
+// A keyword view.
+message KeywordView {
+ // The resource name of the keyword view.
+ // Keyword view resource names have the form:
+ //
+ // `customers/{customer_id}/keywordViews/{ad_group_id}~{criterion_id}`
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v1/resources/label.proto b/google/ads/googleads/v1/resources/label.proto
new file mode 100644
index 000000000..9f37d7c4f
--- /dev/null
+++ b/google/ads/googleads/v1/resources/label.proto
@@ -0,0 +1,57 @@
+// 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/text_label.proto";
+import "google/ads/googleads/v1/enums/label_status.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 = "LabelProto";
+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";
+
+
+// A label.
+message Label {
+ // Name of the resource.
+ // Label resource names have the form:
+ // `customers/{customer_id}/labels/{label_id}`
+ string resource_name = 1;
+
+ // Id of the label. Read only.
+ google.protobuf.Int64Value id = 2;
+
+ // The name of the label.
+ //
+ // This field is required and should not be empty when creating a new label.
+ //
+ // The length of this string should be between 1 and 80, inclusive.
+ google.protobuf.StringValue name = 3;
+
+ // Status of the label. Read only.
+ google.ads.googleads.v1.enums.LabelStatusEnum.LabelStatus status = 4;
+
+ // A type of label displaying text on a colored background.
+ google.ads.googleads.v1.common.TextLabel text_label = 5;
+}
diff --git a/google/ads/googleads/v1/resources/language_constant.proto b/google/ads/googleads/v1/resources/language_constant.proto
new file mode 100644
index 000000000..8b0be8653
--- /dev/null
+++ b/google/ads/googleads/v1/resources/language_constant.proto
@@ -0,0 +1,53 @@
+// 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/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 = "LanguageConstantProto";
+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 language constant resource.
+
+// A language.
+message LanguageConstant {
+ // The resource name of the language constant.
+ // Language constant resource names have the form:
+ //
+ // `languageConstants/{criterion_id}`
+ string resource_name = 1;
+
+ // The ID of the language constant.
+ google.protobuf.Int64Value id = 2;
+
+ // The language code, e.g. "en_US", "en_AU", "es", "fr", etc.
+ google.protobuf.StringValue code = 3;
+
+ // The full name of the language in English, e.g., "English (US)", "Spanish",
+ // etc.
+ google.protobuf.StringValue name = 4;
+
+ // Whether the language is targetable.
+ google.protobuf.BoolValue targetable = 5;
+}
diff --git a/google/ads/googleads/v1/resources/location_view.proto b/google/ads/googleads/v1/resources/location_view.proto
new file mode 100644
index 000000000..8c90049e0
--- /dev/null
+++ b/google/ads/googleads/v1/resources/location_view.proto
@@ -0,0 +1,40 @@
+// 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/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 = "LocationViewProto";
+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 location view resource.
+
+// A location view summarizes the performance of campaigns by
+// Location criteria.
+message LocationView {
+ // The resource name of the location view.
+ // Location view resource names have the form:
+ //
+ // `customers/{customer_id}/locationViews/{campaign_id}~{criterion_id}`
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v1/resources/managed_placement_view.proto b/google/ads/googleads/v1/resources/managed_placement_view.proto
new file mode 100644
index 000000000..2d5aa2082
--- /dev/null
+++ b/google/ads/googleads/v1/resources/managed_placement_view.proto
@@ -0,0 +1,40 @@
+// 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/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 = "ManagedPlacementViewProto";
+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 Managed Placement view resource.
+
+// A managed placement view.
+message ManagedPlacementView {
+ // The resource name of the Managed Placement view.
+ // Managed placement view resource names have the form:
+ //
+ //
+ // `customers/{customer_id}/managedPlacementViews/{ad_group_id}~{criterion_id}`
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v1/resources/media_file.proto b/google/ads/googleads/v1/resources/media_file.proto
new file mode 100644
index 000000000..a44173878
--- /dev/null
+++ b/google/ads/googleads/v1/resources/media_file.proto
@@ -0,0 +1,113 @@
+// 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/enums/media_type.proto";
+import "google/ads/googleads/v1/enums/mime_type.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 = "MediaFileProto";
+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 media file resource.
+
+// A media file.
+message MediaFile {
+ // The resource name of the media file.
+ // Media file resource names have the form:
+ //
+ // `customers/{customer_id}/mediaFiles/{media_file_id}`
+ string resource_name = 1;
+
+ // The ID of the media file.
+ google.protobuf.Int64Value id = 2;
+
+ // Type of the media file.
+ google.ads.googleads.v1.enums.MediaTypeEnum.MediaType type = 5;
+
+ // The mime type of the media file.
+ google.ads.googleads.v1.enums.MimeTypeEnum.MimeType mime_type = 6;
+
+ // The URL of where the original media file was downloaded from (or a file
+ // name).
+ google.protobuf.StringValue source_url = 7;
+
+ // The name of the media file. The name can be used by clients to help
+ // identify previously uploaded media.
+ google.protobuf.StringValue name = 8;
+
+ // The size of the media file in bytes.
+ google.protobuf.Int64Value file_size = 9;
+
+ // The specific type of the media file.
+ oneof mediatype {
+ // Encapsulates an Image.
+ MediaImage image = 3;
+
+ // A ZIP archive media the content of which contains HTML5 assets.
+ MediaBundle media_bundle = 4;
+
+ // Encapsulates an Audio.
+ MediaAudio audio = 10;
+
+ // Encapsulates a Video.
+ MediaVideo video = 11;
+ }
+}
+
+// Encapsulates an Image.
+message MediaImage {
+ // Raw image data.
+ google.protobuf.BytesValue data = 1;
+}
+
+// Represents a ZIP archive media the content of which contains HTML5 assets.
+message MediaBundle {
+ // Raw zipped data.
+ google.protobuf.BytesValue data = 1;
+}
+
+// Encapsulates an Audio.
+message MediaAudio {
+ // The duration of the Audio in milliseconds.
+ google.protobuf.Int64Value ad_duration_millis = 1;
+}
+
+// Encapsulates a Video.
+message MediaVideo {
+ // The duration of the Video in milliseconds.
+ google.protobuf.Int64Value ad_duration_millis = 1;
+
+ // The YouTube video ID (as seen in YouTube URLs).
+ google.protobuf.StringValue youtube_video_id = 2;
+
+ // The Advertising Digital Identification code for this video, as defined by
+ // the American Association of Advertising Agencies, used mainly for
+ // television commercials.
+ google.protobuf.StringValue advertising_id_code = 3;
+
+ // The Industry Standard Commercial Identifier code for this video, used
+ // mainly for television commercials.
+ google.protobuf.StringValue isci_code = 4;
+}
diff --git a/google/ads/googleads/v1/resources/merchant_center_link.proto b/google/ads/googleads/v1/resources/merchant_center_link.proto
new file mode 100644
index 000000000..4c615f4e4
--- /dev/null
+++ b/google/ads/googleads/v1/resources/merchant_center_link.proto
@@ -0,0 +1,53 @@
+// 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/enums/merchant_center_link_status.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 = "MerchantCenterLinkProto";
+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 Merchant Center link resource.
+
+// A data sharing connection, proposed or in use,
+// between a Google Ads Customer and a Merchant Center account.
+message MerchantCenterLink {
+ // The resource name of the merchant center link.
+ // Merchant center link resource names have the form:
+ //
+ // `customers/{customer_id}/merchantCenterLinks/{merchant_center_id}`
+ string resource_name = 1;
+
+ // The ID of the Merchant Center account.
+ // This field is readonly.
+ google.protobuf.Int64Value id = 3;
+
+ // The name of the Merchant Center account.
+ // This field is readonly.
+ google.protobuf.StringValue merchant_center_account_name = 4;
+
+ // The status of the link.
+ google.ads.googleads.v1.enums.MerchantCenterLinkStatusEnum.MerchantCenterLinkStatus status = 5;
+}
diff --git a/google/ads/googleads/v1/resources/mobile_app_category_constant.proto b/google/ads/googleads/v1/resources/mobile_app_category_constant.proto
new file mode 100644
index 000000000..4ddcaad18
--- /dev/null
+++ b/google/ads/googleads/v1/resources/mobile_app_category_constant.proto
@@ -0,0 +1,46 @@
+// 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/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 = "MobileAppCategoryConstantProto";
+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 Mobile App Category Constant resource.
+
+// A mobile application category constant.
+message MobileAppCategoryConstant {
+ // The resource name of the mobile app category constant.
+ // Mobile app category constant resource names have the form:
+ //
+ // `mobileAppCategoryConstants/{mobile_app_category_id}`
+ string resource_name = 1;
+
+ // The ID of the mobile app category constant.
+ google.protobuf.Int32Value id = 2;
+
+ // Mobile app category name.
+ google.protobuf.StringValue name = 3;
+}
diff --git a/google/ads/googleads/v1/resources/mobile_device_constant.proto b/google/ads/googleads/v1/resources/mobile_device_constant.proto
new file mode 100644
index 000000000..48c87eec4
--- /dev/null
+++ b/google/ads/googleads/v1/resources/mobile_device_constant.proto
@@ -0,0 +1,56 @@
+// 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/enums/mobile_device_type.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 = "MobileDeviceConstantProto";
+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 mobile device constant resource.
+
+// A mobile device constant.
+message MobileDeviceConstant {
+ // The resource name of the mobile device constant.
+ // Mobile device constant resource names have the form:
+ //
+ // `mobileDeviceConstants/{criterion_id}`
+ string resource_name = 1;
+
+ // The ID of the mobile device constant.
+ google.protobuf.Int64Value id = 2;
+
+ // The name of the mobile device.
+ google.protobuf.StringValue name = 3;
+
+ // The manufacturer of the mobile device.
+ google.protobuf.StringValue manufacturer_name = 4;
+
+ // The operating system of the mobile device.
+ google.protobuf.StringValue operating_system_name = 5;
+
+ // The type of mobile device.
+ google.ads.googleads.v1.enums.MobileDeviceTypeEnum.MobileDeviceType type = 6;
+}
diff --git a/google/ads/googleads/v1/resources/mutate_job.proto b/google/ads/googleads/v1/resources/mutate_job.proto
new file mode 100644
index 000000000..9111a40e6
--- /dev/null
+++ b/google/ads/googleads/v1/resources/mutate_job.proto
@@ -0,0 +1,72 @@
+// 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/enums/mutate_job_status.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 = "MutateJobProto";
+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 mutate job resource.
+
+// A list of mutates being processed asynchronously. The mutates are uploaded
+// by the user. The mutates themselves aren’t readable and the results of the
+// job can only be read using MutateJobService.ListMutateJobResults.
+message MutateJob {
+ // Additional information about the mutate job. This message is also used as
+ // metadata returned in mutate job Long Running Operations.
+ message MutateJobMetadata {
+ // The time when this mutate job was created.
+ // Formatted as yyyy-mm-dd hh:mm:ss. Example: "2018-03-05 09:15:00"
+ google.protobuf.StringValue creation_date_time = 1;
+
+ // The time when this mutate job was completed.
+ // Formatted as yyyy-MM-dd HH:mm:ss. Example: "2018-03-05 09:16:00"
+ google.protobuf.StringValue completion_date_time = 2;
+
+ // The fraction (between 0.0 and 1.0) of mutates that have been processed.
+ // This is empty if the job hasn't started running yet.
+ google.protobuf.DoubleValue estimated_completion_ratio = 3;
+ }
+
+ // The resource name of the mutate job.
+ // Mutate job resource names have the form:
+ //
+ // `customers/{customer_id}/mutateJobs/{mutate_job_id}`
+ string resource_name = 1;
+
+ // ID of this mutate job.
+ google.protobuf.Int64Value id = 2;
+
+ // The next sequence token to use when adding operations. Only set when the
+ // mutate job status is PENDING.
+ google.protobuf.StringValue next_add_sequence_token = 3;
+
+ // Contains additional information about this mutate job.
+ MutateJobMetadata metadata = 4;
+
+ // Status of this mutate job.
+ google.ads.googleads.v1.enums.MutateJobStatusEnum.MutateJobStatus status = 5;
+}
diff --git a/google/ads/googleads/v1/resources/operating_system_version_constant.proto b/google/ads/googleads/v1/resources/operating_system_version_constant.proto
new file mode 100644
index 000000000..9eeaf279e
--- /dev/null
+++ b/google/ads/googleads/v1/resources/operating_system_version_constant.proto
@@ -0,0 +1,62 @@
+// 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/enums/operating_system_version_operator_type.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 = "OperatingSystemVersionConstantProto";
+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 operating system version constant resource.
+
+// A mobile operating system version or a range of versions, depending on
+// 'operator_type'. The complete list of available mobile platforms is available
+// <a
+//
+// href="https://developers.google.com/adwords/api/docs/appendix/codes-formats#mobile-platforms>
+// here</a>.
+message OperatingSystemVersionConstant {
+ // The resource name of the operating system version constant.
+ // Operating system version constant resource names have the form:
+ //
+ // `operatingSystemVersionConstants/{criterion_id}`
+ string resource_name = 1;
+
+ // The ID of the operating system version.
+ google.protobuf.Int64Value id = 2;
+
+ // Name of the operating system.
+ google.protobuf.StringValue name = 3;
+
+ // The OS Major Version number.
+ google.protobuf.Int32Value os_major_version = 4;
+
+ // The OS Minor Version number.
+ google.protobuf.Int32Value os_minor_version = 5;
+
+ // Determines whether this constant represents a single version or a range of
+ // versions.
+ google.ads.googleads.v1.enums.OperatingSystemVersionOperatorTypeEnum.OperatingSystemVersionOperatorType operator_type = 6;
+}
diff --git a/google/ads/googleads/v1/resources/parental_status_view.proto b/google/ads/googleads/v1/resources/parental_status_view.proto
new file mode 100644
index 000000000..293a8fb9c
--- /dev/null
+++ b/google/ads/googleads/v1/resources/parental_status_view.proto
@@ -0,0 +1,39 @@
+// 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/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 = "ParentalStatusViewProto";
+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 parental status view resource.
+
+// A parental status view.
+message ParentalStatusView {
+ // The resource name of the parental status view.
+ // Parental Status view resource names have the form:
+ //
+ // `customers/{customer_id}/parentalStatusViews/{ad_group_id}~{criterion_id}`
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v1/resources/payments_account.proto b/google/ads/googleads/v1/resources/payments_account.proto
new file mode 100644
index 000000000..c8767b955
--- /dev/null
+++ b/google/ads/googleads/v1/resources/payments_account.proto
@@ -0,0 +1,59 @@
+// 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/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 = "PaymentsAccountProto";
+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 PaymentsAccount resource.
+
+// A Payments account, which can be used to set up billing for an Ads customer.
+message PaymentsAccount {
+ // The resource name of the Payments account.
+ // PaymentsAccount resource names have the form:
+ //
+ // `customers/{customer_id}/paymentsAccounts/{payments_account_id}`
+ string resource_name = 1;
+
+ // A 16 digit ID used to identify a Payments account.
+ google.protobuf.StringValue payments_account_id = 2;
+
+ // The name of the Payments account.
+ google.protobuf.StringValue name = 3;
+
+ // The currency code of the Payments account.
+ // A subset of the currency codes derived from the ISO 4217 standard is
+ // supported.
+ google.protobuf.StringValue currency_code = 4;
+
+ // A 12 digit ID used to identify the Payments profile associated with the
+ // Payments account.
+ google.protobuf.StringValue payments_profile_id = 5;
+
+ // A secondary Payments profile ID present in uncommon situations, e.g.
+ // when a sequential liability agreement has been arranged.
+ google.protobuf.StringValue secondary_payments_profile_id = 6;
+}
diff --git a/google/ads/googleads/v1/resources/product_bidding_category_constant.proto b/google/ads/googleads/v1/resources/product_bidding_category_constant.proto
new file mode 100644
index 000000000..012594cc0
--- /dev/null
+++ b/google/ads/googleads/v1/resources/product_bidding_category_constant.proto
@@ -0,0 +1,67 @@
+// 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/enums/product_bidding_category_level.proto";
+import "google/ads/googleads/v1/enums/product_bidding_category_status.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 = "ProductBiddingCategoryConstantProto";
+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::Enums";
+// Proto file describing the ProductBiddingCategoryConstant resource.
+
+// A Product Bidding Category.
+message ProductBiddingCategoryConstant {
+ // The resource name of the product bidding category.
+ // Product bidding category resource names have the form:
+ //
+ // `productBiddingCategoryConstants/{country_code}~{level}~{id}`
+ string resource_name = 1;
+
+ // ID of the product bidding category.
+ //
+ // This ID is equivalent to the google_product_category ID as described in
+ // this article: https://support.google.com/merchants/answer/6324436.
+ google.protobuf.Int64Value id = 2;
+
+ // Two-letter upper-case country code of the product bidding category.
+ google.protobuf.StringValue country_code = 3;
+
+ // Resource name of the parent product bidding category.
+ google.protobuf.StringValue product_bidding_category_constant_parent = 4;
+
+ // Level of the product bidding category.
+ google.ads.googleads.v1.enums.ProductBiddingCategoryLevelEnum.ProductBiddingCategoryLevel level = 5;
+
+ // Status of the product bidding category.
+ google.ads.googleads.v1.enums.ProductBiddingCategoryStatusEnum.ProductBiddingCategoryStatus status = 6;
+
+ // Language code of the product bidding category.
+ google.protobuf.StringValue language_code = 7;
+
+ // Display value of the product bidding category localized according to
+ // language_code.
+ google.protobuf.StringValue localized_name = 8;
+}
diff --git a/google/ads/googleads/v1/resources/product_group_view.proto b/google/ads/googleads/v1/resources/product_group_view.proto
new file mode 100644
index 000000000..616494291
--- /dev/null
+++ b/google/ads/googleads/v1/resources/product_group_view.proto
@@ -0,0 +1,39 @@
+// 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/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 = "ProductGroupViewProto";
+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 ProductGroup View resource.
+
+// A product group view.
+message ProductGroupView {
+ // The resource name of the product group view.
+ // Product group view resource names have the form:
+ //
+ // `customers/{customer_id}/productGroupViews/{ad_group_id}~{criterion_id}`
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v1/resources/recommendation.proto b/google/ads/googleads/v1/resources/recommendation.proto
new file mode 100644
index 000000000..a18c58c60
--- /dev/null
+++ b/google/ads/googleads/v1/resources/recommendation.proto
@@ -0,0 +1,238 @@
+// 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/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 Maximize Conversions Opt-In recommendation.
+ message MaximizeConversionsOptInRecommendation {
+ // The recommended new budget amount.
+ google.protobuf.Int64Value recommended_budget_amount_micros = 1;
+ }
+
+ // 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 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 Search Partners Opt-In recommendation.
+ message SearchPartnersOptInRecommendation {
+
+ }
+
+ // The Optimize Ad Rotation recommendation.
+ message OptimizeAdRotationRecommendation {
+
+ }
+
+ // The Enhanced Cost-Per-Click Opt-In recommendation.
+ message EnhancedCpcOptInRecommendation {
+
+ }
+
+ // 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;
+ }
+}
diff --git a/google/ads/googleads/v1/resources/remarketing_action.proto b/google/ads/googleads/v1/resources/remarketing_action.proto
new file mode 100644
index 000000000..58099d2c4
--- /dev/null
+++ b/google/ads/googleads/v1/resources/remarketing_action.proto
@@ -0,0 +1,55 @@
+// 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/tag_snippet.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 = "RemarketingActionProto";
+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 Remarketing Action resource.
+
+// A remarketing action. A snippet of JavaScript code that will collect the
+// product id and the type of page people visited (product page, shopping cart
+// page, purchase page, general site visit) on an advertiser's website.
+message RemarketingAction {
+ // The resource name of the remarketing action.
+ // Remarketing action resource names have the form:
+ //
+ // `customers/{customer_id}/remarketingActions/{remarketing_action_id}`
+ string resource_name = 1;
+
+ // Id of the remarketing action.
+ google.protobuf.Int64Value id = 2;
+
+ // The name of the remarketing action.
+ //
+ // This field is required and should not be empty when creating new
+ // remarketing actions.
+ google.protobuf.StringValue name = 3;
+
+ // The snippets used for tracking remarketing actions.
+ repeated google.ads.googleads.v1.common.TagSnippet tag_snippets = 4;
+}
diff --git a/google/ads/googleads/v1/resources/search_term_view.proto b/google/ads/googleads/v1/resources/search_term_view.proto
new file mode 100644
index 000000000..39eb93889
--- /dev/null
+++ b/google/ads/googleads/v1/resources/search_term_view.proto
@@ -0,0 +1,53 @@
+// 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/enums/search_term_targeting_status.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 = "SearchTermViewProto";
+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 SearchTermView resource.
+
+// A search term view with metrics aggregated by search term at the ad group
+// level.
+message SearchTermView {
+ // The resource name of the search term view.
+ // Search term view resource names have the form:
+ //
+ // `customers/{customer_id}/searchTermViews/{campaign_id}~{ad_group_id}_
+ // {URL-base64 search term}`
+ string resource_name = 1;
+
+ // The search term.
+ google.protobuf.StringValue search_term = 2;
+
+ // The ad group the search term served in.
+ google.protobuf.StringValue ad_group = 3;
+
+ // Indicates whether the search term is currently one of your
+ // targeted or excluded keywords.
+ google.ads.googleads.v1.enums.SearchTermTargetingStatusEnum.SearchTermTargetingStatus status = 4;
+}
diff --git a/google/ads/googleads/v1/resources/shared_criterion.proto b/google/ads/googleads/v1/resources/shared_criterion.proto
new file mode 100644
index 000000000..4f25da1e2
--- /dev/null
+++ b/google/ads/googleads/v1/resources/shared_criterion.proto
@@ -0,0 +1,73 @@
+// 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/enums/criterion_type.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 = "SharedCriterionProto";
+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 SharedCriterion resource.
+
+// A criterion belonging to a shared set.
+message SharedCriterion {
+ // The resource name of the shared criterion.
+ // Shared set resource names have the form:
+ //
+ // `customers/{customer_id}/sharedCriteria/{shared_set_id}~{criterion_id}`
+ string resource_name = 1;
+
+ // The shared set to which the shared criterion belongs.
+ google.protobuf.StringValue shared_set = 2;
+
+ // The ID of the criterion.
+ //
+ // This field is ignored for mutates.
+ google.protobuf.Int64Value criterion_id = 26;
+
+ // The type of the criterion.
+ google.ads.googleads.v1.enums.CriterionTypeEnum.CriterionType type = 4;
+
+ // The criterion.
+ //
+ // Exactly one must be set.
+ oneof criterion {
+ // Keyword.
+ google.ads.googleads.v1.common.KeywordInfo keyword = 3;
+
+ // YouTube Video.
+ google.ads.googleads.v1.common.YouTubeVideoInfo youtube_video = 5;
+
+ // YouTube Channel.
+ google.ads.googleads.v1.common.YouTubeChannelInfo youtube_channel = 6;
+
+ // Placement.
+ google.ads.googleads.v1.common.PlacementInfo placement = 7;
+
+ // Mobile App Category.
+ google.ads.googleads.v1.common.MobileAppCategoryInfo mobile_app_category = 8;
+ }
+}
diff --git a/google/ads/googleads/v1/resources/shared_set.proto b/google/ads/googleads/v1/resources/shared_set.proto
new file mode 100644
index 000000000..84d130673
--- /dev/null
+++ b/google/ads/googleads/v1/resources/shared_set.proto
@@ -0,0 +1,66 @@
+// 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/enums/shared_set_status.proto";
+import "google/ads/googleads/v1/enums/shared_set_type.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 = "SharedSetProto";
+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 SharedSet resource.
+
+// SharedSets are used for sharing criterion exclusions across multiple
+// campaigns.
+message SharedSet {
+ // The resource name of the shared set.
+ // Shared set resource names have the form:
+ //
+ // `customers/{customer_id}/sharedSets/{shared_set_id}`
+ string resource_name = 1;
+
+ // The ID of this shared set. Read only.
+ google.protobuf.Int64Value id = 2;
+
+ // The type of this shared set: each shared set holds only a single kind
+ // of resource. Required. Immutable.
+ google.ads.googleads.v1.enums.SharedSetTypeEnum.SharedSetType type = 3;
+
+ // The name of this shared set. Required.
+ // Shared Sets must have names that are unique among active shared sets of
+ // the same type.
+ // The length of this string should be between 1 and 255 UTF-8 bytes,
+ // inclusive.
+ google.protobuf.StringValue name = 4;
+
+ // The status of this shared set. Read only.
+ google.ads.googleads.v1.enums.SharedSetStatusEnum.SharedSetStatus status = 5;
+
+ // The number of shared criteria within this shared set. Read only.
+ google.protobuf.Int64Value member_count = 6;
+
+ // The number of campaigns associated with this shared set. Read only.
+ google.protobuf.Int64Value reference_count = 7;
+}
diff --git a/google/ads/googleads/v1/resources/shopping_performance_view.proto b/google/ads/googleads/v1/resources/shopping_performance_view.proto
new file mode 100644
index 000000000..b14e415ae
--- /dev/null
+++ b/google/ads/googleads/v1/resources/shopping_performance_view.proto
@@ -0,0 +1,43 @@
+// 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/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 = "ShoppingPerformanceViewProto";
+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 ShoppingPerformanceView resource.
+
+// Shopping performance view.
+// Provides Shopping campaign statistics aggregated at several product dimension
+// levels. Product dimension values from Merchant Center such as brand,
+// category, custom attributes, product condition and product type will reflect
+// the state of each dimension as of the date and time when the corresponding
+// event was recorded.
+message ShoppingPerformanceView {
+ // The resource name of the Shopping performance view.
+ // Shopping performance view resource names have the form:
+ // `customers/{customer_id}/shoppingPerformanceView`
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v1/resources/topic_constant.proto b/google/ads/googleads/v1/resources/topic_constant.proto
new file mode 100644
index 000000000..a67fe1846
--- /dev/null
+++ b/google/ads/googleads/v1/resources/topic_constant.proto
@@ -0,0 +1,58 @@
+// 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/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 = "TopicConstantProto";
+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 Topic Constant resource.
+
+// Use topics to target or exclude placements in the Google Display Network
+// based on the category into which the placement falls (for example,
+// "Pets & Animals/Pets/Dogs").
+message TopicConstant {
+ // The resource name of the topic constant.
+ // topic constant resource names have the form:
+ //
+ // `topicConstants/{topic_id}`
+ string resource_name = 1;
+
+ // The ID of the topic.
+ google.protobuf.Int64Value id = 2;
+
+ // Resource name of parent of the topic constant.
+ google.protobuf.StringValue topic_constant_parent = 3;
+
+ // The category to target or exclude. Each subsequent element in the array
+ // describes a more specific sub-category. For example,
+ // {"Pets & Animals", "Pets", "Dogs"} represents the
+ // "Pets & Animals/Pets/Dogs" category. A complete list of available topic
+ // categories is available
+ // <a
+ // href="https://developers.google.com/adwords/api/docs/appendix/verticals">
+ // here</a>
+ repeated google.protobuf.StringValue path = 4;
+}
diff --git a/google/ads/googleads/v1/resources/topic_view.proto b/google/ads/googleads/v1/resources/topic_view.proto
new file mode 100644
index 000000000..ab6f2396d
--- /dev/null
+++ b/google/ads/googleads/v1/resources/topic_view.proto
@@ -0,0 +1,39 @@
+// 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/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 = "TopicViewProto";
+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 topic view resource.
+
+// A topic view.
+message TopicView {
+ // The resource name of the topic view.
+ // Topic view resource names have the form:
+ //
+ // `customers/{customer_id}/topicViews/{ad_group_id}~{criterion_id}`
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v1/resources/user_interest.proto b/google/ads/googleads/v1/resources/user_interest.proto
new file mode 100644
index 000000000..c42a43657
--- /dev/null
+++ b/google/ads/googleads/v1/resources/user_interest.proto
@@ -0,0 +1,60 @@
+// 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/criterion_category_availability.proto";
+import "google/ads/googleads/v1/enums/user_interest_taxonomy_type.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 = "UserInterestProto";
+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 User Interest resource.
+
+// A user interest: a particular interest-based vertical to be targeted.
+message UserInterest {
+ // The resource name of the user interest.
+ // User interest resource names have the form:
+ //
+ // `customers/{customer_id}/userInterests/{user_interest_id}`
+ string resource_name = 1;
+
+ // Taxonomy type of the user interest.
+ google.ads.googleads.v1.enums.UserInterestTaxonomyTypeEnum.UserInterestTaxonomyType taxonomy_type = 2;
+
+ // The ID of the user interest.
+ google.protobuf.Int64Value user_interest_id = 3;
+
+ // The name of the user interest.
+ google.protobuf.StringValue name = 4;
+
+ // The parent of the user interest.
+ google.protobuf.StringValue user_interest_parent = 5;
+
+ // True if the user interest is launched to all channels and locales.
+ google.protobuf.BoolValue launched_to_all = 6;
+
+ // Availability information of the user interest.
+ repeated google.ads.googleads.v1.common.CriterionCategoryAvailability availabilities = 7;
+}
diff --git a/google/ads/googleads/v1/resources/user_list.proto b/google/ads/googleads/v1/resources/user_list.proto
new file mode 100644
index 000000000..014cd0040
--- /dev/null
+++ b/google/ads/googleads/v1/resources/user_list.proto
@@ -0,0 +1,156 @@
+// 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/user_lists.proto";
+import "google/ads/googleads/v1/enums/access_reason.proto";
+import "google/ads/googleads/v1/enums/user_list_access_status.proto";
+import "google/ads/googleads/v1/enums/user_list_closing_reason.proto";
+import "google/ads/googleads/v1/enums/user_list_membership_status.proto";
+import "google/ads/googleads/v1/enums/user_list_size_range.proto";
+import "google/ads/googleads/v1/enums/user_list_type.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 = "UserListProto";
+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 User List resource.
+
+// A user list. This is a list of users a customer may target.
+message UserList {
+ // The resource name of the user list.
+ // User list resource names have the form:
+ //
+ // `customers/{customer_id}/userLists/{user_list_id}`
+ string resource_name = 1;
+
+ // Id of the user list.
+ google.protobuf.Int64Value id = 2;
+
+ // A flag that indicates if a user may edit a list. Depends on the list
+ // ownership and list type. For example, external remarketing user lists are
+ // not editable.
+ //
+ // This field is read-only.
+ google.protobuf.BoolValue read_only = 3;
+
+ // Name of this user list. Depending on its access_reason, the user list name
+ // may not be unique (e.g. if access_reason=SHARED)
+ google.protobuf.StringValue name = 4;
+
+ // Description of this user list.
+ google.protobuf.StringValue description = 5;
+
+ // Membership status of this user list. Indicates whether a user list is open
+ // or active. Only open user lists can accumulate more users and can be
+ // targeted to.
+ google.ads.googleads.v1.enums.UserListMembershipStatusEnum.UserListMembershipStatus membership_status = 6;
+
+ // An ID from external system. It is used by user list sellers to correlate
+ // IDs on their systems.
+ google.protobuf.StringValue integration_code = 7;
+
+ // Number of days a user's cookie stays on your list since its most recent
+ // addition to the list. This field must be between 0 and 540 inclusive.
+ // However, for CRM based userlists, this field can be set to 10000 which
+ // means no expiration.
+ //
+ // It'll be ignored for logical_user_list.
+ google.protobuf.Int64Value membership_life_span = 8;
+
+ // Estimated number of users in this user list, on the Google Display Network.
+ // This value is null if the number of users has not yet been determined.
+ //
+ // This field is read-only.
+ google.protobuf.Int64Value size_for_display = 9;
+
+ // Size range in terms of number of users of the UserList, on the Google
+ // Display Network.
+ //
+ // This field is read-only.
+ google.ads.googleads.v1.enums.UserListSizeRangeEnum.UserListSizeRange size_range_for_display = 10;
+
+ // Estimated number of users in this user list in the google.com domain.
+ // These are the users available for targeting in Search campaigns.
+ // This value is null if the number of users has not yet been determined.
+ //
+ // This field is read-only.
+ google.protobuf.Int64Value size_for_search = 11;
+
+ // Size range in terms of number of users of the UserList, for Search ads.
+ //
+ // This field is read-only.
+ google.ads.googleads.v1.enums.UserListSizeRangeEnum.UserListSizeRange size_range_for_search = 12;
+
+ // Type of this list.
+ //
+ // This field is read-only.
+ google.ads.googleads.v1.enums.UserListTypeEnum.UserListType type = 13;
+
+ // Indicating the reason why this user list membership status is closed. It is
+ // only populated on lists that were automatically closed due to inactivity,
+ // and will be cleared once the list membership status becomes open.
+ google.ads.googleads.v1.enums.UserListClosingReasonEnum.UserListClosingReason closing_reason = 14;
+
+ // Indicates the reason this account has been granted access to the list.
+ // The reason can be SHARED, OWNED, LICENSED or SUBSCRIBED.
+ //
+ // This field is read-only.
+ google.ads.googleads.v1.enums.AccessReasonEnum.AccessReason access_reason = 15;
+
+ // Indicates if this share is still enabled. When a UserList is shared with
+ // the user this field is set to ENABLED. Later the userList owner can decide
+ // to revoke the share and make it DISABLED.
+ // The default value of this field is set to ENABLED.
+ google.ads.googleads.v1.enums.UserListAccessStatusEnum.UserListAccessStatus account_user_list_status = 16;
+
+ // Indicates if this user list is eligible for Google Search Network.
+ google.protobuf.BoolValue eligible_for_search = 17;
+
+ // Indicates this user list is eligible for Google Display Network.
+ //
+ // This field is read-only.
+ google.protobuf.BoolValue eligible_for_display = 18;
+
+ // The user list.
+ //
+ // Exactly one must be set.
+ oneof user_list {
+ // User list of CRM users provided by the advertiser.
+ google.ads.googleads.v1.common.CrmBasedUserListInfo crm_based_user_list = 19;
+
+ // User list which are similar to users from another UserList.
+ // These lists are readonly and automatically created by google.
+ google.ads.googleads.v1.common.SimilarUserListInfo similar_user_list = 20;
+
+ // User list generated by a rule.
+ google.ads.googleads.v1.common.RuleBasedUserListInfo rule_based_user_list = 21;
+
+ // User list that is a custom combination of user lists and user interests.
+ google.ads.googleads.v1.common.LogicalUserListInfo logical_user_list = 22;
+
+ // User list targeting as a collection of conversion or remarketing actions.
+ google.ads.googleads.v1.common.BasicUserListInfo basic_user_list = 23;
+ }
+}
diff --git a/google/ads/googleads/v1/resources/video.proto b/google/ads/googleads/v1/resources/video.proto
new file mode 100644
index 000000000..1ed2612e0
--- /dev/null
+++ b/google/ads/googleads/v1/resources/video.proto
@@ -0,0 +1,52 @@
+// 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/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 = "VideoProto";
+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 video resource.
+
+// A video.
+message Video {
+ // The resource name of the video.
+ // Video resource names have the form:
+ //
+ // `customers/{customer_id}/videos/{video_id}`
+ string resource_name = 1;
+
+ // The ID of the video.
+ google.protobuf.StringValue id = 2;
+
+ // The owner channel id of the video.
+ google.protobuf.StringValue channel_id = 3;
+
+ // The duration of the video in milliseconds.
+ google.protobuf.Int64Value duration_millis = 4;
+
+ // The title of the video.
+ google.protobuf.StringValue title = 5;
+}