aboutsummaryrefslogtreecommitdiff
path: root/google/ads
diff options
context:
space:
mode:
authorGoogle APIs <noreply@google.com>2018-12-05 10:10:16 -0800
committerCopybara-Service <copybara-piper@google.com>2018-12-05 10:10:41 -0800
commit200fbbe59cc7b0077ae525eb5f3d6420c0c53e61 (patch)
tree04bf98c5be9fff4562274fb67af6be61c22162c6 /google/ads
parente4ad4191682a2b0cd27d23d7f1b5a8f1cd5f6d20 (diff)
downloadgoogleapis-200fbbe59cc7b0077ae525eb5f3d6420c0c53e61.tar.gz
Synchronize new proto/yaml changes.
PiperOrigin-RevId: 224174014
Diffstat (limited to 'google/ads')
-rw-r--r--google/ads/googleads/base.yaml276
-rw-r--r--google/ads/googleads/v0/common/ad_type_infos.proto291
-rw-r--r--google/ads/googleads/v0/common/bidding.proto194
-rw-r--r--google/ads/googleads/v0/common/criteria.proto449
-rw-r--r--google/ads/googleads/v0/common/criterion_category_availability.proto81
-rw-r--r--google/ads/googleads/v0/common/custom_parameter.proto39
-rw-r--r--google/ads/googleads/v0/common/dates.proto38
-rw-r--r--google/ads/googleads/v0/common/explorer_auto_optimizer_setting.proto37
-rw-r--r--google/ads/googleads/v0/common/feed_common.proto38
-rw-r--r--google/ads/googleads/v0/common/frequency_cap.proto60
-rw-r--r--google/ads/googleads/v0/common/keyword_plan_common.proto39
-rw-r--r--google/ads/googleads/v0/common/matching_function.proto52
-rw-r--r--google/ads/googleads/v0/common/metrics.proto263
-rw-r--r--google/ads/googleads/v0/common/policy.proto201
-rw-r--r--google/ads/googleads/v0/common/real_time_bidding_setting.proto36
-rw-r--r--google/ads/googleads/v0/common/tag_snippet.proto49
-rw-r--r--google/ads/googleads/v0/common/user_lists.proto62
-rw-r--r--google/ads/googleads/v0/common/value.proto48
-rw-r--r--google/ads/googleads/v0/enums/access_reason.proto56
-rw-r--r--google/ads/googleads/v0/enums/account_budget_proposal_status.proto60
-rw-r--r--google/ads/googleads/v0/enums/account_budget_proposal_type.proto53
-rw-r--r--google/ads/googleads/v0/enums/account_budget_status.proto50
-rw-r--r--google/ads/googleads/v0/enums/ad_customizer_placeholder_field.proto53
-rw-r--r--google/ads/googleads/v0/enums/ad_group_ad_rotation_mode.proto50
-rw-r--r--google/ads/googleads/v0/enums/ad_group_ad_status.proto52
-rw-r--r--google/ads/googleads/v0/enums/ad_group_criterion_status.proto52
-rw-r--r--google/ads/googleads/v0/enums/ad_group_status.proto52
-rw-r--r--google/ads/googleads/v0/enums/ad_group_type.proto75
-rw-r--r--google/ads/googleads/v0/enums/ad_network_type.proto59
-rw-r--r--google/ads/googleads/v0/enums/ad_serving_optimization_status.proto61
-rw-r--r--google/ads/googleads/v0/enums/ad_type.proto79
-rw-r--r--google/ads/googleads/v0/enums/advertising_channel_sub_type.proto65
-rw-r--r--google/ads/googleads/v0/enums/advertising_channel_type.proto57
-rw-r--r--google/ads/googleads/v0/enums/affiliate_location_feed_relationship_type.proto45
-rw-r--r--google/ads/googleads/v0/enums/age_range_type.proto62
-rw-r--r--google/ads/googleads/v0/enums/app_placeholder_field.proto72
-rw-r--r--google/ads/googleads/v0/enums/attribution_model.proto71
-rw-r--r--google/ads/googleads/v0/enums/bid_modifier_source.proto48
-rw-r--r--google/ads/googleads/v0/enums/bidding_source.proto50
-rw-r--r--google/ads/googleads/v0/enums/bidding_strategy_type.proto91
-rw-r--r--google/ads/googleads/v0/enums/billing_setup_status.proto55
-rw-r--r--google/ads/googleads/v0/enums/budget_delivery_method.proto50
-rw-r--r--google/ads/googleads/v0/enums/budget_status.proto47
-rw-r--r--google/ads/googleads/v0/enums/call_conversion_reporting_state.proto53
-rw-r--r--google/ads/googleads/v0/enums/call_placeholder_field.proto63
-rw-r--r--google/ads/googleads/v0/enums/callout_placeholder_field.proto44
-rw-r--r--google/ads/googleads/v0/enums/campaign_group_status.proto47
-rw-r--r--google/ads/googleads/v0/enums/campaign_serving_status.proto58
-rw-r--r--google/ads/googleads/v0/enums/campaign_shared_set_status.proto47
-rw-r--r--google/ads/googleads/v0/enums/campaign_status.proto50
-rw-r--r--google/ads/googleads/v0/enums/change_status_operation.proto51
-rw-r--r--google/ads/googleads/v0/enums/change_status_resource_type.proto58
-rw-r--r--google/ads/googleads/v0/enums/content_label_type.proto86
-rw-r--r--google/ads/googleads/v0/enums/conversion_action_category.proto60
-rw-r--r--google/ads/googleads/v0/enums/conversion_action_counting_type.proto49
-rw-r--r--google/ads/googleads/v0/enums/conversion_action_status.proto51
-rw-r--r--google/ads/googleads/v0/enums/conversion_action_type.proto70
-rw-r--r--google/ads/googleads/v0/enums/criterion_category_channel_availability_mode.proto55
-rw-r--r--google/ads/googleads/v0/enums/criterion_category_locale_availability_mode.proto58
-rw-r--r--google/ads/googleads/v0/enums/criterion_type.proto104
-rw-r--r--google/ads/googleads/v0/enums/custom_placeholder_field.proto126
-rw-r--r--google/ads/googleads/v0/enums/customer_match_upload_key_type.proto52
-rw-r--r--google/ads/googleads/v0/enums/data_driven_model_status.proto59
-rw-r--r--google/ads/googleads/v0/enums/day_of_week.proto62
-rw-r--r--google/ads/googleads/v0/enums/device.proto50
-rw-r--r--google/ads/googleads/v0/enums/display_ad_format_setting.proto51
-rw-r--r--google/ads/googleads/v0/enums/education_placeholder_field.proto108
-rw-r--r--google/ads/googleads/v0/enums/feed_attribute_type.proto80
-rw-r--r--google/ads/googleads/v0/enums/feed_item_status.proto47
-rw-r--r--google/ads/googleads/v0/enums/feed_link_status.proto47
-rw-r--r--google/ads/googleads/v0/enums/feed_mapping_criterion_type.proto47
-rw-r--r--google/ads/googleads/v0/enums/feed_mapping_status.proto47
-rw-r--r--google/ads/googleads/v0/enums/feed_origin.proto50
-rw-r--r--google/ads/googleads/v0/enums/feed_status.proto47
-rw-r--r--google/ads/googleads/v0/enums/flight_placeholder_field.proto115
-rw-r--r--google/ads/googleads/v0/enums/frequency_cap_event_type.proto47
-rw-r--r--google/ads/googleads/v0/enums/frequency_cap_level.proto51
-rw-r--r--google/ads/googleads/v0/enums/frequency_cap_time_unit.proto50
-rw-r--r--google/ads/googleads/v0/enums/gender_type.proto50
-rw-r--r--google/ads/googleads/v0/enums/geo_target_constant_status.proto49
-rw-r--r--google/ads/googleads/v0/enums/geo_targeting_restriction.proto46
-rw-r--r--google/ads/googleads/v0/enums/google_ads_field_category.proto58
-rw-r--r--google/ads/googleads/v0/enums/google_ads_field_data_type.proto94
-rw-r--r--google/ads/googleads/v0/enums/hotel_date_selection_type.proto47
-rw-r--r--google/ads/googleads/v0/enums/hotel_placeholder_field.proto121
-rw-r--r--google/ads/googleads/v0/enums/income_range_type.proto62
-rw-r--r--google/ads/googleads/v0/enums/interaction_type.proto44
-rw-r--r--google/ads/googleads/v0/enums/job_placeholder_field.proto112
-rw-r--r--google/ads/googleads/v0/enums/keyword_match_type.proto50
-rw-r--r--google/ads/googleads/v0/enums/keyword_plan_competition_level.proto54
-rw-r--r--google/ads/googleads/v0/enums/keyword_plan_forecast_interval.proto53
-rw-r--r--google/ads/googleads/v0/enums/keyword_plan_network.proto47
-rw-r--r--google/ads/googleads/v0/enums/listing_custom_attribute_index.proto56
-rw-r--r--google/ads/googleads/v0/enums/listing_group_type.proto49
-rw-r--r--google/ads/googleads/v0/enums/local_placeholder_field.proto116
-rw-r--r--google/ads/googleads/v0/enums/manager_link_status.proto58
-rw-r--r--google/ads/googleads/v0/enums/media_type.proto61
-rw-r--r--google/ads/googleads/v0/enums/message_placeholder_field.proto58
-rw-r--r--google/ads/googleads/v0/enums/mime_type.proto79
-rw-r--r--google/ads/googleads/v0/enums/minute_of_hour.proto53
-rw-r--r--google/ads/googleads/v0/enums/month_of_year.proto77
-rw-r--r--google/ads/googleads/v0/enums/page_one_promoted_strategy_goal.proto48
-rw-r--r--google/ads/googleads/v0/enums/parental_status_type.proto50
-rw-r--r--google/ads/googleads/v0/enums/placeholder_type.proto98
-rw-r--r--google/ads/googleads/v0/enums/policy_approval_status.proto58
-rw-r--r--google/ads/googleads/v0/enums/policy_review_status.proto53
-rw-r--r--google/ads/googleads/v0/enums/policy_topic_entry_type.proto59
-rw-r--r--google/ads/googleads/v0/enums/policy_topic_evidence_destination_mismatch_url_type.proto59
-rw-r--r--google/ads/googleads/v0/enums/preferred_content_type.proto44
-rw-r--r--google/ads/googleads/v0/enums/price_placeholder_field.proto237
-rw-r--r--google/ads/googleads/v0/enums/product_channel.proto47
-rw-r--r--google/ads/googleads/v0/enums/product_channel_exclusivity.proto49
-rw-r--r--google/ads/googleads/v0/enums/product_condition.proto50
-rw-r--r--google/ads/googleads/v0/enums/product_type_level.proto56
-rw-r--r--google/ads/googleads/v0/enums/promotion_placeholder_field.proto92
-rw-r--r--google/ads/googleads/v0/enums/proximity_radius_units.proto47
-rw-r--r--google/ads/googleads/v0/enums/quality_score_bucket.proto50
-rw-r--r--google/ads/googleads/v0/enums/real_estate_placeholder_field.proto112
-rw-r--r--google/ads/googleads/v0/enums/recommendation_type.proto72
-rw-r--r--google/ads/googleads/v0/enums/search_term_match_type.proto56
-rw-r--r--google/ads/googleads/v0/enums/search_term_targeting_status.proto55
-rw-r--r--google/ads/googleads/v0/enums/shared_set_status.proto47
-rw-r--r--google/ads/googleads/v0/enums/shared_set_type.proto47
-rw-r--r--google/ads/googleads/v0/enums/sitelink_placeholder_field.proto66
-rw-r--r--google/ads/googleads/v0/enums/slot.proto62
-rw-r--r--google/ads/googleads/v0/enums/spending_limit_type.proto45
-rw-r--r--google/ads/googleads/v0/enums/structured_snippet_placeholder_field.proto53
-rw-r--r--google/ads/googleads/v0/enums/target_cpa_opt_in_recommendation_goal.proto54
-rw-r--r--google/ads/googleads/v0/enums/targeting_dimension.proto71
-rw-r--r--google/ads/googleads/v0/enums/time_type.proto48
-rw-r--r--google/ads/googleads/v0/enums/tracking_code_page_format.proto49
-rw-r--r--google/ads/googleads/v0/enums/tracking_code_type.proto54
-rw-r--r--google/ads/googleads/v0/enums/travel_placeholder_field.proto125
-rw-r--r--google/ads/googleads/v0/enums/user_interest_taxonomy_type.proto56
-rw-r--r--google/ads/googleads/v0/enums/user_list_access_status.proto47
-rw-r--r--google/ads/googleads/v0/enums/user_list_closing_reason.proto45
-rw-r--r--google/ads/googleads/v0/enums/user_list_crm_data_source_type.proto50
-rw-r--r--google/ads/googleads/v0/enums/user_list_membership_status.proto49
-rw-r--r--google/ads/googleads/v0/enums/user_list_size_range.proto89
-rw-r--r--google/ads/googleads/v0/enums/user_list_type.proto60
-rw-r--r--google/ads/googleads/v0/errors/account_budget_proposal_error.proto111
-rw-r--r--google/ads/googleads/v0/errors/ad_customizer_error.proto56
-rw-r--r--google/ads/googleads/v0/errors/ad_error.proto452
-rw-r--r--google/ads/googleads/v0/errors/ad_group_ad_error.proto67
-rw-r--r--google/ads/googleads/v0/errors/ad_group_bid_modifier_error.proto48
-rw-r--r--google/ads/googleads/v0/errors/ad_group_criterion_error.proto162
-rw-r--r--google/ads/googleads/v0/errors/ad_group_error.proto80
-rw-r--r--google/ads/googleads/v0/errors/ad_group_feed_error.proto64
-rw-r--r--google/ads/googleads/v0/errors/ad_sharing_error.proto51
-rw-r--r--google/ads/googleads/v0/errors/adx_error.proto44
-rw-r--r--google/ads/googleads/v0/errors/authentication_error.proto100
-rw-r--r--google/ads/googleads/v0/errors/authorization_error.proto64
-rw-r--r--google/ads/googleads/v0/errors/bidding_error.proto106
-rw-r--r--google/ads/googleads/v0/errors/bidding_strategy_error.proto54
-rw-r--r--google/ads/googleads/v0/errors/billing_setup_error.proto98
-rw-r--r--google/ads/googleads/v0/errors/campaign_budget_error.proto91
-rw-r--r--google/ads/googleads/v0/errors/campaign_criterion_error.proto78
-rw-r--r--google/ads/googleads/v0/errors/campaign_error.proto161
-rw-r--r--google/ads/googleads/v0/errors/campaign_feed_error.proto60
-rw-r--r--google/ads/googleads/v0/errors/campaign_group_error.proto51
-rw-r--r--google/ads/googleads/v0/errors/campaign_shared_set_error.proto44
-rw-r--r--google/ads/googleads/v0/errors/change_status_error.proto44
-rw-r--r--google/ads/googleads/v0/errors/collection_size_error.proto47
-rw-r--r--google/ads/googleads/v0/errors/context_error.proto47
-rw-r--r--google/ads/googleads/v0/errors/conversion_action_error.proto72
-rw-r--r--google/ads/googleads/v0/errors/criterion_error.proto322
-rw-r--r--google/ads/googleads/v0/errors/customer_client_link_error.proto62
-rw-r--r--google/ads/googleads/v0/errors/customer_error.proto50
-rw-r--r--google/ads/googleads/v0/errors/customer_feed_error.proto63
-rw-r--r--google/ads/googleads/v0/errors/customer_manager_link_error.proto68
-rw-r--r--google/ads/googleads/v0/errors/database_error.proto45
-rw-r--r--google/ads/googleads/v0/errors/date_error.proto68
-rw-r--r--google/ads/googleads/v0/errors/date_range_error.proto56
-rw-r--r--google/ads/googleads/v0/errors/distinct_error.proto47
-rw-r--r--google/ads/googleads/v0/errors/enum_error.proto44
-rw-r--r--google/ads/googleads/v0/errors/errors.proto442
-rw-r--r--google/ads/googleads/v0/errors/feed_attribute_reference_error.proto50
-rw-r--r--google/ads/googleads/v0/errors/feed_error.proto99
-rw-r--r--google/ads/googleads/v0/errors/feed_item_error.proto68
-rw-r--r--google/ads/googleads/v0/errors/feed_mapping_error.proto94
-rw-r--r--google/ads/googleads/v0/errors/field_error.proto59
-rw-r--r--google/ads/googleads/v0/errors/field_mask_error.proto55
-rw-r--r--google/ads/googleads/v0/errors/function_error.proto90
-rw-r--r--google/ads/googleads/v0/errors/function_parsing_error.proto74
-rw-r--r--google/ads/googleads/v0/errors/geo_target_constant_suggestion_error.proto55
-rw-r--r--google/ads/googleads/v0/errors/header_error.proto47
-rw-r--r--google/ads/googleads/v0/errors/id_error.proto44
-rw-r--r--google/ads/googleads/v0/errors/image_error.proto153
-rw-r--r--google/ads/googleads/v0/errors/internal_error.proto52
-rw-r--r--google/ads/googleads/v0/errors/keyword_plan_ad_group_error.proto50
-rw-r--r--google/ads/googleads/v0/errors/keyword_plan_campaign_error.proto59
-rw-r--r--google/ads/googleads/v0/errors/keyword_plan_error.proto88
-rw-r--r--google/ads/googleads/v0/errors/keyword_plan_idea_error.proto47
-rw-r--r--google/ads/googleads/v0/errors/keyword_plan_keyword_error.proto62
-rw-r--r--google/ads/googleads/v0/errors/keyword_plan_negative_keyword_error.proto43
-rw-r--r--google/ads/googleads/v0/errors/list_operation_error.proto47
-rw-r--r--google/ads/googleads/v0/errors/media_bundle_error.proto107
-rw-r--r--google/ads/googleads/v0/errors/media_file_error.proto110
-rw-r--r--google/ads/googleads/v0/errors/multiplier_error.proto78
-rw-r--r--google/ads/googleads/v0/errors/mutate_error.proto54
-rw-r--r--google/ads/googleads/v0/errors/new_resource_creation_error.proto51
-rw-r--r--google/ads/googleads/v0/errors/not_empty_error.proto44
-rw-r--r--google/ads/googleads/v0/errors/null_error.proto44
-rw-r--r--google/ads/googleads/v0/errors/operation_access_denied_error.proto71
-rw-r--r--google/ads/googleads/v0/errors/operator_error.proto44
-rw-r--r--google/ads/googleads/v0/errors/policy_finding_error.proto48
-rw-r--r--google/ads/googleads/v0/errors/query_error.proto200
-rw-r--r--google/ads/googleads/v0/errors/quota_error.proto50
-rw-r--r--google/ads/googleads/v0/errors/range_error.proto47
-rw-r--r--google/ads/googleads/v0/errors/recommendation_error.proto84
-rw-r--r--google/ads/googleads/v0/errors/region_code_error.proto44
-rw-r--r--google/ads/googleads/v0/errors/request_error.proto92
-rw-r--r--google/ads/googleads/v0/errors/resource_access_denied_error.proto44
-rw-r--r--google/ads/googleads/v0/errors/resource_count_limit_exceeded_error.proto86
-rw-r--r--google/ads/googleads/v0/errors/setting_error.proto102
-rw-r--r--google/ads/googleads/v0/errors/shared_criterion_error.proto44
-rw-r--r--google/ads/googleads/v0/errors/shared_set_error.proto53
-rw-r--r--google/ads/googleads/v0/errors/string_format_error.proto47
-rw-r--r--google/ads/googleads/v0/errors/string_length_error.proto47
-rw-r--r--google/ads/googleads/v0/errors/url_field_error.proto209
-rw-r--r--google/ads/googleads/v0/errors/user_list_error.proto115
-rw-r--r--google/ads/googleads/v0/resources/account_budget.proto230
-rw-r--r--google/ads/googleads/v0/resources/account_budget_proposal.proto138
-rw-r--r--google/ads/googleads/v0/resources/ad.proto119
-rw-r--r--google/ads/googleads/v0/resources/ad_group.proto111
-rw-r--r--google/ads/googleads/v0/resources/ad_group_ad.proto68
-rw-r--r--google/ads/googleads/v0/resources/ad_group_audience_view.proto39
-rw-r--r--google/ads/googleads/v0/resources/ad_group_bid_modifier.proto84
-rw-r--r--google/ads/googleads/v0/resources/ad_group_criterion.proto197
-rw-r--r--google/ads/googleads/v0/resources/ad_group_feed.proto60
-rw-r--r--google/ads/googleads/v0/resources/age_range_view.proto36
-rw-r--r--google/ads/googleads/v0/resources/bidding_strategy.proto86
-rw-r--r--google/ads/googleads/v0/resources/billing_setup.proto122
-rw-r--r--google/ads/googleads/v0/resources/campaign.proto257
-rw-r--r--google/ads/googleads/v0/resources/campaign_audience_view.proto41
-rw-r--r--google/ads/googleads/v0/resources/campaign_bid_modifier.proto56
-rw-r--r--google/ads/googleads/v0/resources/campaign_budget.proto101
-rw-r--r--google/ads/googleads/v0/resources/campaign_criterion.proto124
-rw-r--r--google/ads/googleads/v0/resources/campaign_feed.proto60
-rw-r--r--google/ads/googleads/v0/resources/campaign_group.proto56
-rw-r--r--google/ads/googleads/v0/resources/campaign_shared_set.proto54
-rw-r--r--google/ads/googleads/v0/resources/carrier_constant.proto48
-rw-r--r--google/ads/googleads/v0/resources/change_status.proto66
-rw-r--r--google/ads/googleads/v0/resources/conversion_action.proto130
-rw-r--r--google/ads/googleads/v0/resources/customer.proto84
-rw-r--r--google/ads/googleads/v0/resources/customer_client.proto47
-rw-r--r--google/ads/googleads/v0/resources/customer_client_link.proto53
-rw-r--r--google/ads/googleads/v0/resources/customer_feed.proto57
-rw-r--r--google/ads/googleads/v0/resources/customer_manager_link.proto48
-rw-r--r--google/ads/googleads/v0/resources/display_keyword_view.proto36
-rw-r--r--google/ads/googleads/v0/resources/feed.proto174
-rw-r--r--google/ads/googleads/v0/resources/feed_item.proto125
-rw-r--r--google/ads/googleads/v0/resources/feed_mapping.proto151
-rw-r--r--google/ads/googleads/v0/resources/gender_view.proto36
-rw-r--r--google/ads/googleads/v0/resources/geo_target_constant.proto54
-rw-r--r--google/ads/googleads/v0/resources/google_ads_field.proto97
-rw-r--r--google/ads/googleads/v0/resources/hotel_group_view.proto36
-rw-r--r--google/ads/googleads/v0/resources/hotel_performance_view.proto36
-rw-r--r--google/ads/googleads/v0/resources/keyword_plan.proto66
-rw-r--r--google/ads/googleads/v0/resources/keyword_plan_ad_group.proto55
-rw-r--r--google/ads/googleads/v0/resources/keyword_plan_campaign.proto77
-rw-r--r--google/ads/googleads/v0/resources/keyword_plan_keyword.proto55
-rw-r--r--google/ads/googleads/v0/resources/keyword_plan_negative_keyword.proto52
-rw-r--r--google/ads/googleads/v0/resources/keyword_view.proto36
-rw-r--r--google/ads/googleads/v0/resources/language_constant.proto48
-rw-r--r--google/ads/googleads/v0/resources/managed_placement_view.proto37
-rw-r--r--google/ads/googleads/v0/resources/media_file.proto81
-rw-r--r--google/ads/googleads/v0/resources/parental_status_view.proto36
-rw-r--r--google/ads/googleads/v0/resources/payments_account.proto58
-rw-r--r--google/ads/googleads/v0/resources/product_group_view.proto36
-rw-r--r--google/ads/googleads/v0/resources/recommendation.proto236
-rw-r--r--google/ads/googleads/v0/resources/search_term_view.proto51
-rw-r--r--google/ads/googleads/v0/resources/shared_criterion.proto68
-rw-r--r--google/ads/googleads/v0/resources/shared_set.proto64
-rw-r--r--google/ads/googleads/v0/resources/topic_constant.proto56
-rw-r--r--google/ads/googleads/v0/resources/topic_view.proto36
-rw-r--r--google/ads/googleads/v0/resources/user_interest.proto58
-rw-r--r--google/ads/googleads/v0/resources/user_list.proto145
-rw-r--r--google/ads/googleads/v0/resources/video.proto50
-rw-r--r--google/ads/googleads/v0/services/account_budget_proposal_service.proto120
-rw-r--r--google/ads/googleads/v0/services/account_budget_service.proto49
-rw-r--r--google/ads/googleads/v0/services/ad_group_ad_service.proto101
-rw-r--r--google/ads/googleads/v0/services/ad_group_audience_view_service.proto46
-rw-r--r--google/ads/googleads/v0/services/ad_group_bid_modifier_service.proto101
-rw-r--r--google/ads/googleads/v0/services/ad_group_criterion_service.proto98
-rw-r--r--google/ads/googleads/v0/services/ad_group_feed_service.proto99
-rw-r--r--google/ads/googleads/v0/services/ad_group_service.proto97
-rw-r--r--google/ads/googleads/v0/services/age_range_view_service.proto46
-rw-r--r--google/ads/googleads/v0/services/bidding_strategy_service.proto100
-rw-r--r--google/ads/googleads/v0/services/billing_setup_service.proto102
-rw-r--r--google/ads/googleads/v0/services/campaign_audience_view_service.proto46
-rw-r--r--google/ads/googleads/v0/services/campaign_bid_modifier_service.proto101
-rw-r--r--google/ads/googleads/v0/services/campaign_budget_service.proto99
-rw-r--r--google/ads/googleads/v0/services/campaign_criterion_service.proto98
-rw-r--r--google/ads/googleads/v0/services/campaign_feed_service.proto99
-rw-r--r--google/ads/googleads/v0/services/campaign_group_service.proto100
-rw-r--r--google/ads/googleads/v0/services/campaign_service.proto98
-rw-r--r--google/ads/googleads/v0/services/campaign_shared_set_service.proto92
-rw-r--r--google/ads/googleads/v0/services/carrier_constant_service.proto46
-rw-r--r--google/ads/googleads/v0/services/change_status_service.proto46
-rw-r--r--google/ads/googleads/v0/services/conversion_action_service.proto100
-rw-r--r--google/ads/googleads/v0/services/customer_client_link_service.proto46
-rw-r--r--google/ads/googleads/v0/services/customer_client_service.proto46
-rw-r--r--google/ads/googleads/v0/services/customer_feed_service.proto99
-rw-r--r--google/ads/googleads/v0/services/customer_manager_link_service.proto46
-rw-r--r--google/ads/googleads/v0/services/customer_service.proto130
-rw-r--r--google/ads/googleads/v0/services/display_keyword_view_service.proto46
-rw-r--r--google/ads/googleads/v0/services/feed_item_service.proto99
-rw-r--r--google/ads/googleads/v0/services/feed_mapping_service.proto91
-rw-r--r--google/ads/googleads/v0/services/feed_service.proto99
-rw-r--r--google/ads/googleads/v0/services/gender_view_service.proto46
-rw-r--r--google/ads/googleads/v0/services/geo_target_constant_service.proto117
-rw-r--r--google/ads/googleads/v0/services/google_ads_field_service.proto84
-rw-r--r--google/ads/googleads/v0/services/google_ads_service.proto525
-rw-r--r--google/ads/googleads/v0/services/hotel_group_view_service.proto46
-rw-r--r--google/ads/googleads/v0/services/hotel_performance_view_service.proto46
-rw-r--r--google/ads/googleads/v0/services/keyword_plan_ad_group_service.proto101
-rw-r--r--google/ads/googleads/v0/services/keyword_plan_campaign_service.proto102
-rw-r--r--google/ads/googleads/v0/services/keyword_plan_idea_service.proto112
-rw-r--r--google/ads/googleads/v0/services/keyword_plan_keyword_service.proto101
-rw-r--r--google/ads/googleads/v0/services/keyword_plan_negative_keyword_service.proto106
-rw-r--r--google/ads/googleads/v0/services/keyword_plan_service.proto219
-rw-r--r--google/ads/googleads/v0/services/keyword_view_service.proto46
-rw-r--r--google/ads/googleads/v0/services/language_constant_service.proto46
-rw-r--r--google/ads/googleads/v0/services/managed_placement_view_service.proto46
-rw-r--r--google/ads/googleads/v0/services/media_file_service.proto84
-rw-r--r--google/ads/googleads/v0/services/parental_status_view_service.proto46
-rw-r--r--google/ads/googleads/v0/services/payments_account_service.proto55
-rw-r--r--google/ads/googleads/v0/services/product_group_view_service.proto46
-rw-r--r--google/ads/googleads/v0/services/recommendation_service.proto204
-rw-r--r--google/ads/googleads/v0/services/search_term_view_service.proto46
-rw-r--r--google/ads/googleads/v0/services/shared_criterion_service.proto92
-rw-r--r--google/ads/googleads/v0/services/shared_set_service.proto98
-rw-r--r--google/ads/googleads/v0/services/topic_constant_service.proto46
-rw-r--r--google/ads/googleads/v0/services/topic_view_service.proto46
-rw-r--r--google/ads/googleads/v0/services/user_interest_service.proto46
-rw-r--r--google/ads/googleads/v0/services/user_list_service.proto98
-rw-r--r--google/ads/googleads/v0/services/video_service.proto46
338 files changed, 26631 insertions, 0 deletions
diff --git a/google/ads/googleads/base.yaml b/google/ads/googleads/base.yaml
new file mode 100644
index 000000000..a18b0c0df
--- /dev/null
+++ b/google/ads/googleads/base.yaml
@@ -0,0 +1,276 @@
+type: google.api.Service
+config_version: 3
+name: googleads.googleapis.com
+title: Google Ads API
+
+apis:
+- name: google.ads.googleads.v0.services.AccountBudgetProposalService
+- name: google.ads.googleads.v0.services.AccountBudgetService
+- name: google.ads.googleads.v0.services.AdGroupAdService
+- name: google.ads.googleads.v0.services.AdGroupAudienceViewService
+- name: google.ads.googleads.v0.services.AdGroupBidModifierService
+- name: google.ads.googleads.v0.services.AdGroupCriterionService
+- name: google.ads.googleads.v0.services.AdGroupFeedService
+- name: google.ads.googleads.v0.services.AdGroupService
+- name: google.ads.googleads.v0.services.AgeRangeViewService
+- name: google.ads.googleads.v0.services.BiddingStrategyService
+- name: google.ads.googleads.v0.services.BillingSetupService
+- name: google.ads.googleads.v0.services.CampaignAudienceViewService
+- name: google.ads.googleads.v0.services.CampaignBidModifierService
+- name: google.ads.googleads.v0.services.CampaignBudgetService
+- name: google.ads.googleads.v0.services.CampaignCriterionService
+- name: google.ads.googleads.v0.services.CampaignFeedService
+- name: google.ads.googleads.v0.services.CampaignGroupService
+- name: google.ads.googleads.v0.services.CampaignService
+- name: google.ads.googleads.v0.services.CampaignSharedSetService
+- name: google.ads.googleads.v0.services.CarrierConstantService
+- name: google.ads.googleads.v0.services.ChangeStatusService
+- name: google.ads.googleads.v0.services.ConversionActionService
+- name: google.ads.googleads.v0.services.CustomerClientLinkService
+- name: google.ads.googleads.v0.services.CustomerClientService
+- name: google.ads.googleads.v0.services.CustomerFeedService
+- name: google.ads.googleads.v0.services.CustomerManagerLinkService
+- name: google.ads.googleads.v0.services.CustomerService
+- name: google.ads.googleads.v0.services.DisplayKeywordViewService
+- name: google.ads.googleads.v0.services.FeedItemService
+- name: google.ads.googleads.v0.services.FeedMappingService
+- name: google.ads.googleads.v0.services.FeedService
+- name: google.ads.googleads.v0.services.GenderViewService
+- name: google.ads.googleads.v0.services.GeoTargetConstantService
+- name: google.ads.googleads.v0.services.GoogleAdsFieldService
+- name: google.ads.googleads.v0.services.SharedCriterionService
+- name: google.ads.googleads.v0.services.SharedSetService
+- name: google.ads.googleads.v0.services.UserListService
+- name: google.ads.googleads.v0.services.GoogleAdsService
+- name: google.ads.googleads.v0.services.HotelGroupViewService
+- name: google.ads.googleads.v0.services.HotelPerformanceViewService
+- name: google.ads.googleads.v0.services.KeywordPlanAdGroupService
+- name: google.ads.googleads.v0.services.KeywordPlanCampaignService
+- name: google.ads.googleads.v0.services.KeywordPlanIdeaService
+- name: google.ads.googleads.v0.services.KeywordPlanKeywordService
+- name: google.ads.googleads.v0.services.KeywordPlanNegativeKeywordService
+- name: google.ads.googleads.v0.services.KeywordPlanService
+- name: google.ads.googleads.v0.services.KeywordViewService
+- name: google.ads.googleads.v0.services.LanguageConstantService
+- name: google.ads.googleads.v0.services.ManagedPlacementViewService
+- name: google.ads.googleads.v0.services.MediaFileService
+- name: google.ads.googleads.v0.services.ParentalStatusViewService
+- name: google.ads.googleads.v0.services.PaymentsAccountService
+- name: google.ads.googleads.v0.services.ProductGroupViewService
+- name: google.ads.googleads.v0.services.RecommendationService
+- name: google.ads.googleads.v0.services.SearchTermViewService
+- name: google.ads.googleads.v0.services.TopicConstantService
+- name: google.ads.googleads.v0.services.TopicViewService
+- name: google.ads.googleads.v0.services.UserInterestService
+- name: google.ads.googleads.v0.services.VideoService
+
+types:
+- name: google.ads.googleads.v0.errors.GoogleAdsFailure
+
+documentation:
+ summary: |-
+ Manage your AdWords accounts, campaigns, and reports with this REST-based
+ API.
+ overview: |-
+ # This warning always fires when the last path segment of packages is not
+
+ # the version
+
+backend:
+ rules:
+ - selector: google.ads.googleads.v0.services.AccountBudgetProposalService.GetAccountBudgetProposal
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.AccountBudgetProposalService.MutateAccountBudgetProposal
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.AccountBudgetService.GetAccountBudget
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.AdGroupAdService.GetAdGroupAd
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.AdGroupAdService.MutateAdGroupAds
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.AdGroupAudienceViewService.GetAdGroupAudienceView
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.AdGroupBidModifierService.GetAdGroupBidModifier
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.AdGroupBidModifierService.MutateAdGroupBidModifiers
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.AdGroupCriterionService.GetAdGroupCriterion
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.AdGroupCriterionService.MutateAdGroupCriteria
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.AdGroupFeedService.GetAdGroupFeed
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.AdGroupFeedService.MutateAdGroupFeeds
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.AdGroupService.GetAdGroup
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.AdGroupService.MutateAdGroups
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.AgeRangeViewService.GetAgeRangeView
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.BiddingStrategyService.GetBiddingStrategy
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.BiddingStrategyService.MutateBiddingStrategies
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.BillingSetupService.GetBillingSetup
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.BillingSetupService.MutateBillingSetup
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CampaignAudienceViewService.GetCampaignAudienceView
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CampaignBidModifierService.GetCampaignBidModifier
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CampaignBidModifierService.MutateCampaignBidModifiers
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CampaignBudgetService.GetCampaignBudget
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CampaignBudgetService.MutateCampaignBudgets
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CampaignCriterionService.GetCampaignCriterion
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CampaignCriterionService.MutateCampaignCriteria
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CampaignFeedService.GetCampaignFeed
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CampaignFeedService.MutateCampaignFeeds
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CampaignGroupService.GetCampaignGroup
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CampaignGroupService.MutateCampaignGroups
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CampaignService.GetCampaign
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CampaignService.MutateCampaigns
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CampaignSharedSetService.GetCampaignSharedSet
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CampaignSharedSetService.MutateCampaignSharedSets
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CarrierConstantService.GetCarrierConstant
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.ChangeStatusService.GetChangeStatus
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.ConversionActionService.GetConversionAction
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.ConversionActionService.MutateConversionActions
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CustomerClientLinkService.GetCustomerClientLink
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CustomerClientService.GetCustomerClient
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CustomerFeedService.GetCustomerFeed
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CustomerFeedService.MutateCustomerFeeds
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CustomerManagerLinkService.GetCustomerManagerLink
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CustomerService.GetCustomer
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CustomerService.MutateCustomer
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CustomerService.ListAccessibleCustomers
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.CustomerService.CreateCustomerClient
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.DisplayKeywordViewService.GetDisplayKeywordView
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.FeedItemService.GetFeedItem
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.FeedItemService.MutateFeedItems
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.FeedMappingService.GetFeedMapping
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.FeedMappingService.MutateFeedMappings
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.FeedService.GetFeed
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.FeedService.MutateFeeds
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.GenderViewService.GetGenderView
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.GeoTargetConstantService.GetGeoTargetConstant
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.GeoTargetConstantService.SuggestGeoTargetConstants
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.GoogleAdsFieldService.GetGoogleAdsField
+ deadline: 600.0
+ - selector: google.ads.googleads.v0.services.GoogleAdsFieldService.SearchGoogleAdsFields
+ deadline: 600.0
+ - selector: google.ads.googleads.v0.services.SharedCriterionService.GetSharedCriterion
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.SharedCriterionService.MutateSharedCriteria
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.SharedSetService.GetSharedSet
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.SharedSetService.MutateSharedSets
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.UserListService.GetUserList
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.UserListService.MutateUserLists
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.GoogleAdsService.Search
+ deadline: 600.0
+ - selector: google.ads.googleads.v0.services.GoogleAdsService.Mutate
+ deadline: 600.0
+ - selector: google.ads.googleads.v0.services.HotelGroupViewService.GetHotelGroupView
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.HotelPerformanceViewService.GetHotelPerformanceView
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.KeywordPlanAdGroupService.GetKeywordPlanAdGroup
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.KeywordPlanCampaignService.GetKeywordPlanCampaign
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.KeywordPlanIdeaService.GenerateKeywordIdeas
+ deadline: 600.0
+ - selector: google.ads.googleads.v0.services.KeywordPlanKeywordService.GetKeywordPlanKeyword
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.KeywordPlanKeywordService.MutateKeywordPlanKeywords
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.KeywordPlanNegativeKeywordService.GetKeywordPlanNegativeKeyword
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.KeywordPlanNegativeKeywordService.MutateKeywordPlanNegativeKeywords
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.KeywordPlanService.GetKeywordPlan
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.KeywordPlanService.MutateKeywordPlans
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.KeywordPlanService.GenerateForecastMetrics
+ deadline: 600.0
+ - selector: google.ads.googleads.v0.services.KeywordPlanService.GenerateHistoricalMetrics
+ deadline: 600.0
+ - selector: google.ads.googleads.v0.services.KeywordViewService.GetKeywordView
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.LanguageConstantService.GetLanguageConstant
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.ManagedPlacementViewService.GetManagedPlacementView
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.MediaFileService.GetMediaFile
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.MediaFileService.MutateMediaFiles
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.ParentalStatusViewService.GetParentalStatusView
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.PaymentsAccountService.ListPaymentsAccounts
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.ProductGroupViewService.GetProductGroupView
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.RecommendationService.GetRecommendation
+ deadline: 600.0
+ - selector: google.ads.googleads.v0.services.RecommendationService.ApplyRecommendation
+ deadline: 600.0
+ - selector: google.ads.googleads.v0.services.RecommendationService.DismissRecommendation
+ deadline: 600.0
+ - selector: google.ads.googleads.v0.services.SearchTermViewService.GetSearchTermView
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.TopicConstantService.GetTopicConstant
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.TopicViewService.GetTopicView
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.UserInterestService.GetUserInterest
+ deadline: 60.0
+ - selector: google.ads.googleads.v0.services.VideoService.GetVideo
+ deadline: 60.0
diff --git a/google/ads/googleads/v0/common/ad_type_infos.proto b/google/ads/googleads/v0/common/ad_type_infos.proto
new file mode 100644
index 000000000..40a181629
--- /dev/null
+++ b/google/ads/googleads/v0/common/ad_type_infos.proto
@@ -0,0 +1,291 @@
+// Copyright 2018 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.v0.common;
+
+import "google/ads/googleads/v0/enums/call_conversion_reporting_state.proto";
+import "google/ads/googleads/v0/enums/display_ad_format_setting.proto";
+import "google/ads/googleads/v0/enums/mime_type.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Common";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/common;common";
+option java_multiple_files = true;
+option java_outer_classname = "AdTypeInfosProto";
+option java_package = "com.google.ads.googleads.v0.common";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Common";
+// Proto file containing info messages for specific ad types.
+
+// A text ad.
+message TextAdInfo {
+ // The headline of the ad.
+ google.protobuf.StringValue headline = 1;
+
+ // The first line of the ad's description.
+ google.protobuf.StringValue description1 = 2;
+
+ // The second line of the ad's description.
+ google.protobuf.StringValue description2 = 3;
+}
+
+// An expanded text ad.
+message ExpandedTextAdInfo {
+ // The first part of the ad's headline.
+ google.protobuf.StringValue headline_part1 = 1;
+
+ // The second part of the ad's headline.
+ google.protobuf.StringValue headline_part2 = 2;
+
+ // The third part of the ad's headline.
+ google.protobuf.StringValue headline_part3 = 6;
+
+ // The description of the ad.
+ google.protobuf.StringValue description = 3;
+
+ // The second description of the ad.
+ google.protobuf.StringValue description2 = 7;
+
+ // The text that can appear alongside the ad's displayed URL.
+ google.protobuf.StringValue path1 = 4;
+
+ // Additional text that can appear alongside the ad's displayed URL.
+ google.protobuf.StringValue path2 = 5;
+}
+
+// A dynamic search ad.
+message DynamicSearchAdInfo {
+ // The first line of the ad's description.
+ google.protobuf.StringValue description1 = 1;
+
+ // The second line of the ad's description.
+ google.protobuf.StringValue description2 = 2;
+}
+
+// A responsive display ad.
+message ResponsiveDisplayAdInfo {
+ // The short version of the ad's headline.
+ google.protobuf.StringValue short_headline = 1;
+
+ // The long version of the ad's headline.
+ google.protobuf.StringValue long_headline = 2;
+
+ // The description of the ad.
+ google.protobuf.StringValue description = 3;
+
+ // The business name in the ad.
+ google.protobuf.StringValue business_name = 4;
+
+ // Advertiser's consent to allow flexible color. When true, the ad may be
+ // served with different color if necessary. When false, the ad will be served
+ // with the specified colors or a neutral color.
+ // The default value is true.
+ // Must be true if main_color and accent_color are not set.
+ google.protobuf.BoolValue allow_flexible_color = 5;
+
+ // The accent color of the ad in hexadecimal, e.g. #ffffff for white.
+ // If one of main_color and accent_color is set, the other is required as
+ // well.
+ google.protobuf.StringValue accent_color = 6;
+
+ // The main color of the ad in hexadecimal, e.g. #ffffff for white.
+ // If one of main_color and accent_color is set, the other is required as
+ // well.
+ google.protobuf.StringValue main_color = 7;
+
+ // The call-to-action text for the ad.
+ google.protobuf.StringValue call_to_action_text = 8;
+
+ // The MediaFile resource name of the logo image used in the ad.
+ google.protobuf.StringValue logo_image = 9;
+
+ // The MediaFile resource name of the square logo image used in the ad.
+ google.protobuf.StringValue square_logo_image = 10;
+
+ // The MediaFile resource name of the marketing image used in the ad.
+ google.protobuf.StringValue marketing_image = 11;
+
+ // The MediaFile resource name of the square marketing image used in the ad.
+ google.protobuf.StringValue square_marketing_image = 12;
+
+ // Specifies which format the ad will be served in. Default is ALL_FORMATS.
+ google.ads.googleads.v0.enums.DisplayAdFormatSettingEnum.DisplayAdFormatSetting format_setting = 13;
+
+ // Prefix before price. E.g. 'as low as'.
+ google.protobuf.StringValue price_prefix = 14;
+
+ // Promotion text used for dyanmic formats of responsive ads. For example
+ // 'Free two-day shipping'.
+ google.protobuf.StringValue promo_text = 15;
+}
+
+// A call-only ad.
+message CallOnlyAdInfo {
+ // The country code in the ad.
+ google.protobuf.StringValue country_code = 1;
+
+ // The phone number in the ad.
+ google.protobuf.StringValue phone_number = 2;
+
+ // The business name in the ad.
+ google.protobuf.StringValue business_name = 3;
+
+ // The first line of the ad's description.
+ google.protobuf.StringValue description1 = 4;
+
+ // The second line of the ad's description.
+ google.protobuf.StringValue description2 = 5;
+
+ // Whether to enable call tracking for the creative. Enabling call
+ // tracking also enables call conversions.
+ google.protobuf.BoolValue call_tracked = 6;
+
+ // Whether to disable call conversion for the creative.
+ // If set to `true`, disables call conversions even when `call_tracked` is
+ // `true`.
+ // If `call_tracked` is `false`, this field is ignored.
+ google.protobuf.BoolValue disable_call_conversion = 7;
+
+ // The URL to be used for phone number verification.
+ google.protobuf.StringValue phone_number_verification_url = 8;
+
+ // The conversion action to attribute a call conversion to. If not set a
+ // default conversion action is used. This field only has effect if
+ // call_tracked is set to true. Otherwise this field is ignored.
+ google.protobuf.StringValue conversion_action = 9;
+
+ // The call conversion behavior of this call only ad. It can use its own call
+ // conversion setting, inherit the account level setting, or be disabled.
+ google.ads.googleads.v0.enums.CallConversionReportingStateEnum.CallConversionReportingState conversion_reporting_state = 10;
+}
+
+// An expanded dynamic search ad.
+message ExpandedDynamicSearchAdInfo {
+ // The description of the ad.
+ google.protobuf.StringValue description = 1;
+}
+
+// A hotel ad.
+message HotelAdInfo {
+
+}
+
+// A Smart Shopping ad.
+message ShoppingSmartAdInfo {
+
+}
+
+// A standard Shopping ad.
+message ShoppingProductAdInfo {
+
+}
+
+// A Gmail ad.
+message GmailAdInfo {
+ // The Gmail teaser.
+ GmailTeaser teaser = 1;
+
+ // The MediaFile resource name of the header image. Valid image types are GIF,
+ // JPEG and PNG. The minimum size is 300x100 pixels and the aspect ratio must
+ // be between 3:1 and 5:1 (+-1%).
+ google.protobuf.StringValue header_image = 2;
+
+ // The MediaFile resource name of the marketing image. Valid image types are
+ // GIF, JPEG and PNG. The image must either be landscape with a minimum size
+ // of 600x314 pixels and aspect ratio of 600:314 (+-1%) or square with a
+ // minimum size of 300x300 pixels and aspect ratio of 1:1 (+-1%)
+ google.protobuf.StringValue marketing_image = 3;
+
+ // Headline of the marketing image.
+ google.protobuf.StringValue marketing_image_headline = 4;
+
+ // Description of the marketing image.
+ google.protobuf.StringValue marketing_image_description = 5;
+
+ // Display-call-to-action of the marketing image.
+ DisplayCallToAction marketing_image_display_call_to_action = 6;
+}
+
+// Gmail teaser data. The teaser is a small header that acts as an invitation
+// to view the rest of the ad (the body).
+message GmailTeaser {
+ // Headline of the teaser.
+ google.protobuf.StringValue headline = 1;
+
+ // Description of the teaser.
+ google.protobuf.StringValue description = 2;
+
+ // Business name of the advertiser.
+ google.protobuf.StringValue business_name = 3;
+
+ // The MediaFile resource name of the logo image. Valid image types are GIF,
+ // JPEG and PNG. The minimum size is 144x144 pixels and the aspect ratio must
+ // be 1:1 (+-1%).
+ google.protobuf.StringValue logo_image = 4;
+}
+
+// Data for display call to action. The call to action is a piece of the ad
+// that prompts the user to do something. Like clicking a link or making a phone
+// call.
+message DisplayCallToAction {
+ // Text for the display-call-to-action.
+ google.protobuf.StringValue text = 1;
+
+ // Text color for the display-call-to-action in hexadecimal, e.g. #ffffff for
+ // white.
+ google.protobuf.StringValue text_color = 2;
+}
+
+// An image ad.
+message ImageAdInfo {
+ // Width in pixels of the full size image.
+ google.protobuf.Int64Value pixel_width = 4;
+
+ // Height in pixels of the full size image.
+ google.protobuf.Int64Value pixel_height = 5;
+
+ // URL of the full size image.
+ google.protobuf.StringValue image_url = 6;
+
+ // Width in pixels of the preview size image.
+ google.protobuf.Int64Value preview_pixel_width = 7;
+
+ // Height in pixels of the preview size image.
+ google.protobuf.Int64Value preview_pixel_height = 8;
+
+ // URL of the preview size image.
+ google.protobuf.StringValue preview_image_url = 9;
+
+ // The mime type of the image.
+ google.ads.googleads.v0.enums.MimeTypeEnum.MimeType mime_type = 10;
+
+ // The name of the image. If the image was created from a MediaFile, this is
+ // the MediaFile's name. If the image was created from bytes, this is empty.
+ google.protobuf.StringValue name = 11;
+
+ // The image to create the ImageAd from. This can be specified in one of
+ // two ways.
+ // 1. An existing MediaFile resource.
+ // 2. The raw image data as bytes.
+ oneof image {
+ // The MediaFile resource to use for the image.
+ google.protobuf.StringValue media_file = 1;
+
+ // Raw image data as bytes.
+ google.protobuf.BytesValue data = 2;
+ }
+}
diff --git a/google/ads/googleads/v0/common/bidding.proto b/google/ads/googleads/v0/common/bidding.proto
new file mode 100644
index 000000000..3bc40727c
--- /dev/null
+++ b/google/ads/googleads/v0/common/bidding.proto
@@ -0,0 +1,194 @@
+// Copyright 2018 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.v0.common;
+
+import "google/ads/googleads/v0/enums/page_one_promoted_strategy_goal.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Common";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/common;common";
+option java_multiple_files = true;
+option java_outer_classname = "BiddingProto";
+option java_package = "com.google.ads.googleads.v0.common";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Common";
+// Proto file describing bidding schemes.
+
+// An automated 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.
+message EnhancedCpc {
+
+}
+
+// Manual click-based bidding where user pays per click.
+message ManualCpc {
+ // Whether bids are to be enhanced based on conversion optimizer data.
+ google.protobuf.BoolValue enhanced_cpc_enabled = 1;
+}
+
+// Manual impression-based bidding where user pays per thousand impressions.
+message ManualCpm {
+
+}
+
+// View based bidding where user pays per video view.
+message ManualCpv {
+
+}
+
+// An automated bidding strategy that sets bids to help get the most conversions
+// for your campaign while spending your budget.
+message MaximizeConversions {
+
+}
+
+// An automated bidding strategy which tries to maximize conversion value
+// given a daily budget.
+message MaximizeConversionValue {
+ // The target return on ad spend (ROAS) option. If set, the bid strategy will
+ // maximize revenue while averaging the target return on ad spend. If the
+ // target ROAS is high, the bid strategy may not be able to spend the full
+ // budget. If the target ROAS is not set, the bid strategy will aim to
+ // achieve the highest possible ROAS for the budget.
+ google.protobuf.DoubleValue target_roas = 1;
+}
+
+// An automated bidding strategy which sets CPC bids to target impressions on
+// page one, or page one promoted slots on google.com.
+message PageOnePromoted {
+ // The strategy goal of where impressions are desired to be shown on
+ // search result pages.
+ google.ads.googleads.v0.enums.PageOnePromotedStrategyGoalEnum.PageOnePromotedStrategyGoal strategy_goal = 1;
+
+ // Maximum bid limit that can be set by the bid strategy.
+ // The limit applies to all keywords managed by the strategy.
+ google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+
+ // Bid multiplier to be applied to the relevant bid estimate (depending on
+ // the `strategy_goal`) in determining a keyword's new CPC bid.
+ google.protobuf.DoubleValue bid_modifier = 3;
+
+ // Whether the strategy should always follow bid estimate changes, or only
+ // increase.
+ // If false, always sets a keyword's new bid to the current bid estimate.
+ // If true, only updates a keyword's bid if the current bid estimate is
+ // greater than the current bid.
+ google.protobuf.BoolValue only_raise_cpc_bids = 4;
+
+ // Whether the strategy is allowed to raise bids when the throttling
+ // rate of the budget it is serving out of rises above a threshold.
+ google.protobuf.BoolValue raise_cpc_bid_when_budget_constrained = 5;
+
+ // Whether the strategy is allowed to raise bids on keywords with
+ // lower-range quality scores.
+ google.protobuf.BoolValue raise_cpc_bid_when_quality_score_is_low = 6;
+}
+
+// An automated bid strategy that sets bids to help get as many conversions as
+// possible at the target cost-per-acquisition (CPA) you set.
+message TargetCpa {
+ // Average CPA target.
+ // This target should be greater than or equal to minimum billable unit based
+ // on the currency for the account.
+ google.protobuf.Int64Value target_cpa_micros = 1;
+
+ // Maximum bid limit that can be set by the bid strategy.
+ // The limit applies to all keywords managed by the strategy.
+ google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+
+ // Minimum bid limit that can be set by the bid strategy.
+ // The limit applies to all keywords managed by the strategy.
+ google.protobuf.Int64Value cpc_bid_floor_micros = 3;
+}
+
+// An automated bidding strategy that sets bids based on the target fraction of
+// auctions where the advertiser should outrank a specific competitor.
+message TargetOutrankShare {
+ // The target fraction of auctions where the advertiser should outrank the
+ // competitor.
+ // The advertiser outranks the competitor in an auction if either the
+ // advertiser appears above the competitor in the search results, or appears
+ // in the search results when the competitor does not.
+ // Value must be between 1 and 1000000, inclusive.
+ google.protobuf.Int32Value target_outrank_share_micros = 1;
+
+ // Competitor's visible domain URL.
+ google.protobuf.StringValue competitor_domain = 2;
+
+ // Maximum bid limit that can be set by the bid strategy.
+ // The limit applies to all keywords managed by the strategy.
+ google.protobuf.Int64Value cpc_bid_ceiling_micros = 3;
+
+ // Whether the strategy should always follow bid estimate changes,
+ // or only increase.
+ // If false, always set a keyword's new bid to the current bid estimate.
+ // If true, only updates a keyword's bid if the current bid estimate is
+ // greater than the current bid.
+ google.protobuf.BoolValue only_raise_cpc_bids = 4;
+
+ // Whether the strategy is allowed to raise bids on keywords with
+ // lower-range quality scores.
+ google.protobuf.BoolValue raise_cpc_bid_when_quality_score_is_low = 5;
+}
+
+// An automated bidding strategy that helps you maximize revenue while
+// averaging a specific target return on ad spend (ROAS).
+message TargetRoas {
+ // Required. The desired revenue (based on conversion data) per unit of spend.
+ // Value must be between 0.01 and 1000.0, inclusive.
+ google.protobuf.DoubleValue target_roas = 1;
+
+ // Maximum bid limit that can be set by the bid strategy.
+ // The limit applies to all keywords managed by the strategy.
+ google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+
+ // Minimum bid limit that can be set by the bid strategy.
+ // The limit applies to all keywords managed by the strategy.
+ google.protobuf.Int64Value cpc_bid_floor_micros = 3;
+}
+
+// An automated bid strategy that sets your bids to help get as many clicks
+// as possible within your budget.
+message TargetSpend {
+ // The spend target under which to maximize clicks.
+ // A TargetSpend bidder will attempt to spend the smaller of this value
+ // or the natural throttling spend amount.
+ // If not specified, the budget is used as the spend target.
+ google.protobuf.Int64Value target_spend_micros = 1;
+
+ // Maximum bid limit that can be set by the bid strategy.
+ // The limit applies to all keywords managed by the strategy.
+ google.protobuf.Int64Value cpc_bid_ceiling_micros = 2;
+}
+
+// A bidding strategy where bids are a fraction of the advertised price for
+// some good or service.
+message PercentCpc {
+ // Maximum bid limit that can be set by the bid strategy. This is
+ // an optional field entered by the advertiser and specified in local micros.
+ // Note: A zero value is interpreted in the same way as having bid_ceiling
+ // undefined.
+ google.protobuf.Int64Value cpc_bid_ceiling_micros = 1;
+
+ // Adjusts the bid for each auction upward or downward, depending on the
+ // likelihood of a conversion. Individual bids may exceed
+ // cpc_bid_ceiling_micros, but the average bid amount for a campaign should
+ // not.
+ google.protobuf.BoolValue enhanced_cpc_enabled = 2;
+}
diff --git a/google/ads/googleads/v0/common/criteria.proto b/google/ads/googleads/v0/common/criteria.proto
new file mode 100644
index 000000000..1e6a5797b
--- /dev/null
+++ b/google/ads/googleads/v0/common/criteria.proto
@@ -0,0 +1,449 @@
+// Copyright 2018 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.v0.common;
+
+import "google/ads/googleads/v0/enums/age_range_type.proto";
+import "google/ads/googleads/v0/enums/content_label_type.proto";
+import "google/ads/googleads/v0/enums/day_of_week.proto";
+import "google/ads/googleads/v0/enums/device.proto";
+import "google/ads/googleads/v0/enums/gender_type.proto";
+import "google/ads/googleads/v0/enums/hotel_date_selection_type.proto";
+import "google/ads/googleads/v0/enums/income_range_type.proto";
+import "google/ads/googleads/v0/enums/interaction_type.proto";
+import "google/ads/googleads/v0/enums/keyword_match_type.proto";
+import "google/ads/googleads/v0/enums/listing_custom_attribute_index.proto";
+import "google/ads/googleads/v0/enums/listing_group_type.proto";
+import "google/ads/googleads/v0/enums/minute_of_hour.proto";
+import "google/ads/googleads/v0/enums/parental_status_type.proto";
+import "google/ads/googleads/v0/enums/preferred_content_type.proto";
+import "google/ads/googleads/v0/enums/product_channel.proto";
+import "google/ads/googleads/v0/enums/product_channel_exclusivity.proto";
+import "google/ads/googleads/v0/enums/product_condition.proto";
+import "google/ads/googleads/v0/enums/product_type_level.proto";
+import "google/ads/googleads/v0/enums/proximity_radius_units.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Common";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/common;common";
+option java_multiple_files = true;
+option java_outer_classname = "CriteriaProto";
+option java_package = "com.google.ads.googleads.v0.common";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Common";
+// Proto file describing criteria types.
+
+// A keyword criterion.
+message KeywordInfo {
+ // The text of the keyword (at most 80 characters and 10 words).
+ google.protobuf.StringValue text = 1;
+
+ // The match type of the keyword.
+ google.ads.googleads.v0.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 2;
+}
+
+// A placement criterion. This can be used to modify bids for sites when
+// targeting the content network.
+message PlacementInfo {
+ // URL of the placement.
+ //
+ // For example, "http://www.domain.com".
+ google.protobuf.StringValue url = 1;
+}
+
+// A location criterion.
+message LocationInfo {
+ // The geo target constant resource name.
+ google.protobuf.StringValue geo_target_constant = 1;
+}
+
+// A device criterion.
+message DeviceInfo {
+ // Type of the device.
+ google.ads.googleads.v0.enums.DeviceEnum.Device type = 1;
+}
+
+// A preferred content criterion.
+message PreferredContentInfo {
+ // Type of the preferred content.
+ google.ads.googleads.v0.enums.PreferredContentTypeEnum.PreferredContentType type = 2;
+}
+
+// A listing group criterion.
+message ListingGroupInfo {
+ // Type of the listing group.
+ google.ads.googleads.v0.enums.ListingGroupTypeEnum.ListingGroupType type = 1;
+
+ // Dimension value with which this listing group is refining its parent.
+ // Undefined for the root group.
+ ListingDimensionInfo case_value = 2;
+
+ // Resource name of ad group criterion which is the parent listing group
+ // subdivision. Null for the root group.
+ google.protobuf.StringValue parent_ad_group_criterion = 3;
+}
+
+// A listing scope criterion.
+message ListingScopeInfo {
+ // Scope of the campaign criterion.
+ repeated ListingDimensionInfo dimensions = 2;
+}
+
+// Listing dimensions for listing group criterion.
+message ListingDimensionInfo {
+ // Dimension of one of the types below is always present.
+ oneof dimension {
+ // Brand of the listing.
+ ListingBrandInfo listing_brand = 1;
+
+ // Advertiser-specific hotel ID.
+ HotelIdInfo hotel_id = 2;
+
+ // Class of the hotel as a number of stars 1 to 5.
+ HotelClassInfo hotel_class = 3;
+
+ // Country or Region the hotel is located in.
+ HotelCountryRegionInfo hotel_country_region = 4;
+
+ // State the hotel is located in.
+ HotelStateInfo hotel_state = 5;
+
+ // City the hotel is located in.
+ HotelCityInfo hotel_city = 6;
+
+ // Listing custom attribute.
+ ListingCustomAttributeInfo listing_custom_attribute = 7;
+
+ // Locality of a product offer.
+ ProductChannelInfo product_channel = 8;
+
+ // Availability of a product offer.
+ ProductChannelExclusivityInfo product_channel_exclusivity = 9;
+
+ // Condition of a product offer.
+ ProductConditionInfo product_condition = 10;
+
+ // Id of a product offer.
+ ProductOfferIdInfo product_offer_id = 11;
+
+ // Type of a product offer.
+ ProductTypeInfo product_type = 12;
+ }
+}
+
+// Brand of the listing.
+message ListingBrandInfo {
+ // String value of the listing brand.
+ google.protobuf.StringValue value = 1;
+}
+
+// Advertiser-specific hotel ID.
+message HotelIdInfo {
+ // String value of the hotel ID.
+ google.protobuf.StringValue value = 1;
+}
+
+// Class of the hotel as a number of stars 1 to 5.
+message HotelClassInfo {
+ // Long value of the hotel class.
+ google.protobuf.Int64Value value = 1;
+}
+
+// Country or Region the hotel is located in.
+message HotelCountryRegionInfo {
+ // The Geo Target Constant resource name.
+ google.protobuf.StringValue country_region_criterion = 1;
+}
+
+// State the hotel is located in.
+message HotelStateInfo {
+ // The Geo Target Constant resource name.
+ google.protobuf.StringValue state_criterion = 1;
+}
+
+// City the hotel is located in.
+message HotelCityInfo {
+ // The Geo Target Constant resource name.
+ google.protobuf.StringValue city_criterion = 1;
+}
+
+// Listing custom attribute.
+message ListingCustomAttributeInfo {
+ // String value of the listing custom attribute.
+ google.protobuf.StringValue value = 1;
+
+ // Indicates the index of the custom attribute.
+ google.ads.googleads.v0.enums.ListingCustomAttributeIndexEnum.ListingCustomAttributeIndex index = 2;
+}
+
+// Locality of a product offer.
+message ProductChannelInfo {
+ // Value of the locality.
+ google.ads.googleads.v0.enums.ProductChannelEnum.ProductChannel channel = 1;
+}
+
+// Availability of a product offer.
+message ProductChannelExclusivityInfo {
+ // Value of the availability.
+ google.ads.googleads.v0.enums.ProductChannelExclusivityEnum.ProductChannelExclusivity channel_exclusivity = 1;
+}
+
+// Condition of a product offer.
+message ProductConditionInfo {
+ // Value of the condition.
+ google.ads.googleads.v0.enums.ProductConditionEnum.ProductCondition condition = 1;
+}
+
+// Id of a product offer.
+message ProductOfferIdInfo {
+ // Value of the id.
+ google.protobuf.StringValue value = 1;
+}
+
+// Type of a product offer.
+message ProductTypeInfo {
+ // Value of the type.
+ google.protobuf.StringValue value = 1;
+
+ // Level of the type.
+ google.ads.googleads.v0.enums.ProductTypeLevelEnum.ProductTypeLevel level = 2;
+}
+
+// Criterion for hotel date selection (default dates vs. user selected).
+message HotelDateSelectionTypeInfo {
+ // Type of the hotel date selection
+ google.ads.googleads.v0.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType type = 1;
+}
+
+// Criterion for number of days prior to the stay the booking is being made.
+message HotelAdvanceBookingWindowInfo {
+ // Low end of the number of days prior to the stay.
+ google.protobuf.Int64Value min_days = 1;
+
+ // High end of the number of days prior to the stay.
+ google.protobuf.Int64Value max_days = 2;
+}
+
+// Criterion for length of hotel stay in nights.
+message HotelLengthOfStayInfo {
+ // Low end of the number of nights in the stay.
+ google.protobuf.Int64Value min_nights = 1;
+
+ // High end of the number of nights in the stay.
+ google.protobuf.Int64Value max_nights = 2;
+}
+
+// Criterion for day of the week the booking is for.
+message HotelCheckInDayInfo {
+ // The day of the week.
+ google.ads.googleads.v0.enums.DayOfWeekEnum.DayOfWeek day_of_week = 1;
+}
+
+// Criterion for Interaction Type.
+message InteractionTypeInfo {
+ // The interaction type.
+ google.ads.googleads.v0.enums.InteractionTypeEnum.InteractionType type = 1;
+}
+
+// Represents an AdSchedule criterion.
+//
+// AdSchedule is specified as the day of the week and a time interval
+// within which ads will be shown.
+//
+// No more than six AdSchedules can be added for the same day.
+message AdScheduleInfo {
+ // Minutes after the start hour at which this schedule starts.
+ //
+ // This field is required for CREATE operations and is prohibited on UPDATE
+ // operations.
+ google.ads.googleads.v0.enums.MinuteOfHourEnum.MinuteOfHour start_minute = 1;
+
+ // Minutes after the end hour at which this schedule ends. The schedule is
+ // exclusive of the end minute.
+ //
+ // This field is required for CREATE operations and is prohibited on UPDATE
+ // operations.
+ google.ads.googleads.v0.enums.MinuteOfHourEnum.MinuteOfHour end_minute = 2;
+
+ // Starting hour in 24 hour time.
+ // This field must be between 0 and 23, inclusive.
+ //
+ // This field is required for CREATE operations and is prohibited on UPDATE
+ // operations.
+ google.protobuf.Int32Value start_hour = 3;
+
+ // Ending hour in 24 hour time; 24 signifies end of the day.
+ // This field must be between 0 and 24, inclusive.
+ //
+ // This field is required for CREATE operations and is prohibited on UPDATE
+ // operations.
+ google.protobuf.Int32Value end_hour = 4;
+
+ // Day of the week the schedule applies to.
+ //
+ // This field is required for CREATE operations and is prohibited on UPDATE
+ // operations.
+ google.ads.googleads.v0.enums.DayOfWeekEnum.DayOfWeek day_of_week = 5;
+}
+
+// An age range criterion.
+message AgeRangeInfo {
+ // Type of the age range.
+ google.ads.googleads.v0.enums.AgeRangeTypeEnum.AgeRangeType type = 1;
+}
+
+// A gender criterion.
+message GenderInfo {
+ // Type of the gender.
+ google.ads.googleads.v0.enums.GenderTypeEnum.GenderType type = 1;
+}
+
+// An income range criterion.
+message IncomeRangeInfo {
+ // Type of the income range.
+ google.ads.googleads.v0.enums.IncomeRangeTypeEnum.IncomeRangeType type = 1;
+}
+
+// A parental status criterion.
+message ParentalStatusInfo {
+ // Type of the parental status.
+ google.ads.googleads.v0.enums.ParentalStatusTypeEnum.ParentalStatusType type = 1;
+}
+
+// A YouTube Video criterion.
+message YouTubeVideoInfo {
+ // YouTube video id as it appears on the YouTube watch page.
+ google.protobuf.StringValue video_id = 1;
+}
+
+// A YouTube Channel criterion.
+message YouTubeChannelInfo {
+ // The YouTube uploader channel id or the channel code of a YouTube channel.
+ google.protobuf.StringValue channel_id = 1;
+}
+
+// A User List criterion. Represents a user list that is defined by the
+// advertiser to be targeted.
+message UserListInfo {
+ // The User List resource name.
+ google.protobuf.StringValue user_list = 1;
+}
+
+// A Proximity criterion. The geo point and radius determine what geographical
+// area is included. The address is a description of the geo point that does
+// not affect ad serving.
+//
+// There are two ways to create a proximity. First, by setting an address
+// and radius. The geo point will be automatically computed. Second, by
+// setting a geo point and radius. The address is an optional label that won't
+// be validated.
+message ProximityInfo {
+ // Latitude and longitude.
+ GeoPointInfo geo_point = 1;
+
+ // The radius of the proximity.
+ google.protobuf.DoubleValue radius = 2;
+
+ // The unit of measurement of the radius. Default is KILOMETERS.
+ google.ads.googleads.v0.enums.ProximityRadiusUnitsEnum.ProximityRadiusUnits radius_units = 3;
+
+ // Full address.
+ AddressInfo address = 4;
+}
+
+// Geo point for proximity criterion.
+message GeoPointInfo {
+ // Micro degrees for the longitude.
+ google.protobuf.Int32Value longitude_in_micro_degrees = 1;
+
+ // Micro degrees for the latitude.
+ google.protobuf.Int32Value latitude_in_micro_degrees = 2;
+}
+
+// Address for proximity criterion.
+message AddressInfo {
+ // Postal code.
+ google.protobuf.StringValue postal_code = 1;
+
+ // Province or state code.
+ google.protobuf.StringValue province_code = 2;
+
+ // Country code.
+ google.protobuf.StringValue country_code = 3;
+
+ // Province or state name.
+ google.protobuf.StringValue province_name = 4;
+
+ // Street address line 1.
+ google.protobuf.StringValue street_address = 5;
+
+ // Street address line 2. This field is write-only. It is only used for
+ // calculating the longitude and latitude of an address when geo_point is
+ // empty.
+ google.protobuf.StringValue street_address2 = 6;
+
+ // Name of the city.
+ google.protobuf.StringValue city_name = 7;
+}
+
+// A topic criterion. 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 TopicInfo {
+ // The Topic Constant resource name.
+ google.protobuf.StringValue topic_constant = 1;
+
+ // 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.
+ repeated google.protobuf.StringValue path = 2;
+}
+
+// A language criterion.
+message LanguageInfo {
+ // The language constant resource name.
+ google.protobuf.StringValue language_constant = 1;
+}
+
+// An IpBlock criterion used for IP exclusions. We allow:
+// - IPv4 and IPv6 addresses
+// - individual addresses (192.168.0.1)
+// - masks for individual addresses (192.168.0.1/32)
+// - masks for Class C networks (192.168.0.1/24)
+message IpBlockInfo {
+ // The IP address of this IP block.
+ google.protobuf.StringValue ip_address = 1;
+}
+
+// Content Label for category exclusion.
+message ContentLabelInfo {
+ // Content label type, required for CREATE operations.
+ google.ads.googleads.v0.enums.ContentLabelTypeEnum.ContentLabelType type = 1;
+}
+
+// Represents a Carrier Criterion.
+message CarrierInfo {
+ // The Carrier constant resource name.
+ google.protobuf.StringValue carrier_constant = 1;
+}
+
+// Represents a particular interest-based topic to be targeted.
+message UserInterestInfo {
+ // The UserInterest resource name.
+ google.protobuf.StringValue user_interest_category = 1;
+}
diff --git a/google/ads/googleads/v0/common/criterion_category_availability.proto b/google/ads/googleads/v0/common/criterion_category_availability.proto
new file mode 100644
index 000000000..904ae8601
--- /dev/null
+++ b/google/ads/googleads/v0/common/criterion_category_availability.proto
@@ -0,0 +1,81 @@
+// Copyright 2018 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.v0.common;
+
+import "google/ads/googleads/v0/enums/advertising_channel_sub_type.proto";
+import "google/ads/googleads/v0/enums/advertising_channel_type.proto";
+import "google/ads/googleads/v0/enums/criterion_category_channel_availability_mode.proto";
+import "google/ads/googleads/v0/enums/criterion_category_locale_availability_mode.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Common";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/common;common";
+option java_multiple_files = true;
+option java_outer_classname = "CriterionCategoryAvailabilityProto";
+option java_package = "com.google.ads.googleads.v0.common";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Common";
+// Proto file describing criterion category availability information.
+
+// Information of category availability, per advertising channel.
+message CriterionCategoryAvailability {
+ // Channel types and subtypes that are available to the category.
+ CriterionCategoryChannelAvailability channel = 1;
+
+ // Locales that are available to the category for the channel.
+ repeated CriterionCategoryLocaleAvailability locale = 2;
+}
+
+// Information of advertising channel type and subtypes a category is available
+// in.
+message CriterionCategoryChannelAvailability {
+ // Format of the channel availability. Can be ALL_CHANNELS (the rest of the
+ // fields will not be set), CHANNEL_TYPE (only advertising_channel_type type
+ // will be set, the category is available to all sub types under it) or
+ // CHANNEL_TYPE_AND_SUBTYPES (advertising_channel_type,
+ // advertising_channel_sub_type, and include_default_channel_sub_type will all
+ // be set).
+ google.ads.googleads.v0.enums.CriterionCategoryChannelAvailabilityModeEnum.CriterionCategoryChannelAvailabilityMode availability_mode = 1;
+
+ // Channel type the category is available to.
+ google.ads.googleads.v0.enums.AdvertisingChannelTypeEnum.AdvertisingChannelType advertising_channel_type = 2;
+
+ // Channel subtypes under the channel type the category is available to.
+ repeated google.ads.googleads.v0.enums.AdvertisingChannelSubTypeEnum.AdvertisingChannelSubType advertising_channel_sub_type = 3;
+
+ // Whether default channel sub type is included. For example,
+ // advertising_channel_type being DISPLAY and include_default_channel_sub_type
+ // being false means that the default display campaign where channel sub type
+ // is not set is not included in this availability configuration.
+ google.protobuf.BoolValue include_default_channel_sub_type = 4;
+}
+
+// Information about which locales a category is available in.
+message CriterionCategoryLocaleAvailability {
+ // Format of the locale availability. Can be LAUNCHED_TO_ALL (both country and
+ // language will be empty), COUNTRY (only country will be set), LANGUAGE (only
+ // language wil be set), COUNTRY_AND_LANGUAGE (both country and language will
+ // be set).
+ google.ads.googleads.v0.enums.CriterionCategoryLocaleAvailabilityModeEnum.CriterionCategoryLocaleAvailabilityMode availability_mode = 1;
+
+ // Code of the country.
+ google.protobuf.StringValue country_code = 2;
+
+ // Code of the language.
+ google.protobuf.StringValue language_code = 3;
+}
diff --git a/google/ads/googleads/v0/common/custom_parameter.proto b/google/ads/googleads/v0/common/custom_parameter.proto
new file mode 100644
index 000000000..d15b6c5a6
--- /dev/null
+++ b/google/ads/googleads/v0/common/custom_parameter.proto
@@ -0,0 +1,39 @@
+// Copyright 2018 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.v0.common;
+
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Common";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/common;common";
+option java_multiple_files = true;
+option java_outer_classname = "CustomParameterProto";
+option java_package = "com.google.ads.googleads.v0.common";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Common";
+// Proto file describing CustomParameter and operation
+
+// A mapping that can be used by custom parameter tags in a
+// `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
+message CustomParameter {
+ // The key matching the parameter tag name.
+ google.protobuf.StringValue key = 1;
+
+ // The value to be substituted.
+ google.protobuf.StringValue value = 2;
+}
diff --git a/google/ads/googleads/v0/common/dates.proto b/google/ads/googleads/v0/common/dates.proto
new file mode 100644
index 000000000..6789611b9
--- /dev/null
+++ b/google/ads/googleads/v0/common/dates.proto
@@ -0,0 +1,38 @@
+// Copyright 2018 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.v0.common;
+
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Common";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/common;common";
+option java_multiple_files = true;
+option java_outer_classname = "DatesProto";
+option java_package = "com.google.ads.googleads.v0.common";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Common";
+// Proto file describing date range message.
+
+// A date range.
+message DateRange {
+ // The start date, in yyyy-mm-dd format.
+ google.protobuf.StringValue start_date = 1;
+
+ // The end date, in yyyy-mm-dd format.
+ google.protobuf.StringValue end_date = 2;
+}
diff --git a/google/ads/googleads/v0/common/explorer_auto_optimizer_setting.proto b/google/ads/googleads/v0/common/explorer_auto_optimizer_setting.proto
new file mode 100644
index 000000000..e69738440
--- /dev/null
+++ b/google/ads/googleads/v0/common/explorer_auto_optimizer_setting.proto
@@ -0,0 +1,37 @@
+// Copyright 2018 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.v0.common;
+
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Common";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/common;common";
+option java_multiple_files = true;
+option java_outer_classname = "ExplorerAutoOptimizerSettingProto";
+option java_package = "com.google.ads.googleads.v0.common";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Common";
+// Proto file describing ExplorerAutoOptimizerSetting
+
+// Settings for the
+// <a href="https://support.google.com/google-ads/answer/190596">
+// Display Campaign Optimizer</a>, initially termed "Explorer".
+message ExplorerAutoOptimizerSetting {
+ // Indicates whether the optimizer is turned on.
+ google.protobuf.BoolValue opt_in = 1;
+}
diff --git a/google/ads/googleads/v0/common/feed_common.proto b/google/ads/googleads/v0/common/feed_common.proto
new file mode 100644
index 000000000..a6171ca63
--- /dev/null
+++ b/google/ads/googleads/v0/common/feed_common.proto
@@ -0,0 +1,38 @@
+// Copyright 2018 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.v0.common;
+
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Common";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/common;common";
+option java_multiple_files = true;
+option java_outer_classname = "FeedCommonProto";
+option java_package = "com.google.ads.googleads.v0.common";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Common";
+// Proto file describing common feed proto messages.
+
+// Represents a price in a particular currency.
+message Price {
+ // Three-character ISO 4217 currency code.
+ google.protobuf.StringValue currency_code = 1;
+
+ // Amount in micros. One million is equivalent to one unit.
+ google.protobuf.Int64Value amount_micros = 2;
+}
diff --git a/google/ads/googleads/v0/common/frequency_cap.proto b/google/ads/googleads/v0/common/frequency_cap.proto
new file mode 100644
index 000000000..e78a6e038
--- /dev/null
+++ b/google/ads/googleads/v0/common/frequency_cap.proto
@@ -0,0 +1,60 @@
+// Copyright 2018 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.v0.common;
+
+import "google/ads/googleads/v0/enums/frequency_cap_event_type.proto";
+import "google/ads/googleads/v0/enums/frequency_cap_level.proto";
+import "google/ads/googleads/v0/enums/frequency_cap_time_unit.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Common";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/common;common";
+option java_multiple_files = true;
+option java_outer_classname = "FrequencyCapProto";
+option java_package = "com.google.ads.googleads.v0.common";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Common";
+// Proto file describing frequency caps.
+
+// A rule specifying the maximum number of times an ad (or some set of ads) can
+// be shown to a user over a particular time period.
+message FrequencyCapEntry {
+ // The key of a particular frequency cap. There can be no more
+ // than one frequency cap with the same key.
+ FrequencyCapKey key = 1;
+
+ // Maximum number of events allowed during the time range by this cap.
+ google.protobuf.Int32Value cap = 2;
+}
+
+// A group of fields used as keys for a frequency cap.
+// There can be no more than one frequency cap with the same key.
+message FrequencyCapKey {
+ // The level on which the cap is to be applied (e.g. ad group ad, ad group).
+ // The cap is applied to all the entities of this level.
+ google.ads.googleads.v0.enums.FrequencyCapLevelEnum.FrequencyCapLevel level = 1;
+
+ // The type of event that the cap applies to (e.g. impression).
+ google.ads.googleads.v0.enums.FrequencyCapEventTypeEnum.FrequencyCapEventType event_type = 3;
+
+ // Unit of time the cap is defined at (e.g. day, week).
+ google.ads.googleads.v0.enums.FrequencyCapTimeUnitEnum.FrequencyCapTimeUnit time_unit = 2;
+
+ // Number of time units the cap lasts.
+ google.protobuf.Int32Value time_length = 4;
+}
diff --git a/google/ads/googleads/v0/common/keyword_plan_common.proto b/google/ads/googleads/v0/common/keyword_plan_common.proto
new file mode 100644
index 000000000..c0916677a
--- /dev/null
+++ b/google/ads/googleads/v0/common/keyword_plan_common.proto
@@ -0,0 +1,39 @@
+// Copyright 2018 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.v0.common;
+
+import "google/ads/googleads/v0/enums/keyword_plan_competition_level.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Common";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/common;common";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordPlanCommonProto";
+option java_package = "com.google.ads.googleads.v0.common";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Common";
+// Proto file describing Keyword Planner messages.
+
+// Historical metrics.
+message KeywordPlanHistoricalMetrics {
+ // Average monthly searches for the past 12 months.
+ google.protobuf.Int64Value avg_monthly_searches = 1;
+
+ // The competition level for the query.
+ google.ads.googleads.v0.enums.KeywordPlanCompetitionLevelEnum.KeywordPlanCompetitionLevel competition = 2;
+}
diff --git a/google/ads/googleads/v0/common/matching_function.proto b/google/ads/googleads/v0/common/matching_function.proto
new file mode 100644
index 000000000..f829432d0
--- /dev/null
+++ b/google/ads/googleads/v0/common/matching_function.proto
@@ -0,0 +1,52 @@
+// Copyright 2018 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.v0.common;
+
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Common";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/common;common";
+option java_multiple_files = true;
+option java_outer_classname = "MatchingFunctionProto";
+option java_package = "com.google.ads.googleads.v0.common";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Common";
+// Proto file describing a matching function.
+
+// Matching function associated with a
+// CustomerFeed, CampaignFeed, or AdGroupFeed. The matching function is used
+// to filter the set of feed items selected.
+message MatchingFunction {
+ // String representation of the Function.
+ //
+ // Examples:
+ // 1) IDENTITY(true) or IDENTITY(false). All or none feed items serve.
+ // 2) EQUALS(CONTEXT.DEVICE,"Mobile")
+ // 3) IN(FEED_ITEM_ID,{1000001,1000002,1000003})
+ // 4) CONTAINS_ANY(FeedAttribute[12345678,0],{"Mars cruise","Venus cruise"})
+ // 5) AND(IN(FEED_ITEM_ID,{10001,10002}),EQUALS(CONTEXT.DEVICE,"Mobile"))
+ // See
+ // https:
+ // //developers.google.com/adwords/api/docs/guides/feed-matching-functions
+ //
+ // Note that because multiple strings may represent the same underlying
+ // function (whitespace and single versus double quotation marks, for
+ // example), the value returned may not be identical to the string sent in a
+ // mutate request.
+ google.protobuf.StringValue function_string = 1;
+}
diff --git a/google/ads/googleads/v0/common/metrics.proto b/google/ads/googleads/v0/common/metrics.proto
new file mode 100644
index 000000000..f205e3cd4
--- /dev/null
+++ b/google/ads/googleads/v0/common/metrics.proto
@@ -0,0 +1,263 @@
+// Copyright 2018 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.v0.common;
+
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Common";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/common;common";
+option java_multiple_files = true;
+option java_outer_classname = "MetricsProto";
+option java_package = "com.google.ads.googleads.v0.common";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Common";
+// Proto file describing metrics.
+
+// Metrics data.
+message Metrics {
+ // All conversions from interactions (as oppose to view through conversions)
+ // divided by the number of ad interactions.
+ google.protobuf.DoubleValue all_conversions_from_interactions_rate = 65;
+
+ // The total value of all conversions.
+ google.protobuf.DoubleValue all_conversions_value = 66;
+
+ // The total number of conversions. This includes "Conversions" plus
+ // conversions that have their "Include in Conversions" setting unchecked.
+ google.protobuf.DoubleValue all_conversions = 7;
+
+ // The value of all conversions divided by the total cost of ad interactions
+ // (such as clicks for text ads or views for video ads).
+ google.protobuf.DoubleValue all_conversions_value_per_cost = 62;
+
+ // The value of all conversions from interactions divided by the total number
+ // of interactions.
+ google.protobuf.DoubleValue all_conversions_from_interactions_value_per_interaction = 67;
+
+ // The average amount you pay per interaction. This amount is the total cost
+ // of your ads divided by the total number of interactions.
+ google.protobuf.DoubleValue average_cost = 8;
+
+ // The total cost of all clicks divided by the total number of clicks
+ // received.
+ google.protobuf.DoubleValue average_cpc = 9;
+
+ // Average cost-per-thousand impressions (CPM).
+ google.protobuf.DoubleValue average_cpm = 10;
+
+ // The average amount you pay each time someone views your ad.
+ // The average CPV is defined by the total cost of all ad views divided by
+ // the number of views.
+ google.protobuf.DoubleValue average_cpv = 11;
+
+ // Your ad's position relative to those of other advertisers.
+ google.protobuf.DoubleValue average_position = 13;
+
+ // An indication on how other advertisers' Shopping ads for similar products
+ // are performing based on how often people who see their ad click on it.
+ google.protobuf.DoubleValue benchmark_ctr = 77;
+
+ // Percentage of clicks where the user only visited a single page on your
+ // site. Imported from Google Analytics.
+ google.protobuf.DoubleValue bounce_rate = 15;
+
+ // The number of clicks.
+ google.protobuf.Int64Value clicks = 19;
+
+ // The estimated percent of times that your ad was eligible to show
+ // on the Display Network but didn't because your budget was too low.
+ // Note: Content budget lost impression share is reported in the range of 0
+ // to 0.9. Any value above 0.9 is reported as 0.9001.
+ google.protobuf.DoubleValue content_budget_lost_impression_share = 20;
+
+ // The impressions you've received on the Display Network divided
+ // by the estimated number of impressions you were eligible to receive.
+ // Note: Content impression share is reported in the range of 0.1 to 1. Any
+ // value below 0.1 is reported as 0.0999.
+ google.protobuf.DoubleValue content_impression_share = 21;
+
+ // The last date/time a conversion tag for this conversion action successfully
+ // fired and was seen by Google Ads. This firing event may not have been the
+ // result of an attributable conversion (e.g. because the tag was fired from a
+ // browser that did not previously click an ad from an appropriate
+ // advertiser). The date/time is in the customer's time zone.
+ google.protobuf.StringValue conversion_last_received_request_date_time = 73;
+
+ // The date of the most recent conversion for this conversion action. The date
+ // is in the customer's time zone.
+ google.protobuf.StringValue conversion_last_conversion_date = 74;
+
+ // The estimated percentage of impressions on the Display Network
+ // that your ads didn't receive due to poor Ad Rank.
+ // Note: Content rank lost impression share is reported in the range of 0
+ // to 0.9. Any value above 0.9 is reported as 0.9001.
+ google.protobuf.DoubleValue content_rank_lost_impression_share = 22;
+
+ // Conversions from interactions divided by the number of ad interactions
+ // (such as clicks for text ads or views for video ads).
+ google.protobuf.DoubleValue conversions_from_interactions_rate = 69;
+
+ // The total value of conversions.
+ google.protobuf.DoubleValue conversions_value = 70;
+
+ // The value of conversions divided by the cost of ad interactions.
+ google.protobuf.DoubleValue conversions_value_per_cost = 71;
+
+ // The value of conversions from interactions divided by the number of ad
+ // interactions.
+ google.protobuf.DoubleValue conversions_from_interactions_value_per_interaction = 72;
+
+ // The number of conversions. This only includes conversion actions which have
+ // "Include in Conversions" checked.
+ google.protobuf.DoubleValue conversions = 25;
+
+ // The sum of your cost-per-click (CPC) and cost-per-thousand impressions
+ // (CPM) costs during this period.
+ google.protobuf.Int64Value cost_micros = 26;
+
+ // The cost of ad interactions divided by all conversions.
+ google.protobuf.DoubleValue cost_per_all_conversions = 68;
+
+ // The cost of ad interactions divided by conversions.
+ google.protobuf.DoubleValue cost_per_conversion = 28;
+
+ // Conversions from when a customer clicks on a Google Ads ad on one device,
+ // then converts on a different device or browser.
+ // Cross-device conversions are already included in all_conversions.
+ google.protobuf.DoubleValue cross_device_conversions = 29;
+
+ // The number of clicks your ad receives (Clicks) divided by the number
+ // of times your ad is shown (Impressions).
+ google.protobuf.DoubleValue ctr = 30;
+
+ // How often people engage with your ad after it's shown to them. This is the
+ // number of ad expansions divided by the number of times your ad is shown.
+ google.protobuf.DoubleValue engagement_rate = 31;
+
+ // The number of engagements.
+ // An engagement occurs when a viewer expands your Lightbox ad. Also, in the
+ // future, other ad types may support engagement metrics.
+ google.protobuf.Int64Value engagements = 32;
+
+ // Average lead value of hotel.
+ google.protobuf.DoubleValue hotel_average_lead_value_micros = 75;
+
+ // Count of how often your ad has appeared on a search results page or
+ // website on the Google Network.
+ google.protobuf.Int64Value impressions = 37;
+
+ // How often people interact with your ad after it is shown to them.
+ // This is the number of interactions divided by the number of times your ad
+ // is shown.
+ google.protobuf.DoubleValue interaction_rate = 38;
+
+ // The number of interactions.
+ // An interaction is the main user action associated with an ad format-clicks
+ // for text and shopping ads, views for video ads, and so on.
+ google.protobuf.Int64Value interactions = 39;
+
+ // The percentage of clicks filtered out of your total number of clicks
+ // (filtered + non-filtered clicks) during the reporting period.
+ google.protobuf.DoubleValue invalid_click_rate = 40;
+
+ // Number of clicks Google considers illegitimate and doesn't charge you for.
+ google.protobuf.Int64Value invalid_clicks = 41;
+
+ // Percentage of first-time sessions (from people who had never visited your
+ // site before). Imported from Google Analytics.
+ google.protobuf.DoubleValue percent_new_visitors = 42;
+
+ // Number of offline phone calls.
+ google.protobuf.Int64Value phone_calls = 43;
+
+ // Number of offline phone impressions.
+ google.protobuf.Int64Value phone_impressions = 44;
+
+ // Number of phone calls received (phone_calls) divided by the number of
+ // times your phone number is shown (phone_impressions).
+ google.protobuf.DoubleValue phone_through_rate = 45;
+
+ // Your clickthrough rate (Ctr) divided by the average clickthrough rate of
+ // all advertisers on the websites that show your ads. Measures how your ads
+ // perform on Display Network sites compared to other ads on the same sites.
+ google.protobuf.DoubleValue relative_ctr = 46;
+
+ // The percentage of the customer's Shopping ad impressions that are shown in
+ // the most prominent Shopping position. See
+ // <a href="https://support.google.com/adwords/answer/7501826">this Merchant
+ // Center article</a> for details. Any value below 0.1 is reported as 0.0999.
+ google.protobuf.DoubleValue search_absolute_top_impression_share = 78;
+
+ // The estimated percent of times that your ad was eligible to show on the
+ // Search Network but didn't because your budget was too low. Note: Search
+ // budget lost impression share is reported in the range of 0 to 0.9. Any
+ // value above 0.9 is reported as 0.9001.
+ google.protobuf.DoubleValue search_budget_lost_impression_share = 47;
+
+ // The impressions you've received divided by the estimated number of
+ // impressions you were eligible to receive on the Search Network for search
+ // terms that matched your keywords exactly (or were close variants of your
+ // keyword), regardless of your keyword match types. Note: Search exact match
+ // impression share is reported in the range of 0.1 to 1. Any value below 0.1
+ // is reported as 0.0999.
+ google.protobuf.DoubleValue search_exact_match_impression_share = 49;
+
+ // The impressions you've received on the Search Network divided
+ // by the estimated number of impressions you were eligible to receive.
+ // Note: Search impression share is reported in the range of 0.1 to 1. Any
+ // value below 0.1 is reported as 0.0999.
+ google.protobuf.DoubleValue search_impression_share = 50;
+
+ // The estimated percentage of impressions on the Search Network
+ // that your ads didn't receive due to poor Ad Rank.
+ // Note: Search rank lost impression share is reported in the range of 0 to
+ // 0.9. Any value above 0.9 is reported as 0.9001.
+ google.protobuf.DoubleValue search_rank_lost_impression_share = 51;
+
+ // The value of all conversions divided by the number of all conversions.
+ google.protobuf.DoubleValue value_per_all_conversions = 52;
+
+ // The value of conversions divided by the number of conversions.
+ google.protobuf.DoubleValue value_per_conversion = 53;
+
+ // Percentage of impressions where the viewer watched all of your video.
+ google.protobuf.DoubleValue video_quartile_100_rate = 54;
+
+ // Percentage of impressions where the viewer watched 25% of your video.
+ google.protobuf.DoubleValue video_quartile_25_rate = 55;
+
+ // Percentage of impressions where the viewer watched 50% of your video.
+ google.protobuf.DoubleValue video_quartile_50_rate = 56;
+
+ // Percentage of impressions where the viewer watched 75% of your video.
+ google.protobuf.DoubleValue video_quartile_75_rate = 57;
+
+ // The number of views your TrueView video ad receives divided by its number
+ // of impressions, including thumbnail impressions for TrueView in-display
+ // ads.
+ google.protobuf.DoubleValue video_view_rate = 58;
+
+ // The number of times your video ads were viewed.
+ google.protobuf.Int64Value video_views = 59;
+
+ // The total number of view-through conversions.
+ // These happen when a customer sees an image or rich media ad, then later
+ // completes a conversion on your site without interacting with (e.g.,
+ // clicking on) another ad.
+ google.protobuf.Int64Value view_through_conversions = 60;
+}
diff --git a/google/ads/googleads/v0/common/policy.proto b/google/ads/googleads/v0/common/policy.proto
new file mode 100644
index 000000000..7a686e95c
--- /dev/null
+++ b/google/ads/googleads/v0/common/policy.proto
@@ -0,0 +1,201 @@
+// Copyright 2018 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.v0.common;
+
+import "google/ads/googleads/v0/enums/policy_topic_entry_type.proto";
+import "google/ads/googleads/v0/enums/policy_topic_evidence_destination_mismatch_url_type.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Common";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/common;common";
+option java_multiple_files = true;
+option java_outer_classname = "PolicyProto";
+option java_package = "com.google.ads.googleads.v0.common";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Common";
+// Proto file describing policy information.
+
+// Key of the violation. The key is used for referring to a violation
+// when filing an exemption request.
+message PolicyViolationKey {
+ // Unique ID of the violated policy.
+ google.protobuf.StringValue policy_name = 1;
+
+ // The text that violates the policy if specified.
+ // Otherwise, refers to the policy in general
+ // (e.g., when requesting to be exempt from the whole policy).
+ // If not specified for criterion exemptions, the whole policy is implied.
+ // Must be specified for ad exemptions.
+ google.protobuf.StringValue violating_text = 2;
+}
+
+// Parameter for controlling how policy checking is done.
+message PolicyValidationParameter {
+ // The list of policy topics that should not cause a PolicyFindingError to
+ // be reported. This field is currently only compatible with Enhanced Text Ad.
+ // It corresponds to the PolicyTopicEntry.topic field.
+ //
+ // Resources violating these policies will be saved, but will not be eligible
+ // to serve. They may begin serving at a later time due to a change in
+ // policies, re-review of the resource, or a change in advertiser
+ // certificates.
+ repeated google.protobuf.StringValue ignorable_policy_topics = 1;
+}
+
+// Policy finding attached to a resource (e.g. alcohol policy associated with
+// a site that sells alcohol).
+//
+// Each PolicyTopicEntry has a topic that indicates the specific ads policy
+// the entry is about and a type to indicate the effect that the entry will have
+// on serving. It may optionally have one or more evidences that indicate the
+// reason for the finding. It may also optionally have one or more constraints
+// that provide details about how serving may be restricted.
+//
+// Next tag: 5
+message PolicyTopicEntry {
+ // Policy topic this finding refers to. For example, "ALCOHOL",
+ // "TRADEMARKS_IN_AD_TEXT", or "DESTINATION_NOT_WORKING". The set of possible
+ // policy topics is not fixed for a particular API version and may change
+ // at any time.
+ google.protobuf.StringValue topic = 1;
+
+ // Describes the negative or positive effect this policy will have on serving.
+ google.ads.googleads.v0.enums.PolicyTopicEntryTypeEnum.PolicyTopicEntryType type = 2;
+
+ // Additional information that explains policy finding
+ // (e.g. the brand name for a trademark finding).
+ repeated PolicyTopicEvidence evidences = 3;
+
+ // Indicates how serving of this resource may be affected (e.g. not serving
+ // in a country).
+ repeated PolicyTopicConstraint constraints = 4;
+}
+
+// Additional information that explains a policy finding.
+//
+// Next Id: 8
+message PolicyTopicEvidence {
+ // A list of fragments of text that violated a policy.
+ //
+ // Next Id: 2
+ message TextList {
+ // The fragments of text from the resource that caused the policy finding.
+ repeated google.protobuf.StringValue texts = 1;
+ }
+
+ // A list of websites that caused a policy finding. Used for
+ // ONE_WEBSITE_PER_AD_GROUP policy topic, for example. In case there are more
+ // than five websites, only the top five (those that appear in resources the
+ // most) will be listed here.
+ //
+ // Next Id: 2
+ message WebsiteList {
+ // Websites that caused the policy finding.
+ repeated google.protobuf.StringValue websites = 1;
+ }
+
+ // A list of strings found in a destination page that caused a policy
+ // finding.
+ //
+ // Next Id: 2
+ message DestinationTextList {
+ // List of text found in the resource's destination page.
+ repeated google.protobuf.StringValue destination_texts = 1;
+ }
+
+ // Evidence of mismatches between the URLs of a resource.
+ //
+ // Next Id: 2
+ message DestinationMismatch {
+ // The set of URLs that did not match each other.
+ repeated google.ads.googleads.v0.enums.PolicyTopicEvidenceDestinationMismatchUrlTypeEnum.PolicyTopicEvidenceDestinationMismatchUrlType url_types = 1;
+ }
+
+ // Specific evidence information depending on the evidence type.
+ oneof value {
+ // HTTP code returned when the final URL was crawled.
+ google.protobuf.Int32Value http_code = 2;
+
+ // List of websites linked with this resource.
+ WebsiteList website_list = 3;
+
+ // List of evidence found in the text of a resource.
+ TextList text_list = 4;
+
+ // The language the resource was detected to be written in.
+ // This is an IETF language tag such as "en-US".
+ google.protobuf.StringValue language_code = 5;
+
+ // The text in the destination of the resource that is causing a policy
+ // finding.
+ DestinationTextList destination_text_list = 6;
+
+ // Mismatch between the destinations of a resource's URLs.
+ DestinationMismatch destination_mismatch = 7;
+ }
+}
+
+// Describes the effect on serving that a policy topic entry will have.
+//
+// Next Id: 5
+message PolicyTopicConstraint {
+ // A list of countries where a resource's serving is constrained.
+ //
+ // Next Id: 3
+ message CountryConstraintList {
+ // Total number of countries targeted by the resource.
+ google.protobuf.Int32Value total_targeted_countries = 1;
+
+ // Countries in which serving is restricted.
+ repeated CountryConstraint countries = 2;
+ }
+
+ // Indicates that a policy topic was constrained due to disapproval of the
+ // website for reseller purposes.
+ //
+ // Next Id: 1
+ message ResellerConstraint {
+
+ }
+
+ // Indicates that a resource's ability to serve in a particular country is
+ // constrained.
+ //
+ // Next Id: 2
+ message CountryConstraint {
+ // Geo target constant resource name of the country in which serving is
+ // constrained.
+ google.protobuf.StringValue country_criterion = 1;
+ }
+
+ // Specific information about the constraint.
+ oneof value {
+ // Countries where the resource cannot serve.
+ CountryConstraintList country_constraint_list = 1;
+
+ // Reseller constraint.
+ ResellerConstraint reseller_constraint = 2;
+
+ // Countries where a certificate is required for serving.
+ CountryConstraintList certificate_missing_in_country_list = 3;
+
+ // Countries where the resource's domain is not covered by the
+ // certificates associated with it.
+ CountryConstraintList certificate_domain_mismatch_in_country_list = 4;
+ }
+}
diff --git a/google/ads/googleads/v0/common/real_time_bidding_setting.proto b/google/ads/googleads/v0/common/real_time_bidding_setting.proto
new file mode 100644
index 000000000..f71104231
--- /dev/null
+++ b/google/ads/googleads/v0/common/real_time_bidding_setting.proto
@@ -0,0 +1,36 @@
+// Copyright 2018 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.v0.common;
+
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Common";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/common;common";
+option java_multiple_files = true;
+option java_outer_classname = "RealTimeBiddingSettingProto";
+option java_package = "com.google.ads.googleads.v0.common";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Common";
+// Proto file describing RealTimeBiddingSetting
+
+// Settings for Real-Time Bidding, a feature only available for campaigns
+// targeting the Ad Exchange network.
+message RealTimeBiddingSetting {
+ // Whether the campaign is opted in to real-time bidding.
+ google.protobuf.BoolValue opt_in = 1;
+}
diff --git a/google/ads/googleads/v0/common/tag_snippet.proto b/google/ads/googleads/v0/common/tag_snippet.proto
new file mode 100644
index 000000000..b061c91d6
--- /dev/null
+++ b/google/ads/googleads/v0/common/tag_snippet.proto
@@ -0,0 +1,49 @@
+// Copyright 2018 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.v0.common;
+
+import "google/ads/googleads/v0/enums/tracking_code_page_format.proto";
+import "google/ads/googleads/v0/enums/tracking_code_type.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Common";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/common;common";
+option java_multiple_files = true;
+option java_outer_classname = "TagSnippetProto";
+option java_package = "com.google.ads.googleads.v0.common";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Common";
+// Proto file describing TagSnippet
+
+// The site tag and event snippet pair for a TrackingCodeType.
+message TagSnippet {
+ // The type of the generated tag snippets for tracking conversions.
+ google.ads.googleads.v0.enums.TrackingCodeTypeEnum.TrackingCodeType type = 1;
+
+ // The format of the web page where the tracking tag and snippet will be
+ // installed, e.g. HTML.
+ google.ads.googleads.v0.enums.TrackingCodePageFormatEnum.TrackingCodePageFormat page_format = 2;
+
+ // The site tag that adds visitors to your basic remarketing lists and sets
+ // new cookies on your domain.
+ google.protobuf.StringValue global_site_tag = 3;
+
+ // The event snippet that works with the site tag to track actions that
+ // should be counted as conversions.
+ google.protobuf.StringValue event_snippet = 4;
+}
diff --git a/google/ads/googleads/v0/common/user_lists.proto b/google/ads/googleads/v0/common/user_lists.proto
new file mode 100644
index 000000000..8ad81de5d
--- /dev/null
+++ b/google/ads/googleads/v0/common/user_lists.proto
@@ -0,0 +1,62 @@
+// Copyright 2018 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.v0.common;
+
+import "google/ads/googleads/v0/enums/customer_match_upload_key_type.proto";
+import "google/ads/googleads/v0/enums/user_list_crm_data_source_type.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Common";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/common;common";
+option java_multiple_files = true;
+option java_outer_classname = "UserListsProto";
+option java_package = "com.google.ads.googleads.v0.common";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Common";
+// Proto file describing user list types.
+
+// SimilarUserList is a list of users which are similar to users from another
+// UserList. These lists are read-only and automatically created by Google.
+message SimilarUserListInfo {
+ // Seed UserList from which this list is derived.
+ google.protobuf.StringValue seed_user_list = 1;
+}
+
+// UserList of CRM users provided by the advertiser.
+message CrmBasedUserListInfo {
+ // A string that uniquely identifies a mobile application from which the data
+ // was collected to the Google Ads API.
+ // For iOS, the ID string is the 9 digit string that appears at the end of an
+ // App Store URL (e.g., "476943146" for "Flood-It! 2" whose App Store link is
+ // http://itunes.apple.com/us/app/flood-it!-2/id476943146).
+ // For Android, the ID string is the application's package name
+ // (e.g., "com.labpixies.colordrips" for "Color Drips" given Google Play link
+ // https://play.google.com/store/apps/details?id=com.labpixies.colordrips).
+ // Required when creating CrmBasedUserList for uploading mobile advertising
+ // IDs.
+ google.protobuf.StringValue app_id = 1;
+
+ // Matching key type of the list.
+ // Mixed data types are not allowed on the same list.
+ // This field is required for an ADD operation.
+ google.ads.googleads.v0.enums.CustomerMatchUploadKeyTypeEnum.CustomerMatchUploadKeyType upload_key_type = 2;
+
+ // Data source of the list. Default value is FIRST_PARTY.
+ // Only whitelisted customers can create third party sourced crm lists.
+ google.ads.googleads.v0.enums.UserListCrmDataSourceTypeEnum.UserListCrmDataSourceType data_source_type = 3;
+}
diff --git a/google/ads/googleads/v0/common/value.proto b/google/ads/googleads/v0/common/value.proto
new file mode 100644
index 000000000..db9e43091
--- /dev/null
+++ b/google/ads/googleads/v0/common/value.proto
@@ -0,0 +1,48 @@
+// Copyright 2018 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.v0.common;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Common";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/common;common";
+option java_multiple_files = true;
+option java_outer_classname = "ValueProto";
+option java_package = "com.google.ads.googleads.v0.common";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Common";
+// Proto file describing value types
+
+// A generic data container.
+message Value {
+ // A value.
+ oneof value {
+ // A boolean.
+ bool boolean_value = 1;
+
+ // An int64.
+ int64 int64_value = 2;
+
+ // A float.
+ float float_value = 3;
+
+ // A double.
+ double double_value = 4;
+
+ // A string.
+ string string_value = 5;
+ }
+}
diff --git a/google/ads/googleads/v0/enums/access_reason.proto b/google/ads/googleads/v0/enums/access_reason.proto
new file mode 100644
index 000000000..3a379dcda
--- /dev/null
+++ b/google/ads/googleads/v0/enums/access_reason.proto
@@ -0,0 +1,56 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "AccessReasonProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Indicates the way the entity such as user list is related to a user.
+message AccessReasonEnum {
+ // Enum describing possible access reasons.
+ enum AccessReason {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // The entity is owned by the user.
+ OWNED = 2;
+
+ // The entity is shared to the user.
+ SHARED = 3;
+
+ // The entity is licensed to the user.
+ LICENSED = 4;
+
+ // The user subscribed to the entity.
+ SUBSCRIBED = 5;
+
+ // The entity is accessible to the user.
+ AFFILIATED = 6;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/account_budget_proposal_status.proto b/google/ads/googleads/v0/enums/account_budget_proposal_status.proto
new file mode 100644
index 000000000..471e8267a
--- /dev/null
+++ b/google/ads/googleads/v0/enums/account_budget_proposal_status.proto
@@ -0,0 +1,60 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "AccountBudgetProposalStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing AccountBudgetProposal statuses.
+
+// Message describing AccountBudgetProposal statuses.
+message AccountBudgetProposalStatusEnum {
+ // The possible statuses of an AccountBudgetProposal.
+ enum AccountBudgetProposalStatus {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // The proposal is pending approval.
+ PENDING = 2;
+
+ // The proposal has been approved but the corresponding billing setup
+ // has not. This can occur for proposals that set up the first budget
+ // when signing up for billing or when performing a change of bill-to
+ // operation.
+ APPROVED_HELD = 3;
+
+ // The proposal has been approved.
+ APPROVED = 4;
+
+ // The proposal has been cancelled by the user.
+ CANCELLED = 5;
+
+ // The proposal has been rejected by the user, e.g. by rejecting an
+ // acceptance email.
+ REJECTED = 6;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/account_budget_proposal_type.proto b/google/ads/googleads/v0/enums/account_budget_proposal_type.proto
new file mode 100644
index 000000000..51e093279
--- /dev/null
+++ b/google/ads/googleads/v0/enums/account_budget_proposal_type.proto
@@ -0,0 +1,53 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "AccountBudgetProposalTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing AccountBudgetProposal types.
+
+// Message describing AccountBudgetProposal types.
+message AccountBudgetProposalTypeEnum {
+ // The possible types of an AccountBudgetProposal.
+ enum AccountBudgetProposalType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Identifies a request to create a new budget.
+ CREATE = 2;
+
+ // Identifies a request to edit an existing budget.
+ UPDATE = 3;
+
+ // Identifies a request to end a budget that has already started.
+ END = 4;
+
+ // Identifies a request to remove a budget that hasn't started yet.
+ REMOVE = 5;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/account_budget_status.proto b/google/ads/googleads/v0/enums/account_budget_status.proto
new file mode 100644
index 000000000..6806f675a
--- /dev/null
+++ b/google/ads/googleads/v0/enums/account_budget_status.proto
@@ -0,0 +1,50 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "AccountBudgetStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing AccountBudget statuses.
+
+// Message describing AccountBudget statuses.
+message AccountBudgetStatusEnum {
+ // The possible statuses of an AccountBudget.
+ enum AccountBudgetStatus {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // The account budget is pending approval.
+ PENDING = 2;
+
+ // The account budget has been approved.
+ APPROVED = 3;
+
+ // The account budget has been cancelled by the user.
+ CANCELLED = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/ad_customizer_placeholder_field.proto b/google/ads/googleads/v0/enums/ad_customizer_placeholder_field.proto
new file mode 100644
index 000000000..986a8376e
--- /dev/null
+++ b/google/ads/googleads/v0/enums/ad_customizer_placeholder_field.proto
@@ -0,0 +1,53 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "AdCustomizerPlaceholderFieldProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Values for Ad Customizer placeholder fields.
+message AdCustomizerPlaceholderFieldEnum {
+ // Possible values for Ad Customizers placeholder fields.
+ enum AdCustomizerPlaceholderField {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Data Type: INT64. Integer value to be inserted.
+ INTEGER = 2;
+
+ // Data Type: STRING. Price value to be inserted.
+ PRICE = 3;
+
+ // Data Type: DATE_TIME. Date value to be inserted.
+ DATE = 4;
+
+ // Data Type: STRING. String value to be inserted.
+ STRING = 5;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/ad_group_ad_rotation_mode.proto b/google/ads/googleads/v0/enums/ad_group_ad_rotation_mode.proto
new file mode 100644
index 000000000..f221c38ea
--- /dev/null
+++ b/google/ads/googleads/v0/enums/ad_group_ad_rotation_mode.proto
@@ -0,0 +1,50 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "AdGroupAdRotationModeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing ad group ad rotation mode.
+
+// Container for enum describing possible ad rotation modes of ads within an
+// ad group.
+message AdGroupAdRotationModeEnum {
+ // The possible ad rotation modes of an ad group.
+ enum AdGroupAdRotationMode {
+ // The ad rotation mode has not been specified.
+ UNSPECIFIED = 0;
+
+ // The received value is not known in this version.
+ //
+ // This is a response-only value.
+ UNKNOWN = 1;
+
+ // Optimize ad group ads based on clicks or conversions.
+ OPTIMIZE = 2;
+
+ // Rotate evenly forever.
+ ROTATE_FOREVER = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/ad_group_ad_status.proto b/google/ads/googleads/v0/enums/ad_group_ad_status.proto
new file mode 100644
index 000000000..401e504d3
--- /dev/null
+++ b/google/ads/googleads/v0/enums/ad_group_ad_status.proto
@@ -0,0 +1,52 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "AdGroupAdStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing ad group status.
+
+// Container for enum describing possible statuses of an AdGroupAd.
+message AdGroupAdStatusEnum {
+ // The possible statuses of an AdGroupAd.
+ enum AdGroupAdStatus {
+ // No value has been specified.
+ UNSPECIFIED = 0;
+
+ // The received value is not known in this version.
+ //
+ // This is a response-only value.
+ UNKNOWN = 1;
+
+ // The ad group ad is enabled.
+ ENABLED = 2;
+
+ // The ad group ad is paused.
+ PAUSED = 3;
+
+ // The ad group ad is removed.
+ REMOVED = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/ad_group_criterion_status.proto b/google/ads/googleads/v0/enums/ad_group_criterion_status.proto
new file mode 100644
index 000000000..671566f67
--- /dev/null
+++ b/google/ads/googleads/v0/enums/ad_group_criterion_status.proto
@@ -0,0 +1,52 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "AdGroupCriterionStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing AdGroupCriterion statuses.
+
+// Message describing AdGroupCriterion statuses.
+message AdGroupCriterionStatusEnum {
+ // The possible statuses of an AdGroupCriterion.
+ enum AdGroupCriterionStatus {
+ // No value has been specified.
+ UNSPECIFIED = 0;
+
+ // The received value is not known in this version.
+ //
+ // This is a response-only value.
+ UNKNOWN = 1;
+
+ // The ad group criterion is enabled.
+ ENABLED = 2;
+
+ // The ad group criterion is paused.
+ PAUSED = 3;
+
+ // The ad group criterion is removed.
+ REMOVED = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/ad_group_status.proto b/google/ads/googleads/v0/enums/ad_group_status.proto
new file mode 100644
index 000000000..1e55c8666
--- /dev/null
+++ b/google/ads/googleads/v0/enums/ad_group_status.proto
@@ -0,0 +1,52 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "AdGroupStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing ad group status.
+
+// Container for enum describing possible statuses of an ad group.
+message AdGroupStatusEnum {
+ // The possible statuses of an ad group.
+ enum AdGroupStatus {
+ // The status has not been specified.
+ UNSPECIFIED = 0;
+
+ // The received value is not known in this version.
+ //
+ // This is a response-only value.
+ UNKNOWN = 1;
+
+ // The ad group is enabled.
+ ENABLED = 2;
+
+ // The ad group is paused.
+ PAUSED = 3;
+
+ // The ad group is removed.
+ REMOVED = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/ad_group_type.proto b/google/ads/googleads/v0/enums/ad_group_type.proto
new file mode 100644
index 000000000..bfbcd0ff3
--- /dev/null
+++ b/google/ads/googleads/v0/enums/ad_group_type.proto
@@ -0,0 +1,75 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "AdGroupTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing ad group types.
+
+// Defines types of an ad group, specific to a particular campaign channel
+// type. This type drives validations that restrict which entities can be
+// added to the ad group.
+message AdGroupTypeEnum {
+ // Enum listing the possible types of an ad group.
+ enum AdGroupType {
+ // The type has not been specified.
+ UNSPECIFIED = 0;
+
+ // The received value is not known in this version.
+ //
+ // This is a response-only value.
+ UNKNOWN = 1;
+
+ // The default ad group type for Search campaigns.
+ SEARCH_STANDARD = 2;
+
+ // The default ad group type for Display campaigns.
+ DISPLAY_STANDARD = 3;
+
+ // The ad group type for Shopping campaigns serving standard product ads.
+ SHOPPING_PRODUCT_ADS = 4;
+
+ // The default ad group type for Hotel campaigns.
+ HOTEL_ADS = 6;
+
+ // The type for ad groups in Smart Shopping campaigns.
+ SHOPPING_SMART_ADS = 7;
+
+ // Short unskippable in-stream video ads.
+ VIDEO_BUMPER = 8;
+
+ // TrueView (skippable) in-stream video ads.
+ VIDEO_TRUE_VIEW_IN_STREAM = 9;
+
+ // TrueView in-display video ads.
+ VIDEO_TRUE_VIEW_IN_DISPLAY = 10;
+
+ // Unskippable in-stream video ads.
+ VIDEO_NON_SKIPPABLE_IN_STREAM = 11;
+
+ // Outstream video ads.
+ VIDEO_OUTSTREAM = 12;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/ad_network_type.proto b/google/ads/googleads/v0/enums/ad_network_type.proto
new file mode 100644
index 000000000..42b824a08
--- /dev/null
+++ b/google/ads/googleads/v0/enums/ad_network_type.proto
@@ -0,0 +1,59 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "AdNetworkTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing ad network types.
+
+// Container for enumeration of Google Ads network types.
+message AdNetworkTypeEnum {
+ // Enumerates Google Ads network types.
+ enum AdNetworkType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // The value is unknown in this version.
+ UNKNOWN = 1;
+
+ // Google search.
+ SEARCH = 2;
+
+ // Search partners.
+ SEARCH_PARTNERS = 3;
+
+ // Display Network.
+ CONTENT = 4;
+
+ // YouTube Search.
+ YOUTUBE_SEARCH = 5;
+
+ // YouTube Videos
+ YOUTUBE_WATCH = 6;
+
+ // Cross-network.
+ MIXED = 7;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/ad_serving_optimization_status.proto b/google/ads/googleads/v0/enums/ad_serving_optimization_status.proto
new file mode 100644
index 000000000..45a9d71ee
--- /dev/null
+++ b/google/ads/googleads/v0/enums/ad_serving_optimization_status.proto
@@ -0,0 +1,61 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "AdServingOptimizationStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing ad serving statuses.
+
+// Possible ad serving statuses of a campaign.
+message AdServingOptimizationStatusEnum {
+ // Enum describing possible serving statuses.
+ enum AdServingOptimizationStatus {
+ // No value has been specified.
+ UNSPECIFIED = 0;
+
+ // The received value is not known in this version.
+ //
+ // This is a response-only value.
+ UNKNOWN = 1;
+
+ // Ad serving is optimized based on CTR for the campaign.
+ OPTIMIZE = 2;
+
+ // Ad serving is optimized based on CTR * Conversion for the campaign. If
+ // the campaign is not in the conversion optimizer bidding strategy, it will
+ // default to OPTIMIZED.
+ CONVERSION_OPTIMIZE = 3;
+
+ // Ads are rotated evenly for 90 days, then optimized for clicks.
+ ROTATE = 4;
+
+ // Show lower performing ads more evenly with higher performing ads, and do
+ // not optimize.
+ ROTATE_INDEFINITELY = 5;
+
+ // Ad serving optimization status is not available.
+ UNAVAILABLE = 6;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/ad_type.proto b/google/ads/googleads/v0/enums/ad_type.proto
new file mode 100644
index 000000000..0e5e7f69d
--- /dev/null
+++ b/google/ads/googleads/v0/enums/ad_type.proto
@@ -0,0 +1,79 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "AdTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing the ad type.
+
+// Container for enum describing possible types of an ad.
+message AdTypeEnum {
+ // The possible types of an ad.
+ enum AdType {
+ // No value has been specified.
+ UNSPECIFIED = 0;
+
+ // The received value is not known in this version.
+ //
+ // This is a response-only value.
+ UNKNOWN = 1;
+
+ // The ad is a text ad.
+ TEXT_AD = 2;
+
+ // The ad is an expanded text ad.
+ EXPANDED_TEXT_AD = 3;
+
+ // The ad is a dynamic search ad.
+ DYNAMIC_SEARCH_AD = 4;
+
+ // The ad is a responsive display ad.
+ RESPONSIVE_DISPLAY_AD = 5;
+
+ // The ad is a call only ad.
+ CALL_ONLY_AD = 6;
+
+ // The ad is an expanded dynamic search ad.
+ EXPANDED_DYNAMIC_SEARCH_AD = 7;
+
+ // The ad is a hotel ad.
+ HOTEL_AD = 8;
+
+ // The ad is a Smart Shopping ad.
+ SHOPPING_SMART_AD = 9;
+
+ // The ad is a standard Shopping ad.
+ SHOPPING_PRODUCT_AD = 10;
+
+ // The ad is a video ad.
+ VIDEO_AD = 12;
+
+ // This ad is a Gmail ad.
+ GMAIL_AD = 13;
+
+ // This ad is an Image ad.
+ IMAGE_AD = 14;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/advertising_channel_sub_type.proto b/google/ads/googleads/v0/enums/advertising_channel_sub_type.proto
new file mode 100644
index 000000000..57bf78391
--- /dev/null
+++ b/google/ads/googleads/v0/enums/advertising_channel_sub_type.proto
@@ -0,0 +1,65 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "AdvertisingChannelSubTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing advertising channel subtypes.
+
+// An immutable specialization of an Advertising Channel.
+message AdvertisingChannelSubTypeEnum {
+ // Enum describing the different channel subtypes.
+ enum AdvertisingChannelSubType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used as a return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Mobile app campaigns for Search.
+ SEARCH_MOBILE_APP = 2;
+
+ // Mobile app campaigns for Display.
+ DISPLAY_MOBILE_APP = 3;
+
+ // AdWords express campaigns for search.
+ SEARCH_EXPRESS = 4;
+
+ // AdWords Express campaigns for display.
+ DISPLAY_EXPRESS = 5;
+
+ // Smart Shopping campaigns.
+ SHOPPING_SMART_ADS = 6;
+
+ // Gmail Ad campaigns.
+ DISPLAY_GMAIL_AD = 7;
+
+ // Smart display campaigns.
+ DISPLAY_SMART_CAMPAIGN = 8;
+
+ // Video Outstream campaigns.
+ VIDEO_OUTSTREAM = 9;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/advertising_channel_type.proto b/google/ads/googleads/v0/enums/advertising_channel_type.proto
new file mode 100644
index 000000000..bc03aedce
--- /dev/null
+++ b/google/ads/googleads/v0/enums/advertising_channel_type.proto
@@ -0,0 +1,57 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "AdvertisingChannelTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing advertising channel types
+
+// The channel type a campaign may target to serve on.
+message AdvertisingChannelTypeEnum {
+ // Enum describing the various advertising channel types.
+ enum AdvertisingChannelType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Search Network. Includes display bundled, and Search+ campaigns.
+ SEARCH = 2;
+
+ // Google Display Network only.
+ DISPLAY = 3;
+
+ // Shopping campaigns serve on the shopping property
+ // and on google.com search results.
+ SHOPPING = 4;
+
+ // Hotel Ads campaigns.
+ HOTEL = 5;
+
+ // Video campaigns.
+ VIDEO = 6;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/affiliate_location_feed_relationship_type.proto b/google/ads/googleads/v0/enums/affiliate_location_feed_relationship_type.proto
new file mode 100644
index 000000000..b155e5397
--- /dev/null
+++ b/google/ads/googleads/v0/enums/affiliate_location_feed_relationship_type.proto
@@ -0,0 +1,45 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "AffiliateLocationFeedRelationshipTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing relation type for affiliate location feeds.
+
+// Container for enum describing possible values for a relationship type for
+// an affiliate location feed.
+message AffiliateLocationFeedRelationshipTypeEnum {
+ // Possible values for a relationship type for an affiliate location feed.
+ enum AffiliateLocationFeedRelationshipType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // General retailer relationship.
+ GENERAL_RETAILER = 2;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/age_range_type.proto b/google/ads/googleads/v0/enums/age_range_type.proto
new file mode 100644
index 000000000..28f7ce498
--- /dev/null
+++ b/google/ads/googleads/v0/enums/age_range_type.proto
@@ -0,0 +1,62 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "AgeRangeTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing age range types.
+
+// Container for enum describing the type of demographic age ranges.
+message AgeRangeTypeEnum {
+ // The type of demographic age ranges (e.g. between 18 and 24 years old).
+ enum AgeRangeType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Between 18 and 24 years old.
+ AGE_RANGE_18_24 = 503001;
+
+ // Between 25 and 34 years old.
+ AGE_RANGE_25_34 = 503002;
+
+ // Between 35 and 44 years old.
+ AGE_RANGE_35_44 = 503003;
+
+ // Between 45 and 54 years old.
+ AGE_RANGE_45_54 = 503004;
+
+ // Between 55 and 64 years old.
+ AGE_RANGE_55_64 = 503005;
+
+ // 65 years old and beyond.
+ AGE_RANGE_65_UP = 503006;
+
+ // Undetermined age range.
+ AGE_RANGE_UNDETERMINED = 503999;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/app_placeholder_field.proto b/google/ads/googleads/v0/enums/app_placeholder_field.proto
new file mode 100644
index 000000000..16ed56d21
--- /dev/null
+++ b/google/ads/googleads/v0/enums/app_placeholder_field.proto
@@ -0,0 +1,72 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "AppPlaceholderFieldProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Values for App placeholder fields.
+message AppPlaceholderFieldEnum {
+ // Possible values for App placeholder fields.
+ enum AppPlaceholderField {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Data Type: INT64. The application store that the target application
+ // belongs to. Valid values are: 1 = Apple iTunes Store; 2 = Google Play
+ // Store.
+ STORE = 2;
+
+ // Data Type: STRING. The store-specific ID for the target application.
+ ID = 3;
+
+ // Data Type: STRING. The visible text displayed when the link is rendered
+ // in an ad.
+ LINK_TEXT = 4;
+
+ // Data Type: STRING. The destination URL of the in-app link.
+ URL = 5;
+
+ // Data Type: URL_LIST. Final URLs for the in-app link when using Upgraded
+ // URLs.
+ FINAL_URLS = 6;
+
+ // Data Type: URL_LIST. Final Mobile URLs for the in-app link when using
+ // Upgraded URLs.
+ FINAL_MOBILE_URLS = 7;
+
+ // Data Type: URL. Tracking template for the in-app link when using Upgraded
+ // URLs.
+ TRACKING_URL = 8;
+
+ // Data Type: STRING. Final URL suffix for the in-app link when using
+ // parallel tracking.
+ FINAL_URL_SUFFIX = 9;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/attribution_model.proto b/google/ads/googleads/v0/enums/attribution_model.proto
new file mode 100644
index 000000000..861fecf53
--- /dev/null
+++ b/google/ads/googleads/v0/enums/attribution_model.proto
@@ -0,0 +1,71 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "AttributionModelProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Container for enum representing the attribution model that describes how to
+// distribute credit for a particular conversion across potentially many prior
+// interactions.
+message AttributionModelEnum {
+ // The attribution model that describes how to distribute credit for a
+ // particular conversion across potentially many prior interactions.
+ enum AttributionModel {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Uses external attribution.
+ EXTERNAL = 100;
+
+ // Attributes all credit for a conversion to its last click.
+ GOOGLE_ADS_LAST_CLICK = 101;
+
+ // Attributes all credit for a conversion to its first click using Google
+ // Search attribution.
+ GOOGLE_SEARCH_ATTRIBUTION_FIRST_CLICK = 102;
+
+ // Attributes credit for a conversion equally across all of its clicks using
+ // Google Search attribution.
+ GOOGLE_SEARCH_ATTRIBUTION_LINEAR = 103;
+
+ // Attributes exponentially more credit for a conversion to its more recent
+ // clicks using Google Search attribution (half-life is 1 week).
+ GOOGLE_SEARCH_ATTRIBUTION_TIME_DECAY = 104;
+
+ // Attributes 40% of the credit for a conversion to its first and last
+ // clicks. Remaining 20% is evenly distributed across all other clicks. This
+ // uses Google Search attribution.
+ GOOGLE_SEARCH_ATTRIBUTION_POSITION_BASED = 105;
+
+ // Flexible model that uses machine learning to determine the appropriate
+ // distribution of credit among clicks using Google Search attribution.
+ GOOGLE_SEARCH_ATTRIBUTION_DATA_DRIVEN = 106;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/bid_modifier_source.proto b/google/ads/googleads/v0/enums/bid_modifier_source.proto
new file mode 100644
index 000000000..93c956a2d
--- /dev/null
+++ b/google/ads/googleads/v0/enums/bid_modifier_source.proto
@@ -0,0 +1,48 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "BidModifierSourceProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing bid modifier source.
+
+// Container for enum describing possible bid modifier sources.
+message BidModifierSourceEnum {
+ // Enum describing possible bid modifier sources.
+ enum BidModifierSource {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // The bid modifier is specified at the campaign level, on the campaign
+ // level criterion.
+ CAMPAIGN = 2;
+
+ // The bid modifier is specified (overridden) at the ad group level.
+ AD_GROUP = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/bidding_source.proto b/google/ads/googleads/v0/enums/bidding_source.proto
new file mode 100644
index 000000000..8e204c487
--- /dev/null
+++ b/google/ads/googleads/v0/enums/bidding_source.proto
@@ -0,0 +1,50 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "BiddingSourceProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing bidding schemes.
+
+// Container for enum describing possible bidding sources.
+message BiddingSourceEnum {
+ // Enum describing possible bidding sources.
+ enum BiddingSource {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Bidding entity is defined on the ad group.
+ ADGROUP = 2;
+
+ // Bidding entity is defined on the ad group criterion.
+ CRITERION = 3;
+
+ // Effective bidding entity is inherited from campaign bidding strategy.
+ CAMPAIGN_BIDDING_STRATEGY = 5;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/bidding_strategy_type.proto b/google/ads/googleads/v0/enums/bidding_strategy_type.proto
new file mode 100644
index 000000000..816abc4f5
--- /dev/null
+++ b/google/ads/googleads/v0/enums/bidding_strategy_type.proto
@@ -0,0 +1,91 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "BiddingStrategyTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing bidding schemes.
+
+// Container for enum describing possible bidding strategy types.
+message BiddingStrategyTypeEnum {
+ // Enum describing possible bidding strategy types.
+ enum BiddingStrategyType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Enhanced CPC is 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.
+ ENHANCED_CPC = 2;
+
+ // Manual click based bidding where user pays per click.
+ MANUAL_CPC = 3;
+
+ // Manual impression based bidding
+ // where user pays per thousand impressions.
+ MANUAL_CPM = 4;
+
+ // A bidding strategy that pays a configurable amount per video view.
+ MANUAL_CPV = 13;
+
+ // A bidding strategy that automatically maximizes number of conversions
+ // given a daily budget.
+ MAXIMIZE_CONVERSIONS = 10;
+
+ // An automated bidding strategy that automatically sets bids to maximize
+ // revenue while spending your budget.
+ MAXIMIZE_CONVERSION_VALUE = 11;
+
+ // Page-One Promoted bidding scheme, which sets max cpc bids to
+ // target impressions on page one or page one promoted slots on google.com.
+ PAGE_ONE_PROMOTED = 5;
+
+ // Percent Cpc is bidding strategy where bids are a fraction of the
+ // advertised price for some good or service.
+ PERCENT_CPC = 12;
+
+ // Target CPA is an automated bid strategy that sets bids
+ // to help get as many conversions as possible
+ // at the target cost-per-acquisition (CPA) you set.
+ TARGET_CPA = 6;
+
+ // Target Outrank Share is an automated bidding strategy that sets bids
+ // based on the target fraction of auctions where the advertiser
+ // should outrank a specific competitor.
+ TARGET_OUTRANK_SHARE = 7;
+
+ // Target ROAS is an automated bidding strategy
+ // that helps you maximize revenue while averaging
+ // a specific target Return On Average Spend (ROAS).
+ TARGET_ROAS = 8;
+
+ // Target Spend is an automated bid strategy that sets your bids
+ // to help get as many clicks as possible within your budget.
+ TARGET_SPEND = 9;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/billing_setup_status.proto b/google/ads/googleads/v0/enums/billing_setup_status.proto
new file mode 100644
index 000000000..fdca1838f
--- /dev/null
+++ b/google/ads/googleads/v0/enums/billing_setup_status.proto
@@ -0,0 +1,55 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "BillingSetupStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing BillingSetup statuses.
+
+// Message describing BillingSetup statuses.
+message BillingSetupStatusEnum {
+ // The possible statuses of a BillingSetup.
+ enum BillingSetupStatus {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // The billing setup is pending approval.
+ PENDING = 2;
+
+ // The billing setup has been approved but the corresponding first budget
+ // has not. This can only occur for billing setups configured for monthly
+ // invoicing.
+ APPROVED_HELD = 3;
+
+ // The billing setup has been approved.
+ APPROVED = 4;
+
+ // The billing setup was cancelled by the user prior to approval.
+ CANCELLED = 5;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/budget_delivery_method.proto b/google/ads/googleads/v0/enums/budget_delivery_method.proto
new file mode 100644
index 000000000..2a99d0a45
--- /dev/null
+++ b/google/ads/googleads/v0/enums/budget_delivery_method.proto
@@ -0,0 +1,50 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "BudgetDeliveryMethodProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing Budget delivery methods.
+
+// Message describing Budget delivery methods. A delivery method determines the
+// rate at which the Budget is spent.
+message BudgetDeliveryMethodEnum {
+ // Possible delivery methods of a Budget.
+ enum BudgetDeliveryMethod {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // The budget server will throttle serving evenly across
+ // the entire time period.
+ STANDARD = 2;
+
+ // The budget server will not throttle serving,
+ // and ads will serve as fast as possible.
+ ACCELERATED = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/budget_status.proto b/google/ads/googleads/v0/enums/budget_status.proto
new file mode 100644
index 000000000..748a952ff
--- /dev/null
+++ b/google/ads/googleads/v0/enums/budget_status.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "BudgetStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing Budget statuses
+
+// Message describing a Budget status
+message BudgetStatusEnum {
+ // Possible statuses of a Budget.
+ enum BudgetStatus {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Budget is enabled.
+ ENABLED = 2;
+
+ // Budget is removed.
+ REMOVED = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/call_conversion_reporting_state.proto b/google/ads/googleads/v0/enums/call_conversion_reporting_state.proto
new file mode 100644
index 000000000..46737192d
--- /dev/null
+++ b/google/ads/googleads/v0/enums/call_conversion_reporting_state.proto
@@ -0,0 +1,53 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "CallConversionReportingStateProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing call conversion reporting state.
+
+// Container for enum describing possible data types for call conversion
+// reporting state.
+message CallConversionReportingStateEnum {
+ // Possible data types for a call conversion action state.
+ enum CallConversionReportingState {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Call conversion action is disabled.
+ DISABLED = 2;
+
+ // Call conversion action will use call conversion type set at the
+ // account level.
+ USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION = 3;
+
+ // Call conversion action will use call conversion type set at the resource
+ // (call only ads/call extensions) level.
+ USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/call_placeholder_field.proto b/google/ads/googleads/v0/enums/call_placeholder_field.proto
new file mode 100644
index 000000000..67b055c85
--- /dev/null
+++ b/google/ads/googleads/v0/enums/call_placeholder_field.proto
@@ -0,0 +1,63 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "CallPlaceholderFieldProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Values for Call placeholder fields.
+message CallPlaceholderFieldEnum {
+ // Possible values for Call placeholder fields.
+ enum CallPlaceholderField {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Data Type: STRING. The advertiser's phone number to append to the ad.
+ PHONE_NUMBER = 2;
+
+ // Data Type: STRING. Uppercase two-letter country code of the advertiser's
+ // phone number.
+ COUNTRY_CODE = 3;
+
+ // Data Type: BOOLEAN. Indicates whether call tracking is enabled. Default:
+ // true.
+ TRACKED = 4;
+
+ // Data Type: INT64. The ID of an AdCallMetricsConversion object. This
+ // object contains the phoneCallDurationfield which is the minimum duration
+ // (in seconds) of a call to be considered a conversion.
+ CONVERSION_TYPE_ID = 5;
+
+ // Data Type: STRING. Indicates whether this call extension uses its own
+ // call conversion setting or follows the account level setting.
+ // Valid values are: USE_ACCOUNT_LEVEL_CALL_CONVERSION_ACTION and
+ // USE_RESOURCE_LEVEL_CALL_CONVERSION_ACTION.
+ CONVERSION_REPORTING_STATE = 6;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/callout_placeholder_field.proto b/google/ads/googleads/v0/enums/callout_placeholder_field.proto
new file mode 100644
index 000000000..85d796709
--- /dev/null
+++ b/google/ads/googleads/v0/enums/callout_placeholder_field.proto
@@ -0,0 +1,44 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "CalloutPlaceholderFieldProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Values for Callout placeholder fields.
+message CalloutPlaceholderFieldEnum {
+ // Possible values for Callout placeholder fields.
+ enum CalloutPlaceholderField {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Data Type: STRING. Callout text.
+ CALLOUT_TEXT = 2;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/campaign_group_status.proto b/google/ads/googleads/v0/enums/campaign_group_status.proto
new file mode 100644
index 000000000..19462d171
--- /dev/null
+++ b/google/ads/googleads/v0/enums/campaign_group_status.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignGroupStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing CampaignGroup statuses.
+
+// Message describing CampaignGroup statuses.
+message CampaignGroupStatusEnum {
+ // Possible statuses of a CampaignGroup.
+ enum CampaignGroupStatus {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Campaign group is currently serving ads depending on budget information.
+ ENABLED = 2;
+
+ // Campaign group has been removed.
+ REMOVED = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/campaign_serving_status.proto b/google/ads/googleads/v0/enums/campaign_serving_status.proto
new file mode 100644
index 000000000..c5cbe7221
--- /dev/null
+++ b/google/ads/googleads/v0/enums/campaign_serving_status.proto
@@ -0,0 +1,58 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignServingStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing Campaign serving statuses.
+
+// Message describing Campaign serving statuses.
+message CampaignServingStatusEnum {
+ // Possible serving statuses of a campaign.
+ enum CampaignServingStatus {
+ // No value has been specified.
+ UNSPECIFIED = 0;
+
+ // The received value is not known in this version.
+ //
+ // This is a response-only value.
+ UNKNOWN = 1;
+
+ // Serving.
+ SERVING = 2;
+
+ // None.
+ NONE = 3;
+
+ // Ended.
+ ENDED = 4;
+
+ // Pending.
+ PENDING = 5;
+
+ // Suspended.
+ SUSPENDED = 6;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/campaign_shared_set_status.proto b/google/ads/googleads/v0/enums/campaign_shared_set_status.proto
new file mode 100644
index 000000000..9af603c79
--- /dev/null
+++ b/google/ads/googleads/v0/enums/campaign_shared_set_status.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignSharedSetStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing campaign shared set statuses.
+
+// Container for enum describing types of campaign shared set statuses.
+message CampaignSharedSetStatusEnum {
+ // Enum listing the possible campaign shared set statuses.
+ enum CampaignSharedSetStatus {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // The campaign shared set is enabled.
+ ENABLED = 2;
+
+ // The campaign shared set is removed and can no longer be used.
+ REMOVED = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/campaign_status.proto b/google/ads/googleads/v0/enums/campaign_status.proto
new file mode 100644
index 000000000..895376fc4
--- /dev/null
+++ b/google/ads/googleads/v0/enums/campaign_status.proto
@@ -0,0 +1,50 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing campaign status.
+
+// Container for enum describing possible statuses of a campaign.
+message CampaignStatusEnum {
+ // Possible statuses of a campaign.
+ enum CampaignStatus {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Campaign is currently serving ads depending on budget information.
+ ENABLED = 2;
+
+ // Campaign has been paused by the user.
+ PAUSED = 3;
+
+ // Campaign has been removed.
+ REMOVED = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/change_status_operation.proto b/google/ads/googleads/v0/enums/change_status_operation.proto
new file mode 100644
index 000000000..80beb54d7
--- /dev/null
+++ b/google/ads/googleads/v0/enums/change_status_operation.proto
@@ -0,0 +1,51 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "ChangeStatusOperationProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing the change status operations.
+
+// Container for enum describing operations for the ChangeStatus resource.
+message ChangeStatusOperationEnum {
+ // Status of the changed resource
+ enum ChangeStatusOperation {
+ // No value has been specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents an unclassified resource unknown
+ // in this version.
+ UNKNOWN = 1;
+
+ // The resource was created.
+ ADDED = 2;
+
+ // The resource was modified.
+ CHANGED = 3;
+
+ // The resource was removed.
+ REMOVED = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/change_status_resource_type.proto b/google/ads/googleads/v0/enums/change_status_resource_type.proto
new file mode 100644
index 000000000..c56436f1a
--- /dev/null
+++ b/google/ads/googleads/v0/enums/change_status_resource_type.proto
@@ -0,0 +1,58 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "ChangeStatusResourceTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing the resource types the ChangeStatus resource supports.
+
+// Container for enum describing supported resource types for the ChangeStatus
+// resource.
+message ChangeStatusResourceTypeEnum {
+ // Enum listing the resource types support by the ChangeStatus resource.
+ enum ChangeStatusResourceType {
+ // No value has been specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents an unclassified resource unknown
+ // in this version.
+ UNKNOWN = 1;
+
+ // An AdGroup resource change.
+ AD_GROUP = 3;
+
+ // An AdGroupAd resource change.
+ AD_GROUP_AD = 4;
+
+ // An AdGroupCriterion resource change.
+ AD_GROUP_CRITERION = 5;
+
+ // A Campaign resource change.
+ CAMPAIGN = 6;
+
+ // A CampaignCriterion resource change.
+ CAMPAIGN_CRITERION = 7;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/content_label_type.proto b/google/ads/googleads/v0/enums/content_label_type.proto
new file mode 100644
index 000000000..d9fa00d1b
--- /dev/null
+++ b/google/ads/googleads/v0/enums/content_label_type.proto
@@ -0,0 +1,86 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "ContentLabelTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing content label types.
+
+// Container for enum describing content label types in ContentLabel.
+message ContentLabelTypeEnum {
+ // Enum listing the content label types supported by ContentLabel criterion.
+ enum ContentLabelType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Sexually suggestive content.
+ SEXUALLY_SUGGESTIVE = 2;
+
+ // Below the fold placement.
+ BELOW_THE_FOLD = 3;
+
+ // Parked domain.
+ PARKED_DOMAIN = 4;
+
+ // Game.
+ GAME = 5;
+
+ // Juvenile, gross & bizarre content.
+ JUVENILE = 6;
+
+ // Profanity & rough language.
+ PROFANITY = 7;
+
+ // Death & tragedy.
+ TRAGEDY = 8;
+
+ // Video.
+ VIDEO = 9;
+
+ // Content rating: G.
+ VIDEO_RATING_DV_G = 10;
+
+ // Content rating: PG.
+ VIDEO_RATING_DV_PG = 11;
+
+ // Content rating: T.
+ VIDEO_RATING_DV_T = 12;
+
+ // Content rating: MA.
+ VIDEO_RATING_DV_MA = 13;
+
+ // Content rating: not yet rated.
+ VIDEO_NOT_YET_RATED = 14;
+
+ // Embedded video.
+ EMBEDDED_VIDEO = 15;
+
+ // Live streaming video.
+ LIVE_STREAMING_VIDEO = 16;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/conversion_action_category.proto b/google/ads/googleads/v0/enums/conversion_action_category.proto
new file mode 100644
index 000000000..a490aad64
--- /dev/null
+++ b/google/ads/googleads/v0/enums/conversion_action_category.proto
@@ -0,0 +1,60 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "ConversionActionCategoryProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Container for enum describing the category of conversions that are associated
+// with a ConversionAction.
+message ConversionActionCategoryEnum {
+ // The category of conversions that are associated with a ConversionAction.
+ enum ConversionActionCategory {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Default category.
+ DEFAULT = 2;
+
+ // User visiting a page.
+ PAGE_VIEW = 3;
+
+ // Purchase, sales, or "order placed" event.
+ PURCHASE = 4;
+
+ // Signup user action.
+ SIGNUP = 5;
+
+ // Lead-generating action.
+ LEAD = 6;
+
+ // Software download action (as for an app).
+ DOWNLOAD = 7;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/conversion_action_counting_type.proto b/google/ads/googleads/v0/enums/conversion_action_counting_type.proto
new file mode 100644
index 000000000..5dfa4a2bf
--- /dev/null
+++ b/google/ads/googleads/v0/enums/conversion_action_counting_type.proto
@@ -0,0 +1,49 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "ConversionActionCountingTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing conversion action counting type.
+
+// Container for enum describing the conversion deduplication mode for
+// conversion optimizer.
+message ConversionActionCountingTypeEnum {
+ // Indicates how conversions for this action will be counted. For more
+ // information, see https://support.google.com/google-ads/answer/3438531.
+ enum ConversionActionCountingType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Count only one conversion per click.
+ ONE_PER_CLICK = 2;
+
+ // Count all conversions per click.
+ MANY_PER_CLICK = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/conversion_action_status.proto b/google/ads/googleads/v0/enums/conversion_action_status.proto
new file mode 100644
index 000000000..2784f61e3
--- /dev/null
+++ b/google/ads/googleads/v0/enums/conversion_action_status.proto
@@ -0,0 +1,51 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "ConversionActionStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing conversion action status.
+
+// Container for enum describing possible statuses of a conversion action.
+message ConversionActionStatusEnum {
+ // Possible statuses of a conversion action.
+ enum ConversionActionStatus {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Conversions will be recorded.
+ ENABLED = 2;
+
+ // Conversions will not be recorded.
+ REMOVED = 3;
+
+ // Conversions will not be recorded and the conversion action will not
+ // appear in the UI.
+ HIDDEN = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/conversion_action_type.proto b/google/ads/googleads/v0/enums/conversion_action_type.proto
new file mode 100644
index 000000000..9909af5aa
--- /dev/null
+++ b/google/ads/googleads/v0/enums/conversion_action_type.proto
@@ -0,0 +1,70 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "ConversionActionTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing conversion action type.
+
+// Container for enum describing possible types of a conversion action.
+message ConversionActionTypeEnum {
+ // Possible types of a conversion action.
+ enum ConversionActionType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Conversions that occur when a user clicks on an ad's call extension.
+ AD_CALL = 2;
+
+ // Conversions that occur when a user on a mobile device clicks a phone
+ // number.
+ CLICK_TO_CALL = 3;
+
+ // Conversions that occur when a user downloads a mobile app from the Google
+ // Play Store.
+ GOOGLE_PLAY_DOWNLOAD = 4;
+
+ // Conversions that occur when a user makes a purchase in an app through
+ // Android billing.
+ GOOGLE_PLAY_IN_APP_PURCHASE = 5;
+
+ // Call conversions that are tracked by the advertiser and uploaded.
+ UPLOAD_CALLS = 6;
+
+ // Conversions that are tracked by the advertiser and uploaded with
+ // attributed clicks.
+ UPLOAD_CLICKS = 7;
+
+ // Conversions that occur on a webpage.
+ WEBPAGE = 8;
+
+ // Conversions that occur when a user calls a dynamically-generated phone
+ // number from an advertiser's website.
+ WEBSITE_CALL = 9;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/criterion_category_channel_availability_mode.proto b/google/ads/googleads/v0/enums/criterion_category_channel_availability_mode.proto
new file mode 100644
index 000000000..f549c9277
--- /dev/null
+++ b/google/ads/googleads/v0/enums/criterion_category_channel_availability_mode.proto
@@ -0,0 +1,55 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "CriterionCategoryChannelAvailabilityModeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing the criterion category channel availability mode.
+
+// Describes channel availability mode for a criterion availability - whether
+// the availability is meant to include all advertising channels, or a
+// particular channel with all its channel subtypes, or a channel with a certain
+// subset of channel subtypes.
+message CriterionCategoryChannelAvailabilityModeEnum {
+ // Enum containing the possible CriterionCategoryChannelAvailabilityMode.
+ enum CriterionCategoryChannelAvailabilityMode {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // The category is available to campaigns of all channel types and subtypes.
+ ALL_CHANNELS = 2;
+
+ // The category is available to campaigns of a specific channel type,
+ // including all subtypes under it.
+ CHANNEL_TYPE_AND_ALL_SUBTYPES = 3;
+
+ // The category is available to campaigns of a specific channel type and
+ // subtype(s).
+ CHANNEL_TYPE_AND_SUBSET_SUBTYPES = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/criterion_category_locale_availability_mode.proto b/google/ads/googleads/v0/enums/criterion_category_locale_availability_mode.proto
new file mode 100644
index 000000000..3da58c1a3
--- /dev/null
+++ b/google/ads/googleads/v0/enums/criterion_category_locale_availability_mode.proto
@@ -0,0 +1,58 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "CriterionCategoryLocaleAvailabilityModeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing the criterion category locale availability mode.
+
+// Describes locale availabilty mode for a criterion availability - whether
+// it's available globally, or a particular country with all languages, or a
+// particular language with all countries, or a country-language pair.
+message CriterionCategoryLocaleAvailabilityModeEnum {
+ // Enum containing the possible CriterionCategoryLocaleAvailabilityMode.
+ enum CriterionCategoryLocaleAvailabilityMode {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // The category is available to campaigns of all locales.
+ ALL_LOCALES = 2;
+
+ // The category is available to campaigns within a list of countries,
+ // regardless of language.
+ COUNTRY_AND_ALL_LANGUAGES = 3;
+
+ // The category is available to campaigns within a list of languages,
+ // regardless of country.
+ LANGUAGE_AND_ALL_COUNTRIES = 4;
+
+ // The category is available to campaigns within a list of country, language
+ // pairs.
+ COUNTRY_AND_LANGUAGE = 5;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/criterion_type.proto b/google/ads/googleads/v0/enums/criterion_type.proto
new file mode 100644
index 000000000..d86dd989f
--- /dev/null
+++ b/google/ads/googleads/v0/enums/criterion_type.proto
@@ -0,0 +1,104 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "CriterionTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing criteria types.
+
+// The possible types of a criterion.
+message CriterionTypeEnum {
+ // Enum describing possible criterion types.
+ enum CriterionType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Keyword. e.g. 'mars cruise'.
+ KEYWORD = 2;
+
+ // Placement, aka Website. e.g. 'www.flowers4sale.com'
+ PLACEMENT = 3;
+
+ // Devices to target.
+ DEVICE = 6;
+
+ // Locations to target.
+ LOCATION = 7;
+
+ // Listing groups to target.
+ LISTING_GROUP = 8;
+
+ // Ad Schedule.
+ AD_SCHEDULE = 9;
+
+ // Age range.
+ AGE_RANGE = 10;
+
+ // Gender.
+ GENDER = 11;
+
+ // Income Range.
+ INCOME_RANGE = 12;
+
+ // Parental status.
+ PARENTAL_STATUS = 13;
+
+ // YouTube Video.
+ YOUTUBE_VIDEO = 14;
+
+ // YouTube Channel.
+ YOUTUBE_CHANNEL = 15;
+
+ // User list.
+ USER_LIST = 16;
+
+ // Proximity.
+ PROXIMITY = 17;
+
+ // A topic target on the display network (e.g. "Pets & Animals").
+ TOPIC = 18;
+
+ // Listing scope to target.
+ LISTING_SCOPE = 19;
+
+ // Language.
+ LANGUAGE = 20;
+
+ // IpBlock.
+ IP_BLOCK = 21;
+
+ // Content Label for category exclusion.
+ CONTENT_LABEL = 22;
+
+ // Carrier.
+ CARRIER = 23;
+
+ // A category the user is interested in.
+ USER_INTEREST = 24;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/custom_placeholder_field.proto b/google/ads/googleads/v0/enums/custom_placeholder_field.proto
new file mode 100644
index 000000000..9e35a26b9
--- /dev/null
+++ b/google/ads/googleads/v0/enums/custom_placeholder_field.proto
@@ -0,0 +1,126 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "CustomPlaceholderFieldProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Values for Custom placeholder fields.
+// For more information about dynamic remarketing feeds, see
+// https://support.google.com/google-ads/answer/6053288.
+message CustomPlaceholderFieldEnum {
+ // Possible values for Custom placeholder fields.
+ enum CustomPlaceholderField {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Data Type: STRING. Required. Combination ID and ID2 must be unique per
+ // offer.
+ ID = 2;
+
+ // Data Type: STRING. Combination ID and ID2 must be unique per offer.
+ ID2 = 3;
+
+ // Data Type: STRING. Required. Main headline with product name to be shown
+ // in dynamic ad.
+ ITEM_TITLE = 4;
+
+ // Data Type: STRING. Optional text to be shown in the image ad.
+ ITEM_SUBTITLE = 5;
+
+ // Data Type: STRING. Optional description of the product to be shown in the
+ // ad.
+ ITEM_DESCRIPTION = 6;
+
+ // Data Type: STRING. Full address of your offer or service, including
+ // postal code. This will be used to identify the closest product to the
+ // user when there are multiple offers in the feed that are relevant to the
+ // user.
+ ITEM_ADDRESS = 7;
+
+ // Data Type: STRING. Price to be shown in the ad.
+ // Example: "100.00 USD"
+ PRICE = 8;
+
+ // Data Type: STRING. Formatted price to be shown in the ad.
+ // Example: "Starting at $100.00 USD", "$80 - $100"
+ FORMATTED_PRICE = 9;
+
+ // Data Type: STRING. Sale price to be shown in the ad.
+ // Example: "80.00 USD"
+ SALE_PRICE = 10;
+
+ // Data Type: STRING. Formatted sale price to be shown in the ad.
+ // Example: "On sale for $80.00", "$60 - $80"
+ FORMATTED_SALE_PRICE = 11;
+
+ // Data Type: URL. Image to be displayed in the ad. Highly recommended for
+ // image ads.
+ IMAGE_URL = 12;
+
+ // Data Type: STRING. Used as a recommendation engine signal to serve items
+ // in the same category.
+ ITEM_CATEGORY = 13;
+
+ // Data Type: URL_LIST. Final URLs for the ad when using Upgraded
+ // URLs. User will be redirected to these URLs when they click on an ad, or
+ // when they click on a specific product for ads that have multiple
+ // products.
+ FINAL_URLS = 14;
+
+ // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded
+ // URLs.
+ FINAL_MOBILE_URLS = 15;
+
+ // Data Type: URL. Tracking template for the ad when using Upgraded URLs.
+ TRACKING_URL = 16;
+
+ // Data Type: STRING_LIST. Keywords used for product retrieval.
+ CONTEXTUAL_KEYWORDS = 17;
+
+ // Data Type: STRING. Android app link. Must be formatted as:
+ // android-app://{package_id}/{scheme}/{host_path}.
+ // The components are defined as follows:
+ // package_id: app ID as specified in Google Play.
+ // scheme: the scheme to pass to the application. Can be HTTP, or a custom
+ // scheme.
+ // host_path: identifies the specific content within your application.
+ ANDROID_APP_LINK = 18;
+
+ // Data Type: STRING_LIST. List of recommended IDs to show together with
+ // this item.
+ SIMILAR_IDS = 19;
+
+ // Data Type: STRING. iOS app link.
+ IOS_APP_LINK = 20;
+
+ // Data Type: INT64. iOS app store ID.
+ IOS_APP_STORE_ID = 21;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/customer_match_upload_key_type.proto b/google/ads/googleads/v0/enums/customer_match_upload_key_type.proto
new file mode 100644
index 000000000..17e4eeeaa
--- /dev/null
+++ b/google/ads/googleads/v0/enums/customer_match_upload_key_type.proto
@@ -0,0 +1,52 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "CustomerMatchUploadKeyTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Indicates what type of data are the user list's members matched from.
+message CustomerMatchUploadKeyTypeEnum {
+ // Enum describing possible customer match upload key types.
+ enum CustomerMatchUploadKeyType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Members are matched from customer info such as email address, phone
+ // number or physical address.
+ CONTACT_INFO = 2;
+
+ // Members are matched from a user id generated and assigned by the
+ // advertiser.
+ CRM_ID = 3;
+
+ // Members are matched from mobile advertising ids.
+ MOBILE_ADVERTISING_ID = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/data_driven_model_status.proto b/google/ads/googleads/v0/enums/data_driven_model_status.proto
new file mode 100644
index 000000000..956b299c5
--- /dev/null
+++ b/google/ads/googleads/v0/enums/data_driven_model_status.proto
@@ -0,0 +1,59 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "DataDrivenModelStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing data-driven model status.
+
+// Container for enum indicating data driven model status.
+message DataDrivenModelStatusEnum {
+ // Enumerates data driven model statuses.
+ enum DataDrivenModelStatus {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // The data driven model is available.
+ AVAILABLE = 2;
+
+ // The data driven model is stale. It hasn't been updated for at least 7
+ // days. It is still being used, but will become expired if it does not get
+ // updated for 30 days.
+ STALE = 3;
+
+ // The data driven model expired. It hasn't been updated for at least 30
+ // days and cannot be used. Most commonly this is because there hasn't been
+ // the required number of events in a recent 30-day period.
+ EXPIRED = 4;
+
+ // The data driven model has never been generated. Most commonly this is
+ // because there has never been the required number of events in any 30-day
+ // period.
+ NEVER_GENERATED = 5;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/day_of_week.proto b/google/ads/googleads/v0/enums/day_of_week.proto
new file mode 100644
index 000000000..cfcc6f753
--- /dev/null
+++ b/google/ads/googleads/v0/enums/day_of_week.proto
@@ -0,0 +1,62 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "DayOfWeekProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing days of week.
+
+// Container for enumeration of days of the week, e.g., "Monday".
+message DayOfWeekEnum {
+ // Enumerates days of the week, e.g., "Monday".
+ enum DayOfWeek {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // The value is unknown in this version.
+ UNKNOWN = 1;
+
+ // Monday.
+ MONDAY = 2;
+
+ // Tuesday.
+ TUESDAY = 3;
+
+ // Wednesday.
+ WEDNESDAY = 4;
+
+ // Thursday.
+ THURSDAY = 5;
+
+ // Friday.
+ FRIDAY = 6;
+
+ // Saturday.
+ SATURDAY = 7;
+
+ // Sunday.
+ SUNDAY = 8;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/device.proto b/google/ads/googleads/v0/enums/device.proto
new file mode 100644
index 000000000..35b1ce613
--- /dev/null
+++ b/google/ads/googleads/v0/enums/device.proto
@@ -0,0 +1,50 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "DeviceProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing devices.
+
+// Container for enumeration of Google Ads devices available for targeting.
+message DeviceEnum {
+ // Enumerates Google Ads devices available for targeting.
+ enum Device {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // The value is unknown in this version.
+ UNKNOWN = 1;
+
+ // Mobile devices with full browsers.
+ MOBILE = 2;
+
+ // Tablets with full browsers.
+ TABLET = 3;
+
+ // Computers.
+ DESKTOP = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/display_ad_format_setting.proto b/google/ads/googleads/v0/enums/display_ad_format_setting.proto
new file mode 100644
index 000000000..e956bbbcf
--- /dev/null
+++ b/google/ads/googleads/v0/enums/display_ad_format_setting.proto
@@ -0,0 +1,51 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "DisplayAdFormatSettingProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing display ad format settings.
+
+// Container for display ad format settings.
+message DisplayAdFormatSettingEnum {
+ // Enumerates display ad format settings.
+ enum DisplayAdFormatSetting {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // The value is unknown in this version.
+ UNKNOWN = 1;
+
+ // Text, image and native formats.
+ ALL_FORMATS = 2;
+
+ // Text and image formats.
+ NON_NATIVE = 3;
+
+ // Native format, i.e. the format rendering is controlled by the publisher
+ // and not by Google.
+ NATIVE = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/education_placeholder_field.proto b/google/ads/googleads/v0/enums/education_placeholder_field.proto
new file mode 100644
index 000000000..7831935af
--- /dev/null
+++ b/google/ads/googleads/v0/enums/education_placeholder_field.proto
@@ -0,0 +1,108 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "EducationPlaceholderFieldProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Values for Education placeholder fields.
+// For more information about dynamic remarketing feeds, see
+// https://support.google.com/google-ads/answer/6053288.
+message EducationPlaceholderFieldEnum {
+ // Possible values for Education placeholder fields.
+ enum EducationPlaceholderField {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Data Type: STRING. Required. Combination of PROGRAM ID and LOCATION ID
+ // must be unique per offer.
+ PROGRAM_ID = 2;
+
+ // Data Type: STRING. Combination of PROGRAM ID and LOCATION ID must be
+ // unique per offer.
+ LOCATION_ID = 3;
+
+ // Data Type: STRING. Required. Main headline with program name to be shown
+ // in dynamic ad.
+ PROGRAM_NAME = 4;
+
+ // Data Type: STRING. Area of study that can be shown in dynamic ad.
+ AREA_OF_STUDY = 5;
+
+ // Data Type: STRING. Description of program that can be shown in dynamic
+ // ad.
+ PROGRAM_DESCRIPTION = 6;
+
+ // Data Type: STRING. Name of school that can be shown in dynamic ad.
+ SCHOOL_NAME = 7;
+
+ // Data Type: STRING. Complete school address, including postal code.
+ ADDRESS = 8;
+
+ // Data Type: URL. Image to be displayed in ads.
+ THUMBNAIL_IMAGE_URL = 9;
+
+ // Data Type: URL. Alternative hosted file of image to be used in the ad.
+ ALTERNATIVE_THUMBNAIL_IMAGE_URL = 10;
+
+ // Data Type: URL_LIST. Required. Final URLs to be used in ad when using
+ // Upgraded URLs; the more specific the better (e.g. the individual URL of a
+ // specific program and its location).
+ FINAL_URLS = 11;
+
+ // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded
+ // URLs.
+ FINAL_MOBILE_URLS = 12;
+
+ // Data Type: URL. Tracking template for the ad when using Upgraded URLs.
+ TRACKING_URL = 13;
+
+ // Data Type: STRING_LIST. Keywords used for product retrieval.
+ CONTEXTUAL_KEYWORDS = 14;
+
+ // Data Type: STRING. Android app link. Must be formatted as:
+ // android-app://{package_id}/{scheme}/{host_path}.
+ // The components are defined as follows:
+ // package_id: app ID as specified in Google Play.
+ // scheme: the scheme to pass to the application. Can be HTTP, or a custom
+ // scheme.
+ // host_path: identifies the specific content within your application.
+ ANDROID_APP_LINK = 15;
+
+ // Data Type: STRING_LIST. List of recommended program IDs to show together
+ // with this item.
+ SIMILAR_PROGRAM_IDS = 16;
+
+ // Data Type: STRING. iOS app link.
+ IOS_APP_LINK = 17;
+
+ // Data Type: INT64. iOS app store ID.
+ IOS_APP_STORE_ID = 18;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/feed_attribute_type.proto b/google/ads/googleads/v0/enums/feed_attribute_type.proto
new file mode 100644
index 000000000..f78770195
--- /dev/null
+++ b/google/ads/googleads/v0/enums/feed_attribute_type.proto
@@ -0,0 +1,80 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "FeedAttributeTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing feed attribute type.
+
+// Container for enum describing possible data types for a feed attribute.
+message FeedAttributeTypeEnum {
+ // Possible data types for a feed attribute.
+ enum FeedAttributeType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Int64.
+ INT64 = 2;
+
+ // Double.
+ DOUBLE = 3;
+
+ // String.
+ STRING = 4;
+
+ // Boolean.
+ BOOLEAN = 5;
+
+ // Url.
+ URL = 6;
+
+ // Datetime.
+ DATE_TIME = 7;
+
+ // Int64 list.
+ INT64_LIST = 8;
+
+ // Double (8 bytes) list.
+ DOUBLE_LIST = 9;
+
+ // String list.
+ STRING_LIST = 10;
+
+ // Boolean list.
+ BOOLEAN_LIST = 11;
+
+ // Url list.
+ URL_LIST = 12;
+
+ // Datetime list.
+ DATE_TIME_LIST = 13;
+
+ // Price.
+ PRICE = 14;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/feed_item_status.proto b/google/ads/googleads/v0/enums/feed_item_status.proto
new file mode 100644
index 000000000..17c535b4e
--- /dev/null
+++ b/google/ads/googleads/v0/enums/feed_item_status.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "FeedItemStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing feed item status.
+
+// Container for enum describing possible statuses of a feed item.
+message FeedItemStatusEnum {
+ // Possible statuses of a feed item.
+ enum FeedItemStatus {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Feed item is enabled.
+ ENABLED = 2;
+
+ // Feed item has been removed.
+ REMOVED = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/feed_link_status.proto b/google/ads/googleads/v0/enums/feed_link_status.proto
new file mode 100644
index 000000000..d28f24a39
--- /dev/null
+++ b/google/ads/googleads/v0/enums/feed_link_status.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "FeedLinkStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing status of a feed link.
+
+// Container for an enum describing possible statuses of a feed link.
+message FeedLinkStatusEnum {
+ // Possible statuses of a feed link.
+ enum FeedLinkStatus {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Feed link is enabled.
+ ENABLED = 2;
+
+ // Feed link has been removed.
+ REMOVED = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/feed_mapping_criterion_type.proto b/google/ads/googleads/v0/enums/feed_mapping_criterion_type.proto
new file mode 100644
index 000000000..d99f1c988
--- /dev/null
+++ b/google/ads/googleads/v0/enums/feed_mapping_criterion_type.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "FeedMappingCriterionTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing criterion types for feed mappings.
+
+// Container for enum describing possible criterion types for a feed mapping.
+message FeedMappingCriterionTypeEnum {
+ // Possible placeholder types for a feed mapping.
+ enum FeedMappingCriterionType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Allows campaign targeting at locations within a location feed.
+ CAMPAIGN_LOCATION_TARGETS = 2;
+
+ // Allows url targeting for your dynamic search ads within a page feed.
+ DSA_PAGE_FEED = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/feed_mapping_status.proto b/google/ads/googleads/v0/enums/feed_mapping_status.proto
new file mode 100644
index 000000000..848e65e38
--- /dev/null
+++ b/google/ads/googleads/v0/enums/feed_mapping_status.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "FeedMappingStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing feed mapping status.
+
+// Container for enum describing possible statuses of a feed mapping.
+message FeedMappingStatusEnum {
+ // Possible statuses of a feed mapping.
+ enum FeedMappingStatus {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Feed mapping is enabled.
+ ENABLED = 2;
+
+ // Feed mapping has been removed.
+ REMOVED = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/feed_origin.proto b/google/ads/googleads/v0/enums/feed_origin.proto
new file mode 100644
index 000000000..ca9244f53
--- /dev/null
+++ b/google/ads/googleads/v0/enums/feed_origin.proto
@@ -0,0 +1,50 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "FeedOriginProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing feed origin.
+
+// Container for enum describing possible values for a feed origin.
+message FeedOriginEnum {
+ // Possible values for a feed origin.
+ enum FeedOrigin {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // The FeedAttributes for this Feed are managed by the
+ // user. Users can add FeedAttributes to this Feed.
+ USER = 2;
+
+ // The FeedAttributes for an GOOGLE Feed are created by Google. A feed of
+ // this type is maintained by Google and will have the correct attributes
+ // for the placeholder type of the feed.
+ GOOGLE = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/feed_status.proto b/google/ads/googleads/v0/enums/feed_status.proto
new file mode 100644
index 000000000..ab5f7aebd
--- /dev/null
+++ b/google/ads/googleads/v0/enums/feed_status.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "FeedStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing feed status.
+
+// Container for enum describing possible statuses of a feed.
+message FeedStatusEnum {
+ // Possible statuses of a feed.
+ enum FeedStatus {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Feed is enabled.
+ ENABLED = 2;
+
+ // Feed has been removed.
+ REMOVED = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/flight_placeholder_field.proto b/google/ads/googleads/v0/enums/flight_placeholder_field.proto
new file mode 100644
index 000000000..8dc7c4bf7
--- /dev/null
+++ b/google/ads/googleads/v0/enums/flight_placeholder_field.proto
@@ -0,0 +1,115 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "FlightsPlaceholderFieldProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Values for Flight placeholder fields.
+// For more information about dynamic remarketing feeds, see
+// https://support.google.com/google-ads/answer/6053288.
+message FlightPlaceholderFieldEnum {
+ // Possible values for Flight placeholder fields.
+ enum FlightPlaceholderField {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Data Type: STRING. Required. Destination id. Example: PAR, LON.
+ // For feed items that only have destination id, destination id must be a
+ // unique key. For feed items that have both destination id and origin id,
+ // then the combination must be a unique key.
+ DESTINATION_ID = 2;
+
+ // Data Type: STRING. Origin id. Example: PAR, LON.
+ // Optional. Combination of destination id and origin id must be unique per
+ // offer.
+ ORIGIN_ID = 3;
+
+ // Data Type: STRING. Required. Main headline with product name to be shown
+ // in dynamic ad.
+ FLIGHT_DESCRIPTION = 4;
+
+ // Data Type: STRING. Shorter names are recommended.
+ ORIGIN_NAME = 5;
+
+ // Data Type: STRING. Shorter names are recommended.
+ DESTINATION_NAME = 6;
+
+ // Data Type: STRING. Price to be shown in the ad.
+ // Example: "100.00 USD"
+ FLIGHT_PRICE = 7;
+
+ // Data Type: STRING. Formatted price to be shown in the ad.
+ // Example: "Starting at $100.00 USD", "$80 - $100"
+ FORMATTED_PRICE = 8;
+
+ // Data Type: STRING. Sale price to be shown in the ad.
+ // Example: "80.00 USD"
+ FLIGHT_SALE_PRICE = 9;
+
+ // Data Type: STRING. Formatted sale price to be shown in the ad.
+ // Example: "On sale for $80.00", "$60 - $80"
+ FORMATTED_SALE_PRICE = 10;
+
+ // Data Type: URL. Image to be displayed in the ad.
+ IMAGE_URL = 11;
+
+ // Data Type: URL_LIST. Required. Final URLs for the ad when using Upgraded
+ // URLs. User will be redirected to these URLs when they click on an ad, or
+ // when they click on a specific flight for ads that show multiple
+ // flights.
+ FINAL_URLS = 12;
+
+ // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded
+ // URLs.
+ FINAL_MOBILE_URLS = 13;
+
+ // Data Type: URL. Tracking template for the ad when using Upgraded URLs.
+ TRACKING_URL = 14;
+
+ // Data Type: STRING. Android app link. Must be formatted as:
+ // android-app://{package_id}/{scheme}/{host_path}.
+ // The components are defined as follows:
+ // package_id: app ID as specified in Google Play.
+ // scheme: the scheme to pass to the application. Can be HTTP, or a custom
+ // scheme.
+ // host_path: identifies the specific content within your application.
+ ANDROID_APP_LINK = 15;
+
+ // Data Type: STRING_LIST. List of recommended destination IDs to show
+ // together with this item.
+ SIMILAR_DESTINATION_IDS = 16;
+
+ // Data Type: STRING. iOS app link.
+ IOS_APP_LINK = 17;
+
+ // Data Type: INT64. iOS app store ID.
+ IOS_APP_STORE_ID = 18;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/frequency_cap_event_type.proto b/google/ads/googleads/v0/enums/frequency_cap_event_type.proto
new file mode 100644
index 000000000..29f97a1dc
--- /dev/null
+++ b/google/ads/googleads/v0/enums/frequency_cap_event_type.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "FrequencyCapEventTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing frequency caps.
+
+// Container for enum describing the type of event that the cap applies to.
+message FrequencyCapEventTypeEnum {
+ // The type of event that the cap applies to (e.g. impression).
+ enum FrequencyCapEventType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // The cap applies on ad impressions.
+ IMPRESSION = 2;
+
+ // The cap applies on video ad views.
+ VIDEO_VIEW = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/frequency_cap_level.proto b/google/ads/googleads/v0/enums/frequency_cap_level.proto
new file mode 100644
index 000000000..7e1d6d21e
--- /dev/null
+++ b/google/ads/googleads/v0/enums/frequency_cap_level.proto
@@ -0,0 +1,51 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "FrequencyCapLevelProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing frequency caps.
+
+// Container for enum describing the level on which the cap is to be applied.
+message FrequencyCapLevelEnum {
+ // The level on which the cap is to be applied (e.g ad group ad, ad group).
+ // Cap is applied to all the resources of this level.
+ enum FrequencyCapLevel {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // The cap is applied at the ad group ad level.
+ AD_GROUP_AD = 2;
+
+ // The cap is applied at the ad group level.
+ AD_GROUP = 3;
+
+ // The cap is applied at the campaign level.
+ CAMPAIGN = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/frequency_cap_time_unit.proto b/google/ads/googleads/v0/enums/frequency_cap_time_unit.proto
new file mode 100644
index 000000000..58621fc39
--- /dev/null
+++ b/google/ads/googleads/v0/enums/frequency_cap_time_unit.proto
@@ -0,0 +1,50 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "FrequencyCapTimeUnitProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing frequency caps.
+
+// Container for enum describing the unit of time the cap is defined at.
+message FrequencyCapTimeUnitEnum {
+ // Unit of time the cap is defined at (e.g. day, week).
+ enum FrequencyCapTimeUnit {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // The cap would define limit per one day.
+ DAY = 2;
+
+ // The cap would define limit per one week.
+ WEEK = 3;
+
+ // The cap would define limit per one month.
+ MONTH = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/gender_type.proto b/google/ads/googleads/v0/enums/gender_type.proto
new file mode 100644
index 000000000..c6c320011
--- /dev/null
+++ b/google/ads/googleads/v0/enums/gender_type.proto
@@ -0,0 +1,50 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "GenderTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing gender types.
+
+// Container for enum describing the type of demographic genders.
+message GenderTypeEnum {
+ // The type of demographic genders (e.g. female).
+ enum GenderType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Male.
+ MALE = 10;
+
+ // Female.
+ FEMALE = 11;
+
+ // Undetermined gender.
+ UNDETERMINED = 20;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/geo_target_constant_status.proto b/google/ads/googleads/v0/enums/geo_target_constant_status.proto
new file mode 100644
index 000000000..309bc6cd7
--- /dev/null
+++ b/google/ads/googleads/v0/enums/geo_target_constant_status.proto
@@ -0,0 +1,49 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "GeoTargetConstantStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing geo target constant statuses.
+
+// Container for describing the status of a geo target constant.
+message GeoTargetConstantStatusEnum {
+ // The possible statuses of a geo target constant.
+ enum GeoTargetConstantStatus {
+ // No value has been specified.
+ UNSPECIFIED = 0;
+
+ // The received value is not known in this version.
+ //
+ // This is a response-only value.
+ UNKNOWN = 1;
+
+ // The geo target constant is valid.
+ ENABLED = 2;
+
+ // The geo target constant is obsolete and will be removed.
+ REMOVAL_PLANNED = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/geo_targeting_restriction.proto b/google/ads/googleads/v0/enums/geo_targeting_restriction.proto
new file mode 100644
index 000000000..86725f555
--- /dev/null
+++ b/google/ads/googleads/v0/enums/geo_targeting_restriction.proto
@@ -0,0 +1,46 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "GeoTargetingRestrictionProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing GeoTargetingRestriction.
+
+// Message describing feed item geo targeting restriction.
+message GeoTargetingRestrictionEnum {
+ // A restriction used to determine if the request context's
+ // geo should be matched.
+ enum GeoTargetingRestriction {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Indicates that request context should match the physical location of
+ // the user.
+ LOCATION_OF_PRESENCE = 2;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/google_ads_field_category.proto b/google/ads/googleads/v0/enums/google_ads_field_category.proto
new file mode 100644
index 000000000..99f6ae4e6
--- /dev/null
+++ b/google/ads/googleads/v0/enums/google_ads_field_category.proto
@@ -0,0 +1,58 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "GoogleAdsFieldCategoryProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing GoogleAdsField categories
+
+// Container for enum that determines if the described artifact is a resource
+// or a field, and if it is a field, when it segments search queries.
+message GoogleAdsFieldCategoryEnum {
+ // The category of the artifact.
+ enum GoogleAdsFieldCategory {
+ // Unspecified
+ UNSPECIFIED = 0;
+
+ // Unknown
+ UNKNOWN = 1;
+
+ // The described artifact is a resource.
+ RESOURCE = 2;
+
+ // The described artifact is a field and is an attribute of a resource.
+ // Including a resource attribute field in a query may segment the query if
+ // the resource to which it is attributed segments the resource found in
+ // the FROM clause.
+ ATTRIBUTE = 3;
+
+ // The described artifact is a field and always segments search queries.
+ SEGMENT = 5;
+
+ // The described artifact is a field and is a metric. It never segments
+ // search queries.
+ METRIC = 6;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/google_ads_field_data_type.proto b/google/ads/googleads/v0/enums/google_ads_field_data_type.proto
new file mode 100644
index 000000000..c7ffa26c3
--- /dev/null
+++ b/google/ads/googleads/v0/enums/google_ads_field_data_type.proto
@@ -0,0 +1,94 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "GoogleAdsFieldDataTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing GoogleAdsField data types
+
+// Container holding the various data types.
+message GoogleAdsFieldDataTypeEnum {
+ // These are the various types a GoogleAdsService artifact may take on.
+ enum GoogleAdsFieldDataType {
+ // Unspecified
+ UNSPECIFIED = 0;
+
+ // Unknown
+ UNKNOWN = 1;
+
+ // Maps to google.protobuf.BoolValue
+ //
+ // Applicable operators: =, !=
+ BOOLEAN = 2;
+
+ // Maps to google.protobuf.StringValue. It can be compared using the set of
+ // operators specific to dates however.
+ //
+ // Applicable operators: =, <, >, <=, >=, BETWEEN, DURING, and IN
+ DATE = 3;
+
+ // Maps to google.protobuf.DoubleValue
+ //
+ // Applicable operators: =, !=, <, >, IN, NOT IN
+ DOUBLE = 4;
+
+ // Maps to an enum. It's specific definition can be found at type_url.
+ //
+ // Applicable operators: =, !=, IN, NOT IN
+ ENUM = 5;
+
+ // Maps to google.protobuf.FloatValue
+ //
+ // Applicable operators: =, !=, <, >, IN, NOT IN
+ FLOAT = 6;
+
+ // Maps to google.protobuf.Int32Value
+ //
+ // Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN
+ INT32 = 7;
+
+ // Maps to google.protobuf.Int64Value
+ //
+ // Applicable operators: =, !=, <, >, <=, >=, BETWEEN, IN, NOT IN
+ INT64 = 8;
+
+ // Maps to a protocol buffer message type. The data type's details can be
+ // found in type_url.
+ //
+ // No operators work with MESSAGE fields.
+ MESSAGE = 9;
+
+ // Maps to google.protobuf.StringValue. Represents the resource name
+ // (unique id) of a resource or one of its foreign keys.
+ //
+ // No operators work with RESOURCE_NAME fields.
+ RESOURCE_NAME = 10;
+
+ // Maps to google.protobuf.StringValue.
+ //
+ // Applicable operators: =, !=, LIKE, NOT LIKE, IN, NOT IN
+ STRING = 11;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/hotel_date_selection_type.proto b/google/ads/googleads/v0/enums/hotel_date_selection_type.proto
new file mode 100644
index 000000000..4d4332f0f
--- /dev/null
+++ b/google/ads/googleads/v0/enums/hotel_date_selection_type.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "HotelDateSelectionTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing hotel date selection types.
+
+// Container for enum describing possible hotel date selection types
+message HotelDateSelectionTypeEnum {
+ // Enum describing possible hotel date selection types.
+ enum HotelDateSelectionType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Dates selected by default.
+ DEFAULT_SELECTION = 50;
+
+ // Dates selected by the user.
+ USER_SELECTED = 51;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/hotel_placeholder_field.proto b/google/ads/googleads/v0/enums/hotel_placeholder_field.proto
new file mode 100644
index 000000000..608de1a03
--- /dev/null
+++ b/google/ads/googleads/v0/enums/hotel_placeholder_field.proto
@@ -0,0 +1,121 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "HotelsPlaceholderFieldProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Values for Hotel placeholder fields.
+// For more information about dynamic remarketing feeds, see
+// https://support.google.com/google-ads/answer/6053288.
+message HotelPlaceholderFieldEnum {
+ // Possible values for Hotel placeholder fields.
+ enum HotelPlaceholderField {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Data Type: STRING. Required. Unique ID.
+ PROPERTY_ID = 2;
+
+ // Data Type: STRING. Required. Main headline with property name to be shown
+ // in dynamic ad.
+ PROPERTY_NAME = 3;
+
+ // Data Type: STRING. Name of destination to be shown in dynamic ad.
+ DESTINATION_NAME = 4;
+
+ // Data Type: STRING. Description of destination to be shown in dynamic ad.
+ DESCRIPTION = 5;
+
+ // Data Type: STRING. Complete property address, including postal code.
+ ADDRESS = 6;
+
+ // Data Type: STRING. Price to be shown in the ad.
+ // Example: "100.00 USD"
+ PRICE = 7;
+
+ // Data Type: STRING. Formatted price to be shown in the ad.
+ // Example: "Starting at $100.00 USD", "$80 - $100"
+ FORMATTED_PRICE = 8;
+
+ // Data Type: STRING. Sale price to be shown in the ad.
+ // Example: "80.00 USD"
+ SALE_PRICE = 9;
+
+ // Data Type: STRING. Formatted sale price to be shown in the ad.
+ // Example: "On sale for $80.00", "$60 - $80"
+ FORMATTED_SALE_PRICE = 10;
+
+ // Data Type: URL. Image to be displayed in the ad.
+ IMAGE_URL = 11;
+
+ // Data Type: STRING. Category of property used to group like items together
+ // for recommendation engine.
+ CATEGORY = 12;
+
+ // Data Type: INT64. Star rating (1 to 5) used to group like items
+ // together for recommendation engine.
+ STAR_RATING = 13;
+
+ // Data Type: STRING_LIST. Keywords used for product retrieval.
+ CONTEXTUAL_KEYWORDS = 14;
+
+ // Data Type: URL_LIST. Required. Final URLs for the ad when using Upgraded
+ // URLs. User will be redirected to these URLs when they click on an ad, or
+ // when they click on a specific flight for ads that show multiple
+ // flights.
+ FINAL_URLS = 15;
+
+ // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded
+ // URLs.
+ FINAL_MOBILE_URLS = 16;
+
+ // Data Type: URL. Tracking template for the ad when using Upgraded URLs.
+ TRACKING_URL = 17;
+
+ // Data Type: STRING. Android app link. Must be formatted as:
+ // android-app://{package_id}/{scheme}/{host_path}.
+ // The components are defined as follows:
+ // package_id: app ID as specified in Google Play.
+ // scheme: the scheme to pass to the application. Can be HTTP, or a custom
+ // scheme.
+ // host_path: identifies the specific content within your application.
+ ANDROID_APP_LINK = 18;
+
+ // Data Type: STRING_LIST. List of recommended property IDs to show together
+ // with this item.
+ SIMILAR_PROPERTY_IDS = 19;
+
+ // Data Type: STRING. iOS app link.
+ IOS_APP_LINK = 20;
+
+ // Data Type: INT64. iOS app store ID.
+ IOS_APP_STORE_ID = 21;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/income_range_type.proto b/google/ads/googleads/v0/enums/income_range_type.proto
new file mode 100644
index 000000000..e272d479a
--- /dev/null
+++ b/google/ads/googleads/v0/enums/income_range_type.proto
@@ -0,0 +1,62 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "IncomeRangeTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing income range types.
+
+// Container for enum describing the type of demographic income ranges.
+message IncomeRangeTypeEnum {
+ // The type of demographic income ranges (e.g. between 0% to 50%).
+ enum IncomeRangeType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // 0%-50%.
+ INCOME_RANGE_0_50 = 510001;
+
+ // 50% to 60%.
+ INCOME_RANGE_50_60 = 510002;
+
+ // 60% to 70%.
+ INCOME_RANGE_60_70 = 510003;
+
+ // 70% to 80%.
+ INCOME_RANGE_70_80 = 510004;
+
+ // 80% to 90%.
+ INCOME_RANGE_80_90 = 510005;
+
+ // Greater than 90%.
+ INCOME_RANGE_90_UP = 510006;
+
+ // Undetermined income range.
+ INCOME_RANGE_UNDETERMINED = 510000;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/interaction_type.proto b/google/ads/googleads/v0/enums/interaction_type.proto
new file mode 100644
index 000000000..786f7aa90
--- /dev/null
+++ b/google/ads/googleads/v0/enums/interaction_type.proto
@@ -0,0 +1,44 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "InteractionTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing interaction types.
+
+// Container for enum describing possible interaction types.
+message InteractionTypeEnum {
+ // Enum describing possible interaction types.
+ enum InteractionType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Calls.
+ CALLS = 8000;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/job_placeholder_field.proto b/google/ads/googleads/v0/enums/job_placeholder_field.proto
new file mode 100644
index 000000000..4a4e57bee
--- /dev/null
+++ b/google/ads/googleads/v0/enums/job_placeholder_field.proto
@@ -0,0 +1,112 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "JobsPlaceholderFieldProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Values for Job placeholder fields.
+// For more information about dynamic remarketing feeds, see
+// https://support.google.com/google-ads/answer/6053288.
+message JobPlaceholderFieldEnum {
+ // Possible values for Job placeholder fields.
+ enum JobPlaceholderField {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Data Type: STRING. Required. If only JOB_ID is specified, then it must be
+ // unique. If both JOB_ID and LOCATION_ID are specified, then the
+ // pair must be unique.
+ // ID) pair must be unique.
+ JOB_ID = 2;
+
+ // Data Type: STRING. Combination of JOB_ID and LOCATION_ID must be unique
+ // per offer.
+ LOCATION_ID = 3;
+
+ // Data Type: STRING. Required. Main headline with job title to be shown in
+ // dynamic ad.
+ TITLE = 4;
+
+ // Data Type: STRING. Job subtitle to be shown in dynamic ad.
+ SUBTITLE = 5;
+
+ // Data Type: STRING. Description of job to be shown in dynamic ad.
+ DESCRIPTION = 6;
+
+ // Data Type: URL. Image to be displayed in the ad. Highly recommended for
+ // image ads.
+ IMAGE_URL = 7;
+
+ // Data Type: STRING. Category of property used to group like items together
+ // for recommendation engine.
+ CATEGORY = 8;
+
+ // Data Type: STRING_LIST. Keywords used for product retrieval.
+ CONTEXTUAL_KEYWORDS = 9;
+
+ // Data Type: STRING. Complete property address, including postal code.
+ ADDRESS = 10;
+
+ // Data Type: STRING. Salary or salary range of job to be shown in dynamic
+ // ad.
+ SALARY = 11;
+
+ // Data Type: URL_LIST. Required. Final URLs to be used in ad when using
+ // Upgraded URLs; the more specific the better (e.g. the individual URL of a
+ // specific job and its location).
+ FINAL_URLS = 12;
+
+ // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded
+ // URLs.
+ FINAL_MOBILE_URLS = 14;
+
+ // Data Type: URL. Tracking template for the ad when using Upgraded URLs.
+ TRACKING_URL = 15;
+
+ // Data Type: STRING. Android app link. Must be formatted as:
+ // android-app://{package_id}/{scheme}/{host_path}.
+ // The components are defined as follows:
+ // package_id: app ID as specified in Google Play.
+ // scheme: the scheme to pass to the application. Can be HTTP, or a custom
+ // scheme.
+ // host_path: identifies the specific content within your application.
+ ANDROID_APP_LINK = 16;
+
+ // Data Type: STRING_LIST. List of recommended job IDs to show together with
+ // this item.
+ SIMILAR_JOB_IDS = 17;
+
+ // Data Type: STRING. iOS app link.
+ IOS_APP_LINK = 18;
+
+ // Data Type: INT64. iOS app store ID.
+ IOS_APP_STORE_ID = 19;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/keyword_match_type.proto b/google/ads/googleads/v0/enums/keyword_match_type.proto
new file mode 100644
index 000000000..dc832ff02
--- /dev/null
+++ b/google/ads/googleads/v0/enums/keyword_match_type.proto
@@ -0,0 +1,50 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordMatchTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing Keyword match types.
+
+// Message describing Keyword match types.
+message KeywordMatchTypeEnum {
+ // Possible Keyword match types.
+ enum KeywordMatchType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Exact match.
+ EXACT = 2;
+
+ // Phrase match.
+ PHRASE = 3;
+
+ // Broad match.
+ BROAD = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/keyword_plan_competition_level.proto b/google/ads/googleads/v0/enums/keyword_plan_competition_level.proto
new file mode 100644
index 000000000..39293a5fb
--- /dev/null
+++ b/google/ads/googleads/v0/enums/keyword_plan_competition_level.proto
@@ -0,0 +1,54 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordPlanCompetitionLevelProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing Keyword Planner competition levels.
+
+// Container for enumeration of keyword competition levels. The competition
+// level indicates how competitive ad placement is for a keyword and
+// is determined by the number of advertisers bidding on that keyword relative
+// to all keywords across Google. The competition level can depend on the
+// location and Search Network targeting options you've selected.
+message KeywordPlanCompetitionLevelEnum {
+ // Competition level of a keyword.
+ enum KeywordPlanCompetitionLevel {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // The value is unknown in this version.
+ UNKNOWN = 1;
+
+ // Low competition.
+ LOW = 2;
+
+ // Medium competition.
+ MEDIUM = 3;
+
+ // High competition.
+ HIGH = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/keyword_plan_forecast_interval.proto b/google/ads/googleads/v0/enums/keyword_plan_forecast_interval.proto
new file mode 100644
index 000000000..906311f3a
--- /dev/null
+++ b/google/ads/googleads/v0/enums/keyword_plan_forecast_interval.proto
@@ -0,0 +1,53 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordPlanForecastIntervalProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing keyword plan forecast intervals.
+
+// Container for enumeration of forecast intervals.
+message KeywordPlanForecastIntervalEnum {
+ // Forecast intervals.
+ enum KeywordPlanForecastInterval {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // The value is unknown in this version.
+ UNKNOWN = 1;
+
+ // The next week date range for keyword plan. The next week is based
+ // on the default locale of the user's account and is mostly SUN-SAT or
+ // MON-SUN.
+ // This can be different from next-7 days.
+ NEXT_WEEK = 3;
+
+ // The next month date range for keyword plan.
+ NEXT_MONTH = 4;
+
+ // The next quarter date range for keyword plan.
+ NEXT_QUARTER = 5;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/keyword_plan_network.proto b/google/ads/googleads/v0/enums/keyword_plan_network.proto
new file mode 100644
index 000000000..da9acc200
--- /dev/null
+++ b/google/ads/googleads/v0/enums/keyword_plan_network.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordPlanNetworkProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing Keyword Planner forecastable network types.
+
+// Container for enumeration of keyword plan forecastable network types.
+message KeywordPlanNetworkEnum {
+ // Enumerates keyword plan forecastable network types.
+ enum KeywordPlanNetwork {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // The value is unknown in this version.
+ UNKNOWN = 1;
+
+ // Google Search.
+ GOOGLE_SEARCH = 2;
+
+ // Google Search + Search partners.
+ GOOGLE_SEARCH_AND_PARTNERS = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/listing_custom_attribute_index.proto b/google/ads/googleads/v0/enums/listing_custom_attribute_index.proto
new file mode 100644
index 000000000..03ca30c31
--- /dev/null
+++ b/google/ads/googleads/v0/enums/listing_custom_attribute_index.proto
@@ -0,0 +1,56 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "ListingCustomAttributeIndexProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing listing custom attributes.
+
+// Container for enum describing the index of the listing custom attribute.
+message ListingCustomAttributeIndexEnum {
+ // The index of the listing custom attribute.
+ enum ListingCustomAttributeIndex {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // First listing custom attribute.
+ CUSTOM_ATTRIBUTE_0 = 2;
+
+ // Second listing custom attribute.
+ CUSTOM_ATTRIBUTE_1 = 3;
+
+ // Third listing custom attribute.
+ CUSTOM_ATTRIBUTE_2 = 4;
+
+ // Fourth listing custom attribute.
+ CUSTOM_ATTRIBUTE_3 = 5;
+
+ // Fifth listing custom attribute.
+ CUSTOM_ATTRIBUTE_4 = 6;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/listing_group_type.proto b/google/ads/googleads/v0/enums/listing_group_type.proto
new file mode 100644
index 000000000..2e9c1213d
--- /dev/null
+++ b/google/ads/googleads/v0/enums/listing_group_type.proto
@@ -0,0 +1,49 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "ListingGroupTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing listing groups.
+
+// Container for enum describing the type of the listing group.
+message ListingGroupTypeEnum {
+ // The type of the listing group.
+ enum ListingGroupType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Subdivision of products along some listing dimension. These nodes
+ // are not used by serving to target listing entries, but is purely
+ // to define the structure of the tree.
+ SUBDIVISION = 2;
+
+ // Listing group unit that defines a bid.
+ UNIT = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/local_placeholder_field.proto b/google/ads/googleads/v0/enums/local_placeholder_field.proto
new file mode 100644
index 000000000..35abeec68
--- /dev/null
+++ b/google/ads/googleads/v0/enums/local_placeholder_field.proto
@@ -0,0 +1,116 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "LocalPlaceholderFieldProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Values for Local placeholder fields.
+// For more information about dynamic remarketing feeds, see
+// https://support.google.com/google-ads/answer/6053288.
+message LocalPlaceholderFieldEnum {
+ // Possible values for Local placeholder fields.
+ enum LocalPlaceholderField {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Data Type: STRING. Required. Unique ID.
+ DEAL_ID = 2;
+
+ // Data Type: STRING. Required. Main headline with local deal title to be
+ // shown in dynamic ad.
+ DEAL_NAME = 3;
+
+ // Data Type: STRING. Local deal subtitle to be shown in dynamic ad.
+ SUBTITLE = 4;
+
+ // Data Type: STRING. Description of local deal to be shown in dynamic ad.
+ DESCRIPTION = 5;
+
+ // Data Type: STRING. Price to be shown in the ad. Highly recommended for
+ // dynamic ads. Example: "100.00 USD"
+ PRICE = 6;
+
+ // Data Type: STRING. Formatted price to be shown in the ad.
+ // Example: "Starting at $100.00 USD", "$80 - $100"
+ FORMATTED_PRICE = 7;
+
+ // Data Type: STRING. Sale price to be shown in the ad.
+ // Example: "80.00 USD"
+ SALE_PRICE = 8;
+
+ // Data Type: STRING. Formatted sale price to be shown in the ad.
+ // Example: "On sale for $80.00", "$60 - $80"
+ FORMATTED_SALE_PRICE = 9;
+
+ // Data Type: URL. Image to be displayed in the ad.
+ IMAGE_URL = 10;
+
+ // Data Type: STRING. Complete property address, including postal code.
+ ADDRESS = 11;
+
+ // Data Type: STRING. Category of local deal used to group like items
+ // together for recommendation engine.
+ CATEGORY = 12;
+
+ // Data Type: STRING_LIST. Keywords used for product retrieval.
+ CONTEXTUAL_KEYWORDS = 13;
+
+ // Data Type: URL_LIST. Required. Final URLs to be used in ad when using
+ // Upgraded URLs; the more specific the better (e.g. the individual URL of a
+ // specific local deal and its location).
+ FINAL_URLS = 14;
+
+ // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded
+ // URLs.
+ FINAL_MOBILE_URLS = 15;
+
+ // Data Type: URL. Tracking template for the ad when using Upgraded URLs.
+ TRACKING_URL = 16;
+
+ // Data Type: STRING. Android app link. Must be formatted as:
+ // android-app://{package_id}/{scheme}/{host_path}.
+ // The components are defined as follows:
+ // package_id: app ID as specified in Google Play.
+ // scheme: the scheme to pass to the application. Can be HTTP, or a custom
+ // scheme.
+ // host_path: identifies the specific content within your application.
+ ANDROID_APP_LINK = 17;
+
+ // Data Type: STRING_LIST. List of recommended local deal IDs to show
+ // together with this item.
+ SIMILAR_DEAL_IDS = 18;
+
+ // Data Type: STRING. iOS app link.
+ IOS_APP_LINK = 19;
+
+ // Data Type: INT64. iOS app store ID.
+ IOS_APP_STORE_ID = 20;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/manager_link_status.proto b/google/ads/googleads/v0/enums/manager_link_status.proto
new file mode 100644
index 000000000..9649b72b3
--- /dev/null
+++ b/google/ads/googleads/v0/enums/manager_link_status.proto
@@ -0,0 +1,58 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "ManagerLinkStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Container for enum describing possible status of a manager and client link.
+message ManagerLinkStatusEnum {
+ // Possible statuses of a link.
+ enum ManagerLinkStatus {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Indicates current in-effect relationship
+ ACTIVE = 2;
+
+ // Indicates terminated relationship
+ INACTIVE = 3;
+
+ // Indicates relationship has been requested by manager, but the client
+ // hasn't accepted yet.
+ PENDING = 4;
+
+ // Relationship was requested by the manager, but the client has refused.
+ REFUSED = 5;
+
+ // Indicates relationship has been requested by manager, but manager
+ // canceled it.
+ CANCELED = 6;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/media_type.proto b/google/ads/googleads/v0/enums/media_type.proto
new file mode 100644
index 000000000..e85ea64e3
--- /dev/null
+++ b/google/ads/googleads/v0/enums/media_type.proto
@@ -0,0 +1,61 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "MediaTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing media types.
+
+// Container for enum describing the types of media.
+message MediaTypeEnum {
+ // The type of media.
+ enum MediaType {
+ // The media type has not been specified.
+ UNSPECIFIED = 0;
+
+ // The received value is not known in this version.
+ //
+ // This is a response-only value.
+ UNKNOWN = 1;
+
+ // Static image, used for image ad.
+ IMAGE = 2;
+
+ // Small image, used for map ad.
+ ICON = 3;
+
+ // ZIP file, used in fields of template ads.
+ MEDIA_BUNDLE = 4;
+
+ // Audio file.
+ AUDIO = 5;
+
+ // Video file.
+ VIDEO = 6;
+
+ // Animated image, such as animated GIF.
+ DYNAMIC_IMAGE = 7;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/message_placeholder_field.proto b/google/ads/googleads/v0/enums/message_placeholder_field.proto
new file mode 100644
index 000000000..c845cdb64
--- /dev/null
+++ b/google/ads/googleads/v0/enums/message_placeholder_field.proto
@@ -0,0 +1,58 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "MessagePlaceholderFieldProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Values for Message placeholder fields.
+message MessagePlaceholderFieldEnum {
+ // Possible values for Message placeholder fields.
+ enum MessagePlaceholderField {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Data Type: STRING. The name of your business.
+ BUSINESS_NAME = 2;
+
+ // Data Type: STRING. Country code of phone number.
+ COUNTRY_CODE = 3;
+
+ // Data Type: STRING. A phone number that's capable of sending and receiving
+ // text messages.
+ PHONE_NUMBER = 4;
+
+ // Data Type: STRING. The text that will go in your click-to-message ad.
+ MESSAGE_EXTENSION_TEXT = 5;
+
+ // Data Type: STRING. The message text automatically shows in people's
+ // messaging apps when they tap to send you a message.
+ MESSAGE_TEXT = 6;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/mime_type.proto b/google/ads/googleads/v0/enums/mime_type.proto
new file mode 100644
index 000000000..e933353df
--- /dev/null
+++ b/google/ads/googleads/v0/enums/mime_type.proto
@@ -0,0 +1,79 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "MimeTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing mime types.
+
+// Container for enum describing the mime types.
+message MimeTypeEnum {
+ // The mime type
+ enum MimeType {
+ // The mime type has not been specified.
+ UNSPECIFIED = 0;
+
+ // The received value is not known in this version.
+ //
+ // This is a response-only value.
+ UNKNOWN = 1;
+
+ // MIME type of image/jpeg.
+ IMAGE_JPEG = 2;
+
+ // MIME type of image/gif.
+ IMAGE_GIF = 3;
+
+ // MIME type of image/png.
+ IMAGE_PNG = 4;
+
+ // MIME type of application/x-shockwave-flash.
+ FLASH = 5;
+
+ // MIME type of text/html.
+ TEXT_HTML = 6;
+
+ // MIME type of application/pdf.
+ PDF = 7;
+
+ // MIME type of application/msword.
+ MSWORD = 8;
+
+ // MIME type of application/vnd.ms-excel.
+ MSEXCEL = 9;
+
+ // MIME type of application/rtf.
+ RTF = 10;
+
+ // MIME type of audio/wav.
+ AUDIO_WAV = 11;
+
+ // MIME type of audio/mp3.
+ AUDIO_MP3 = 12;
+
+ // MIME type of application/x-html5-ad-zip.
+ HTML5_AD_ZIP = 13;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/minute_of_hour.proto b/google/ads/googleads/v0/enums/minute_of_hour.proto
new file mode 100644
index 000000000..4b1ad79d6
--- /dev/null
+++ b/google/ads/googleads/v0/enums/minute_of_hour.proto
@@ -0,0 +1,53 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "MinuteOfHourProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing days of week.
+
+// Container for enumeration of quarter-hours.
+message MinuteOfHourEnum {
+ // Enumerates of quarter-hours. E.g. "FIFTEEN"
+ enum MinuteOfHour {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // The value is unknown in this version.
+ UNKNOWN = 1;
+
+ // Zero minutes past the hour.
+ ZERO = 2;
+
+ // Fifteen minutes past the hour.
+ FIFTEEN = 3;
+
+ // Thirty minutes past the hour.
+ THIRTY = 4;
+
+ // Forty-five minutes past the hour.
+ FORTY_FIVE = 5;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/month_of_year.proto b/google/ads/googleads/v0/enums/month_of_year.proto
new file mode 100644
index 000000000..f31f09186
--- /dev/null
+++ b/google/ads/googleads/v0/enums/month_of_year.proto
@@ -0,0 +1,77 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "MonthOfYearProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing days of week.
+
+// Container for enumeration of months of the year, e.g., "January".
+message MonthOfYearEnum {
+ // Enumerates months of the year, e.g., "January".
+ enum MonthOfYear {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // The value is unknown in this version.
+ UNKNOWN = 1;
+
+ // January.
+ JANUARY = 2;
+
+ // February.
+ FEBRUARY = 3;
+
+ // March.
+ MARCH = 4;
+
+ // April.
+ APRIL = 5;
+
+ // May.
+ MAY = 6;
+
+ // June.
+ JUNE = 7;
+
+ // July.
+ JULY = 8;
+
+ // August.
+ AUGUST = 9;
+
+ // September.
+ SEPTEMBER = 10;
+
+ // October.
+ OCTOBER = 11;
+
+ // November.
+ NOVEMBER = 12;
+
+ // December.
+ DECEMBER = 13;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/page_one_promoted_strategy_goal.proto b/google/ads/googleads/v0/enums/page_one_promoted_strategy_goal.proto
new file mode 100644
index 000000000..8d92b788c
--- /dev/null
+++ b/google/ads/googleads/v0/enums/page_one_promoted_strategy_goal.proto
@@ -0,0 +1,48 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "PageOnePromotedStrategyGoalProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing bidding schemes.
+
+// Container for enum describing possible strategy goals: where impressions are
+// desired to be shown on search result pages.
+message PageOnePromotedStrategyGoalEnum {
+ // Enum describing possible strategy goals.
+ enum PageOnePromotedStrategyGoal {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // First page on google.com.
+ FIRST_PAGE = 2;
+
+ // Top slots of the first page on google.com.
+ FIRST_PAGE_PROMOTED = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/parental_status_type.proto b/google/ads/googleads/v0/enums/parental_status_type.proto
new file mode 100644
index 000000000..03d4e5991
--- /dev/null
+++ b/google/ads/googleads/v0/enums/parental_status_type.proto
@@ -0,0 +1,50 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "ParentalStatusTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing parenal status types.
+
+// Container for enum describing the type of demographic parental statuses.
+message ParentalStatusTypeEnum {
+ // The type of parental statuses (e.g. not a parent).
+ enum ParentalStatusType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Parent.
+ PARENT = 300;
+
+ // Not a parent.
+ NOT_A_PARENT = 301;
+
+ // Undetermined parental status.
+ UNDETERMINED = 302;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/placeholder_type.proto b/google/ads/googleads/v0/enums/placeholder_type.proto
new file mode 100644
index 000000000..c1c97cfb0
--- /dev/null
+++ b/google/ads/googleads/v0/enums/placeholder_type.proto
@@ -0,0 +1,98 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "PlaceholderTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing feed placeholder types.
+
+// Container for enum describing possible placeholder types for a feed mapping.
+message PlaceholderTypeEnum {
+ // Possible placeholder types for a feed mapping.
+ enum PlaceholderType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Sitelink.
+ SITELINK = 2;
+
+ // Call.
+ CALL = 3;
+
+ // App.
+ APP = 4;
+
+ // Location.
+ LOCATION = 5;
+
+ // Affiliate location.
+ AFFILIATE_LOCATION = 6;
+
+ // Callout.
+ CALLOUT = 7;
+
+ // Structured snippet.
+ STRUCTURED_SNIPPET = 8;
+
+ // Message.
+ MESSAGE = 9;
+
+ // Price.
+ PRICE = 10;
+
+ // Promotion.
+ PROMOTION = 11;
+
+ // Ad customizer.
+ AD_CUSTOMIZER = 12;
+
+ // Dynamic education.
+ DYNAMIC_EDUCATION = 13;
+
+ // Dynamic flights.
+ DYNAMIC_FLIGHT = 14;
+
+ // Dynamic custom.
+ DYNAMIC_CUSTOM = 15;
+
+ // Dynamic hotels.
+ DYNAMIC_HOTEL = 16;
+
+ // Dynamic real estate.
+ DYNAMIC_REAL_ESTATE = 17;
+
+ // Dynamic travel.
+ DYNAMIC_TRAVEL = 18;
+
+ // Dynamic local.
+ DYNAMIC_LOCAL = 19;
+
+ // Dynamic jobs.
+ DYNAMIC_JOB = 20;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/policy_approval_status.proto b/google/ads/googleads/v0/enums/policy_approval_status.proto
new file mode 100644
index 000000000..648ec60aa
--- /dev/null
+++ b/google/ads/googleads/v0/enums/policy_approval_status.proto
@@ -0,0 +1,58 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "PolicyApprovalStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing policy approval statuses.
+
+// Container for enum describing possible policy approval statuses.
+message PolicyApprovalStatusEnum {
+ // The possible policy approval statuses. When there are several approval
+ // statuses available the most severe one will be used. The order of severity
+ // is DISAPPROVED, AREA_OF_INTEREST_ONLY, APPROVED_LIMITED and APPROVED.
+ enum PolicyApprovalStatus {
+ // No value has been specified.
+ UNSPECIFIED = 0;
+
+ // The received value is not known in this version.
+ //
+ // This is a response-only value.
+ UNKNOWN = 1;
+
+ // Will not serve.
+ DISAPPROVED = 2;
+
+ // Serves with restrictions.
+ APPROVED_LIMITED = 3;
+
+ // Serves without restrictions.
+ APPROVED = 4;
+
+ // Will not serve in targeted countries, but may serve for users who are
+ // searching for information about the targeted countries.
+ AREA_OF_INTEREST_ONLY = 5;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/policy_review_status.proto b/google/ads/googleads/v0/enums/policy_review_status.proto
new file mode 100644
index 000000000..ba90890c1
--- /dev/null
+++ b/google/ads/googleads/v0/enums/policy_review_status.proto
@@ -0,0 +1,53 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "PolicyReviewStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing policy review statuses.
+
+// Container for enum describing possible policy review statuses.
+message PolicyReviewStatusEnum {
+ // The possible policy review statuses.
+ enum PolicyReviewStatus {
+ // No value has been specified.
+ UNSPECIFIED = 0;
+
+ // The received value is not known in this version.
+ //
+ // This is a response-only value.
+ UNKNOWN = 1;
+
+ // Currently under review.
+ REVIEW_IN_PROGRESS = 2;
+
+ // Primary review complete. Other reviews may be continuing.
+ REVIEWED = 3;
+
+ // The resource has been resubmitted for approval or its policy decision has
+ // been appealed.
+ UNDER_APPEAL = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/policy_topic_entry_type.proto b/google/ads/googleads/v0/enums/policy_topic_entry_type.proto
new file mode 100644
index 000000000..c05681eac
--- /dev/null
+++ b/google/ads/googleads/v0/enums/policy_topic_entry_type.proto
@@ -0,0 +1,59 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "PolicyTopicEntryTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing policy topic entry types.
+
+// Container for enum describing possible policy topic entry types.
+message PolicyTopicEntryTypeEnum {
+ // The possible policy topic entry types.
+ enum PolicyTopicEntryType {
+ // No value has been specified.
+ UNSPECIFIED = 0;
+
+ // The received value is not known in this version.
+ //
+ // This is a response-only value.
+ UNKNOWN = 1;
+
+ // The resource will not be served.
+ PROHIBITED = 2;
+
+ // The resource will not be served under some circumstances.
+ LIMITED = 4;
+
+ // May be of interest, but does not limit how the resource is served.
+ DESCRIPTIVE = 5;
+
+ // Could increase coverage beyond normal.
+ BROADENING = 6;
+
+ // Constrained for all targeted countries, but may serve in other countries
+ // through area of interest.
+ AREA_OF_INTEREST_ONLY = 7;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/policy_topic_evidence_destination_mismatch_url_type.proto b/google/ads/googleads/v0/enums/policy_topic_evidence_destination_mismatch_url_type.proto
new file mode 100644
index 000000000..185f72fb8
--- /dev/null
+++ b/google/ads/googleads/v0/enums/policy_topic_evidence_destination_mismatch_url_type.proto
@@ -0,0 +1,59 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "PolicyTopicEvidenceDestinationMismatchUrlTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing policy topic evidence destination mismatch url types.
+
+// Container for enum describing possible policy topic evidence destination
+// mismatch url types.
+message PolicyTopicEvidenceDestinationMismatchUrlTypeEnum {
+ // The possible policy topic evidence destination mismatch url types.
+ enum PolicyTopicEvidenceDestinationMismatchUrlType {
+ // No value has been specified.
+ UNSPECIFIED = 0;
+
+ // The received value is not known in this version.
+ //
+ // This is a response-only value.
+ UNKNOWN = 1;
+
+ // The display url.
+ DISPLAY_URL = 2;
+
+ // The final url.
+ FINAL_URL = 3;
+
+ // The final mobile url.
+ FINAL_MOBILE_URL = 4;
+
+ // The tracking url template, with substituted desktop url.
+ TRACKING_URL = 5;
+
+ // The tracking url template, with substituted mobile url.
+ MOBILE_TRACKING_URL = 6;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/preferred_content_type.proto b/google/ads/googleads/v0/enums/preferred_content_type.proto
new file mode 100644
index 000000000..7be1f2c72
--- /dev/null
+++ b/google/ads/googleads/v0/enums/preferred_content_type.proto
@@ -0,0 +1,44 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "PreferredContentTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing preferred content criterion type.
+
+// Container for enumeration of preferred content criterion type.
+message PreferredContentTypeEnum {
+ // Enumerates preferred content criterion type.
+ enum PreferredContentType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // The value is unknown in this version.
+ UNKNOWN = 1;
+
+ // Represents top content on YouTube.
+ YOUTUBE_TOP_CONTENT = 400;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/price_placeholder_field.proto b/google/ads/googleads/v0/enums/price_placeholder_field.proto
new file mode 100644
index 000000000..62886f6b0
--- /dev/null
+++ b/google/ads/googleads/v0/enums/price_placeholder_field.proto
@@ -0,0 +1,237 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "PricePlaceholderFieldProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Values for Price placeholder fields.
+message PricePlaceholderFieldEnum {
+ // Possible values for Price placeholder fields.
+ enum PricePlaceholderField {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Data Type: STRING. The type of your price feed. Must match one of the
+ // predefined price feed type exactly.
+ TYPE = 2;
+
+ // Data Type: STRING. The qualifier of each price. Must match one of the
+ // predefined price qualifiers exactly.
+ PRICE_QUALIFIER = 3;
+
+ // Data Type: URL. Tracking template for the price feed when using Upgraded
+ // URLs.
+ TRACKING_TEMPLATE = 4;
+
+ // Data Type: STRING. Language of the price feed. Must match one of the
+ // available available locale codes exactly.
+ LANGUAGE = 5;
+
+ // Data Type: STRING. Final URL suffix for the price feed when using
+ // parallel tracking.
+ FINAL_URL_SUFFIX = 6;
+
+ // Data Type: STRING. The header of item 1 of the table.
+ ITEM_1_HEADER = 100;
+
+ // Data Type: STRING. The description of item 1 of the table.
+ ITEM_1_DESCRIPTION = 101;
+
+ // Data Type: PRICE. The price (money with currency) of item 1 of the table,
+ // e.g., 30 USD. The currency must match one of the available currencies.
+ ITEM_1_PRICE = 102;
+
+ // Data Type: STRING. The price unit of item 1 of the table. Must match one
+ // of the predefined price units.
+ ITEM_1_UNIT = 103;
+
+ // Data Type: URL_LIST. The final URLs of item 1 of the table when using
+ // Upgraded URLs.
+ ITEM_1_FINAL_URLS = 104;
+
+ // Data Type: URL_LIST. The final mobile URLs of item 1 of the table when
+ // using Upgraded URLs.
+ ITEM_1_FINAL_MOBILE_URLS = 105;
+
+ // Data Type: STRING. The header of item 2 of the table.
+ ITEM_2_HEADER = 200;
+
+ // Data Type: STRING. The description of item 2 of the table.
+ ITEM_2_DESCRIPTION = 201;
+
+ // Data Type: PRICE. The price (money with currency) of item 2 of the table,
+ // e.g., 30 USD. The currency must match one of the available currencies.
+ ITEM_2_PRICE = 202;
+
+ // Data Type: STRING. The price unit of item 2 of the table. Must match one
+ // of the predefined price units.
+ ITEM_2_UNIT = 203;
+
+ // Data Type: URL_LIST. The final URLs of item 2 of the table when using
+ // Upgraded URLs.
+ ITEM_2_FINAL_URLS = 204;
+
+ // Data Type: URL_LIST. The final mobile URLs of item 2 of the table when
+ // using Upgraded URLs.
+ ITEM_2_FINAL_MOBILE_URLS = 205;
+
+ // Data Type: STRING. The header of item 3 of the table.
+ ITEM_3_HEADER = 300;
+
+ // Data Type: STRING. The description of item 3 of the table.
+ ITEM_3_DESCRIPTION = 301;
+
+ // Data Type: PRICE. The price (money with currency) of item 3 of the table,
+ // e.g., 30 USD. The currency must match one of the available currencies.
+ ITEM_3_PRICE = 302;
+
+ // Data Type: STRING. The price unit of item 3 of the table. Must match one
+ // of the predefined price units.
+ ITEM_3_UNIT = 303;
+
+ // Data Type: URL_LIST. The final URLs of item 3 of the table when using
+ // Upgraded URLs.
+ ITEM_3_FINAL_URLS = 304;
+
+ // Data Type: URL_LIST. The final mobile URLs of item 3 of the table when
+ // using Upgraded URLs.
+ ITEM_3_FINAL_MOBILE_URLS = 305;
+
+ // Data Type: STRING. The header of item 4 of the table.
+ ITEM_4_HEADER = 400;
+
+ // Data Type: STRING. The description of item 4 of the table.
+ ITEM_4_DESCRIPTION = 401;
+
+ // Data Type: PRICE. The price (money with currency) of item 4 of the table,
+ // e.g., 30 USD. The currency must match one of the available currencies.
+ ITEM_4_PRICE = 402;
+
+ // Data Type: STRING. The price unit of item 4 of the table. Must match one
+ // of the predefined price units.
+ ITEM_4_UNIT = 403;
+
+ // Data Type: URL_LIST. The final URLs of item 4 of the table when using
+ // Upgraded URLs.
+ ITEM_4_FINAL_URLS = 404;
+
+ // Data Type: URL_LIST. The final mobile URLs of item 4 of the table when
+ // using Upgraded URLs.
+ ITEM_4_FINAL_MOBILE_URLS = 405;
+
+ // Data Type: STRING. The header of item 5 of the table.
+ ITEM_5_HEADER = 500;
+
+ // Data Type: STRING. The description of item 5 of the table.
+ ITEM_5_DESCRIPTION = 501;
+
+ // Data Type: PRICE. The price (money with currency) of item 5 of the table,
+ // e.g., 30 USD. The currency must match one of the available currencies.
+ ITEM_5_PRICE = 502;
+
+ // Data Type: STRING. The price unit of item 5 of the table. Must match one
+ // of the predefined price units.
+ ITEM_5_UNIT = 503;
+
+ // Data Type: URL_LIST. The final URLs of item 5 of the table when using
+ // Upgraded URLs.
+ ITEM_5_FINAL_URLS = 504;
+
+ // Data Type: URL_LIST. The final mobile URLs of item 5 of the table when
+ // using Upgraded URLs.
+ ITEM_5_FINAL_MOBILE_URLS = 505;
+
+ // Data Type: STRING. The header of item 6 of the table.
+ ITEM_6_HEADER = 600;
+
+ // Data Type: STRING. The description of item 6 of the table.
+ ITEM_6_DESCRIPTION = 601;
+
+ // Data Type: PRICE. The price (money with currency) of item 6 of the table,
+ // e.g., 30 USD. The currency must match one of the available currencies.
+ ITEM_6_PRICE = 602;
+
+ // Data Type: STRING. The price unit of item 6 of the table. Must match one
+ // of the predefined price units.
+ ITEM_6_UNIT = 603;
+
+ // Data Type: URL_LIST. The final URLs of item 6 of the table when using
+ // Upgraded URLs.
+ ITEM_6_FINAL_URLS = 604;
+
+ // Data Type: URL_LIST. The final mobile URLs of item 6 of the table when
+ // using Upgraded URLs.
+ ITEM_6_FINAL_MOBILE_URLS = 605;
+
+ // Data Type: STRING. The header of item 7 of the table.
+ ITEM_7_HEADER = 700;
+
+ // Data Type: STRING. The description of item 7 of the table.
+ ITEM_7_DESCRIPTION = 701;
+
+ // Data Type: PRICE. The price (money with currency) of item 7 of the table,
+ // e.g., 30 USD. The currency must match one of the available currencies.
+ ITEM_7_PRICE = 702;
+
+ // Data Type: STRING. The price unit of item 7 of the table. Must match one
+ // of the predefined price units.
+ ITEM_7_UNIT = 703;
+
+ // Data Type: URL_LIST. The final URLs of item 7 of the table when using
+ // Upgraded URLs.
+ ITEM_7_FINAL_URLS = 704;
+
+ // Data Type: URL_LIST. The final mobile URLs of item 7 of the table when
+ // using Upgraded URLs.
+ ITEM_7_FINAL_MOBILE_URLS = 705;
+
+ // Data Type: STRING. The header of item 8 of the table.
+ ITEM_8_HEADER = 800;
+
+ // Data Type: STRING. The description of item 8 of the table.
+ ITEM_8_DESCRIPTION = 801;
+
+ // Data Type: PRICE. The price (money with currency) of item 8 of the table,
+ // e.g., 30 USD. The currency must match one of the available currencies.
+ ITEM_8_PRICE = 802;
+
+ // Data Type: STRING. The price unit of item 8 of the table. Must match one
+ // of the predefined price units.
+ ITEM_8_UNIT = 803;
+
+ // Data Type: URL_LIST. The final URLs of item 8 of the table when using
+ // Upgraded URLs.
+ ITEM_8_FINAL_URLS = 804;
+
+ // Data Type: URL_LIST. The final mobile URLs of item 8 of the table when
+ // using Upgraded URLs.
+ ITEM_8_FINAL_MOBILE_URLS = 805;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/product_channel.proto b/google/ads/googleads/v0/enums/product_channel.proto
new file mode 100644
index 000000000..2bd440970
--- /dev/null
+++ b/google/ads/googleads/v0/enums/product_channel.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "ProductChannelProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing bidding schemes.
+
+// Locality of a product offer.
+message ProductChannelEnum {
+ // Enum describing the locality of a product offer.
+ enum ProductChannel {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // The item is sold online.
+ ONLINE = 2;
+
+ // The item is sold in local stores.
+ LOCAL = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/product_channel_exclusivity.proto b/google/ads/googleads/v0/enums/product_channel_exclusivity.proto
new file mode 100644
index 000000000..024879e0d
--- /dev/null
+++ b/google/ads/googleads/v0/enums/product_channel_exclusivity.proto
@@ -0,0 +1,49 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "ProductChannelExclusivityProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing bidding schemes.
+
+// Availability of a product offer.
+message ProductChannelExclusivityEnum {
+ // Enum describing the availability of a product offer.
+ enum ProductChannelExclusivity {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // The item is sold through one channel only, either local stores or online
+ // as indicated by its ProductChannel.
+ SINGLE_CHANNEL = 2;
+
+ // The item is matched to its online or local stores counterpart, indicating
+ // it is available for purchase in both ShoppingProductChannels.
+ MULTI_CHANNEL = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/product_condition.proto b/google/ads/googleads/v0/enums/product_condition.proto
new file mode 100644
index 000000000..e2c9b8c34
--- /dev/null
+++ b/google/ads/googleads/v0/enums/product_condition.proto
@@ -0,0 +1,50 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "ProductConditionProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing bidding schemes.
+
+// Condition of a product offer.
+message ProductConditionEnum {
+ // Enum describing the condition of a product offer.
+ enum ProductCondition {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // The product condition is new.
+ NEW = 3;
+
+ // The product condition is refurbished.
+ REFURBISHED = 4;
+
+ // The product condition is used.
+ USED = 5;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/product_type_level.proto b/google/ads/googleads/v0/enums/product_type_level.proto
new file mode 100644
index 000000000..940def977
--- /dev/null
+++ b/google/ads/googleads/v0/enums/product_type_level.proto
@@ -0,0 +1,56 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "ProductTypeLevelProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing bidding schemes.
+
+// Level of the type of a product offer.
+message ProductTypeLevelEnum {
+ // Enum describing the level of the type of a product offer.
+ enum ProductTypeLevel {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Level 1.
+ PRODUCT_TYPE_L1 = 2;
+
+ // Level 2.
+ PRODUCT_TYPE_L2 = 3;
+
+ // Level 3.
+ PRODUCT_TYPE_L3 = 4;
+
+ // Level 4.
+ PRODUCT_TYPE_L4 = 5;
+
+ // Level 5.
+ PRODUCT_TYPE_L5 = 6;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/promotion_placeholder_field.proto b/google/ads/googleads/v0/enums/promotion_placeholder_field.proto
new file mode 100644
index 000000000..982d4446c
--- /dev/null
+++ b/google/ads/googleads/v0/enums/promotion_placeholder_field.proto
@@ -0,0 +1,92 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "PromotionPlaceholderFieldProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Values for Promotion placeholder fields.
+message PromotionPlaceholderFieldEnum {
+ // Possible values for Promotion placeholder fields.
+ enum PromotionPlaceholderField {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Data Type: STRING. The text that appears on the ad when the extension is
+ // shown.
+ PROMOTION_TARGET = 2;
+
+ // Data Type: STRING. Allows you to add "up to" phrase to the promotion,
+ // in case you have variable promotion rates.
+ DISCOUNT_MODIFIER = 3;
+
+ // Data Type: INT64. Takes a value in micros, where 1 million micros
+ // represents 1%, and is shown as a percentage when rendered.
+ PERCENT_OFF = 4;
+
+ // Data Type: PRICE. Requires a currency and an amount of money.
+ MONEY_AMOUNT_OFF = 5;
+
+ // Data Type: STRING. A string that the user enters to get the discount.
+ PROMOTION_CODE = 6;
+
+ // Data Type: PRICE. A minimum spend before the user qualifies for the
+ // promotion.
+ ORDERS_OVER_AMOUNT = 7;
+
+ // Data Type: DATE. The start date of the promotion.
+ PROMOTION_START = 8;
+
+ // Data Type: DATE. The end date of the promotion.
+ PROMOTION_END = 9;
+
+ // Data Type: STRING. Describes the associated event for the promotion using
+ // one of the PromotionExtensionOccasion enum values, for example NEW_YEARS.
+ OCCASION = 10;
+
+ // Data Type: URL_LIST. Final URLs to be used in the ad when using Upgraded
+ // URLs.
+ FINAL_URLS = 11;
+
+ // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded
+ // URLs.
+ FINAL_MOBILE_URLS = 12;
+
+ // Data Type: URL. Tracking template for the ad when using Upgraded URLs.
+ TRACKING_URL = 13;
+
+ // Data Type: STRING. A string represented by a language code for the
+ // promotion.
+ LANGUAGE = 14;
+
+ // Data Type: STRING. Final URL suffix for the ad when using parallel
+ // tracking.
+ FINAL_URL_SUFFIX = 15;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/proximity_radius_units.proto b/google/ads/googleads/v0/enums/proximity_radius_units.proto
new file mode 100644
index 000000000..a46c22cea
--- /dev/null
+++ b/google/ads/googleads/v0/enums/proximity_radius_units.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "ProximityRadiusUnitsProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing proximity radius units.
+
+// Container for enum describing unit of radius in proximity.
+message ProximityRadiusUnitsEnum {
+ // The unit of radius distance in proximity (e.g. MILES)
+ enum ProximityRadiusUnits {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Miles
+ MILES = 2;
+
+ // Kilometers
+ KILOMETERS = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/quality_score_bucket.proto b/google/ads/googleads/v0/enums/quality_score_bucket.proto
new file mode 100644
index 000000000..c6d96ac04
--- /dev/null
+++ b/google/ads/googleads/v0/enums/quality_score_bucket.proto
@@ -0,0 +1,50 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "QualityScoreBucketProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing quality score buckets.
+
+// The relative performance compared to other advertisers.
+message QualityScoreBucketEnum {
+ // Enum listing the possible quality score buckets.
+ enum QualityScoreBucket {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Quality of the creative is below average.
+ BELOW_AVERAGE = 2;
+
+ // Quality of the creative is average.
+ AVERAGE = 3;
+
+ // Quality of the creative is above average.
+ ABOVE_AVERAGE = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/real_estate_placeholder_field.proto b/google/ads/googleads/v0/enums/real_estate_placeholder_field.proto
new file mode 100644
index 000000000..0ba8840e5
--- /dev/null
+++ b/google/ads/googleads/v0/enums/real_estate_placeholder_field.proto
@@ -0,0 +1,112 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "RealEstatePlaceholderFieldProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Values for Real Estate placeholder fields.
+// For more information about dynamic remarketing feeds, see
+// https://support.google.com/google-ads/answer/6053288.
+message RealEstatePlaceholderFieldEnum {
+ // Possible values for Real Estate placeholder fields.
+ enum RealEstatePlaceholderField {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Data Type: STRING. Unique ID.
+ LISTING_ID = 2;
+
+ // Data Type: STRING. Main headline with listing name to be shown in dynamic
+ // ad.
+ LISTING_NAME = 3;
+
+ // Data Type: STRING. City name to be shown in dynamic ad.
+ CITY_NAME = 4;
+
+ // Data Type: STRING. Description of listing to be shown in dynamic ad.
+ DESCRIPTION = 5;
+
+ // Data Type: STRING. Complete listing address, including postal code.
+ ADDRESS = 6;
+
+ // Data Type: STRING. Price to be shown in the ad.
+ // Example: "100.00 USD"
+ PRICE = 7;
+
+ // Data Type: STRING. Formatted price to be shown in the ad.
+ // Example: "Starting at $100.00 USD", "$80 - $100"
+ FORMATTED_PRICE = 8;
+
+ // Data Type: URL. Image to be displayed in the ad.
+ IMAGE_URL = 9;
+
+ // Data Type: STRING. Type of property (house, condo, apartment, etc.) used
+ // to group like items together for recommendation engine.
+ PROPERTY_TYPE = 10;
+
+ // Data Type: STRING. Type of listing (resale, rental, foreclosure, etc.)
+ // used to group like items together for recommendation engine.
+ LISTING_TYPE = 11;
+
+ // Data Type: STRING_LIST. Keywords used for product retrieval.
+ CONTEXTUAL_KEYWORDS = 12;
+
+ // Data Type: URL_LIST. Final URLs to be used in ad when using Upgraded
+ // URLs; the more specific the better (e.g. the individual URL of a specific
+ // listing and its location).
+ FINAL_URLS = 13;
+
+ // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded
+ // URLs.
+ FINAL_MOBILE_URLS = 14;
+
+ // Data Type: URL. Tracking template for the ad when using Upgraded URLs.
+ TRACKING_URL = 15;
+
+ // Data Type: STRING. Android app link. Must be formatted as:
+ // android-app://{package_id}/{scheme}/{host_path}.
+ // The components are defined as follows:
+ // package_id: app ID as specified in Google Play.
+ // scheme: the scheme to pass to the application. Can be HTTP, or a custom
+ // scheme.
+ // host_path: identifies the specific content within your application.
+ ANDROID_APP_LINK = 16;
+
+ // Data Type: STRING_LIST. List of recommended listing IDs to show together
+ // with this item.
+ SIMILAR_LISTING_IDS = 17;
+
+ // Data Type: STRING. iOS app link.
+ IOS_APP_LINK = 18;
+
+ // Data Type: INT64. iOS app store ID.
+ IOS_APP_STORE_ID = 19;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/recommendation_type.proto b/google/ads/googleads/v0/enums/recommendation_type.proto
new file mode 100644
index 000000000..5f40d7977
--- /dev/null
+++ b/google/ads/googleads/v0/enums/recommendation_type.proto
@@ -0,0 +1,72 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "RecommendationTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing Recommendation types.
+
+// Container for enum describing types of recommendations.
+message RecommendationTypeEnum {
+ // Types of recommendations.
+ enum RecommendationType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Budget recommendation for budget constrained campaigns.
+ CAMPAIGN_BUDGET = 2;
+
+ // Keyword recommendation.
+ KEYWORD = 3;
+
+ // Recommendation to add a new text ad.
+ TEXT_AD = 4;
+
+ // Recommendation to update a campaign to use a Target CPA bidding strategy.
+ TARGET_CPA_OPT_IN = 5;
+
+ // Recommendation to update a campaign to use the Maximize Conversions
+ // bidding strategy.
+ MAXIMIZE_CONVERSIONS_OPT_IN = 6;
+
+ // Recommendation to enable Enhanced Cost Per Click for a campaign.
+ ENHANCED_CPC_OPT_IN = 7;
+
+ // Recommendation to start showing your campaign's ads on Google Search
+ // Partners Websites.
+ SEARCH_PARTNERS_OPT_IN = 8;
+
+ // Recommendation to update a campaign to use a Maximize Clicks bidding
+ // strategy.
+ MAXIMIZE_CLICKS_OPT_IN = 9;
+
+ // Recommendation to start using the "Optimize" ad rotation setting for the
+ // given ad group.
+ OPTIMIZE_AD_ROTATION = 10;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/search_term_match_type.proto b/google/ads/googleads/v0/enums/search_term_match_type.proto
new file mode 100644
index 000000000..9bb4f2656
--- /dev/null
+++ b/google/ads/googleads/v0/enums/search_term_match_type.proto
@@ -0,0 +1,56 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "SearchTermMatchTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing search term match types.
+
+// Container for enum describing match types for a keyword triggering an ad.
+message SearchTermMatchTypeEnum {
+ // Possible match types for a keyword triggering an ad, including variants.
+ enum SearchTermMatchType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Broad match.
+ BROAD = 2;
+
+ // Exact match.
+ EXACT = 3;
+
+ // Phrase match.
+ PHRASE = 4;
+
+ // Exact match (close variant).
+ NEAR_EXACT = 5;
+
+ // Phrase match (close variant).
+ NEAR_PHRASE = 6;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/search_term_targeting_status.proto b/google/ads/googleads/v0/enums/search_term_targeting_status.proto
new file mode 100644
index 000000000..33b2d07e8
--- /dev/null
+++ b/google/ads/googleads/v0/enums/search_term_targeting_status.proto
@@ -0,0 +1,55 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "SearchTermTargetingStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing search term targeting statuses.
+
+// Container for enum indicating whether a search term is one of your targeted
+// or excluded keywords.
+message SearchTermTargetingStatusEnum {
+ // Indicates whether the search term is one of your targeted or excluded
+ // keywords.
+ enum SearchTermTargetingStatus {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Search term is added to targeted keywords.
+ ADDED = 2;
+
+ // Search term matches a negative keyword.
+ EXCLUDED = 3;
+
+ // Search term has been both added and excluded.
+ ADDED_EXCLUDED = 4;
+
+ // Search term is neither targeted nor excluded.
+ NONE = 5;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/shared_set_status.proto b/google/ads/googleads/v0/enums/shared_set_status.proto
new file mode 100644
index 000000000..8daea7454
--- /dev/null
+++ b/google/ads/googleads/v0/enums/shared_set_status.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "SharedSetStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing shared set statuses.
+
+// Container for enum describing types of shared set statuses.
+message SharedSetStatusEnum {
+ // Enum listing the possible shared set statuses.
+ enum SharedSetStatus {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // The shared set is enabled.
+ ENABLED = 2;
+
+ // The shared set is removed and can no longer be used.
+ REMOVED = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/shared_set_type.proto b/google/ads/googleads/v0/enums/shared_set_type.proto
new file mode 100644
index 000000000..78ba06ab1
--- /dev/null
+++ b/google/ads/googleads/v0/enums/shared_set_type.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "SharedSetTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing shared set types.
+
+// Container for enum describing types of shared sets.
+message SharedSetTypeEnum {
+ // Enum listing the possible shared set types.
+ enum SharedSetType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // A set of keywords that can be excluded from targeting.
+ NEGATIVE_KEYWORDS = 2;
+
+ // A set of placements that can be excluded from targeting.
+ NEGATIVE_PLACEMENTS = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/sitelink_placeholder_field.proto b/google/ads/googleads/v0/enums/sitelink_placeholder_field.proto
new file mode 100644
index 000000000..d4987f8f5
--- /dev/null
+++ b/google/ads/googleads/v0/enums/sitelink_placeholder_field.proto
@@ -0,0 +1,66 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "SitelinkPlaceholderFieldProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Values for Sitelink placeholder fields.
+message SitelinkPlaceholderFieldEnum {
+ // Possible values for Sitelink placeholder fields.
+ enum SitelinkPlaceholderField {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Data Type: STRING. The link text for your sitelink.
+ TEXT = 2;
+
+ // Data Type: STRING. First line of the sitelink description.
+ LINE_1 = 3;
+
+ // Data Type: STRING. Second line of the sitelink description.
+ LINE_2 = 4;
+
+ // Data Type: URL_LIST. Final URLs for the sitelink when using Upgraded
+ // URLs.
+ FINAL_URLS = 5;
+
+ // Data Type: URL_LIST. Final Mobile URLs for the sitelink when using
+ // Upgraded URLs.
+ FINAL_MOBILE_URLS = 6;
+
+ // Data Type: URL. Tracking template for the sitelink when using Upgraded
+ // URLs.
+ TRACKING_URL = 7;
+
+ // Data Type: STRING. Final URL suffix for sitelink when using parallel
+ // tracking.
+ FINAL_URL_SUFFIX = 8;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/slot.proto b/google/ads/googleads/v0/enums/slot.proto
new file mode 100644
index 000000000..3c660ad27
--- /dev/null
+++ b/google/ads/googleads/v0/enums/slot.proto
@@ -0,0 +1,62 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "SlotProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing slots.
+
+// Container for enumeration of possible positions of the Ad.
+message SlotEnum {
+ // Enumerates possible positions of the Ad.
+ enum Slot {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // The value is unknown in this version.
+ UNKNOWN = 1;
+
+ // Google search: Side.
+ SEARCH_SIDE = 2;
+
+ // Google search: Top.
+ SEARCH_TOP = 3;
+
+ // Google search: Other.
+ SEARCH_OTHER = 4;
+
+ // Google Display Network.
+ CONTENT = 5;
+
+ // Search partners: Top.
+ SEARCH_PARTNER_TOP = 6;
+
+ // Search partners: Other.
+ SEARCH_PARTNER_OTHER = 7;
+
+ // Cross-network.
+ MIXED = 8;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/spending_limit_type.proto b/google/ads/googleads/v0/enums/spending_limit_type.proto
new file mode 100644
index 000000000..32b0fa137
--- /dev/null
+++ b/google/ads/googleads/v0/enums/spending_limit_type.proto
@@ -0,0 +1,45 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "SpendingLimitTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing SpendingLimit types.
+
+// Message describing spending limit types.
+message SpendingLimitTypeEnum {
+ // The possible spending limit types used by certain resources as an
+ // alternative to absolute money values in micros.
+ enum SpendingLimitType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Infinite, indicates unlimited spending power.
+ INFINITE = 2;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/structured_snippet_placeholder_field.proto b/google/ads/googleads/v0/enums/structured_snippet_placeholder_field.proto
new file mode 100644
index 000000000..8638d6e5a
--- /dev/null
+++ b/google/ads/googleads/v0/enums/structured_snippet_placeholder_field.proto
@@ -0,0 +1,53 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "StructuredSnippetPlaceholderFieldProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Values for Structured Snippet placeholder fields.
+message StructuredSnippetPlaceholderFieldEnum {
+ // Possible values for Structured Snippet placeholder fields.
+ enum StructuredSnippetPlaceholderField {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Data Type: STRING. The category of snippet of your products/services.
+ // Must match one of the predefined structured snippets headers exactly.
+ // See
+ // https://developers.google.com/adwords/api
+ // /docs/appendix/structured-snippet-headers
+ HEADER = 2;
+
+ // Data Type: STRING_LIST. Text values that describe your products/services.
+ // All text must be family safe. Special or non-ASCII characters are not
+ // permitted. A snippet can be at most 25 characters.
+ SNIPPETS = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/target_cpa_opt_in_recommendation_goal.proto b/google/ads/googleads/v0/enums/target_cpa_opt_in_recommendation_goal.proto
new file mode 100644
index 000000000..b37c1d2b3
--- /dev/null
+++ b/google/ads/googleads/v0/enums/target_cpa_opt_in_recommendation_goal.proto
@@ -0,0 +1,54 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "TargetCpaOptInRecommendationGoalProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing TargetCpaOptIn recommendation goals.
+
+// Container for enum describing goals for TargetCpaOptIn recommendation.
+message TargetCpaOptInRecommendationGoalEnum {
+ // Goal of TargetCpaOptIn recommendation.
+ enum TargetCpaOptInRecommendationGoal {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Recommendation to set Target CPA to maintain the same cost.
+ SAME_COST = 2;
+
+ // Recommendation to set Target CPA to maintain the same conversions.
+ SAME_CONVERSIONS = 3;
+
+ // Recommendation to set Target CPA to maintain the same CPA.
+ SAME_CPA = 4;
+
+ // Recommendation to set Target CPA to a value that is as close as possible
+ // to, yet lower than, the actual CPA (computed for past 28 days).
+ CLOSEST_CPA = 5;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/targeting_dimension.proto b/google/ads/googleads/v0/enums/targeting_dimension.proto
new file mode 100644
index 000000000..fbc75e25c
--- /dev/null
+++ b/google/ads/googleads/v0/enums/targeting_dimension.proto
@@ -0,0 +1,71 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "TargetingDimensionProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing criteria types.
+
+// The dimensions that can be targeted.
+message TargetingDimensionEnum {
+ // Enum describing possible targeting dimensions.
+ enum TargetingDimension {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Keyword criteria, e.g. 'mars cruise'. KEYWORD may be used as a custom bid
+ // dimension. Keywords are always a targeting dimension, so may not be set
+ // as a target "ALL" dimension with TargetRestriction.
+ KEYWORD = 2;
+
+ // Audience criteria, which include user list, user interest, custom
+ // affinity, and custom in market.
+ AUDIENCE = 3;
+
+ // Topic criteria for targeting categories of content, e.g.
+ // 'category::Animals>Pets' Used for Display and Video targeting.
+ TOPIC = 4;
+
+ // Criteria for targeting gender.
+ GENDER = 5;
+
+ // Criteria for targeting age ranges.
+ AGE_RANGE = 6;
+
+ // Placement criteria, which include websites like 'www.flowers4sale.com',
+ // as well as mobile applications, mobile app categories, YouTube videos,
+ // and YouTube channels.
+ PLACEMENT = 7;
+
+ // Criteria for parental status targeting.
+ PARENTAL_STATUS = 8;
+
+ // Criteria for income range targeting.
+ INCOME_RANGE = 9;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/time_type.proto b/google/ads/googleads/v0/enums/time_type.proto
new file mode 100644
index 000000000..702b7ebff
--- /dev/null
+++ b/google/ads/googleads/v0/enums/time_type.proto
@@ -0,0 +1,48 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "TimeTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing TimeType types.
+
+// Message describing time types.
+message TimeTypeEnum {
+ // The possible time types used by certain resources as an alternative to
+ // absolute timestamps.
+ enum TimeType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // As soon as possible.
+ NOW = 2;
+
+ // An infinite point in the future.
+ FOREVER = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/tracking_code_page_format.proto b/google/ads/googleads/v0/enums/tracking_code_page_format.proto
new file mode 100644
index 000000000..5b3d0a835
--- /dev/null
+++ b/google/ads/googleads/v0/enums/tracking_code_page_format.proto
@@ -0,0 +1,49 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "TrackingCodePageFormatProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Container for enum describing the format of the web page where the tracking
+// tag and snippet will be installed.
+message TrackingCodePageFormatEnum {
+ // The format of the web page where the tracking tag and snippet will be
+ // installed.
+ enum TrackingCodePageFormat {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Standard HTML page format.
+ HTML = 2;
+
+ // Google AMP page format.
+ AMP = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/tracking_code_type.proto b/google/ads/googleads/v0/enums/tracking_code_type.proto
new file mode 100644
index 000000000..22343b84a
--- /dev/null
+++ b/google/ads/googleads/v0/enums/tracking_code_type.proto
@@ -0,0 +1,54 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "TrackingCodeTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Container for enum describing the type of the generated tag snippets for
+// tracking conversions.
+message TrackingCodeTypeEnum {
+ // The type of the generated tag snippets for tracking conversions.
+ enum TrackingCodeType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // The snippet that is fired as a result of a website page loading.
+ WEBPAGE = 2;
+
+ // The snippet contains a JavaScript function which fires the tag. This
+ // function is typically called from an onClick handler added to a link or
+ // button element on the page.
+ WEBPAGE_ONCLICK = 3;
+
+ // For embedding on a mobile webpage. The snippet contains a JavaScript
+ // function which fires the tag.
+ CLICK_TO_CALL = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/travel_placeholder_field.proto b/google/ads/googleads/v0/enums/travel_placeholder_field.proto
new file mode 100644
index 000000000..48a529422
--- /dev/null
+++ b/google/ads/googleads/v0/enums/travel_placeholder_field.proto
@@ -0,0 +1,125 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "TravelPlaceholderFieldProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Values for Travel placeholder fields.
+// For more information about dynamic remarketing feeds, see
+// https://support.google.com/google-ads/answer/6053288.
+message TravelPlaceholderFieldEnum {
+ // Possible values for Travel placeholder fields.
+ enum TravelPlaceholderField {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Data Type: STRING. Required. Destination id. Example: PAR, LON.
+ // For feed items that only have destination id, destination id must be a
+ // unique key. For feed items that have both destination id and origin id,
+ // then the combination must be a unique key.
+ DESTINATION_ID = 2;
+
+ // Data Type: STRING. Origin id. Example: PAR, LON.
+ // Combination of DESTINATION_ID and ORIGIN_ID must be
+ // unique per offer.
+ ORIGIN_ID = 3;
+
+ // Data Type: STRING. Required. Main headline with name to be shown in
+ // dynamic ad.
+ TITLE = 4;
+
+ // Data Type: STRING. The destination name. Shorter names are recommended.
+ DESTINATION_NAME = 5;
+
+ // Data Type: STRING. Origin name. Shorter names are recommended.
+ ORIGIN_NAME = 6;
+
+ // Data Type: STRING. Price to be shown in the ad. Highly recommended for
+ // dynamic ads.
+ // Example: "100.00 USD"
+ PRICE = 7;
+
+ // Data Type: STRING. Formatted price to be shown in the ad.
+ // Example: "Starting at $100.00 USD", "$80 - $100"
+ FORMATTED_PRICE = 8;
+
+ // Data Type: STRING. Sale price to be shown in the ad.
+ // Example: "80.00 USD"
+ SALE_PRICE = 9;
+
+ // Data Type: STRING. Formatted sale price to be shown in the ad.
+ // Example: "On sale for $80.00", "$60 - $80"
+ FORMATTED_SALE_PRICE = 10;
+
+ // Data Type: URL. Image to be displayed in the ad.
+ IMAGE_URL = 11;
+
+ // Data Type: STRING. Category of travel offer used to group like items
+ // together for recommendation engine.
+ CATEGORY = 12;
+
+ // Data Type: STRING_LIST. Keywords used for product retrieval.
+ CONTEXTUAL_KEYWORDS = 13;
+
+ // Data Type: STRING. Address of travel offer, including postal code.
+ DESTINATION_ADDRESS = 14;
+
+ // Data Type: URL_LIST. Required. Final URLs to be used in ad, when using
+ // Upgraded URLs; the more specific the better (e.g. the individual URL of a
+ // specific travel offer and its location).
+ FINAL_URL = 15;
+
+ // Data Type: URL_LIST. Final mobile URLs for the ad when using Upgraded
+ // URLs.
+ FINAL_MOBILE_URLS = 16;
+
+ // Data Type: URL. Tracking template for the ad when using Upgraded URLs.
+ TRACKING_URL = 17;
+
+ // Data Type: STRING. Android app link. Must be formatted as:
+ // android-app://{package_id}/{scheme}/{host_path}.
+ // The components are defined as follows:
+ // package_id: app ID as specified in Google Play.
+ // scheme: the scheme to pass to the application. Can be HTTP, or a custom
+ // scheme.
+ // host_path: identifies the specific content within your application.
+ ANDROID_APP_LINK = 18;
+
+ // Data Type: STRING_LIST. List of recommended destination IDs to show
+ // together with this item.
+ SIMILAR_DESTINATION_IDS = 19;
+
+ // Data Type: STRING. iOS app link.
+ IOS_APP_LINK = 20;
+
+ // Data Type: INT64. iOS app store ID.
+ IOS_APP_STORE_ID = 21;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/user_interest_taxonomy_type.proto b/google/ads/googleads/v0/enums/user_interest_taxonomy_type.proto
new file mode 100644
index 000000000..9a1380a9b
--- /dev/null
+++ b/google/ads/googleads/v0/enums/user_interest_taxonomy_type.proto
@@ -0,0 +1,56 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "UserInterestTaxonomyTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing the UserInterest taxonomy type
+
+// Message describing a UserInterestTaxonomyType.
+message UserInterestTaxonomyTypeEnum {
+ // Enum containing the possible UserInterestTaxonomyTypes.
+ enum UserInterestTaxonomyType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // The affinity for this user interest.
+ AFFINITY = 2;
+
+ // The market for this user interest.
+ IN_MARKET = 3;
+
+ // Users known to have installed applications in the specified categories.
+ MOBILE_APP_INSTALL_USER = 4;
+
+ // The geographical location of the interest-based vertical.
+ VERTICAL_GEO = 5;
+
+ // User interest criteria for new smart phone users.
+ NEW_SMART_PHONE_USER = 6;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/user_list_access_status.proto b/google/ads/googleads/v0/enums/user_list_access_status.proto
new file mode 100644
index 000000000..5f90af146
--- /dev/null
+++ b/google/ads/googleads/v0/enums/user_list_access_status.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "UserListAccessStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing user list access status.
+
+// Indicates if this client still has access to the list.
+message UserListAccessStatusEnum {
+ // Enum containing possible user list access statuses.
+ enum UserListAccessStatus {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // The access is enabled.
+ ENABLED = 2;
+
+ // The access is disabled.
+ DISABLED = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/user_list_closing_reason.proto b/google/ads/googleads/v0/enums/user_list_closing_reason.proto
new file mode 100644
index 000000000..f81f504c1
--- /dev/null
+++ b/google/ads/googleads/v0/enums/user_list_closing_reason.proto
@@ -0,0 +1,45 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "UserListClosingReasonProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing user list closing reason.
+
+// Indicates the reason why the userlist was closed.
+// This enum is only used when a list is auto-closed by the system.
+message UserListClosingReasonEnum {
+ // Enum describing possible user list closing reasons.
+ enum UserListClosingReason {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // The userlist was closed because of not being used for over one year.
+ UNUSED = 2;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/user_list_crm_data_source_type.proto b/google/ads/googleads/v0/enums/user_list_crm_data_source_type.proto
new file mode 100644
index 000000000..63fff72ac
--- /dev/null
+++ b/google/ads/googleads/v0/enums/user_list_crm_data_source_type.proto
@@ -0,0 +1,50 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "UserListCrmDataSourceTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+
+
+// Indicates source of Crm upload data.
+message UserListCrmDataSourceTypeEnum {
+ // Enum describing possible user list crm data source type.
+ enum UserListCrmDataSourceType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // The uploaded data is first party data.
+ FIRST_PARTY = 2;
+
+ // The uploaded data is from a third party credit bureau.
+ THIRD_PARTY_CREDIT_BUREAU = 3;
+
+ // The uploaded data is from a third party voter file.
+ THIRD_PARTY_VOTER_FILE = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/user_list_membership_status.proto b/google/ads/googleads/v0/enums/user_list_membership_status.proto
new file mode 100644
index 000000000..9cb20c32c
--- /dev/null
+++ b/google/ads/googleads/v0/enums/user_list_membership_status.proto
@@ -0,0 +1,49 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "UserListMembershipStatusProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing user list membership status.
+
+// 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 used for
+// targeting.
+message UserListMembershipStatusEnum {
+ // Enum containing possible user list membership statuses.
+ enum UserListMembershipStatus {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // Open status - List is accruing members and can be targeted to.
+ OPEN = 2;
+
+ // Closed status - No new members being added. Cannot be used for targeting.
+ CLOSED = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/user_list_size_range.proto b/google/ads/googleads/v0/enums/user_list_size_range.proto
new file mode 100644
index 000000000..639b59075
--- /dev/null
+++ b/google/ads/googleads/v0/enums/user_list_size_range.proto
@@ -0,0 +1,89 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "UserListSizeRangeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing user list size range.
+
+// Size range in terms of number of users of a UserList.
+message UserListSizeRangeEnum {
+ // Enum containing possible user list size ranges.
+ enum UserListSizeRange {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // User list has less than 500 users.
+ LESS_THAN_FIVE_HUNDRED = 2;
+
+ // User list has number of users in range of 500 to 1000.
+ LESS_THAN_ONE_THOUSAND = 3;
+
+ // User list has number of users in range of 1000 to 10000.
+ ONE_THOUSAND_TO_TEN_THOUSAND = 4;
+
+ // User list has number of users in range of 10000 to 50000.
+ TEN_THOUSAND_TO_FIFTY_THOUSAND = 5;
+
+ // User list has number of users in range of 50000 to 100000.
+ FIFTY_THOUSAND_TO_ONE_HUNDRED_THOUSAND = 6;
+
+ // User list has number of users in range of 100000 to 300000.
+ ONE_HUNDRED_THOUSAND_TO_THREE_HUNDRED_THOUSAND = 7;
+
+ // User list has number of users in range of 300000 to 500000.
+ THREE_HUNDRED_THOUSAND_TO_FIVE_HUNDRED_THOUSAND = 8;
+
+ // User list has number of users in range of 500000 to 1 million.
+ FIVE_HUNDRED_THOUSAND_TO_ONE_MILLION = 9;
+
+ // User list has number of users in range of 1 to 2 millions.
+ ONE_MILLION_TO_TWO_MILLION = 10;
+
+ // User list has number of users in range of 2 to 3 millions.
+ TWO_MILLION_TO_THREE_MILLION = 11;
+
+ // User list has number of users in range of 3 to 5 millions.
+ THREE_MILLION_TO_FIVE_MILLION = 12;
+
+ // User list has number of users in range of 5 to 10 millions.
+ FIVE_MILLION_TO_TEN_MILLION = 13;
+
+ // User list has number of users in range of 10 to 20 millions.
+ TEN_MILLION_TO_TWENTY_MILLION = 14;
+
+ // User list has number of users in range of 20 to 30 millions.
+ TWENTY_MILLION_TO_THIRTY_MILLION = 15;
+
+ // User list has number of users in range of 30 to 50 millions.
+ THIRTY_MILLION_TO_FIFTY_MILLION = 16;
+
+ // User list has over 50 million users.
+ OVER_FIFTY_MILLION = 17;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/enums/user_list_type.proto b/google/ads/googleads/v0/enums/user_list_type.proto
new file mode 100644
index 000000000..8d67cc414
--- /dev/null
+++ b/google/ads/googleads/v0/enums/user_list_type.proto
@@ -0,0 +1,60 @@
+// Copyright 2018 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.v0.enums;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Enums";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/enums;enums";
+option java_multiple_files = true;
+option java_outer_classname = "UserListTypeProto";
+option java_package = "com.google.ads.googleads.v0.enums";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Enums";
+// Proto file describing user list type.
+
+// The user list types.
+message UserListTypeEnum {
+ // Enum containing possible user list types.
+ enum UserListType {
+ // Not specified.
+ UNSPECIFIED = 0;
+
+ // Used for return value only. Represents value unknown in this version.
+ UNKNOWN = 1;
+
+ // UserList represented as a collection of conversion types.
+ REMARKETING = 2;
+
+ // UserList represented as a combination of other user lists/interests.
+ LOGICAL = 3;
+
+ // UserList created in the Google Ad Manager platform.
+ EXTERNAL_REMARKETING = 4;
+
+ // UserList associated with a rule.
+ RULE_BASED = 5;
+
+ // UserList with users similar to users of another UserList.
+ SIMILAR = 6;
+
+ // UserList of first party CRM data provided by advertiser in the form of
+ // emails or other formats.
+ CRM_BASED = 7;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/account_budget_proposal_error.proto b/google/ads/googleads/v0/errors/account_budget_proposal_error.proto
new file mode 100644
index 000000000..0638f65da
--- /dev/null
+++ b/google/ads/googleads/v0/errors/account_budget_proposal_error.proto
@@ -0,0 +1,111 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "AccountBudgetProposalErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing account budget proposal errors.
+
+// Container for enum describing possible account budget proposal errors.
+message AccountBudgetProposalErrorEnum {
+ // Enum describing possible account budget proposal errors.
+ enum AccountBudgetProposalError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The field mask must be empty for create/end/remove proposals.
+ FIELD_MASK_NOT_ALLOWED = 2;
+
+ // The field cannot be set because of the proposal type.
+ IMMUTABLE_FIELD = 3;
+
+ // The field is required because of the proposal type.
+ REQUIRED_FIELD_MISSING = 4;
+
+ // Proposals that have been approved cannot be cancelled.
+ CANNOT_CANCEL_APPROVED_PROPOSAL = 5;
+
+ // Budgets that haven't been approved cannot be removed.
+ CANNOT_REMOVE_UNAPPROVED_BUDGET = 6;
+
+ // Budgets that are currently running cannot be removed.
+ CANNOT_REMOVE_RUNNING_BUDGET = 7;
+
+ // Budgets that haven't been approved cannot be truncated.
+ CANNOT_END_UNAPPROVED_BUDGET = 8;
+
+ // Only budgets that are currently running can be truncated.
+ CANNOT_END_INACTIVE_BUDGET = 9;
+
+ // All budgets must have names.
+ BUDGET_NAME_REQUIRED = 10;
+
+ // Expired budgets cannot be edited after a sufficient amount of time has
+ // passed.
+ CANNOT_UPDATE_OLD_BUDGET = 11;
+
+ // It is not permissible a propose a new budget that ends in the past.
+ CANNOT_END_IN_PAST = 12;
+
+ // An expired budget cannot be extended to overlap with the running budget.
+ CANNOT_EXTEND_END_TIME = 13;
+
+ // A purchase order number is required.
+ PURCHASE_ORDER_NUMBER_REQUIRED = 14;
+
+ // Budgets that have a pending update cannot be updated.
+ PENDING_UPDATE_PROPOSAL_EXISTS = 15;
+
+ // Cannot propose more than one budget when the corresponding billing setup
+ // hasn't been approved.
+ MULTIPLE_BUDGETS_NOT_ALLOWED_FOR_UNAPPROVED_BILLING_SETUP = 16;
+
+ // Cannot update the start time of a budget that has already started.
+ CANNOT_UPDATE_START_TIME_FOR_STARTED_BUDGET = 17;
+
+ // Cannot update the spending limit of a budget with an amount lower than
+ // what has already been spent.
+ SPENDING_LIMIT_LOWER_THAN_ACCRUED_COST_NOT_ALLOWED = 18;
+
+ // Cannot propose a budget update without actually changing any fields.
+ UPDATE_IS_NO_OP = 19;
+
+ // The end time must come after the start time.
+ END_TIME_MUST_FOLLOW_START_TIME = 20;
+
+ // The budget's date range must fall within the date range of its billing
+ // setup.
+ BUDGET_DATE_RANGE_INCOMPATIBLE_WITH_BILLING_SETUP = 21;
+
+ // The user is not authorized to mutate budgets for the given billing setup.
+ NOT_AUTHORIZED = 22;
+
+ // Mutates are not allowed for the given billing setup.
+ INVALID_BILLING_SETUP = 23;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/ad_customizer_error.proto b/google/ads/googleads/v0/errors/ad_customizer_error.proto
new file mode 100644
index 000000000..814489d68
--- /dev/null
+++ b/google/ads/googleads/v0/errors/ad_customizer_error.proto
@@ -0,0 +1,56 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "AdCustomizerErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing ad customizer errors.
+
+// Container for enum describing possible ad customizer errors.
+message AdCustomizerErrorEnum {
+ // Enum describing possible ad customizer errors.
+ enum AdCustomizerError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Invalid date argument in countdown function.
+ COUNTDOWN_INVALID_DATE_FORMAT = 2;
+
+ // Countdown end date is in the past.
+ COUNTDOWN_DATE_IN_PAST = 3;
+
+ // Invalid locale string in countdown function.
+ COUNTDOWN_INVALID_LOCALE = 4;
+
+ // Days-before argument to countdown function is not positive.
+ COUNTDOWN_INVALID_START_DAYS_BEFORE = 5;
+
+ // A user list referenced in an IF function does not exist.
+ UNKNOWN_USER_LIST = 6;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/ad_error.proto b/google/ads/googleads/v0/errors/ad_error.proto
new file mode 100644
index 000000000..baaa24dea
--- /dev/null
+++ b/google/ads/googleads/v0/errors/ad_error.proto
@@ -0,0 +1,452 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "AdErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing ad errors.
+
+// Container for enum describing possible ad errors.
+message AdErrorEnum {
+ // Enum describing possible ad errors.
+ enum AdError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Ad customizers are not supported for ad type.
+ AD_CUSTOMIZERS_NOT_SUPPORTED_FOR_AD_TYPE = 2;
+
+ // Estimating character sizes the string is too long.
+ APPROXIMATELY_TOO_LONG = 3;
+
+ // Estimating character sizes the string is too short.
+ APPROXIMATELY_TOO_SHORT = 4;
+
+ // There is a problem with the snippet.
+ BAD_SNIPPET = 5;
+
+ // Cannot modify an ad.
+ CANNOT_MODIFY_AD = 6;
+
+ // business name and url cannot be set at the same time
+ CANNOT_SET_BUSINESS_NAME_IF_URL_SET = 7;
+
+ // The specified field is incompatible with this ad's type or settings.
+ CANNOT_SET_FIELD = 8;
+
+ // Cannot set field when originAdId is set.
+ CANNOT_SET_FIELD_WITH_ORIGIN_AD_ID_SET = 9;
+
+ // Cannot set field when an existing ad id is set for sharing.
+ CANNOT_SET_FIELD_WITH_AD_ID_SET_FOR_SHARING = 10;
+
+ // Cannot set allowFlexibleColor false if no color is provided by user.
+ CANNOT_SET_ALLOW_FLEXIBLE_COLOR_FALSE = 11;
+
+ // When user select native, no color control is allowed because we will
+ // always respect publisher color for native format serving.
+ CANNOT_SET_COLOR_CONTROL_WHEN_NATIVE_FORMAT_SETTING = 12;
+
+ // Cannot specify a url for the ad type
+ CANNOT_SET_URL = 13;
+
+ // Cannot specify a tracking or mobile url without also setting final urls
+ CANNOT_SET_WITHOUT_FINAL_URLS = 14;
+
+ // Cannot specify a legacy url and a final url simultaneously
+ CANNOT_SET_WITH_FINAL_URLS = 15;
+
+ // Cannot specify a legacy url and a tracking url template simultaneously in
+ // a DSA.
+ CANNOT_SET_WITH_TRACKING_URL_TEMPLATE = 16;
+
+ // Cannot specify a urls in UrlData and in template fields simultaneously.
+ CANNOT_SET_WITH_URL_DATA = 17;
+
+ // This operator cannot be used with a subclass of Ad.
+ CANNOT_USE_AD_SUBCLASS_FOR_OPERATOR = 18;
+
+ // Customer is not approved for mobile ads.
+ CUSTOMER_NOT_APPROVED_MOBILEADS = 19;
+
+ // Customer is not approved for 3PAS richmedia ads.
+ CUSTOMER_NOT_APPROVED_THIRDPARTY_ADS = 20;
+
+ // Customer is not approved for 3PAS redirect richmedia (Ad Exchange) ads.
+ CUSTOMER_NOT_APPROVED_THIRDPARTY_REDIRECT_ADS = 21;
+
+ // Not an eligible customer
+ CUSTOMER_NOT_ELIGIBLE = 22;
+
+ // Customer is not eligible for updating beacon url
+ CUSTOMER_NOT_ELIGIBLE_FOR_UPDATING_BEACON_URL = 23;
+
+ // There already exists an ad with the same dimensions in the union.
+ DIMENSION_ALREADY_IN_UNION = 24;
+
+ // Ad's dimension must be set before setting union dimension.
+ DIMENSION_MUST_BE_SET = 25;
+
+ // Ad's dimension must be included in the union dimensions.
+ DIMENSION_NOT_IN_UNION = 26;
+
+ // Display Url cannot be specified (applies to Ad Exchange Ads)
+ DISPLAY_URL_CANNOT_BE_SPECIFIED = 27;
+
+ // Telephone number contains invalid characters or invalid format. Please
+ // re-enter your number using digits (0-9), dashes (-), and parentheses
+ // only.
+ DOMESTIC_PHONE_NUMBER_FORMAT = 28;
+
+ // Emergency telephone numbers are not allowed. Please enter a valid
+ // domestic phone number to connect customers to your business.
+ EMERGENCY_PHONE_NUMBER = 29;
+
+ // A required field was not specified or is an empty string.
+ EMPTY_FIELD = 30;
+
+ // A feed attribute referenced in an ad customizer tag is not in the ad
+ // customizer mapping for the feed.
+ FEED_ATTRIBUTE_MUST_HAVE_MAPPING_FOR_TYPE_ID = 31;
+
+ // The ad customizer field mapping for the feed attribute does not match the
+ // expected field type.
+ FEED_ATTRIBUTE_MAPPING_TYPE_MISMATCH = 32;
+
+ // The use of ad customizer tags in the ad text is disallowed. Details in
+ // trigger.
+ ILLEGAL_AD_CUSTOMIZER_TAG_USE = 33;
+
+ // Tags of the form {PH_x}, where x is a number, are disallowed in ad text.
+ ILLEGAL_TAG_USE = 34;
+
+ // The dimensions of the ad are specified or derived in multiple ways and
+ // are not consistent.
+ INCONSISTENT_DIMENSIONS = 35;
+
+ // The status cannot differ among template ads of the same union.
+ INCONSISTENT_STATUS_IN_TEMPLATE_UNION = 36;
+
+ // The length of the string is not valid.
+ INCORRECT_LENGTH = 37;
+
+ // The ad is ineligible for upgrade.
+ INELIGIBLE_FOR_UPGRADE = 38;
+
+ // User cannot create mobile ad for countries targeted in specified
+ // campaign.
+ INVALID_AD_ADDRESS_CAMPAIGN_TARGET = 39;
+
+ // Invalid Ad type. A specific type of Ad is required.
+ INVALID_AD_TYPE = 40;
+
+ // Headline, description or phone cannot be present when creating mobile
+ // image ad.
+ INVALID_ATTRIBUTES_FOR_MOBILE_IMAGE = 41;
+
+ // Image cannot be present when creating mobile text ad.
+ INVALID_ATTRIBUTES_FOR_MOBILE_TEXT = 42;
+
+ // Invalid call to action text.
+ INVALID_CALL_TO_ACTION_TEXT = 43;
+
+ // Invalid character in URL.
+ INVALID_CHARACTER_FOR_URL = 44;
+
+ // Creative's country code is not valid.
+ INVALID_COUNTRY_CODE = 45;
+
+ // Invalid use of Dynamic Search Ads tags ({lpurl} etc.)
+ INVALID_DSA_URL_TAG = 46;
+
+ // Invalid use of Expanded Dynamic Search Ads tags ({lpurl} etc.)
+ INVALID_EXPANDED_DYNAMIC_SEARCH_AD_TAG = 47;
+
+ // An input error whose real reason was not properly mapped (should not
+ // happen).
+ INVALID_INPUT = 48;
+
+ // An invalid markup language was entered.
+ INVALID_MARKUP_LANGUAGE = 49;
+
+ // An invalid mobile carrier was entered.
+ INVALID_MOBILE_CARRIER = 50;
+
+ // Specified mobile carriers target a country not targeted by the campaign.
+ INVALID_MOBILE_CARRIER_TARGET = 51;
+
+ // Wrong number of elements for given element type
+ INVALID_NUMBER_OF_ELEMENTS = 52;
+
+ // The format of the telephone number is incorrect. Please re-enter the
+ // number using the correct format.
+ INVALID_PHONE_NUMBER_FORMAT = 53;
+
+ // The certified vendor format id is incorrect.
+ INVALID_RICH_MEDIA_CERTIFIED_VENDOR_FORMAT_ID = 54;
+
+ // The template ad data contains validation errors.
+ INVALID_TEMPLATE_DATA = 55;
+
+ // The template field doesn't have have the correct type.
+ INVALID_TEMPLATE_ELEMENT_FIELD_TYPE = 56;
+
+ // Invalid template id.
+ INVALID_TEMPLATE_ID = 57;
+
+ // After substituting replacement strings, the line is too wide.
+ LINE_TOO_WIDE = 58;
+
+ // The feed referenced must have ad customizer mapping to be used in a
+ // customizer tag.
+ MISSING_AD_CUSTOMIZER_MAPPING = 59;
+
+ // Missing address component in template element address field.
+ MISSING_ADDRESS_COMPONENT = 60;
+
+ // An ad name must be entered.
+ MISSING_ADVERTISEMENT_NAME = 61;
+
+ // Business name must be entered.
+ MISSING_BUSINESS_NAME = 62;
+
+ // Description (line 2) must be entered.
+ MISSING_DESCRIPTION1 = 63;
+
+ // Description (line 3) must be entered.
+ MISSING_DESCRIPTION2 = 64;
+
+ // The destination url must contain at least one tag (e.g. {lpurl})
+ MISSING_DESTINATION_URL_TAG = 65;
+
+ // The tracking url template of ExpandedDynamicSearchAd must contain at
+ // least one tag. (e.g. {lpurl})
+ MISSING_LANDING_PAGE_URL_TAG = 66;
+
+ // A valid dimension must be specified for this ad.
+ MISSING_DIMENSION = 67;
+
+ // A display URL must be entered.
+ MISSING_DISPLAY_URL = 68;
+
+ // Headline must be entered.
+ MISSING_HEADLINE = 69;
+
+ // A height must be entered.
+ MISSING_HEIGHT = 70;
+
+ // An image must be entered.
+ MISSING_IMAGE = 71;
+
+ // Marketing image or product videos are required.
+ MISSING_MARKETING_IMAGE_OR_PRODUCT_VIDEOS = 72;
+
+ // The markup language in which your site is written must be entered.
+ MISSING_MARKUP_LANGUAGES = 73;
+
+ // A mobile carrier must be entered.
+ MISSING_MOBILE_CARRIER = 74;
+
+ // Phone number must be entered.
+ MISSING_PHONE = 75;
+
+ // Missing required template fields
+ MISSING_REQUIRED_TEMPLATE_FIELDS = 76;
+
+ // Missing a required field value
+ MISSING_TEMPLATE_FIELD_VALUE = 77;
+
+ // The ad must have text.
+ MISSING_TEXT = 78;
+
+ // A visible URL must be entered.
+ MISSING_VISIBLE_URL = 79;
+
+ // A width must be entered.
+ MISSING_WIDTH = 80;
+
+ // Only 1 feed can be used as the source of ad customizer substitutions in a
+ // single ad.
+ MULTIPLE_DISTINCT_FEEDS_UNSUPPORTED = 81;
+
+ // TempAdUnionId must be use when adding template ads.
+ MUST_USE_TEMP_AD_UNION_ID_ON_ADD = 82;
+
+ // The string has too many characters.
+ TOO_LONG = 83;
+
+ // The string has too few characters.
+ TOO_SHORT = 84;
+
+ // Ad union dimensions cannot change for saved ads.
+ UNION_DIMENSIONS_CANNOT_CHANGE = 85;
+
+ // Address component is not {country, lat, lng}.
+ UNKNOWN_ADDRESS_COMPONENT = 86;
+
+ // Unknown unique field name
+ UNKNOWN_FIELD_NAME = 87;
+
+ // Unknown unique name (template element type specifier)
+ UNKNOWN_UNIQUE_NAME = 88;
+
+ // Unsupported ad dimension
+ UNSUPPORTED_DIMENSIONS = 89;
+
+ // URL starts with an invalid scheme.
+ URL_INVALID_SCHEME = 90;
+
+ // URL ends with an invalid top-level domain name.
+ URL_INVALID_TOP_LEVEL_DOMAIN = 91;
+
+ // URL contains illegal characters.
+ URL_MALFORMED = 92;
+
+ // URL must contain a host name.
+ URL_NO_HOST = 93;
+
+ // URL not equivalent during upgrade.
+ URL_NOT_EQUIVALENT = 94;
+
+ // URL host name too long to be stored as visible URL (applies to Ad
+ // Exchange ads)
+ URL_HOST_NAME_TOO_LONG = 95;
+
+ // URL must start with a scheme.
+ URL_NO_SCHEME = 96;
+
+ // URL should end in a valid domain extension, such as .com or .net.
+ URL_NO_TOP_LEVEL_DOMAIN = 97;
+
+ // URL must not end with a path.
+ URL_PATH_NOT_ALLOWED = 98;
+
+ // URL must not specify a port.
+ URL_PORT_NOT_ALLOWED = 99;
+
+ // URL must not contain a query.
+ URL_QUERY_NOT_ALLOWED = 100;
+
+ // A url scheme is not allowed in front of tag in dest url (e.g.
+ // http://{lpurl})
+ URL_SCHEME_BEFORE_DSA_TAG = 101;
+
+ // A url scheme is not allowed in front of tag in tracking url template
+ // (e.g. http://{lpurl})
+ URL_SCHEME_BEFORE_EXPANDED_DYNAMIC_SEARCH_AD_TAG = 102;
+
+ // The user does not have permissions to create a template ad for the given
+ // template.
+ USER_DOES_NOT_HAVE_ACCESS_TO_TEMPLATE = 103;
+
+ // Expandable setting is inconsistent/wrong. For example, an AdX ad is
+ // invalid if it has a expandable vendor format but no expanding directions
+ // specified, or expanding directions is specified, but the vendor format is
+ // not expandable.
+ INCONSISTENT_EXPANDABLE_SETTINGS = 104;
+
+ // Format is invalid
+ INVALID_FORMAT = 105;
+
+ // The text of this field did not match a pattern of allowed values.
+ INVALID_FIELD_TEXT = 106;
+
+ // Template element is mising
+ ELEMENT_NOT_PRESENT = 107;
+
+ // Error occurred during image processing
+ IMAGE_ERROR = 108;
+
+ // The value is not within the valid range
+ VALUE_NOT_IN_RANGE = 109;
+
+ // Template element field is not present
+ FIELD_NOT_PRESENT = 110;
+
+ // Address is incomplete
+ ADDRESS_NOT_COMPLETE = 111;
+
+ // Invalid address
+ ADDRESS_INVALID = 112;
+
+ // Error retrieving specified video
+ VIDEO_RETRIEVAL_ERROR = 113;
+
+ // Error processing audio
+ AUDIO_ERROR = 114;
+
+ // Display URL is incorrect for YouTube PYV ads
+ INVALID_YOUTUBE_DISPLAY_URL = 115;
+
+ // Too many product Images in GmailAd
+ TOO_MANY_PRODUCT_IMAGES = 116;
+
+ // Too many product Videos in GmailAd
+ TOO_MANY_PRODUCT_VIDEOS = 117;
+
+ // The device preference is not compatible with the ad type
+ INCOMPATIBLE_AD_TYPE_AND_DEVICE_PREFERENCE = 118;
+
+ // Call tracking is not supported for specified country.
+ CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 119;
+
+ // Carrier specific short number is not allowed.
+ CARRIER_SPECIFIC_SHORT_NUMBER_NOT_ALLOWED = 120;
+
+ // Specified phone number type is disallowed.
+ DISALLOWED_NUMBER_TYPE = 121;
+
+ // Phone number not supported for country.
+ PHONE_NUMBER_NOT_SUPPORTED_FOR_COUNTRY = 122;
+
+ // Phone number not supported with call tracking enabled for country.
+ PHONE_NUMBER_NOT_SUPPORTED_WITH_CALLTRACKING_FOR_COUNTRY = 123;
+
+ // Premium rate phone number is not allowed.
+ PREMIUM_RATE_NUMBER_NOT_ALLOWED = 124;
+
+ // Vanity phone number is not allowed.
+ VANITY_PHONE_NUMBER_NOT_ALLOWED = 125;
+
+ // Invalid call conversion type id.
+ INVALID_CALL_CONVERSION_TYPE_ID = 126;
+
+ // Cannot disable call conversion and set conversion type id.
+ CANNOT_DISABLE_CALL_CONVERSION_AND_SET_CONVERSION_TYPE_ID = 127;
+
+ // Cannot set path2 without path1.
+ CANNOT_SET_PATH2_WITHOUT_PATH1 = 128;
+
+ // Missing domain name in campaign setting when adding expanded dynamic
+ // search ad.
+ MISSING_DYNAMIC_SEARCH_ADS_SETTING_DOMAIN_NAME = 129;
+
+ // The associated ad is not compatible with restriction type.
+ INCOMPATIBLE_WITH_RESTRICTION_TYPE = 130;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/ad_group_ad_error.proto b/google/ads/googleads/v0/errors/ad_group_ad_error.proto
new file mode 100644
index 000000000..def73aa7e
--- /dev/null
+++ b/google/ads/googleads/v0/errors/ad_group_ad_error.proto
@@ -0,0 +1,67 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "AdGroupAdErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing ad group ad errors.
+
+// Container for enum describing possible ad group ad errors.
+message AdGroupAdErrorEnum {
+ // Enum describing possible ad group ad errors.
+ enum AdGroupAdError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // No link found between the adgroup ad and the label.
+ AD_GROUP_AD_LABEL_DOES_NOT_EXIST = 2;
+
+ // The label has already been attached to the adgroup ad.
+ AD_GROUP_AD_LABEL_ALREADY_EXISTS = 3;
+
+ // The specified ad was not found in the adgroup
+ AD_NOT_UNDER_ADGROUP = 4;
+
+ // Removed ads may not be modified
+ CANNOT_OPERATE_ON_REMOVED_ADGROUPAD = 5;
+
+ // An ad of this type is deprecated and cannot be created. Only deletions
+ // are permitted.
+ CANNOT_CREATE_DEPRECATED_ADS = 6;
+
+ // Text ads are deprecated and cannot be created. Use expanded text ads
+ // instead.
+ CANNOT_CREATE_TEXT_ADS = 7;
+
+ // A required field was not specified or is an empty string.
+ EMPTY_FIELD = 8;
+
+ // An ad may only be modified once per call
+ RESOURCE_REFERENCED_IN_MULTIPLE_OPS = 9;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/ad_group_bid_modifier_error.proto b/google/ads/googleads/v0/errors/ad_group_bid_modifier_error.proto
new file mode 100644
index 000000000..ed9d557d0
--- /dev/null
+++ b/google/ads/googleads/v0/errors/ad_group_bid_modifier_error.proto
@@ -0,0 +1,48 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "AdGroupBidModifierErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing ad group bid modifier errors.
+
+// Container for enum describing possible ad group bid modifier errors.
+message AdGroupBidModifierErrorEnum {
+ // Enum describing possible ad group bid modifier errors.
+ enum AdGroupBidModifierError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The criterion ID does not support bid modification.
+ CRITERION_ID_NOT_SUPPORTED = 2;
+
+ // Cannot override the bid modifier for the given criterion ID if the parent
+ // campaign is opted out of the same criterion.
+ CANNOT_OVERRIDE_OPTED_OUT_CAMPAIGN_CRITERION_BID_MODIFIER = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/ad_group_criterion_error.proto b/google/ads/googleads/v0/errors/ad_group_criterion_error.proto
new file mode 100644
index 000000000..a6b133cad
--- /dev/null
+++ b/google/ads/googleads/v0/errors/ad_group_criterion_error.proto
@@ -0,0 +1,162 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "AdGroupCriterionErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing ad group criterion errors.
+
+// Container for enum describing possible ad group criterion errors.
+message AdGroupCriterionErrorEnum {
+ // Enum describing possible ad group criterion errors.
+ enum AdGroupCriterionError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // No link found between the AdGroupCriterion and the label.
+ AD_GROUP_CRITERION_LABEL_DOES_NOT_EXIST = 2;
+
+ // The label has already been attached to the AdGroupCriterion.
+ AD_GROUP_CRITERION_LABEL_ALREADY_EXISTS = 3;
+
+ // Negative AdGroupCriterion cannot have labels.
+ CANNOT_ADD_LABEL_TO_NEGATIVE_CRITERION = 4;
+
+ // Too many operations for a single call.
+ TOO_MANY_OPERATIONS = 5;
+
+ // Negative ad group criteria are not updateable.
+ CANT_UPDATE_NEGATIVE = 6;
+
+ // Concrete type of criterion (keyword v.s. placement) is required for ADD
+ // and SET operations.
+ CONCRETE_TYPE_REQUIRED = 7;
+
+ // Bid is incompatible with ad group's bidding settings.
+ BID_INCOMPATIBLE_WITH_ADGROUP = 8;
+
+ // Cannot target and exclude the same criterion at once.
+ CANNOT_TARGET_AND_EXCLUDE = 9;
+
+ // The URL of a placement is invalid.
+ ILLEGAL_URL = 10;
+
+ // Keyword text was invalid.
+ INVALID_KEYWORD_TEXT = 11;
+
+ // Destination URL was invalid.
+ INVALID_DESTINATION_URL = 12;
+
+ // The destination url must contain at least one tag (e.g. {lpurl})
+ MISSING_DESTINATION_URL_TAG = 13;
+
+ // Keyword-level cpm bid is not supported
+ KEYWORD_LEVEL_BID_NOT_SUPPORTED_FOR_MANUALCPM = 14;
+
+ // For example, cannot add a biddable ad group criterion that had been
+ // removed.
+ INVALID_USER_STATUS = 15;
+
+ // Criteria type cannot be targeted for the ad group. Either the account is
+ // restricted to keywords only, the criteria type is incompatible with the
+ // campaign's bidding strategy, or the criteria type can only be applied to
+ // campaigns.
+ CANNOT_ADD_CRITERIA_TYPE = 16;
+
+ // Criteria type cannot be excluded for the ad group. Refer to the
+ // documentation for a specific criterion to check if it is excludable.
+ CANNOT_EXCLUDE_CRITERIA_TYPE = 17;
+
+ // Partial failure is not supported for shopping campaign mutate operations.
+ CAMPAIGN_TYPE_NOT_COMPATIBLE_WITH_PARTIAL_FAILURE = 27;
+
+ // Operations in the mutate request changes too many shopping ad groups.
+ // Please split requests for multiple shopping ad groups across multiple
+ // requests.
+ OPERATIONS_FOR_TOO_MANY_SHOPPING_ADGROUPS = 28;
+
+ // Not allowed to modify url fields of an ad group criterion if there are
+ // duplicate elements for that ad group criterion in the request.
+ CANNOT_MODIFY_URL_FIELDS_WITH_DUPLICATE_ELEMENTS = 29;
+
+ // Cannot set url fields without also setting final urls.
+ CANNOT_SET_WITHOUT_FINAL_URLS = 30;
+
+ // Cannot clear final urls if final mobile urls exist.
+ CANNOT_CLEAR_FINAL_URLS_IF_FINAL_MOBILE_URLS_EXIST = 31;
+
+ // Cannot clear final urls if final app urls exist.
+ CANNOT_CLEAR_FINAL_URLS_IF_FINAL_APP_URLS_EXIST = 32;
+
+ // Cannot clear final urls if tracking url template exists.
+ CANNOT_CLEAR_FINAL_URLS_IF_TRACKING_URL_TEMPLATE_EXISTS = 33;
+
+ // Cannot clear final urls if url custom parameters exist.
+ CANNOT_CLEAR_FINAL_URLS_IF_URL_CUSTOM_PARAMETERS_EXIST = 34;
+
+ // Cannot set both destination url and final urls.
+ CANNOT_SET_BOTH_DESTINATION_URL_AND_FINAL_URLS = 35;
+
+ // Cannot set both destination url and tracking url template.
+ CANNOT_SET_BOTH_DESTINATION_URL_AND_TRACKING_URL_TEMPLATE = 36;
+
+ // Final urls are not supported for this criterion type.
+ FINAL_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE = 37;
+
+ // Final mobile urls are not supported for this criterion type.
+ FINAL_MOBILE_URLS_NOT_SUPPORTED_FOR_CRITERION_TYPE = 38;
+
+ // Ad group is invalid due to the listing groups it contains.
+ INVALID_LISTING_GROUP_HIERARCHY = 39;
+
+ // Listing group unit cannot have children.
+ LISTING_GROUP_UNIT_CANNOT_HAVE_CHILDREN = 40;
+
+ // Subdivided listing groups must have an "others" case.
+ LISTING_GROUP_SUBDIVISION_REQUIRES_OTHERS_CASE = 41;
+
+ // Dimension type of listing group must be the same as that of its siblings.
+ LISTING_GROUP_REQUIRES_SAME_DIMENSION_TYPE_AS_SIBLINGS = 42;
+
+ // Listing group cannot be added to the ad group because it already exists.
+ LISTING_GROUP_ALREADY_EXISTS = 43;
+
+ // Listing group referenced in the operation was not found in the ad group.
+ LISTING_GROUP_DOES_NOT_EXIST = 44;
+
+ // Recursive removal failed because listing group subdivision is being
+ // created or modified in this request.
+ LISTING_GROUP_CANNOT_BE_REMOVED = 45;
+
+ // Listing group type is not allowed for specified ad group criterion type.
+ INVALID_LISTING_GROUP_TYPE = 46;
+
+ // Listing group in an ADD operation specifies a non temporary criterion id.
+ LISTING_GROUP_ADD_MAY_ONLY_USE_TEMP_ID = 47;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/ad_group_error.proto b/google/ads/googleads/v0/errors/ad_group_error.proto
new file mode 100644
index 000000000..eb5b0be77
--- /dev/null
+++ b/google/ads/googleads/v0/errors/ad_group_error.proto
@@ -0,0 +1,80 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "AdGroupErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing ad group errors.
+
+// Container for enum describing possible ad group errors.
+message AdGroupErrorEnum {
+ // Enum describing possible ad group errors.
+ enum AdGroupError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // AdGroup with the same name already exists for the campaign.
+ DUPLICATE_ADGROUP_NAME = 2;
+
+ // AdGroup name is not valid.
+ INVALID_ADGROUP_NAME = 3;
+
+ // Advertiser is not allowed to target sites or set site bids that are not
+ // on the Google Search Network.
+ ADVERTISER_NOT_ON_CONTENT_NETWORK = 5;
+
+ // Bid amount is too big.
+ BID_TOO_BIG = 6;
+
+ // AdGroup bid does not match the campaign's bidding strategy.
+ BID_TYPE_AND_BIDDING_STRATEGY_MISMATCH = 7;
+
+ // AdGroup name is required for Add.
+ MISSING_ADGROUP_NAME = 8;
+
+ // No link found between the ad group and the label.
+ ADGROUP_LABEL_DOES_NOT_EXIST = 9;
+
+ // The label has already been attached to the ad group.
+ ADGROUP_LABEL_ALREADY_EXISTS = 10;
+
+ // The CriterionTypeGroup is not supported for the content bid dimension.
+ INVALID_CONTENT_BID_CRITERION_TYPE_GROUP = 11;
+
+ // The ad group type is not compatible with the campaign channel type.
+ AD_GROUP_TYPE_NOT_VALID_FOR_ADVERTISING_CHANNEL_TYPE = 12;
+
+ // The ad group type is not supported in the country of sale of the
+ // campaign.
+ ADGROUP_TYPE_NOT_SUPPORTED_FOR_CAMPAIGN_SALES_COUNTRY = 13;
+
+ // Ad groups of AdGroupType.SEARCH_DYNAMIC_ADS can only be added to
+ // campaigns that have DynamicSearchAdsSetting attached.
+ CANNOT_ADD_ADGROUP_OF_TYPE_DSA_TO_CAMPAIGN_WITHOUT_DSA_SETTING = 14;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/ad_group_feed_error.proto b/google/ads/googleads/v0/errors/ad_group_feed_error.proto
new file mode 100644
index 000000000..6c10d1e75
--- /dev/null
+++ b/google/ads/googleads/v0/errors/ad_group_feed_error.proto
@@ -0,0 +1,64 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "AdGroupFeedErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing ad group feed errors.
+
+// Container for enum describing possible ad group feed errors.
+message AdGroupFeedErrorEnum {
+ // Enum describing possible ad group feed errors.
+ enum AdGroupFeedError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // An active feed already exists for this ad group and place holder type.
+ FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2;
+
+ // The specified feed is removed.
+ CANNOT_CREATE_FOR_REMOVED_FEED = 3;
+
+ // The AdGroupFeed already exists. UPDATE operation should be used to modify
+ // the existing AdGroupFeed.
+ ADGROUP_FEED_ALREADY_EXISTS = 4;
+
+ // Cannot operate on removed AdGroupFeed.
+ CANNOT_OPERATE_ON_REMOVED_ADGROUP_FEED = 5;
+
+ // Invalid placeholder type.
+ INVALID_PLACEHOLDER_TYPE = 6;
+
+ // Feed mapping for this placeholder type does not exist.
+ MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 7;
+
+ // Location AdGroupFeeds cannot be created unless there is a location
+ // CustomerFeed for the specified feed.
+ NO_EXISTING_LOCATION_CUSTOMER_FEED = 8;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/ad_sharing_error.proto b/google/ads/googleads/v0/errors/ad_sharing_error.proto
new file mode 100644
index 000000000..9671105a7
--- /dev/null
+++ b/google/ads/googleads/v0/errors/ad_sharing_error.proto
@@ -0,0 +1,51 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "AdSharingErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing ad sharing errors.
+
+// Container for enum describing possible ad sharing errors.
+message AdSharingErrorEnum {
+ // Enum describing possible ad sharing errors.
+ enum AdSharingError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Error resulting in attempting to add an Ad to an AdGroup that already
+ // contains the Ad.
+ AD_GROUP_ALREADY_CONTAINS_AD = 2;
+
+ // Ad is not compatible with the AdGroup it is being shared with.
+ INCOMPATIBLE_AD_UNDER_AD_GROUP = 3;
+
+ // Cannot add AdGroupAd on inactive Ad.
+ CANNOT_SHARE_INACTIVE_AD = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/adx_error.proto b/google/ads/googleads/v0/errors/adx_error.proto
new file mode 100644
index 000000000..b9f6e38d0
--- /dev/null
+++ b/google/ads/googleads/v0/errors/adx_error.proto
@@ -0,0 +1,44 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "AdxErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing adx errors.
+
+// Container for enum describing possible adx errors.
+message AdxErrorEnum {
+ // Enum describing possible adx errors.
+ enum AdxError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Attempt to use non-AdX feature by AdX customer.
+ UNSUPPORTED_FEATURE = 2;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/authentication_error.proto b/google/ads/googleads/v0/errors/authentication_error.proto
new file mode 100644
index 000000000..0104a9f96
--- /dev/null
+++ b/google/ads/googleads/v0/errors/authentication_error.proto
@@ -0,0 +1,100 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "AuthenticationErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing authentication errors.
+
+// Container for enum describing possible authentication errors.
+message AuthenticationErrorEnum {
+ // Enum describing possible authentication errors.
+ enum AuthenticationError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Authentication of the request failed.
+ AUTHENTICATION_ERROR = 2;
+
+ // Client Customer Id is not a number.
+ CLIENT_CUSTOMER_ID_INVALID = 5;
+
+ // No customer found for the provided customer id.
+ CUSTOMER_NOT_FOUND = 8;
+
+ // Client's Google Account is deleted.
+ GOOGLE_ACCOUNT_DELETED = 9;
+
+ // Google account login token in the cookie is invalid.
+ GOOGLE_ACCOUNT_COOKIE_INVALID = 10;
+
+ // A problem occurred during Google account authentication.
+ GOOGLE_ACCOUNT_AUTHENTICATION_FAILED = 25;
+
+ // The user in the google account login token does not match the UserId in
+ // the cookie.
+ GOOGLE_ACCOUNT_USER_AND_ADS_USER_MISMATCH = 12;
+
+ // Login cookie is required for authentication.
+ LOGIN_COOKIE_REQUIRED = 13;
+
+ // User in the cookie is not a valid Ads user.
+ NOT_ADS_USER = 14;
+
+ // Oauth token in the header is not valid.
+ OAUTH_TOKEN_INVALID = 15;
+
+ // Oauth token in the header has expired.
+ OAUTH_TOKEN_EXPIRED = 16;
+
+ // Oauth token in the header has been disabled.
+ OAUTH_TOKEN_DISABLED = 17;
+
+ // Oauth token in the header has been revoked.
+ OAUTH_TOKEN_REVOKED = 18;
+
+ // Oauth token HTTP header is malformed.
+ OAUTH_TOKEN_HEADER_INVALID = 19;
+
+ // Login cookie is not valid.
+ LOGIN_COOKIE_INVALID = 20;
+
+ // User Id in the header is not a valid id.
+ USER_ID_INVALID = 22;
+
+ // An account administrator changed this account's authentication settings.
+ // To access this Google Ads account, enable 2-Step Verification in your
+ // Google account at https://www.google.com/landing/2step.
+ TWO_STEP_VERIFICATION_NOT_ENROLLED = 23;
+
+ // An account administrator changed this account's authentication settings.
+ // To access this Google Ads account, enable Advanced Protection in your
+ // Google account at https://landing.google.com/advancedprotection.
+ ADVANCED_PROTECTION_NOT_ENROLLED = 24;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/authorization_error.proto b/google/ads/googleads/v0/errors/authorization_error.proto
new file mode 100644
index 000000000..8fc6513c0
--- /dev/null
+++ b/google/ads/googleads/v0/errors/authorization_error.proto
@@ -0,0 +1,64 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "AuthorizationErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing authorization errors.
+
+// Container for enum describing possible authorization errors.
+message AuthorizationErrorEnum {
+ // Enum describing possible authorization errors.
+ enum AuthorizationError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // User doesn't have permission to access customer.
+ USER_PERMISSION_DENIED = 2;
+
+ // The developer token is not whitelisted.
+ DEVELOPER_TOKEN_NOT_WHITELISTED = 3;
+
+ // The developer token is not allowed with the project sent in the request.
+ DEVELOPER_TOKEN_PROHIBITED = 4;
+
+ // The Google Cloud project sent in the request does not have permission to
+ // access the api.
+ PROJECT_DISABLED = 5;
+
+ // Authorization of the client failed.
+ AUTHORIZATION_ERROR = 6;
+
+ // The user does not have permission to perform this action
+ // (e.g., ADD, UPDATE, REMOVE) on the resource or call a method.
+ ACTION_NOT_PERMITTED = 7;
+
+ // Signup not complete.
+ INCOMPLETE_SIGNUP = 8;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/bidding_error.proto b/google/ads/googleads/v0/errors/bidding_error.proto
new file mode 100644
index 000000000..1d9b67cd7
--- /dev/null
+++ b/google/ads/googleads/v0/errors/bidding_error.proto
@@ -0,0 +1,106 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "BiddingErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing bidding errors.
+
+// Container for enum describing possible bidding errors.
+message BiddingErrorEnum {
+ // Enum describing possible bidding errors.
+ enum BiddingError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Cannot transition to new bidding strategy.
+ BIDDING_STRATEGY_TRANSITION_NOT_ALLOWED = 2;
+
+ // Cannot attach bidding strategy to campaign.
+ CANNOT_ATTACH_BIDDING_STRATEGY_TO_CAMPAIGN = 7;
+
+ // Bidding strategy is not supported or cannot be used as anonymous.
+ INVALID_ANONYMOUS_BIDDING_STRATEGY_TYPE = 10;
+
+ // The type does not match the named strategy's type.
+ INVALID_BIDDING_STRATEGY_TYPE = 14;
+
+ // The bid is invalid.
+ INVALID_BID = 17;
+
+ // Bidding strategy is not available for the account type.
+ BIDDING_STRATEGY_NOT_AVAILABLE_FOR_ACCOUNT_TYPE = 18;
+
+ // Conversion tracking is not enabled for the campaign for VBB transition.
+ CONVERSION_TRACKING_NOT_ENABLED = 19;
+
+ // Not enough conversions tracked for VBB transitions.
+ NOT_ENOUGH_CONVERSIONS = 20;
+
+ // Campaign can not be created with given bidding strategy. It can be
+ // transitioned to the strategy, once eligible.
+ CANNOT_CREATE_CAMPAIGN_WITH_BIDDING_STRATEGY = 21;
+
+ // Cannot target content network only as campaign uses Page One Promoted
+ // bidding strategy.
+ CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CAMPAIGN_LEVEL_POP_BIDDING_STRATEGY = 23;
+
+ // Budget Optimizer and Target Spend bidding strategies are not supported
+ // for campaigns with AdSchedule targeting.
+ BIDDING_STRATEGY_NOT_SUPPORTED_WITH_AD_SCHEDULE = 24;
+
+ // Pay per conversion is not available to all the customer, only few
+ // whitelisted customers can use this.
+ PAY_PER_CONVERSION_NOT_AVAILABLE_FOR_CUSTOMER = 25;
+
+ // Pay per conversion is not allowed with Target CPA.
+ PAY_PER_CONVERSION_NOT_ALLOWED_WITH_TARGET_CPA = 26;
+
+ // Cannot set bidding strategy to Manual CPM for search network only
+ // campaigns.
+ BIDDING_STRATEGY_NOT_ALLOWED_FOR_SEARCH_ONLY_CAMPAIGNS = 27;
+
+ // The bidding strategy is not supported for use in drafts or experiments.
+ BIDDING_STRATEGY_NOT_SUPPORTED_IN_DRAFTS_OR_EXPERIMENTS = 28;
+
+ // Bidding strategy type does not support product type ad group criterion.
+ BIDDING_STRATEGY_TYPE_DOES_NOT_SUPPORT_PRODUCT_TYPE_ADGROUP_CRITERION = 29;
+
+ // Bid amount is too small.
+ BID_TOO_SMALL = 30;
+
+ // Bid amount is too big.
+ BID_TOO_BIG = 31;
+
+ // Bid has too many fractional digit precision.
+ BID_TOO_MANY_FRACTIONAL_DIGITS = 32;
+
+ // Invalid domain name specified.
+ INVALID_DOMAIN_NAME = 33;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/bidding_strategy_error.proto b/google/ads/googleads/v0/errors/bidding_strategy_error.proto
new file mode 100644
index 000000000..f3b34f665
--- /dev/null
+++ b/google/ads/googleads/v0/errors/bidding_strategy_error.proto
@@ -0,0 +1,54 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "BiddingStrategyErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing bidding strategy errors.
+
+// Container for enum describing possible bidding strategy errors.
+message BiddingStrategyErrorEnum {
+ // Enum describing possible bidding strategy errors.
+ enum BiddingStrategyError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Each bidding strategy must have a unique name.
+ DUPLICATE_NAME = 2;
+
+ // Bidding strategy type is immutable.
+ CANNOT_CHANGE_BIDDING_STRATEGY_TYPE = 3;
+
+ // Only bidding strategies not linked to campaigns, adgroups or adgroup
+ // criteria can be removed.
+ CANNOT_REMOVE_ASSOCIATED_STRATEGY = 4;
+
+ // The specified bidding strategy is not supported.
+ BIDDING_STRATEGY_NOT_SUPPORTED = 5;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/billing_setup_error.proto b/google/ads/googleads/v0/errors/billing_setup_error.proto
new file mode 100644
index 000000000..014e15113
--- /dev/null
+++ b/google/ads/googleads/v0/errors/billing_setup_error.proto
@@ -0,0 +1,98 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "BillingSetupErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing billing setup errors.
+
+// Container for enum describing possible billing setup errors.
+message BillingSetupErrorEnum {
+ // Enum describing possible billing setup errors.
+ enum BillingSetupError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Cannot use both an existing Payments account and a new Payments account
+ // when setting up billing.
+ CANNOT_USE_EXISTING_AND_NEW_ACCOUNT = 2;
+
+ // Cannot cancel an APPROVED billing setup whose start time has passed.
+ CANNOT_REMOVE_STARTED_BILLING_SETUP = 3;
+
+ // Cannot perform a Change of Bill-To (CBT) to the same Payments account.
+ CANNOT_CHANGE_BILLING_TO_SAME_PAYMENTS_ACCOUNT = 4;
+
+ // Billing Setups can only be used by customers with ENABLED or DRAFT
+ // status.
+ BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_STATUS = 5;
+
+ // Billing Setups must either include a correctly formatted existing
+ // Payments account id, or a non-empty new Payments account name.
+ INVALID_PAYMENTS_ACCOUNT = 6;
+
+ // Only billable and third party customers can create billing setups.
+ BILLING_SETUP_NOT_PERMITTED_FOR_CUSTOMER_CATEGORY = 7;
+
+ // Billing Setup creations can only use NOW for start time type.
+ INVALID_START_TIME_TYPE = 8;
+
+ // Billing Setups can only be created for a third party customer if they do
+ // not already have a setup.
+ THIRD_PARTY_ALREADY_HAS_BILLING = 9;
+
+ // Billing Setups cannot be created if there is already a pending billing in
+ // progress, ie. a billing known to Payments.
+ BILLING_SETUP_IN_PROGRESS = 10;
+
+ // Billing Setups can only be created by customers who have permission to
+ // setup billings. Users can contact a representative for help setting up
+ // permissions.
+ NO_SIGNUP_PERMISSION = 11;
+
+ // Billing Setups cannot be created if there is already a future-approved
+ // billing.
+ CHANGE_OF_BILL_TO_IN_PROGRESS = 12;
+
+ // Billing Setup creation failed because Payments could not find the
+ // requested Payments profile.
+ PAYMENTS_PROFILE_NOT_FOUND = 13;
+
+ // Billing Setup creation failed because Payments could not find the
+ // requested Payments account.
+ PAYMENTS_ACCOUNT_NOT_FOUND = 14;
+
+ // Billing Setup creation failed because Payments considers requested
+ // Payments profile ineligible.
+ PAYMENTS_PROFILE_INELIGIBLE = 15;
+
+ // Billing Setup creation failed because Payments considers requested
+ // Payments account ineligible.
+ PAYMENTS_ACCOUNT_INELIGIBLE = 16;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/campaign_budget_error.proto b/google/ads/googleads/v0/errors/campaign_budget_error.proto
new file mode 100644
index 000000000..4406fc380
--- /dev/null
+++ b/google/ads/googleads/v0/errors/campaign_budget_error.proto
@@ -0,0 +1,91 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignBudgetErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing campaign budget errors.
+
+// Container for enum describing possible campaign budget errors.
+message CampaignBudgetErrorEnum {
+ // Enum describing possible campaign budget errors.
+ enum CampaignBudgetError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The campaign budget cannot be shared.
+ CAMPAIGN_BUDGET_CANNOT_BE_SHARED = 17;
+
+ // The requested campaign budget no longer exists.
+ CAMPAIGN_BUDGET_REMOVED = 2;
+
+ // The campaign budget is associated with at least one campaign, and so the
+ // campaign budget cannot be removed.
+ CAMPAIGN_BUDGET_IN_USE = 3;
+
+ // Customer is not whitelisted for this campaign budget period.
+ CAMPAIGN_BUDGET_PERIOD_NOT_AVAILABLE = 4;
+
+ // This field is not mutable on implicitly shared campaign budgets
+ CANNOT_MODIFY_FIELD_OF_IMPLICITLY_SHARED_CAMPAIGN_BUDGET = 6;
+
+ // Cannot change explicitly shared campaign budgets back to implicitly
+ // shared ones.
+ CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_IMPLICITLY_SHARED = 7;
+
+ // An implicit campaign budget without a name cannot be changed to
+ // explicitly shared campaign budget.
+ CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED_WITHOUT_NAME = 8;
+
+ // Cannot change an implicitly shared campaign budget to an explicitly
+ // shared one.
+ CANNOT_UPDATE_CAMPAIGN_BUDGET_TO_EXPLICITLY_SHARED = 9;
+
+ // Only explicitly shared campaign budgets can be used with multiple
+ // campaigns.
+ CANNOT_USE_IMPLICITLY_SHARED_CAMPAIGN_BUDGET_WITH_MULTIPLE_CAMPAIGNS = 10;
+
+ // A campaign budget with this name already exists.
+ DUPLICATE_NAME = 11;
+
+ // A money amount was not in the expected currency.
+ MONEY_AMOUNT_IN_WRONG_CURRENCY = 12;
+
+ // A money amount was less than the minimum CPC for currency.
+ MONEY_AMOUNT_LESS_THAN_CURRENCY_MINIMUM_CPC = 13;
+
+ // A money amount was greater than the maximum allowed.
+ MONEY_AMOUNT_TOO_LARGE = 14;
+
+ // A money amount was negative.
+ NEGATIVE_MONEY_AMOUNT = 15;
+
+ // A money amount was not a multiple of a minimum unit.
+ NON_MULTIPLE_OF_MINIMUM_CURRENCY_UNIT = 16;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/campaign_criterion_error.proto b/google/ads/googleads/v0/errors/campaign_criterion_error.proto
new file mode 100644
index 000000000..af987e15a
--- /dev/null
+++ b/google/ads/googleads/v0/errors/campaign_criterion_error.proto
@@ -0,0 +1,78 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignCriterionErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing campaign criterion errors.
+
+// Container for enum describing possible campaign criterion errors.
+message CampaignCriterionErrorEnum {
+ // Enum describing possible campaign criterion errors.
+ enum CampaignCriterionError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Concrete type of criterion (keyword v.s. placement) is required for
+ // CREATE and UPDATE operations.
+ CONCRETE_TYPE_REQUIRED = 2;
+
+ // Invalid placement URL.
+ INVALID_PLACEMENT_URL = 3;
+
+ // Criteria type can not be excluded for the campaign by the customer. like
+ // AOL account type cannot target site type criteria
+ CANNOT_EXCLUDE_CRITERIA_TYPE = 4;
+
+ // Cannot set the campaign criterion status for this criteria type.
+ CANNOT_SET_STATUS_FOR_CRITERIA_TYPE = 5;
+
+ // Cannot set the campaign criterion status for an excluded criteria.
+ CANNOT_SET_STATUS_FOR_EXCLUDED_CRITERIA = 6;
+
+ // Cannot target and exclude the same criterion.
+ CANNOT_TARGET_AND_EXCLUDE = 7;
+
+ // The mutate contained too many operations.
+ TOO_MANY_OPERATIONS = 8;
+
+ // This operator cannot be applied to a criterion of this type.
+ OPERATOR_NOT_SUPPORTED_FOR_CRITERION_TYPE = 9;
+
+ // The Shopping campaign sales country is not supported for
+ // ProductSalesChannel targeting.
+ SHOPPING_CAMPAIGN_SALES_COUNTRY_NOT_SUPPORTED_FOR_SALES_CHANNEL = 10;
+
+ // The existing field can't be updated with CREATE operation. It can be
+ // updated with UPDATE operation only.
+ CANNOT_ADD_EXISTING_FIELD = 11;
+
+ // Negative criteria are immutable, so updates are not allowed.
+ CANNOT_UPDATE_NEGATIVE_CRITERION = 12;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/campaign_error.proto b/google/ads/googleads/v0/errors/campaign_error.proto
new file mode 100644
index 000000000..b834ba24f
--- /dev/null
+++ b/google/ads/googleads/v0/errors/campaign_error.proto
@@ -0,0 +1,161 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing campaign errors.
+
+// Container for enum describing possible campaign errors.
+message CampaignErrorEnum {
+ // Enum describing possible campaign errors.
+ enum CampaignError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Cannot target content network.
+ CANNOT_TARGET_CONTENT_NETWORK = 3;
+
+ // Cannot target search network.
+ CANNOT_TARGET_SEARCH_NETWORK = 4;
+
+ // Cannot cover search network without google search network.
+ CANNOT_TARGET_SEARCH_NETWORK_WITHOUT_GOOGLE_SEARCH = 5;
+
+ // Cannot target Google Search network for a CPM campaign.
+ CANNOT_TARGET_GOOGLE_SEARCH_FOR_CPM_CAMPAIGN = 6;
+
+ // Must target at least one network.
+ CAMPAIGN_MUST_TARGET_AT_LEAST_ONE_NETWORK = 7;
+
+ // Only some Google partners are allowed to target partner search network.
+ CANNOT_TARGET_PARTNER_SEARCH_NETWORK = 8;
+
+ // Cannot target content network only as campaign has criteria-level bidding
+ // strategy.
+ CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CRITERIA_LEVEL_BIDDING_STRATEGY = 9;
+
+ // Cannot modify the start or end date such that the campaign duration would
+ // not contain the durations of all runnable trials.
+ CAMPAIGN_DURATION_MUST_CONTAIN_ALL_RUNNABLE_TRIALS = 10;
+
+ // Cannot modify dates, budget or campaign name of a trial campaign.
+ CANNOT_MODIFY_FOR_TRIAL_CAMPAIGN = 11;
+
+ // Trying to modify the name of an active or paused campaign, where the name
+ // is already assigned to another active or paused campaign.
+ DUPLICATE_CAMPAIGN_NAME = 12;
+
+ // Two fields are in conflicting modes.
+ INCOMPATIBLE_CAMPAIGN_FIELD = 13;
+
+ // Campaign name cannot be used.
+ INVALID_CAMPAIGN_NAME = 14;
+
+ // Given status is invalid.
+ INVALID_AD_SERVING_OPTIMIZATION_STATUS = 15;
+
+ // Error in the campaign level tracking url.
+ INVALID_TRACKING_URL = 16;
+
+ // Cannot set both tracking url template and tracking setting. An user has
+ // to clear legacy tracking setting in order to add tracking url template.
+ CANNOT_SET_BOTH_TRACKING_URL_TEMPLATE_AND_TRACKING_SETTING = 17;
+
+ // The maximum number of impressions for Frequency Cap should be an integer
+ // greater than 0.
+ MAX_IMPRESSIONS_NOT_IN_RANGE = 18;
+
+ // Only the Day, Week and Month time units are supported.
+ TIME_UNIT_NOT_SUPPORTED = 19;
+
+ // Operation not allowed on a campaign whose serving status has ended
+ INVALID_OPERATION_IF_SERVING_STATUS_HAS_ENDED = 20;
+
+ // This budget is exclusively linked to a Campaign that is using experiments
+ // so it cannot be shared.
+ BUDGET_CANNOT_BE_SHARED = 21;
+
+ // Campaigns using experiments cannot use a shared budget.
+ CAMPAIGN_CANNOT_USE_SHARED_BUDGET = 22;
+
+ // A different budget cannot be assigned to a campaign when there are
+ // running or scheduled trials.
+ CANNOT_CHANGE_BUDGET_ON_CAMPAIGN_WITH_TRIALS = 23;
+
+ // No link found between the campaign and the label.
+ CAMPAIGN_LABEL_DOES_NOT_EXIST = 24;
+
+ // The label has already been attached to the campaign.
+ CAMPAIGN_LABEL_ALREADY_EXISTS = 25;
+
+ // A ShoppingSetting was not found when creating a shopping campaign.
+ MISSING_SHOPPING_SETTING = 26;
+
+ // The country in shopping setting is not an allowed country.
+ INVALID_SHOPPING_SALES_COUNTRY = 27;
+
+ // A Campaign with channel sub type UNIVERSAL_APP_CAMPAIGN must have a
+ // UniversalAppCampaignSetting specified.
+ MISSING_UNIVERSAL_APP_CAMPAIGN_SETTING = 30;
+
+ // The requested channel type is not available according to the customer's
+ // account setting.
+ ADVERTISING_CHANNEL_TYPE_NOT_AVAILABLE_FOR_ACCOUNT_TYPE = 31;
+
+ // The AdvertisingChannelSubType is not a valid subtype of the primary
+ // channel type.
+ INVALID_ADVERTISING_CHANNEL_SUB_TYPE = 32;
+
+ // At least one conversion must be selected.
+ AT_LEAST_ONE_CONVERSION_MUST_BE_SELECTED = 33;
+
+ // Setting ad rotation mode for a campaign is not allowed. Ad rotation mode
+ // at campaign is deprecated.
+ CANNOT_SET_AD_ROTATION_MODE = 34;
+
+ // Trying to change start date on a campaign that has started.
+ CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED = 35;
+
+ // Trying to modify a date into the past.
+ CANNOT_SET_DATE_TO_PAST = 36;
+
+ // Hotel center id in the hotel setting does not match any customer links.
+ MISSING_HOTEL_CUSTOMER_LINK = 37;
+
+ // Hotel center id in the hotel setting must match an active customer link.
+ INVALID_HOTEL_CUSTOMER_LINK = 38;
+
+ // Hotel setting was not found when creating a hotel ads campaign.
+ MISSING_HOTEL_SETTING = 39;
+
+ // A Campaign cannot use shared campaign budgets and be part of a campaign
+ // group.
+ CANNOT_USE_SHARED_CAMPAIGN_BUDGET_WHILE_PART_OF_CAMPAIGN_GROUP = 40;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/campaign_feed_error.proto b/google/ads/googleads/v0/errors/campaign_feed_error.proto
new file mode 100644
index 000000000..84dfa59e4
--- /dev/null
+++ b/google/ads/googleads/v0/errors/campaign_feed_error.proto
@@ -0,0 +1,60 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignFeedErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing campaign feed errors.
+
+// Container for enum describing possible campaign feed errors.
+message CampaignFeedErrorEnum {
+ // Enum describing possible campaign feed errors.
+ enum CampaignFeedError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // An active feed already exists for this campaign and placeholder type.
+ FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2;
+
+ // The specified feed is removed.
+ CANNOT_CREATE_FOR_REMOVED_FEED = 4;
+
+ // The CampaignFeed already exists. UPDATE should be used to modify the
+ // existing CampaignFeed.
+ CANNOT_CREATE_ALREADY_EXISTING_CAMPAIGN_FEED = 5;
+
+ // Cannot update removed campaign feed.
+ CANNOT_MODIFY_REMOVED_CAMPAIGN_FEED = 6;
+
+ // Invalid placeholder type.
+ INVALID_PLACEHOLDER_TYPE = 7;
+
+ // Feed mapping for this placeholder type does not exist.
+ MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 8;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/campaign_group_error.proto b/google/ads/googleads/v0/errors/campaign_group_error.proto
new file mode 100644
index 000000000..59ef06478
--- /dev/null
+++ b/google/ads/googleads/v0/errors/campaign_group_error.proto
@@ -0,0 +1,51 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignGroupErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing campaign group errors.
+
+// Container for enum describing possible campaign group errors.
+message CampaignGroupErrorEnum {
+ // Enum describing possible campaign group errors.
+ enum CampaignGroupError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // CampaignGroup was removed with ENABLED or PAUSED Campaigns associated
+ // with it.
+ CANNOT_REMOVE_CAMPAIGN_GROUP_WITH_ENABLED_OR_PAUSED_CAMPAIGNS = 2;
+
+ // CampaignGroup with the given name already exists.
+ DUPLICATE_NAME = 3;
+
+ // Cannot modify a removed campaign group.
+ CANNOT_MODIFY_REMOVED_CAMPAIGN_GROUP = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/campaign_shared_set_error.proto b/google/ads/googleads/v0/errors/campaign_shared_set_error.proto
new file mode 100644
index 000000000..24930f12f
--- /dev/null
+++ b/google/ads/googleads/v0/errors/campaign_shared_set_error.proto
@@ -0,0 +1,44 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignSharedSetErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing campaign shared set errors.
+
+// Container for enum describing possible campaign shared set errors.
+message CampaignSharedSetErrorEnum {
+ // Enum describing possible campaign shared set errors.
+ enum CampaignSharedSetError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The shared set belongs to another customer and permission isn't granted.
+ SHARED_SET_ACCESS_DENIED = 2;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/change_status_error.proto b/google/ads/googleads/v0/errors/change_status_error.proto
new file mode 100644
index 000000000..33ab4df31
--- /dev/null
+++ b/google/ads/googleads/v0/errors/change_status_error.proto
@@ -0,0 +1,44 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "ChangeStatusErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing change status errors.
+
+// Container for enum describing possible change status errors.
+message ChangeStatusErrorEnum {
+ // Enum describing possible change status errors.
+ enum ChangeStatusError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The requested start date is too old.
+ START_DATE_TOO_OLD = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/collection_size_error.proto b/google/ads/googleads/v0/errors/collection_size_error.proto
new file mode 100644
index 000000000..5c458e744
--- /dev/null
+++ b/google/ads/googleads/v0/errors/collection_size_error.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "CollectionSizeErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing collection size errors.
+
+// Container for enum describing possible collection size errors.
+message CollectionSizeErrorEnum {
+ // Enum describing possible collection size errors.
+ enum CollectionSizeError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Too few.
+ TOO_FEW = 2;
+
+ // Too many.
+ TOO_MANY = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/context_error.proto b/google/ads/googleads/v0/errors/context_error.proto
new file mode 100644
index 000000000..3ab92577f
--- /dev/null
+++ b/google/ads/googleads/v0/errors/context_error.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "ContextErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing context errors.
+
+// Container for enum describing possible context errors.
+message ContextErrorEnum {
+ // Enum describing possible context errors.
+ enum ContextError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The operation is not allowed for the given context.
+ OPERATION_NOT_PERMITTED_FOR_CONTEXT = 2;
+
+ // The operation is not allowed for removed resources.
+ OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/conversion_action_error.proto b/google/ads/googleads/v0/errors/conversion_action_error.proto
new file mode 100644
index 000000000..b20001ef6
--- /dev/null
+++ b/google/ads/googleads/v0/errors/conversion_action_error.proto
@@ -0,0 +1,72 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "ConversionActionErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing conversion action errors.
+
+// Container for enum describing possible conversion action errors.
+message ConversionActionErrorEnum {
+ // Enum describing possible conversion action errors.
+ enum ConversionActionError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The specified conversion action name already exists.
+ DUPLICATE_NAME = 2;
+
+ // Another conversion action with the specified app id already exists.
+ DUPLICATE_APP_ID = 3;
+
+ // Android first open action conflicts with Google play codeless download
+ // action tracking the same app.
+ TWO_CONVERSION_ACTIONS_BIDDING_ON_SAME_APP_DOWNLOAD = 4;
+
+ // Android first open action conflicts with Google play codeless download
+ // action tracking the same app.
+ BIDDING_ON_SAME_APP_DOWNLOAD_AS_GLOBAL_ACTION = 5;
+
+ // The attribution model cannot be set to DATA_DRIVEN because a data-driven
+ // model has never been generated.
+ DATA_DRIVEN_MODEL_WAS_NEVER_GENERATED = 6;
+
+ // The attribution model cannot be set to DATA_DRIVEN because the
+ // data-driven model is expired.
+ DATA_DRIVEN_MODEL_EXPIRED = 7;
+
+ // The attribution model cannot be set to DATA_DRIVEN because the
+ // data-driven model is stale.
+ DATA_DRIVEN_MODEL_STALE = 8;
+
+ // The attribution model cannot be set to DATA_DRIVEN because the
+ // data-driven model is unavailable or the conversion action was newly
+ // added.
+ DATA_DRIVEN_MODEL_UNKNOWN = 9;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/criterion_error.proto b/google/ads/googleads/v0/errors/criterion_error.proto
new file mode 100644
index 000000000..f7d8ace57
--- /dev/null
+++ b/google/ads/googleads/v0/errors/criterion_error.proto
@@ -0,0 +1,322 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "CriterionErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing criterion errors.
+
+// Container for enum describing possible criterion errors.
+message CriterionErrorEnum {
+ // Enum describing possible criterion errors.
+ enum CriterionError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Concrete type of criterion is required for CREATE and UPDATE operations.
+ CONCRETE_TYPE_REQUIRED = 2;
+
+ // The category requested for exclusion is invalid.
+ INVALID_EXCLUDED_CATEGORY = 3;
+
+ // Invalid keyword criteria text.
+ INVALID_KEYWORD_TEXT = 4;
+
+ // Keyword text should be less than 80 chars.
+ KEYWORD_TEXT_TOO_LONG = 5;
+
+ // Keyword text has too many words.
+ KEYWORD_HAS_TOO_MANY_WORDS = 6;
+
+ // Keyword text has invalid characters or symbols.
+ KEYWORD_HAS_INVALID_CHARS = 7;
+
+ // Invalid placement URL.
+ INVALID_PLACEMENT_URL = 8;
+
+ // Invalid user list criterion.
+ INVALID_USER_LIST = 9;
+
+ // Invalid user interest criterion.
+ INVALID_USER_INTEREST = 10;
+
+ // Placement URL has wrong format.
+ INVALID_FORMAT_FOR_PLACEMENT_URL = 11;
+
+ // Placement URL is too long.
+ PLACEMENT_URL_IS_TOO_LONG = 12;
+
+ // Indicates the URL contains an illegal character.
+ PLACEMENT_URL_HAS_ILLEGAL_CHAR = 13;
+
+ // Indicates the URL contains multiple comma separated URLs.
+ PLACEMENT_URL_HAS_MULTIPLE_SITES_IN_LINE = 14;
+
+ // Indicates the domain is blacklisted.
+ PLACEMENT_IS_NOT_AVAILABLE_FOR_TARGETING_OR_EXCLUSION = 15;
+
+ // Invalid topic path.
+ INVALID_TOPIC_PATH = 16;
+
+ // The YouTube Channel Id is invalid.
+ INVALID_YOUTUBE_CHANNEL_ID = 17;
+
+ // The YouTube Video Id is invalid.
+ INVALID_YOUTUBE_VIDEO_ID = 18;
+
+ // Indicates the placement is a YouTube vertical channel, which is no longer
+ // supported.
+ YOUTUBE_VERTICAL_CHANNEL_DEPRECATED = 19;
+
+ // Indicates the placement is a YouTube demographic channel, which is no
+ // longer supported.
+ YOUTUBE_DEMOGRAPHIC_CHANNEL_DEPRECATED = 20;
+
+ // YouTube urls are not supported in Placement criterion. Use YouTubeChannel
+ // and YouTubeVideo criterion instead.
+ YOUTUBE_URL_UNSUPPORTED = 21;
+
+ // Criteria type can not be excluded by the customer, like AOL account type
+ // cannot target site type criteria.
+ CANNOT_EXCLUDE_CRITERIA_TYPE = 22;
+
+ // Criteria type can not be targeted.
+ CANNOT_ADD_CRITERIA_TYPE = 23;
+
+ // Product filter in the product criteria has invalid characters. Operand
+ // and the argument in the filter can not have "==" or "&+".
+ INVALID_PRODUCT_FILTER = 24;
+
+ // Product filter in the product criteria is translated to a string as
+ // operand1==argument1&+operand2==argument2, maximum allowed length for the
+ // string is 255 chars.
+ PRODUCT_FILTER_TOO_LONG = 25;
+
+ // Not allowed to exclude similar user list.
+ CANNOT_EXCLUDE_SIMILAR_USER_LIST = 26;
+
+ // Not allowed to target a closed user list.
+ CANNOT_ADD_CLOSED_USER_LIST = 27;
+
+ // Not allowed to add display only UserLists to search only campaigns.
+ CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_ONLY_CAMPAIGNS = 28;
+
+ // Not allowed to add display only UserLists to search plus campaigns.
+ CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SEARCH_CAMPAIGNS = 29;
+
+ // Not allowed to add display only UserLists to shopping campaigns.
+ CANNOT_ADD_DISPLAY_ONLY_LISTS_TO_SHOPPING_CAMPAIGNS = 30;
+
+ // Not allowed to add User interests to search only campaigns.
+ CANNOT_ADD_USER_INTERESTS_TO_SEARCH_CAMPAIGNS = 31;
+
+ // Not allowed to set bids for this criterion type in search campaigns
+ CANNOT_SET_BIDS_ON_CRITERION_TYPE_IN_SEARCH_CAMPAIGNS = 32;
+
+ // Final URLs, URL Templates and CustomParameters cannot be set for the
+ // criterion types of Gender, AgeRange, UserList, Placement, MobileApp, and
+ // MobileAppCategory in search campaigns and shopping campaigns.
+ CANNOT_ADD_URLS_TO_CRITERION_TYPE_FOR_CAMPAIGN_TYPE = 33;
+
+ // IP address is not valid.
+ INVALID_IP_ADDRESS = 34;
+
+ // IP format is not valid.
+ INVALID_IP_FORMAT = 35;
+
+ // Mobile application is not valid.
+ INVALID_MOBILE_APP = 36;
+
+ // Mobile application category is not valid.
+ INVALID_MOBILE_APP_CATEGORY = 37;
+
+ // The CriterionId does not exist or is of the incorrect type.
+ INVALID_CRITERION_ID = 38;
+
+ // The Criterion is not allowed to be targeted.
+ CANNOT_TARGET_CRITERION = 39;
+
+ // The criterion is not allowed to be targeted as it is deprecated.
+ CANNOT_TARGET_OBSOLETE_CRITERION = 40;
+
+ // The CriterionId is not valid for the type.
+ CRITERION_ID_AND_TYPE_MISMATCH = 41;
+
+ // Distance for the radius for the proximity criterion is invalid.
+ INVALID_PROXIMITY_RADIUS = 42;
+
+ // Units for the distance for the radius for the proximity criterion is
+ // invalid.
+ INVALID_PROXIMITY_RADIUS_UNITS = 43;
+
+ // Street address in the address is not valid.
+ INVALID_STREETADDRESS_LENGTH = 44;
+
+ // City name in the address is not valid.
+ INVALID_CITYNAME_LENGTH = 45;
+
+ // Region code in the address is not valid.
+ INVALID_REGIONCODE_LENGTH = 46;
+
+ // Region name in the address is not valid.
+ INVALID_REGIONNAME_LENGTH = 47;
+
+ // Postal code in the address is not valid.
+ INVALID_POSTALCODE_LENGTH = 48;
+
+ // Country code in the address is not valid.
+ INVALID_COUNTRY_CODE = 49;
+
+ // Latitude for the GeoPoint is not valid.
+ INVALID_LATITUDE = 50;
+
+ // Longitude for the GeoPoint is not valid.
+ INVALID_LONGITUDE = 51;
+
+ // The Proximity input is not valid. Both address and geoPoint cannot be
+ // null.
+ PROXIMITY_GEOPOINT_AND_ADDRESS_BOTH_CANNOT_BE_NULL = 52;
+
+ // The Proximity address cannot be geocoded to a valid lat/long.
+ INVALID_PROXIMITY_ADDRESS = 53;
+
+ // User domain name is not valid.
+ INVALID_USER_DOMAIN_NAME = 54;
+
+ // Length of serialized criterion parameter exceeded size limit.
+ CRITERION_PARAMETER_TOO_LONG = 55;
+
+ // Time interval in the AdSchedule overlaps with another AdSchedule.
+ AD_SCHEDULE_TIME_INTERVALS_OVERLAP = 56;
+
+ // AdSchedule time interval cannot span multiple days.
+ AD_SCHEDULE_INTERVAL_CANNOT_SPAN_MULTIPLE_DAYS = 57;
+
+ // AdSchedule time interval specified is invalid, endTime cannot be earlier
+ // than startTime.
+ AD_SCHEDULE_INVALID_TIME_INTERVAL = 58;
+
+ // The number of AdSchedule entries in a day exceeds the limit.
+ AD_SCHEDULE_EXCEEDED_INTERVALS_PER_DAY_LIMIT = 59;
+
+ // CriteriaId does not match the interval of the AdSchedule specified.
+ AD_SCHEDULE_CRITERION_ID_MISMATCHING_FIELDS = 60;
+
+ // Cannot set bid modifier for this criterion type.
+ CANNOT_BID_MODIFY_CRITERION_TYPE = 61;
+
+ // Cannot bid modify criterion, since it is opted out of the campaign.
+ CANNOT_BID_MODIFY_CRITERION_CAMPAIGN_OPTED_OUT = 62;
+
+ // Cannot set bid modifier for a negative criterion.
+ CANNOT_BID_MODIFY_NEGATIVE_CRITERION = 63;
+
+ // Bid Modifier already exists. Use SET operation to update.
+ BID_MODIFIER_ALREADY_EXISTS = 64;
+
+ // Feed Id is not allowed in these Location Groups.
+ FEED_ID_NOT_ALLOWED = 65;
+
+ // The account may not use the requested criteria type. For example, some
+ // accounts are restricted to keywords only.
+ ACCOUNT_INELIGIBLE_FOR_CRITERIA_TYPE = 66;
+
+ // The requested criteria type cannot be used with campaign or ad group
+ // bidding strategy.
+ CRITERIA_TYPE_INVALID_FOR_BIDDING_STRATEGY = 67;
+
+ // The Criterion is not allowed to be excluded.
+ CANNOT_EXCLUDE_CRITERION = 68;
+
+ // The criterion is not allowed to be removed. For example, we cannot remove
+ // any of the device criterion.
+ CANNOT_REMOVE_CRITERION = 69;
+
+ // The combined length of product dimension values of the product scope
+ // criterion is too long.
+ PRODUCT_SCOPE_TOO_LONG = 70;
+
+ // Product scope contains too many dimensions.
+ PRODUCT_SCOPE_TOO_MANY_DIMENSIONS = 71;
+
+ // The combined length of product dimension values of the product partition
+ // criterion is too long.
+ PRODUCT_PARTITION_TOO_LONG = 72;
+
+ // Product partition contains too many dimensions.
+ PRODUCT_PARTITION_TOO_MANY_DIMENSIONS = 73;
+
+ // The product dimension is invalid (e.g. dimension contains illegal value,
+ // dimension type is represented with wrong class, etc). Product dimension
+ // value can not contain "==" or "&+".
+ INVALID_PRODUCT_DIMENSION = 74;
+
+ // Product dimension type is either invalid for campaigns of this type or
+ // cannot be used in the current context. BIDDING_CATEGORY_Lx and
+ // PRODUCT_TYPE_Lx product dimensions must be used in ascending order of
+ // their levels: L1, L2, L3, L4, L5... The levels must be specified
+ // sequentially and start from L1. Furthermore, an "others" product
+ // partition cannot be subdivided with a dimension of the same type but of a
+ // higher level ("others" BIDDING_CATEGORY_L3 can be subdivided with BRAND
+ // but not with BIDDING_CATEGORY_L4).
+ INVALID_PRODUCT_DIMENSION_TYPE = 75;
+
+ // Bidding categories do not form a valid path in the Shopping bidding
+ // category taxonomy.
+ INVALID_PRODUCT_BIDDING_CATEGORY = 76;
+
+ // ShoppingSetting must be added to the campaign before ProductScope
+ // criteria can be added.
+ MISSING_SHOPPING_SETTING = 77;
+
+ // Matching function is invalid.
+ INVALID_MATCHING_FUNCTION = 78;
+
+ // Filter parameters not allowed for location groups targeting.
+ LOCATION_FILTER_NOT_ALLOWED = 79;
+
+ // Given location filter parameter is invalid for location groups targeting.
+ LOCATION_FILTER_INVALID = 80;
+
+ // Criteria type cannot be associated with a campaign and its ad group(s)
+ // simultaneously.
+ CANNOT_ATTACH_CRITERIA_AT_CAMPAIGN_AND_ADGROUP = 81;
+
+ // Range represented by hotel length of stay's min nights and max nights
+ // overlaps with an existing criterion.
+ HOTEL_LENGTH_OF_STAY_OVERLAPS_WITH_EXISTING_CRITERION = 82;
+
+ // Range represented by hotel advance booking window's min days and max days
+ // overlaps with an existing criterion.
+ HOTEL_ADVANCE_BOOKING_WINDOW_OVERLAPS_WITH_EXISTING_CRITERION = 83;
+
+ // The field is not allowed to be set when the negative field is set to
+ // true, e.g. we don't allow bids in negative ad group or campaign criteria.
+ FIELD_INCOMPATIBLE_WITH_NEGATIVE_TARGETING = 84;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/customer_client_link_error.proto b/google/ads/googleads/v0/errors/customer_client_link_error.proto
new file mode 100644
index 000000000..e6f6857d6
--- /dev/null
+++ b/google/ads/googleads/v0/errors/customer_client_link_error.proto
@@ -0,0 +1,62 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "CustomerClientLinkErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing CustomerClientLink errors.
+
+// Container for enum describing possible CustomeClientLink errors.
+message CustomerClientLinkErrorEnum {
+ // Enum describing possible CustomerClientLink errors.
+ enum CustomerClientLinkError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Trying to manage a client that already in being managed by customer.
+ CLIENT_ALREADY_INVITED_BY_THIS_MANAGER = 2;
+
+ // Already managed by some other manager in the hierarchy.
+ CLIENT_ALREADY_MANAGED_IN_HIERARCHY = 3;
+
+ // Attempt to create a cycle in the hierarchy.
+ CYCLIC_LINK_NOT_ALLOWED = 4;
+
+ // Managed accounts has the maximum number of linked accounts.
+ CUSTOMER_HAS_TOO_MANY_ACCOUNTS = 5;
+
+ // Invitor has the maximum pending invitations.
+ CLIENT_HAS_TOO_MANY_INVITATIONS = 6;
+
+ // Attempt to change hidden status of a link that is not active.
+ CANNOT_HIDE_OR_UNHIDE_MANAGER_ACCOUNTS = 7;
+
+ // Parent manager account has the maximum number of linked accounts.
+ CUSTOMER_HAS_TOO_MANY_ACCOUNTS_AT_MANAGER = 8;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/customer_error.proto b/google/ads/googleads/v0/errors/customer_error.proto
new file mode 100644
index 000000000..fb666f943
--- /dev/null
+++ b/google/ads/googleads/v0/errors/customer_error.proto
@@ -0,0 +1,50 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "CustomerErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+
+
+// Container for enum describing possible customer errors.
+message CustomerErrorEnum {
+ // Set of errors that are related to requests dealing with Customer.
+ // Next id: 26
+ enum CustomerError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Customer status is not allowed to be changed from DRAFT and CLOSED.
+ // Currency code and at least one of country code and time zone needs to be
+ // set when status is changed to ENABLED.
+ STATUS_CHANGE_DISALLOWED = 2;
+
+ // CustomerService cannot get a customer that has not been fully set up.
+ ACCOUNT_NOT_SET_UP = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/customer_feed_error.proto b/google/ads/googleads/v0/errors/customer_feed_error.proto
new file mode 100644
index 000000000..ae435b905
--- /dev/null
+++ b/google/ads/googleads/v0/errors/customer_feed_error.proto
@@ -0,0 +1,63 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "CustomerFeedErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing customer feed errors.
+
+// Container for enum describing possible customer feed errors.
+message CustomerFeedErrorEnum {
+ // Enum describing possible customer feed errors.
+ enum CustomerFeedError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // An active feed already exists for this customer and place holder type.
+ FEED_ALREADY_EXISTS_FOR_PLACEHOLDER_TYPE = 2;
+
+ // The specified feed is removed.
+ CANNOT_CREATE_FOR_REMOVED_FEED = 3;
+
+ // The CustomerFeed already exists. Update should be used to modify the
+ // existing CustomerFeed.
+ CANNOT_CREATE_ALREADY_EXISTING_CUSTOMER_FEED = 4;
+
+ // Cannot update removed customer feed.
+ CANNOT_MODIFY_REMOVED_CUSTOMER_FEED = 5;
+
+ // Invalid placeholder type.
+ INVALID_PLACEHOLDER_TYPE = 6;
+
+ // Feed mapping for this placeholder type does not exist.
+ MISSING_FEEDMAPPING_FOR_PLACEHOLDER_TYPE = 7;
+
+ // Placeholder not allowed at the account level.
+ PLACEHOLDER_TYPE_NOT_ALLOWED_ON_CUSTOMER_FEED = 8;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/customer_manager_link_error.proto b/google/ads/googleads/v0/errors/customer_manager_link_error.proto
new file mode 100644
index 000000000..ba8aa545e
--- /dev/null
+++ b/google/ads/googleads/v0/errors/customer_manager_link_error.proto
@@ -0,0 +1,68 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "CustomerManagerLinkErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing CustomerManagerLink errors.
+
+// Container for enum describing possible CustomerManagerLink errors.
+message CustomerManagerLinkErrorEnum {
+ // Enum describing possible CustomerManagerLink errors.
+ enum CustomerManagerLinkError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // No pending invitation.
+ NO_PENDING_INVITE = 2;
+
+ // Attempt to operate on the same client more than once in the same call.
+ SAME_CLIENT_MORE_THAN_ONCE_PER_CALL = 3;
+
+ // Manager account has the maximum number of linked accounts.
+ MANAGER_HAS_MAX_NUMBER_OF_LINKED_ACCOUNTS = 4;
+
+ // If no active user on account it cannot be unlinked from its manager.
+ CANNOT_UNLINK_ACCOUNT_WITHOUT_ACTIVE_USER = 5;
+
+ // Account should have at least one active owner on it before being
+ // unlinked.
+ CANNOT_REMOVE_LAST_CLIENT_ACCOUNT_OWNER = 6;
+
+ // Only account owners may change their permission role.
+ CANNOT_CHANGE_ROLE_BY_NON_ACCOUNT_OWNER = 7;
+
+ // When a client's link to its manager is not active, the link role cannot
+ // be changed.
+ CANNOT_CHANGE_ROLE_FOR_NON_ACTIVE_LINK_ACCOUNT = 8;
+
+ // Attempt to link a child to a parent that contains or will contain
+ // duplicate children.
+ DUPLICATE_CHILD_FOUND = 9;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/database_error.proto b/google/ads/googleads/v0/errors/database_error.proto
new file mode 100644
index 000000000..9bc931559
--- /dev/null
+++ b/google/ads/googleads/v0/errors/database_error.proto
@@ -0,0 +1,45 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "DatabaseErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing database errors.
+
+// Container for enum describing possible database errors.
+message DatabaseErrorEnum {
+ // Enum describing possible database errors.
+ enum DatabaseError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Multiple requests were attempting to modify the same resource at once.
+ // Please retry the request.
+ CONCURRENT_MODIFICATION = 2;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/date_error.proto b/google/ads/googleads/v0/errors/date_error.proto
new file mode 100644
index 000000000..0510a0aaf
--- /dev/null
+++ b/google/ads/googleads/v0/errors/date_error.proto
@@ -0,0 +1,68 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "DateErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing date errors.
+
+// Container for enum describing possible date errors.
+message DateErrorEnum {
+ // Enum describing possible date errors.
+ enum DateError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Given field values do not correspond to a valid date.
+ INVALID_FIELD_VALUES_IN_DATE = 2;
+
+ // Given field values do not correspond to a valid date time.
+ INVALID_FIELD_VALUES_IN_DATE_TIME = 3;
+
+ // The string date's format should be yyyy-mm-dd.
+ INVALID_STRING_DATE = 4;
+
+ // The string date time's format should be yyyy-mm-dd hh:mm:ss.ssssss.
+ INVALID_STRING_DATE_TIME_MICROS = 6;
+
+ // The string date time's format should be yyyy-mm-dd hh:mm:ss.
+ INVALID_STRING_DATE_TIME_SECONDS = 11;
+
+ // Date is before allowed minimum.
+ EARLIER_THAN_MINIMUM_DATE = 7;
+
+ // Date is after allowed maximum.
+ LATER_THAN_MAXIMUM_DATE = 8;
+
+ // Date range bounds are not in order.
+ DATE_RANGE_MINIMUM_DATE_LATER_THAN_MAXIMUM_DATE = 9;
+
+ // Both dates in range are null.
+ DATE_RANGE_MINIMUM_AND_MAXIMUM_DATES_BOTH_NULL = 10;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/date_range_error.proto b/google/ads/googleads/v0/errors/date_range_error.proto
new file mode 100644
index 000000000..3ddcd4639
--- /dev/null
+++ b/google/ads/googleads/v0/errors/date_range_error.proto
@@ -0,0 +1,56 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "DateRangeErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing date range errors.
+
+// Container for enum describing possible date range errors.
+message DateRangeErrorEnum {
+ // Enum describing possible date range errors.
+ enum DateRangeError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Invalid date.
+ INVALID_DATE = 2;
+
+ // The start date was after the end date.
+ START_DATE_AFTER_END_DATE = 3;
+
+ // Cannot set date to past time
+ CANNOT_SET_DATE_TO_PAST = 4;
+
+ // A date was used that is past the system "last" date.
+ AFTER_MAXIMUM_ALLOWABLE_DATE = 5;
+
+ // Trying to change start date on a campaign that has started.
+ CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED = 6;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/distinct_error.proto b/google/ads/googleads/v0/errors/distinct_error.proto
new file mode 100644
index 000000000..b9329f629
--- /dev/null
+++ b/google/ads/googleads/v0/errors/distinct_error.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "DistinctErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing distinct errors.
+
+// Container for enum describing possible distinct errors.
+message DistinctErrorEnum {
+ // Enum describing possible distinct errors.
+ enum DistinctError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Duplicate element.
+ DUPLICATE_ELEMENT = 2;
+
+ // Duplicate type.
+ DUPLICATE_TYPE = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/enum_error.proto b/google/ads/googleads/v0/errors/enum_error.proto
new file mode 100644
index 000000000..a09e2c6b7
--- /dev/null
+++ b/google/ads/googleads/v0/errors/enum_error.proto
@@ -0,0 +1,44 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "EnumErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing enum errors.
+
+// Container for enum describing possible enum errors.
+message EnumErrorEnum {
+ // Enum describing possible enum errors.
+ enum EnumError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The enum value is not permitted.
+ ENUM_VALUE_NOT_PERMITTED = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/errors.proto b/google/ads/googleads/v0/errors/errors.proto
new file mode 100644
index 000000000..cef2e7dfa
--- /dev/null
+++ b/google/ads/googleads/v0/errors/errors.proto
@@ -0,0 +1,442 @@
+// Copyright 2018 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.v0.errors;
+
+import "google/ads/googleads/v0/common/policy.proto";
+import "google/ads/googleads/v0/common/value.proto";
+import "google/ads/googleads/v0/errors/account_budget_proposal_error.proto";
+import "google/ads/googleads/v0/errors/ad_customizer_error.proto";
+import "google/ads/googleads/v0/errors/ad_error.proto";
+import "google/ads/googleads/v0/errors/ad_group_ad_error.proto";
+import "google/ads/googleads/v0/errors/ad_group_bid_modifier_error.proto";
+import "google/ads/googleads/v0/errors/ad_group_criterion_error.proto";
+import "google/ads/googleads/v0/errors/ad_group_error.proto";
+import "google/ads/googleads/v0/errors/ad_group_feed_error.proto";
+import "google/ads/googleads/v0/errors/ad_sharing_error.proto";
+import "google/ads/googleads/v0/errors/adx_error.proto";
+import "google/ads/googleads/v0/errors/authentication_error.proto";
+import "google/ads/googleads/v0/errors/authorization_error.proto";
+import "google/ads/googleads/v0/errors/bidding_error.proto";
+import "google/ads/googleads/v0/errors/bidding_strategy_error.proto";
+import "google/ads/googleads/v0/errors/billing_setup_error.proto";
+import "google/ads/googleads/v0/errors/campaign_budget_error.proto";
+import "google/ads/googleads/v0/errors/campaign_criterion_error.proto";
+import "google/ads/googleads/v0/errors/campaign_error.proto";
+import "google/ads/googleads/v0/errors/campaign_feed_error.proto";
+import "google/ads/googleads/v0/errors/campaign_group_error.proto";
+import "google/ads/googleads/v0/errors/campaign_shared_set_error.proto";
+import "google/ads/googleads/v0/errors/change_status_error.proto";
+import "google/ads/googleads/v0/errors/collection_size_error.proto";
+import "google/ads/googleads/v0/errors/context_error.proto";
+import "google/ads/googleads/v0/errors/conversion_action_error.proto";
+import "google/ads/googleads/v0/errors/criterion_error.proto";
+import "google/ads/googleads/v0/errors/customer_client_link_error.proto";
+import "google/ads/googleads/v0/errors/customer_error.proto";
+import "google/ads/googleads/v0/errors/customer_feed_error.proto";
+import "google/ads/googleads/v0/errors/customer_manager_link_error.proto";
+import "google/ads/googleads/v0/errors/database_error.proto";
+import "google/ads/googleads/v0/errors/date_error.proto";
+import "google/ads/googleads/v0/errors/date_range_error.proto";
+import "google/ads/googleads/v0/errors/distinct_error.proto";
+import "google/ads/googleads/v0/errors/enum_error.proto";
+import "google/ads/googleads/v0/errors/feed_attribute_reference_error.proto";
+import "google/ads/googleads/v0/errors/feed_error.proto";
+import "google/ads/googleads/v0/errors/feed_item_error.proto";
+import "google/ads/googleads/v0/errors/feed_mapping_error.proto";
+import "google/ads/googleads/v0/errors/field_error.proto";
+import "google/ads/googleads/v0/errors/field_mask_error.proto";
+import "google/ads/googleads/v0/errors/function_error.proto";
+import "google/ads/googleads/v0/errors/function_parsing_error.proto";
+import "google/ads/googleads/v0/errors/geo_target_constant_suggestion_error.proto";
+import "google/ads/googleads/v0/errors/header_error.proto";
+import "google/ads/googleads/v0/errors/id_error.proto";
+import "google/ads/googleads/v0/errors/image_error.proto";
+import "google/ads/googleads/v0/errors/internal_error.proto";
+import "google/ads/googleads/v0/errors/keyword_plan_ad_group_error.proto";
+import "google/ads/googleads/v0/errors/keyword_plan_campaign_error.proto";
+import "google/ads/googleads/v0/errors/keyword_plan_error.proto";
+import "google/ads/googleads/v0/errors/keyword_plan_idea_error.proto";
+import "google/ads/googleads/v0/errors/keyword_plan_keyword_error.proto";
+import "google/ads/googleads/v0/errors/keyword_plan_negative_keyword_error.proto";
+import "google/ads/googleads/v0/errors/list_operation_error.proto";
+import "google/ads/googleads/v0/errors/media_bundle_error.proto";
+import "google/ads/googleads/v0/errors/media_file_error.proto";
+import "google/ads/googleads/v0/errors/multiplier_error.proto";
+import "google/ads/googleads/v0/errors/mutate_error.proto";
+import "google/ads/googleads/v0/errors/new_resource_creation_error.proto";
+import "google/ads/googleads/v0/errors/not_empty_error.proto";
+import "google/ads/googleads/v0/errors/null_error.proto";
+import "google/ads/googleads/v0/errors/operation_access_denied_error.proto";
+import "google/ads/googleads/v0/errors/operator_error.proto";
+import "google/ads/googleads/v0/errors/policy_finding_error.proto";
+import "google/ads/googleads/v0/errors/query_error.proto";
+import "google/ads/googleads/v0/errors/quota_error.proto";
+import "google/ads/googleads/v0/errors/range_error.proto";
+import "google/ads/googleads/v0/errors/recommendation_error.proto";
+import "google/ads/googleads/v0/errors/region_code_error.proto";
+import "google/ads/googleads/v0/errors/request_error.proto";
+import "google/ads/googleads/v0/errors/resource_access_denied_error.proto";
+import "google/ads/googleads/v0/errors/resource_count_limit_exceeded_error.proto";
+import "google/ads/googleads/v0/errors/setting_error.proto";
+import "google/ads/googleads/v0/errors/shared_criterion_error.proto";
+import "google/ads/googleads/v0/errors/shared_set_error.proto";
+import "google/ads/googleads/v0/errors/string_format_error.proto";
+import "google/ads/googleads/v0/errors/string_length_error.proto";
+import "google/ads/googleads/v0/errors/url_field_error.proto";
+import "google/ads/googleads/v0/errors/user_list_error.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "ErrorsProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing the common error protos
+
+// Describes how a GoogleAds API call failed. It's returned inside
+// google.rpc.Status.details when a call fails.
+message GoogleAdsFailure {
+ // The list of errors that occurred.
+ repeated GoogleAdsError errors = 1;
+}
+
+// GoogleAds-specific error.
+message GoogleAdsError {
+ // An enum value that indicates which error occurred.
+ ErrorCode error_code = 1;
+
+ // A human-readable description of the error.
+ string message = 2;
+
+ // The value that triggered the error.
+ google.ads.googleads.v0.common.Value trigger = 3;
+
+ // Describes the part of the request proto that caused the error.
+ ErrorLocation location = 4;
+
+ // Additional error details, which are returned by certain error codes. Most
+ // error codes do not include details.
+ ErrorDetails details = 5;
+}
+
+// The error reason represented by type and enum.
+message ErrorCode {
+ // The list of error enums
+ oneof error_code {
+ // An error caused by the request
+ RequestErrorEnum.RequestError request_error = 1;
+
+ // An error with a Bidding Strategy mutate.
+ BiddingStrategyErrorEnum.BiddingStrategyError bidding_strategy_error = 2;
+
+ // An error with a URL field mutate.
+ UrlFieldErrorEnum.UrlFieldError url_field_error = 3;
+
+ // An error with a list operation.
+ ListOperationErrorEnum.ListOperationError list_operation_error = 4;
+
+ // An error with an AWQL query
+ QueryErrorEnum.QueryError query_error = 5;
+
+ // An error with a mutate
+ MutateErrorEnum.MutateError mutate_error = 7;
+
+ // An error with a field mask
+ FieldMaskErrorEnum.FieldMaskError field_mask_error = 8;
+
+ // An error encountered when trying to authorize a user.
+ AuthorizationErrorEnum.AuthorizationError authorization_error = 9;
+
+ // An unexpected server-side error.
+ InternalErrorEnum.InternalError internal_error = 10;
+
+ // An error with the amonut of quota remaining.
+ QuotaErrorEnum.QuotaError quota_error = 11;
+
+ // An error with an Ad Group Ad mutate.
+ AdErrorEnum.AdError ad_error = 12;
+
+ // An error with an Ad Group mutate.
+ AdGroupErrorEnum.AdGroupError ad_group_error = 13;
+
+ // An error with a Campaign Budget mutate.
+ CampaignBudgetErrorEnum.CampaignBudgetError campaign_budget_error = 14;
+
+ // An error with a Campaign mutate.
+ CampaignErrorEnum.CampaignError campaign_error = 15;
+
+ // Indicates failure to properly authenticate user.
+ AuthenticationErrorEnum.AuthenticationError authentication_error = 17;
+
+ // Indicates failure to properly authenticate user.
+ AdGroupCriterionErrorEnum.AdGroupCriterionError ad_group_criterion_error = 18;
+
+ // The reasons for the ad customizer error
+ AdCustomizerErrorEnum.AdCustomizerError ad_customizer_error = 19;
+
+ // The reasons for the ad group ad error
+ AdGroupAdErrorEnum.AdGroupAdError ad_group_ad_error = 21;
+
+ // The reasons for the ad sharing error
+ AdSharingErrorEnum.AdSharingError ad_sharing_error = 24;
+
+ // The reasons for the adx error
+ AdxErrorEnum.AdxError adx_error = 25;
+
+ // The reasons for the bidding errors
+ BiddingErrorEnum.BiddingError bidding_error = 26;
+
+ // The reasons for the campaign criterion error
+ CampaignCriterionErrorEnum.CampaignCriterionError campaign_criterion_error = 29;
+
+ // The reasons for the collection size error
+ CollectionSizeErrorEnum.CollectionSizeError collection_size_error = 31;
+
+ // The reasons for the criterion error
+ CriterionErrorEnum.CriterionError criterion_error = 32;
+
+ // The reasons for the customer error
+ CustomerErrorEnum.CustomerError customer_error = 90;
+
+ // The reasons for the date error
+ DateErrorEnum.DateError date_error = 33;
+
+ // The reasons for the date range error
+ DateRangeErrorEnum.DateRangeError date_range_error = 34;
+
+ // The reasons for the distinct error
+ DistinctErrorEnum.DistinctError distinct_error = 35;
+
+ // The reasons for the feed attribute reference error
+ FeedAttributeReferenceErrorEnum.FeedAttributeReferenceError feed_attribute_reference_error = 36;
+
+ // The reasons for the function error
+ FunctionErrorEnum.FunctionError function_error = 37;
+
+ // The reasons for the function parsing error
+ FunctionParsingErrorEnum.FunctionParsingError function_parsing_error = 38;
+
+ // The reasons for the id error
+ IdErrorEnum.IdError id_error = 39;
+
+ // The reasons for the image error
+ ImageErrorEnum.ImageError image_error = 40;
+
+ // The reasons for the media bundle error
+ MediaBundleErrorEnum.MediaBundleError media_bundle_error = 42;
+
+ // The reasons for the media file error
+ MediaFileErrorEnum.MediaFileError media_file_error = 86;
+
+ // The reasons for the multiplier error
+ MultiplierErrorEnum.MultiplierError multiplier_error = 44;
+
+ // The reasons for the new resource creation error
+ NewResourceCreationErrorEnum.NewResourceCreationError new_resource_creation_error = 45;
+
+ // The reasons for the not empty error
+ NotEmptyErrorEnum.NotEmptyError not_empty_error = 46;
+
+ // The reasons for the null error
+ NullErrorEnum.NullError null_error = 47;
+
+ // The reasons for the operator error
+ OperatorErrorEnum.OperatorError operator_error = 48;
+
+ // The reasons for the range error
+ RangeErrorEnum.RangeError range_error = 49;
+
+ // The reasons for error in applying a recommendation
+ RecommendationErrorEnum.RecommendationError recommendation_error = 58;
+
+ // The reasons for the region code error
+ RegionCodeErrorEnum.RegionCodeError region_code_error = 51;
+
+ // The reasons for the setting error
+ SettingErrorEnum.SettingError setting_error = 52;
+
+ // The reasons for the string format error
+ StringFormatErrorEnum.StringFormatError string_format_error = 53;
+
+ // The reasons for the string length error
+ StringLengthErrorEnum.StringLengthError string_length_error = 54;
+
+ // The reasons for the operation access denied error
+ OperationAccessDeniedErrorEnum.OperationAccessDeniedError operation_access_denied_error = 55;
+
+ // The reasons for the resource access denied error
+ ResourceAccessDeniedErrorEnum.ResourceAccessDeniedError resource_access_denied_error = 56;
+
+ // The reasons for the resource count limit exceeded error
+ ResourceCountLimitExceededErrorEnum.ResourceCountLimitExceededError resource_count_limit_exceeded_error = 57;
+
+ // The reasons for the ad group bid modifier error
+ AdGroupBidModifierErrorEnum.AdGroupBidModifierError ad_group_bid_modifier_error = 59;
+
+ // The reasons for the context error
+ ContextErrorEnum.ContextError context_error = 60;
+
+ // The reasons for the field error
+ FieldErrorEnum.FieldError field_error = 61;
+
+ // The reasons for the shared set error
+ SharedSetErrorEnum.SharedSetError shared_set_error = 62;
+
+ // The reasons for the shared criterion error
+ SharedCriterionErrorEnum.SharedCriterionError shared_criterion_error = 63;
+
+ // The reasons for the campaign shared set error
+ CampaignSharedSetErrorEnum.CampaignSharedSetError campaign_shared_set_error = 64;
+
+ // The reasons for the conversion action error
+ ConversionActionErrorEnum.ConversionActionError conversion_action_error = 65;
+
+ // The reasons for the header error.
+ HeaderErrorEnum.HeaderError header_error = 66;
+
+ // The reasons for the database error.
+ DatabaseErrorEnum.DatabaseError database_error = 67;
+
+ // The reasons for the policy finding error.
+ PolicyFindingErrorEnum.PolicyFindingError policy_finding_error = 68;
+
+ // The reasons for campaign group error.
+ CampaignGroupErrorEnum.CampaignGroupError campaign_group_error = 69;
+
+ // The reason for enum error.
+ EnumErrorEnum.EnumError enum_error = 70;
+
+ // The reason for keyword plan error.
+ KeywordPlanErrorEnum.KeywordPlanError keyword_plan_error = 71;
+
+ // The reason for keyword plan campaign error.
+ KeywordPlanCampaignErrorEnum.KeywordPlanCampaignError keyword_plan_campaign_error = 72;
+
+ // The reason for keyword plan negative keyword error.
+ KeywordPlanNegativeKeywordErrorEnum.KeywordPlanNegativeKeywordError keyword_plan_negative_keyword_error = 73;
+
+ // The reason for keyword plan ad group error.
+ KeywordPlanAdGroupErrorEnum.KeywordPlanAdGroupError keyword_plan_ad_group_error = 74;
+
+ // The reason for keyword plan keyword error.
+ KeywordPlanKeywordErrorEnum.KeywordPlanKeywordError keyword_plan_keyword_error = 75;
+
+ // The reason for keyword idea error.
+ KeywordPlanIdeaErrorEnum.KeywordPlanIdeaError keyword_plan_idea_error = 76;
+
+ // The reasons for account budget proposal errors.
+ AccountBudgetProposalErrorEnum.AccountBudgetProposalError account_budget_proposal_error = 77;
+
+ // The reasons for the user list error
+ UserListErrorEnum.UserListError user_list_error = 78;
+
+ // The reasons for the change status error
+ ChangeStatusErrorEnum.ChangeStatusError change_status_error = 79;
+
+ // The reasons for the feed error
+ FeedErrorEnum.FeedError feed_error = 80;
+
+ // The reasons for the geo target constant suggestion error.
+ GeoTargetConstantSuggestionErrorEnum.GeoTargetConstantSuggestionError geo_target_constant_suggestion_error = 81;
+
+ // The reasons for the feed item error
+ FeedItemErrorEnum.FeedItemError feed_item_error = 83;
+
+ // The reasons for the billing setup error
+ BillingSetupErrorEnum.BillingSetupError billing_setup_error = 87;
+
+ // The reasons for the customer client link error
+ CustomerClientLinkErrorEnum.CustomerClientLinkError customer_client_link_error = 88;
+
+ // The reasons for the customer manager link error
+ CustomerManagerLinkErrorEnum.CustomerManagerLinkError customer_manager_link_error = 91;
+
+ // The reasons for the feed mapping error
+ FeedMappingErrorEnum.FeedMappingError feed_mapping_error = 92;
+
+ // The reasons for the customer feed error
+ CustomerFeedErrorEnum.CustomerFeedError customer_feed_error = 93;
+
+ // The reasons for the ad group feed error
+ AdGroupFeedErrorEnum.AdGroupFeedError ad_group_feed_error = 94;
+
+ // The reasons for the campaign feed error
+ CampaignFeedErrorEnum.CampaignFeedError campaign_feed_error = 96;
+ }
+}
+
+// Describes the part of the request proto that caused the error.
+message ErrorLocation {
+ // A part of a field path.
+ message FieldPathElement {
+ // The name of a field or a oneof
+ string field_name = 1;
+
+ // If field_name is a repeated field, this is the element that failed
+ google.protobuf.Int64Value index = 2;
+ }
+
+ // The mutate operation that failed
+ google.protobuf.Int64Value operation_index = 1;
+
+ // A field path that indicates which field was invalid in the request.
+ repeated FieldPathElement field_path_elements = 2;
+}
+
+// Additional error details.
+message ErrorDetails {
+ // The error code that should have been returned, but wasn't. This is used
+ // when the error code is InternalError.ERROR_CODE_NOT_PUBLISHED.
+ string unpublished_error_code = 1;
+
+ // Describes an ad policy violation.
+ PolicyViolationDetails policy_violation_details = 2;
+
+ // Describes policy violation findings.
+ PolicyFindingDetails policy_finding_details = 3;
+}
+
+// Error returned as part of a mutate response.
+// This error indicates single policy violation by some text
+// in one of the fields.
+message PolicyViolationDetails {
+ // Human readable description of policy violation.
+ string external_policy_description = 2;
+
+ // Unique identifier for this violation.
+ // If policy is exemptible, this key may be used to request exemption.
+ google.ads.googleads.v0.common.PolicyViolationKey key = 4;
+
+ // Human readable name of the policy.
+ string external_policy_name = 5;
+
+ // Whether user can file an exemption request for this violation.
+ bool is_exemptible = 6;
+}
+
+// Error returned as part of a mutate response.
+// This error indicates one or more policy findings in the fields of a
+// resource.
+message PolicyFindingDetails {
+ // The list of policy topics for the resource. Contains the PROHIBITED or
+ // FULLY_LIMITED policy topic entries that prevented the resource from being
+ // saved (among any other entries the resource may also have).
+ repeated google.ads.googleads.v0.common.PolicyTopicEntry policy_topic_entries = 1;
+}
diff --git a/google/ads/googleads/v0/errors/feed_attribute_reference_error.proto b/google/ads/googleads/v0/errors/feed_attribute_reference_error.proto
new file mode 100644
index 000000000..8e22fdd0f
--- /dev/null
+++ b/google/ads/googleads/v0/errors/feed_attribute_reference_error.proto
@@ -0,0 +1,50 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "FeedAttributeReferenceErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing feed attribute reference errors.
+
+// Container for enum describing possible feed attribute reference errors.
+message FeedAttributeReferenceErrorEnum {
+ // Enum describing possible feed attribute reference errors.
+ enum FeedAttributeReferenceError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // A feed referenced by ID has been deleted.
+ CANNOT_REFERENCE_DELETED_FEED = 2;
+
+ // There is no active feed with the given name.
+ INVALID_FEED_NAME = 3;
+
+ // There is no feed attribute in an active feed with the given name.
+ INVALID_FEED_ATTRIBUTE_NAME = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/feed_error.proto b/google/ads/googleads/v0/errors/feed_error.proto
new file mode 100644
index 000000000..3c1e44be7
--- /dev/null
+++ b/google/ads/googleads/v0/errors/feed_error.proto
@@ -0,0 +1,99 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "FeedErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing feed errors.
+
+// Container for enum describing possible feed errors.
+message FeedErrorEnum {
+ // Enum describing possible feed errors.
+ enum FeedError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The names of the FeedAttributes must be unique.
+ ATTRIBUTE_NAMES_NOT_UNIQUE = 2;
+
+ // The attribute list must be an exact copy of the existing list if the
+ // attribute ID's are present.
+ ATTRIBUTES_DO_NOT_MATCH_EXISTING_ATTRIBUTES = 3;
+
+ // Cannot specify USER origin for a system generated feed.
+ CANNOT_SPECIFY_USER_ORIGIN_FOR_SYSTEM_FEED = 4;
+
+ // Cannot specify GOOGLE origin for a non-system generated feed.
+ CANNOT_SPECIFY_GOOGLE_ORIGIN_FOR_NON_SYSTEM_FEED = 5;
+
+ // Cannot specify feed attributes for system feed.
+ CANNOT_SPECIFY_FEED_ATTRIBUTES_FOR_SYSTEM_FEED = 6;
+
+ // Cannot update FeedAttributes on feed with origin GOOGLE.
+ CANNOT_UPDATE_FEED_ATTRIBUTES_WITH_ORIGIN_GOOGLE = 7;
+
+ // The given ID refers to a removed Feed. Removed Feeds are immutable.
+ FEED_REMOVED = 8;
+
+ // The origin of the feed is not valid for the client.
+ INVALID_ORIGIN_VALUE = 9;
+
+ // A user can only create and modify feeds with USER origin.
+ FEED_ORIGIN_IS_NOT_USER = 10;
+
+ // Invalid auth token for the given email.
+ INVALID_AUTH_TOKEN_FOR_EMAIL = 11;
+
+ // Invalid email specified.
+ INVALID_EMAIL = 12;
+
+ // Feed name matches that of another active Feed.
+ DUPLICATE_FEED_NAME = 13;
+
+ // Name of feed is not allowed.
+ INVALID_FEED_NAME = 14;
+
+ // Missing OAuthInfo.
+ MISSING_OAUTH_INFO = 15;
+
+ // New FeedAttributes must not affect the unique key.
+ NEW_ATTRIBUTE_CANNOT_BE_PART_OF_UNIQUE_KEY = 16;
+
+ // Too many FeedAttributes for a Feed.
+ TOO_MANY_ATTRIBUTES = 17;
+
+ // The business account is not valid.
+ INVALID_BUSINESS_ACCOUNT = 18;
+
+ // Business account cannot access Google My Business account.
+ BUSINESS_ACCOUNT_CANNOT_ACCESS_LOCATION_ACCOUNT = 19;
+
+ // Invalid chain ID provided for affiliate location feed.
+ INVALID_AFFILIATE_CHAIN_ID = 20;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/feed_item_error.proto b/google/ads/googleads/v0/errors/feed_item_error.proto
new file mode 100644
index 000000000..35454cff2
--- /dev/null
+++ b/google/ads/googleads/v0/errors/feed_item_error.proto
@@ -0,0 +1,68 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "FeedItemErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing feed item errors.
+
+// Container for enum describing possible feed item errors.
+message FeedItemErrorEnum {
+ // Enum describing possible feed item errors.
+ enum FeedItemError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Cannot convert the feed attribute value from string to its real type.
+ CANNOT_CONVERT_ATTRIBUTE_VALUE_FROM_STRING = 2;
+
+ // Cannot operate on removed feed item.
+ CANNOT_OPERATE_ON_REMOVED_FEED_ITEM = 3;
+
+ // Date time zone does not match the account's time zone.
+ DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE = 4;
+
+ // Feed item with the key attributes could not be found.
+ KEY_ATTRIBUTES_NOT_FOUND = 5;
+
+ // Url feed attribute value is not valid.
+ INVALID_URL = 6;
+
+ // Some key attributes are missing.
+ MISSING_KEY_ATTRIBUTES = 7;
+
+ // Feed item has same key attributes as another feed item.
+ KEY_ATTRIBUTES_NOT_UNIQUE = 8;
+
+ // Cannot modify key attributes on an existing feed item.
+ CANNOT_MODIFY_KEY_ATTRIBUTE_VALUE = 9;
+
+ // The feed attribute value is too large.
+ SIZE_TOO_LARGE_FOR_MULTI_VALUE_ATTRIBUTE = 10;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/feed_mapping_error.proto b/google/ads/googleads/v0/errors/feed_mapping_error.proto
new file mode 100644
index 000000000..d6b23402e
--- /dev/null
+++ b/google/ads/googleads/v0/errors/feed_mapping_error.proto
@@ -0,0 +1,94 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "FeedMappingErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing feed item errors.
+
+// Container for enum describing possible feed item errors.
+message FeedMappingErrorEnum {
+ // Enum describing possible feed item errors.
+ enum FeedMappingError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The given placeholder field does not exist.
+ INVALID_PLACEHOLDER_FIELD = 2;
+
+ // The given criterion field does not exist.
+ INVALID_CRITERION_FIELD = 3;
+
+ // The given placeholder type does not exist.
+ INVALID_PLACEHOLDER_TYPE = 4;
+
+ // The given criterion type does not exist.
+ INVALID_CRITERION_TYPE = 5;
+
+ // A feed mapping must contain at least one attribute field mapping.
+ NO_ATTRIBUTE_FIELD_MAPPINGS = 7;
+
+ // The type of the feed attribute referenced in the attribute field mapping
+ // must match the type of the placeholder field.
+ FEED_ATTRIBUTE_TYPE_MISMATCH = 8;
+
+ // A feed mapping for a system generated feed cannot be operated on.
+ CANNOT_OPERATE_ON_MAPPINGS_FOR_SYSTEM_GENERATED_FEED = 9;
+
+ // Only one feed mapping for a placeholder type is allowed per feed or
+ // customer (depending on the placeholder type).
+ MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_TYPE = 10;
+
+ // Only one feed mapping for a criterion type is allowed per customer.
+ MULTIPLE_MAPPINGS_FOR_CRITERION_TYPE = 11;
+
+ // Only one feed attribute mapping for a placeholder field is allowed
+ // (depending on the placeholder type).
+ MULTIPLE_MAPPINGS_FOR_PLACEHOLDER_FIELD = 12;
+
+ // Only one feed attribute mapping for a criterion field is allowed
+ // (depending on the criterion type).
+ MULTIPLE_MAPPINGS_FOR_CRITERION_FIELD = 13;
+
+ // This feed mapping may not contain any explicit attribute field mappings.
+ UNEXPECTED_ATTRIBUTE_FIELD_MAPPINGS = 14;
+
+ // Location placeholder feed mappings can only be created for Places feeds.
+ LOCATION_PLACEHOLDER_ONLY_FOR_PLACES_FEEDS = 15;
+
+ // Mappings for typed feeds cannot be modified.
+ CANNOT_MODIFY_MAPPINGS_FOR_TYPED_FEED = 16;
+
+ // The given placeholder type can only be mapped to system generated feeds.
+ INVALID_PLACEHOLDER_TYPE_FOR_NON_SYSTEM_GENERATED_FEED = 17;
+
+ // The given placeholder type cannot be mapped to a system generated feed
+ // with the given type.
+ INVALID_PLACEHOLDER_TYPE_FOR_SYSTEM_GENERATED_FEED_TYPE = 18;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/field_error.proto b/google/ads/googleads/v0/errors/field_error.proto
new file mode 100644
index 000000000..6db7dd1c7
--- /dev/null
+++ b/google/ads/googleads/v0/errors/field_error.proto
@@ -0,0 +1,59 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "FieldErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing field errors.
+
+// Container for enum describing possible field errors.
+message FieldErrorEnum {
+ // Enum describing possible field errors.
+ enum FieldError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The required field was not present in the resource.
+ REQUIRED = 2;
+
+ // The field attempted to be mutated is immutable.
+ IMMUTABLE_FIELD = 3;
+
+ // The field's value is invalid.
+ INVALID_VALUE = 4;
+
+ // The field cannot be set.
+ VALUE_MUST_BE_UNSET = 5;
+
+ // The required repeated field was empty.
+ REQUIRED_NONEMPTY_LIST = 6;
+
+ // The field cannot be cleared.
+ FIELD_CANNOT_BE_CLEARED = 7;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/field_mask_error.proto b/google/ads/googleads/v0/errors/field_mask_error.proto
new file mode 100644
index 000000000..aff1abe07
--- /dev/null
+++ b/google/ads/googleads/v0/errors/field_mask_error.proto
@@ -0,0 +1,55 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "FieldMaskErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing field mask errors.
+
+// Container for enum describing possible field mask errors.
+message FieldMaskErrorEnum {
+ // Enum describing possible field mask errors.
+ enum FieldMaskError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The field mask must be provided for update operations.
+ FIELD_MASK_MISSING = 5;
+
+ // The field mask must be empty for create and remove operations.
+ FIELD_MASK_NOT_ALLOWED = 4;
+
+ // The field mask contained an invalid field.
+ FIELD_NOT_FOUND = 2;
+
+ // The field mask updated a field with subfields. Fields with subfields may
+ // be cleared, but not updated. To fix this, the field mask should select
+ // all the subfields of the invalid field.
+ FIELD_HAS_SUBFIELDS = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/function_error.proto b/google/ads/googleads/v0/errors/function_error.proto
new file mode 100644
index 000000000..b6bc16df7
--- /dev/null
+++ b/google/ads/googleads/v0/errors/function_error.proto
@@ -0,0 +1,90 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "FunctionErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing function errors.
+
+// Container for enum describing possible function errors.
+message FunctionErrorEnum {
+ // Enum describing possible function errors.
+ enum FunctionError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The format of the function is not recognized as a supported function
+ // format.
+ INVALID_FUNCTION_FORMAT = 2;
+
+ // Operand data types do not match.
+ DATA_TYPE_MISMATCH = 3;
+
+ // The operands cannot be used together in a conjunction.
+ INVALID_CONJUNCTION_OPERANDS = 4;
+
+ // Invalid numer of Operands.
+ INVALID_NUMBER_OF_OPERANDS = 5;
+
+ // Operand Type not supported.
+ INVALID_OPERAND_TYPE = 6;
+
+ // Operator not supported.
+ INVALID_OPERATOR = 7;
+
+ // Request context type not supported.
+ INVALID_REQUEST_CONTEXT_TYPE = 8;
+
+ // The matching function is not allowed for call placeholders
+ INVALID_FUNCTION_FOR_CALL_PLACEHOLDER = 9;
+
+ // The matching function is not allowed for the specified placeholder
+ INVALID_FUNCTION_FOR_PLACEHOLDER = 10;
+
+ // Invalid operand.
+ INVALID_OPERAND = 11;
+
+ // Missing value for the constant operand.
+ MISSING_CONSTANT_OPERAND_VALUE = 12;
+
+ // The value of the constant operand is invalid.
+ INVALID_CONSTANT_OPERAND_VALUE = 13;
+
+ // Invalid function nesting.
+ INVALID_NESTING = 14;
+
+ // The Feed ID was different from another Feed ID in the same function.
+ MULTIPLE_FEED_IDS_NOT_SUPPORTED = 15;
+
+ // The matching function is invalid for use with a feed with a fixed schema.
+ INVALID_FUNCTION_FOR_FEED_WITH_FIXED_SCHEMA = 16;
+
+ // Invalid attribute name.
+ INVALID_ATTRIBUTE_NAME = 17;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/function_parsing_error.proto b/google/ads/googleads/v0/errors/function_parsing_error.proto
new file mode 100644
index 000000000..bac9b3c69
--- /dev/null
+++ b/google/ads/googleads/v0/errors/function_parsing_error.proto
@@ -0,0 +1,74 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "FunctionParsingErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing function parsing errors.
+
+// Container for enum describing possible function parsing errors.
+message FunctionParsingErrorEnum {
+ // Enum describing possible function parsing errors.
+ enum FunctionParsingError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Unexpected end of function string.
+ NO_MORE_INPUT = 2;
+
+ // Could not find an expected character.
+ EXPECTED_CHARACTER = 3;
+
+ // Unexpected separator character.
+ UNEXPECTED_SEPARATOR = 4;
+
+ // Unmatched left bracket or parenthesis.
+ UNMATCHED_LEFT_BRACKET = 5;
+
+ // Unmatched right bracket or parenthesis.
+ UNMATCHED_RIGHT_BRACKET = 6;
+
+ // Functions are nested too deeply.
+ TOO_MANY_NESTED_FUNCTIONS = 7;
+
+ // Missing right-hand-side operand.
+ MISSING_RIGHT_HAND_OPERAND = 8;
+
+ // Invalid operator/function name.
+ INVALID_OPERATOR_NAME = 9;
+
+ // Feed attribute operand's argument is not an integer.
+ FEED_ATTRIBUTE_OPERAND_ARGUMENT_NOT_INTEGER = 10;
+
+ // Missing function operands.
+ NO_OPERANDS = 11;
+
+ // Function had too many operands.
+ TOO_MANY_OPERANDS = 12;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/geo_target_constant_suggestion_error.proto b/google/ads/googleads/v0/errors/geo_target_constant_suggestion_error.proto
new file mode 100644
index 000000000..ab97c3660
--- /dev/null
+++ b/google/ads/googleads/v0/errors/geo_target_constant_suggestion_error.proto
@@ -0,0 +1,55 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "GeoTargetConstantSuggestionErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+
+
+// Container for enum describing possible geo target constant suggestion errors.
+message GeoTargetConstantSuggestionErrorEnum {
+ // Enum describing possible geo target constant suggestion errors.
+ enum GeoTargetConstantSuggestionError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // A location name cannot be greater than 300 characters.
+ LOCATION_NAME_SIZE_LIMIT = 2;
+
+ // At most 25 location names can be specified in a SuggestGeoTargetConstants
+ // method.
+ LOCATION_NAME_LIMIT = 3;
+
+ // The country code is invalid.
+ INVALID_COUNTRY_CODE = 4;
+
+ // Geo target constant resource names or location names must be provided in
+ // the request.
+ REQUEST_PARAMETERS_UNSET = 5;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/header_error.proto b/google/ads/googleads/v0/errors/header_error.proto
new file mode 100644
index 000000000..c3129b7c5
--- /dev/null
+++ b/google/ads/googleads/v0/errors/header_error.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "HeaderErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing header errors.
+
+// Container for enum describing possible header errors.
+message HeaderErrorEnum {
+ // Enum describing possible header errors.
+ enum HeaderError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The login customer id could not be validated.
+ INVALID_LOGIN_CUSTOMER_ID = 3;
+
+ // One or more task headers could not be parsed.
+ MALFORMED_TASK_INFO = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/id_error.proto b/google/ads/googleads/v0/errors/id_error.proto
new file mode 100644
index 000000000..ca7829ab8
--- /dev/null
+++ b/google/ads/googleads/v0/errors/id_error.proto
@@ -0,0 +1,44 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "IdErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing id errors.
+
+// Container for enum describing possible id errors.
+message IdErrorEnum {
+ // Enum describing possible id errors.
+ enum IdError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Id not found
+ NOT_FOUND = 2;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/image_error.proto b/google/ads/googleads/v0/errors/image_error.proto
new file mode 100644
index 000000000..d0098e694
--- /dev/null
+++ b/google/ads/googleads/v0/errors/image_error.proto
@@ -0,0 +1,153 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "ImageErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing image errors.
+
+// Container for enum describing possible image errors.
+message ImageErrorEnum {
+ // Enum describing possible image errors.
+ enum ImageError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The image is not valid.
+ INVALID_IMAGE = 2;
+
+ // The image could not be stored.
+ STORAGE_ERROR = 3;
+
+ // There was a problem with the request.
+ BAD_REQUEST = 4;
+
+ // The image is not of legal dimensions.
+ UNEXPECTED_SIZE = 5;
+
+ // Animated image are not permitted.
+ ANIMATED_NOT_ALLOWED = 6;
+
+ // Animation is too long.
+ ANIMATION_TOO_LONG = 7;
+
+ // There was an error on the server.
+ SERVER_ERROR = 8;
+
+ // Image cannot be in CMYK color format.
+ CMYK_JPEG_NOT_ALLOWED = 9;
+
+ // Flash images are not permitted.
+ FLASH_NOT_ALLOWED = 10;
+
+ // Flash images must support clickTag.
+ FLASH_WITHOUT_CLICKTAG = 11;
+
+ // A flash error has occurred after fixing the click tag.
+ FLASH_ERROR_AFTER_FIXING_CLICK_TAG = 12;
+
+ // Unacceptable visual effects.
+ ANIMATED_VISUAL_EFFECT = 13;
+
+ // There was a problem with the flash image.
+ FLASH_ERROR = 14;
+
+ // Incorrect image layout.
+ LAYOUT_PROBLEM = 15;
+
+ // There was a problem reading the image file.
+ PROBLEM_READING_IMAGE_FILE = 16;
+
+ // There was an error storing the image.
+ ERROR_STORING_IMAGE = 17;
+
+ // The aspect ratio of the image is not allowed.
+ ASPECT_RATIO_NOT_ALLOWED = 18;
+
+ // Flash cannot have network objects.
+ FLASH_HAS_NETWORK_OBJECTS = 19;
+
+ // Flash cannot have network methods.
+ FLASH_HAS_NETWORK_METHODS = 20;
+
+ // Flash cannot have a Url.
+ FLASH_HAS_URL = 21;
+
+ // Flash cannot use mouse tracking.
+ FLASH_HAS_MOUSE_TRACKING = 22;
+
+ // Flash cannot have a random number.
+ FLASH_HAS_RANDOM_NUM = 23;
+
+ // Ad click target cannot be '_self'.
+ FLASH_SELF_TARGETS = 24;
+
+ // GetUrl method should only use '_blank'.
+ FLASH_BAD_GETURL_TARGET = 25;
+
+ // Flash version is not supported.
+ FLASH_VERSION_NOT_SUPPORTED = 26;
+
+ // Flash movies need to have hard coded click URL or clickTAG
+ FLASH_WITHOUT_HARD_CODED_CLICK_URL = 27;
+
+ // Uploaded flash file is corrupted.
+ INVALID_FLASH_FILE = 28;
+
+ // Uploaded flash file can be parsed, but the click tag can not be fixed
+ // properly.
+ FAILED_TO_FIX_CLICK_TAG_IN_FLASH = 29;
+
+ // Flash movie accesses network resources
+ FLASH_ACCESSES_NETWORK_RESOURCES = 30;
+
+ // Flash movie attempts to call external javascript code
+ FLASH_EXTERNAL_JS_CALL = 31;
+
+ // Flash movie attempts to call flash system commands
+ FLASH_EXTERNAL_FS_CALL = 32;
+
+ // Image file is too large.
+ FILE_TOO_LARGE = 33;
+
+ // Image data is too large.
+ IMAGE_DATA_TOO_LARGE = 34;
+
+ // Error while processing the image.
+ IMAGE_PROCESSING_ERROR = 35;
+
+ // Image is too small.
+ IMAGE_TOO_SMALL = 36;
+
+ // Input was invalid.
+ INVALID_INPUT = 37;
+
+ // There was a problem reading the image file.
+ PROBLEM_READING_FILE = 38;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/internal_error.proto b/google/ads/googleads/v0/errors/internal_error.proto
new file mode 100644
index 000000000..56b89f4fb
--- /dev/null
+++ b/google/ads/googleads/v0/errors/internal_error.proto
@@ -0,0 +1,52 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "InternalErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing internal errors.
+
+// Container for enum describing possible internal errors.
+message InternalErrorEnum {
+ // Enum describing possible internal errors.
+ enum InternalError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Google Ads API encountered unexpected internal error.
+ INTERNAL_ERROR = 2;
+
+ // The intended error code doesn't exist in any API version. This will be
+ // fixed by adding a new error code as soon as possible.
+ ERROR_CODE_NOT_PUBLISHED = 3;
+
+ // Google Ads API encountered an unexpected transient error. The user
+ // should retry their request in these cases.
+ TRANSIENT_ERROR = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/keyword_plan_ad_group_error.proto b/google/ads/googleads/v0/errors/keyword_plan_ad_group_error.proto
new file mode 100644
index 000000000..6b2087980
--- /dev/null
+++ b/google/ads/googleads/v0/errors/keyword_plan_ad_group_error.proto
@@ -0,0 +1,50 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordPlanAdGroupErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing errors from applying a keyword plan ad group.
+
+// Container for enum describing possible errors from applying a keyword plan
+// ad group.
+message KeywordPlanAdGroupErrorEnum {
+ // Enum describing possible errors from applying a keyword plan ad group.
+ enum KeywordPlanAdGroupError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The keyword plan ad group name is missing, empty, longer than allowed
+ // limit or contains invalid chars.
+ INVALID_NAME = 2;
+
+ // The keyword plan ad group name is duplicate to an existing keyword plan
+ // AdGroup name or other keyword plan AdGroup name in the request.
+ DUPLICATE_NAME = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/keyword_plan_campaign_error.proto b/google/ads/googleads/v0/errors/keyword_plan_campaign_error.proto
new file mode 100644
index 000000000..89f6ad69d
--- /dev/null
+++ b/google/ads/googleads/v0/errors/keyword_plan_campaign_error.proto
@@ -0,0 +1,59 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordPlanCampaignErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing errors from applying a keyword plan campaign.
+
+// Container for enum describing possible errors from applying a keyword plan
+// campaign.
+message KeywordPlanCampaignErrorEnum {
+ // Enum describing possible errors from applying a keyword plan campaign.
+ enum KeywordPlanCampaignError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // A keyword plan campaign name is missing, empty, longer than allowed limit
+ // or contains invalid chars.
+ INVALID_NAME = 2;
+
+ // A keyword plan campaign contains one or more untargetable languages.
+ INVALID_LANGUAGES = 3;
+
+ // A keyword plan campaign contains one or more invalid geo targets.
+ INVALID_GEOS = 4;
+
+ // The keyword plan campaign name is duplicate to an existing keyword plan
+ // campaign name or other keyword plan campaign name in the request.
+ DUPLICATE_NAME = 5;
+
+ // The number of geo targets in the keyword plan campaign exceeds limits.
+ MAX_GEOS_EXCEEDED = 6;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/keyword_plan_error.proto b/google/ads/googleads/v0/errors/keyword_plan_error.proto
new file mode 100644
index 000000000..c950ee504
--- /dev/null
+++ b/google/ads/googleads/v0/errors/keyword_plan_error.proto
@@ -0,0 +1,88 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordPlanErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing errors from applying keyword plan resources (keyword
+// plan, keyword plan campaign, keyword plan ad group or keyword plan keyword)
+// or KeywordPlanService RPC.
+
+// Container for enum describing possible errors from applying a keyword plan
+// resource (keyword plan, keyword plan campaign, keyword plan ad group or
+// keyword plan keyword) or KeywordPlanService RPC.
+message KeywordPlanErrorEnum {
+ // Enum describing possible errors from applying a keyword plan.
+ enum KeywordPlanError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The plan's bid multiplier value is outside the valid range.
+ BID_MULTIPLIER_OUT_OF_RANGE = 2;
+
+ // The plan's bid value is too high.
+ BID_TOO_HIGH = 3;
+
+ // The plan's bid value is too low.
+ BID_TOO_LOW = 4;
+
+ // The plan's cpc bid is not a multiple of the minimum billable unit.
+ BID_TOO_MANY_FRACTIONAL_DIGITS = 5;
+
+ // The plan's daily budget value is too low.
+ DAILY_BUDGET_TOO_LOW = 6;
+
+ // The plan's daily budget is not a multiple of the minimum billable unit.
+ DAILY_BUDGET_TOO_MANY_FRACTIONAL_DIGITS = 7;
+
+ // The input has an invalid value.
+ INVALID_VALUE = 8;
+
+ // The plan has no keyword.
+ KEYWORD_PLAN_HAS_NO_KEYWORDS = 9;
+
+ // The plan is not enabled and API cannot provide mutation, forecast or
+ // stats.
+ KEYWORD_PLAN_NOT_ENABLED = 10;
+
+ // The requested plan cannot be found for providing forecast or stats.
+ KEYWORD_PLAN_NOT_FOUND = 11;
+
+ // The plan is missing a cpc bid.
+ MISSING_BID = 13;
+
+ // The plan is missing required forecast_period field.
+ MISSING_FORECAST_PERIOD = 14;
+
+ // The plan's forecast_period has invalid forecast date range.
+ INVALID_FORECAST_DATE_RANGE = 15;
+
+ // The plan's name is invalid.
+ INVALID_NAME = 16;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/keyword_plan_idea_error.proto b/google/ads/googleads/v0/errors/keyword_plan_idea_error.proto
new file mode 100644
index 000000000..f003a7671
--- /dev/null
+++ b/google/ads/googleads/v0/errors/keyword_plan_idea_error.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordPlanIdeaErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing errors from KeywordPlanIdeaService.
+
+// Container for enum describing possible errors from KeywordPlanIdeaService.
+message KeywordPlanIdeaErrorEnum {
+ // Enum describing possible errors from KeywordPlanIdeaService.
+ enum KeywordPlanIdeaError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Error when crawling the input URL.
+ URL_CRAWL_ERROR = 2;
+
+ // The input has an invalid value.
+ INVALID_VALUE = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/keyword_plan_keyword_error.proto b/google/ads/googleads/v0/errors/keyword_plan_keyword_error.proto
new file mode 100644
index 000000000..995f0043b
--- /dev/null
+++ b/google/ads/googleads/v0/errors/keyword_plan_keyword_error.proto
@@ -0,0 +1,62 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordPlanKeywordErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing errors from applying a keyword plan keyword or keyword
+// plan negative keyword.
+
+// Container for enum describing possible errors from applying a keyword or a
+// negative keyword from a keyword plan.
+message KeywordPlanKeywordErrorEnum {
+ // Enum describing possible errors from applying a keyword plan keyword.
+ enum KeywordPlanKeywordError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // A keyword or negative keyword has invalid match type.
+ INVALID_KEYWORD_MATCH_TYPE = 2;
+
+ // A keyword or negative keyword with same text and match type already
+ // exists.
+ DUPLICATE_KEYWORD = 3;
+
+ // Keyword or negative keyword text exceeds the allowed limit.
+ KEYWORD_TEXT_TOO_LONG = 4;
+
+ // Keyword or negative keyword text has invalid characters or symbols.
+ KEYWORD_HAS_INVALID_CHARS = 5;
+
+ // Keyword or negative keyword text has too many words.
+ KEYWORD_HAS_TOO_MANY_WORDS = 6;
+
+ // Keyword or negative keyword has invalid text.
+ INVALID_KEYWORD_TEXT = 7;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/keyword_plan_negative_keyword_error.proto b/google/ads/googleads/v0/errors/keyword_plan_negative_keyword_error.proto
new file mode 100644
index 000000000..106883c32
--- /dev/null
+++ b/google/ads/googleads/v0/errors/keyword_plan_negative_keyword_error.proto
@@ -0,0 +1,43 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordPlanNegativeKeywordErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing errors from applying a keyword plan negative keyword.
+
+// Container for enum describing possible errors from applying a keyword plan
+// negative keyword.
+message KeywordPlanNegativeKeywordErrorEnum {
+ // Enum describing possible errors from applying a keyword plan negative
+ // keyword.
+ enum KeywordPlanNegativeKeywordError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/list_operation_error.proto b/google/ads/googleads/v0/errors/list_operation_error.proto
new file mode 100644
index 000000000..927be5388
--- /dev/null
+++ b/google/ads/googleads/v0/errors/list_operation_error.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "ListOperationErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing list operation errors.
+
+// Container for enum describing possible list operation errors.
+message ListOperationErrorEnum {
+ // Enum describing possible list operation errors.
+ enum ListOperationError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Field required in value is missing.
+ REQUIRED_FIELD_MISSING = 7;
+
+ // Duplicate or identical value is sent in multiple list operations.
+ DUPLICATE_VALUES = 8;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/media_bundle_error.proto b/google/ads/googleads/v0/errors/media_bundle_error.proto
new file mode 100644
index 000000000..da7b1b6d7
--- /dev/null
+++ b/google/ads/googleads/v0/errors/media_bundle_error.proto
@@ -0,0 +1,107 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "MediaBundleErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing media bundle errors.
+
+// Container for enum describing possible media bundle errors.
+message MediaBundleErrorEnum {
+ // Enum describing possible media bundle errors.
+ enum MediaBundleError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // There was a problem with the request.
+ BAD_REQUEST = 3;
+
+ // HTML5 ads using DoubleClick Studio created ZIP files are not supported.
+ DOUBLECLICK_BUNDLE_NOT_ALLOWED = 4;
+
+ // Cannot reference URL external to the media bundle.
+ EXTERNAL_URL_NOT_ALLOWED = 5;
+
+ // Media bundle file is too large.
+ FILE_TOO_LARGE = 6;
+
+ // ZIP file from Google Web Designer is not published.
+ GOOGLE_WEB_DESIGNER_ZIP_FILE_NOT_PUBLISHED = 7;
+
+ // Input was invalid.
+ INVALID_INPUT = 8;
+
+ // There was a problem with the media bundle.
+ INVALID_MEDIA_BUNDLE = 9;
+
+ // There was a problem with one or more of the media bundle entries.
+ INVALID_MEDIA_BUNDLE_ENTRY = 10;
+
+ // The media bundle contains a file with an unknown mime type
+ INVALID_MIME_TYPE = 11;
+
+ // The media bundle contain an invalid asset path.
+ INVALID_PATH = 12;
+
+ // HTML5 ad is trying to reference an asset not in .ZIP file
+ INVALID_URL_REFERENCE = 13;
+
+ // Media data is too large.
+ MEDIA_DATA_TOO_LARGE = 14;
+
+ // The media bundle contains no primary entry.
+ MISSING_PRIMARY_MEDIA_BUNDLE_ENTRY = 15;
+
+ // There was an error on the server.
+ SERVER_ERROR = 16;
+
+ // The image could not be stored.
+ STORAGE_ERROR = 17;
+
+ // Media bundle created with the Swiffy tool is not allowed.
+ SWIFFY_BUNDLE_NOT_ALLOWED = 18;
+
+ // The media bundle contains too many files.
+ TOO_MANY_FILES = 19;
+
+ // The media bundle is not of legal dimensions.
+ UNEXPECTED_SIZE = 20;
+
+ // Google Web Designer not created for "Google Ads" environment.
+ UNSUPPORTED_GOOGLE_WEB_DESIGNER_ENVIRONMENT = 21;
+
+ // Unsupported HTML5 feature in HTML5 asset.
+ UNSUPPORTED_HTML5_FEATURE = 22;
+
+ // URL in HTML5 entry is not ssl compliant.
+ URL_IN_MEDIA_BUNDLE_NOT_SSL_COMPLIANT = 23;
+
+ // Custom exits not allowed in HTML5 entry.
+ CUSTOM_EXIT_NOT_ALLOWED = 24;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/media_file_error.proto b/google/ads/googleads/v0/errors/media_file_error.proto
new file mode 100644
index 000000000..7a79bf838
--- /dev/null
+++ b/google/ads/googleads/v0/errors/media_file_error.proto
@@ -0,0 +1,110 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "MediaFileErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing media file errors.
+
+// Container for enum describing possible media file errors.
+message MediaFileErrorEnum {
+ // Enum describing possible media file errors.
+ enum MediaFileError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Cannot create a standard icon type.
+ CANNOT_CREATE_STANDARD_ICON = 2;
+
+ // May only select Standard Icons alone.
+ CANNOT_SELECT_STANDARD_ICON_WITH_OTHER_TYPES = 3;
+
+ // Image contains both a media file ID and data.
+ CANNOT_SPECIFY_MEDIA_FILE_ID_AND_DATA = 4;
+
+ // A media file with given type and reference ID already exists.
+ DUPLICATE_MEDIA = 5;
+
+ // A required field was not specified or is an empty string.
+ EMPTY_FIELD = 6;
+
+ // A media file may only be modified once per call.
+ RESOURCE_REFERENCED_IN_MULTIPLE_OPS = 7;
+
+ // Field is not supported for the media sub type.
+ FIELD_NOT_SUPPORTED_FOR_MEDIA_SUB_TYPE = 8;
+
+ // The media file ID is invalid.
+ INVALID_MEDIA_FILE_ID = 9;
+
+ // The media subtype is invalid.
+ INVALID_MEDIA_SUB_TYPE = 10;
+
+ // The media file type is invalid.
+ INVALID_MEDIA_FILE_TYPE = 11;
+
+ // The mimetype is invalid.
+ INVALID_MIME_TYPE = 12;
+
+ // The media reference ID is invalid.
+ INVALID_REFERENCE_ID = 13;
+
+ // The YouTube video ID is invalid.
+ INVALID_YOU_TUBE_ID = 14;
+
+ // Media file has failed transcoding
+ MEDIA_FILE_FAILED_TRANSCODING = 15;
+
+ // Media file has not been transcoded.
+ MEDIA_NOT_TRANSCODED = 16;
+
+ // The media type does not match the actual media file's type.
+ MEDIA_TYPE_DOES_NOT_MATCH_MEDIA_FILE_TYPE = 17;
+
+ // None of the fields have been specified.
+ NO_FIELDS_SPECIFIED = 18;
+
+ // One of reference ID or media file ID must be specified.
+ NULL_REFERENCE_ID_AND_MEDIA_ID = 19;
+
+ // The string has too many characters.
+ TOO_LONG = 20;
+
+ // The specified type is not supported.
+ UNSUPPORTED_TYPE = 21;
+
+ // YouTube is unavailable for requesting video data.
+ YOU_TUBE_SERVICE_UNAVAILABLE = 22;
+
+ // The YouTube video has a non positive duration.
+ YOU_TUBE_VIDEO_HAS_NON_POSITIVE_DURATION = 23;
+
+ // The YouTube video ID is syntactically valid but the video was not found.
+ YOU_TUBE_VIDEO_NOT_FOUND = 24;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/multiplier_error.proto b/google/ads/googleads/v0/errors/multiplier_error.proto
new file mode 100644
index 000000000..b4b35f4ac
--- /dev/null
+++ b/google/ads/googleads/v0/errors/multiplier_error.proto
@@ -0,0 +1,78 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "MultiplierErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing multiplier errors.
+
+// Container for enum describing possible multiplier errors.
+message MultiplierErrorEnum {
+ // Enum describing possible multiplier errors.
+ enum MultiplierError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Multiplier value is too high
+ MULTIPLIER_TOO_HIGH = 2;
+
+ // Multiplier value is too low
+ MULTIPLIER_TOO_LOW = 3;
+
+ // Too many fractional digits
+ TOO_MANY_FRACTIONAL_DIGITS = 4;
+
+ // A multiplier cannot be set for this bidding strategy
+ MULTIPLIER_NOT_ALLOWED_FOR_BIDDING_STRATEGY = 5;
+
+ // A multiplier cannot be set when there is no base bid (e.g., content max
+ // cpc)
+ MULTIPLIER_NOT_ALLOWED_WHEN_BASE_BID_IS_MISSING = 6;
+
+ // A bid multiplier must be specified
+ NO_MULTIPLIER_SPECIFIED = 7;
+
+ // Multiplier causes bid to exceed daily budget
+ MULTIPLIER_CAUSES_BID_TO_EXCEED_DAILY_BUDGET = 8;
+
+ // Multiplier causes bid to exceed monthly budget
+ MULTIPLIER_CAUSES_BID_TO_EXCEED_MONTHLY_BUDGET = 9;
+
+ // Multiplier causes bid to exceed custom budget
+ MULTIPLIER_CAUSES_BID_TO_EXCEED_CUSTOM_BUDGET = 10;
+
+ // Multiplier causes bid to exceed maximum allowed bid
+ MULTIPLIER_CAUSES_BID_TO_EXCEED_MAX_ALLOWED_BID = 11;
+
+ // Multiplier causes bid to become less than the minimum bid allowed
+ BID_LESS_THAN_MIN_ALLOWED_BID_WITH_MULTIPLIER = 12;
+
+ // Multiplier type (cpc vs. cpm) needs to match campaign's bidding strategy
+ MULTIPLIER_AND_BIDDING_STRATEGY_TYPE_MISMATCH = 13;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/mutate_error.proto b/google/ads/googleads/v0/errors/mutate_error.proto
new file mode 100644
index 000000000..5a6d2becf
--- /dev/null
+++ b/google/ads/googleads/v0/errors/mutate_error.proto
@@ -0,0 +1,54 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "MutateErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing mutate errors.
+
+// Container for enum describing possible mutate errors.
+message MutateErrorEnum {
+ // Enum describing possible mutate errors.
+ enum MutateError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Requested resource was not found.
+ RESOURCE_NOT_FOUND = 3;
+
+ // Cannot mutate the same resource twice in one request.
+ ID_EXISTS_IN_MULTIPLE_MUTATES = 7;
+
+ // The field's contents don't match another field that represents the same
+ // data.
+ INCONSISTENT_FIELD_VALUES = 8;
+
+ // Mutates are not allowed for the requested resource.
+ MUTATE_NOT_ALLOWED = 9;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/new_resource_creation_error.proto b/google/ads/googleads/v0/errors/new_resource_creation_error.proto
new file mode 100644
index 000000000..b6d70bfdb
--- /dev/null
+++ b/google/ads/googleads/v0/errors/new_resource_creation_error.proto
@@ -0,0 +1,51 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "NewResourceCreationErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing new resource creation errors.
+
+// Container for enum describing possible new resource creation errors.
+message NewResourceCreationErrorEnum {
+ // Enum describing possible new resource creation errors.
+ enum NewResourceCreationError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Do not set the id field while creating new resources.
+ CANNOT_SET_ID_FOR_CREATE = 2;
+
+ // Creating more than one resource with the same temp ID is not allowed.
+ DUPLICATE_TEMP_IDS = 3;
+
+ // Parent resource with specified temp ID failed validation, so no
+ // validation will be done for this child resource.
+ TEMP_ID_RESOURCE_HAD_ERRORS = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/not_empty_error.proto b/google/ads/googleads/v0/errors/not_empty_error.proto
new file mode 100644
index 000000000..07aa7a793
--- /dev/null
+++ b/google/ads/googleads/v0/errors/not_empty_error.proto
@@ -0,0 +1,44 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "NotEmptyErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing not empty errors.
+
+// Container for enum describing possible not empty errors.
+message NotEmptyErrorEnum {
+ // Enum describing possible not empty errors.
+ enum NotEmptyError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Empty list.
+ EMPTY_LIST = 2;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/null_error.proto b/google/ads/googleads/v0/errors/null_error.proto
new file mode 100644
index 000000000..0c72f8f10
--- /dev/null
+++ b/google/ads/googleads/v0/errors/null_error.proto
@@ -0,0 +1,44 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "NullErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing null errors.
+
+// Container for enum describing possible null errors.
+message NullErrorEnum {
+ // Enum describing possible null errors.
+ enum NullError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Specified list/container must not contain any null elements
+ NULL_CONTENT = 2;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/operation_access_denied_error.proto b/google/ads/googleads/v0/errors/operation_access_denied_error.proto
new file mode 100644
index 000000000..870029b63
--- /dev/null
+++ b/google/ads/googleads/v0/errors/operation_access_denied_error.proto
@@ -0,0 +1,71 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "OperationAccessDeniedErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing operation access denied errors.
+
+// Container for enum describing possible operation access denied errors.
+message OperationAccessDeniedErrorEnum {
+ // Enum describing possible operation access denied errors.
+ enum OperationAccessDeniedError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Unauthorized invocation of a service's method (get, mutate, etc.)
+ ACTION_NOT_PERMITTED = 2;
+
+ // Unauthorized CREATE operation in invoking a service's mutate method.
+ CREATE_OPERATION_NOT_PERMITTED = 3;
+
+ // Unauthorized REMOVE operation in invoking a service's mutate method.
+ REMOVE_OPERATION_NOT_PERMITTED = 4;
+
+ // Unauthorized UPDATE operation in invoking a service's mutate method.
+ UPDATE_OPERATION_NOT_PERMITTED = 5;
+
+ // A mutate action is not allowed on this campaign, from this client.
+ MUTATE_ACTION_NOT_PERMITTED_FOR_CLIENT = 6;
+
+ // This operation is not permitted on this campaign type
+ OPERATION_NOT_PERMITTED_FOR_CAMPAIGN_TYPE = 7;
+
+ // A CREATE operation may not set status to REMOVED.
+ CREATE_AS_REMOVED_NOT_PERMITTED = 8;
+
+ // This operation is not allowed because the campaign or adgroup is removed.
+ OPERATION_NOT_PERMITTED_FOR_REMOVED_RESOURCE = 9;
+
+ // This operation is not permitted on this ad group type.
+ OPERATION_NOT_PERMITTED_FOR_AD_GROUP_TYPE = 10;
+
+ // The mutate is not allowed for this customer.
+ MUTATE_NOT_PERMITTED_FOR_CUSTOMER = 11;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/operator_error.proto b/google/ads/googleads/v0/errors/operator_error.proto
new file mode 100644
index 000000000..e26fffda8
--- /dev/null
+++ b/google/ads/googleads/v0/errors/operator_error.proto
@@ -0,0 +1,44 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "OperatorErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing operator errors.
+
+// Container for enum describing possible operator errors.
+message OperatorErrorEnum {
+ // Enum describing possible operator errors.
+ enum OperatorError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Operator not supported.
+ OPERATOR_NOT_SUPPORTED = 2;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/policy_finding_error.proto b/google/ads/googleads/v0/errors/policy_finding_error.proto
new file mode 100644
index 000000000..9d250ec54
--- /dev/null
+++ b/google/ads/googleads/v0/errors/policy_finding_error.proto
@@ -0,0 +1,48 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "PolicyFindingErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing policy finding errors.
+
+// Container for enum describing possible policy finding errors.
+message PolicyFindingErrorEnum {
+ // Enum describing possible policy finding errors.
+ enum PolicyFindingError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The resource has been disapproved since the policy summary includes
+ // policy topics of type PROHIBITED.
+ POLICY_FINDING = 2;
+
+ // The given policy topic does not exist.
+ POLICY_TOPIC_NOT_FOUND = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/query_error.proto b/google/ads/googleads/v0/errors/query_error.proto
new file mode 100644
index 000000000..e284edcb1
--- /dev/null
+++ b/google/ads/googleads/v0/errors/query_error.proto
@@ -0,0 +1,200 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "QueryErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing query errors.
+
+// Container for enum describing possible query errors.
+message QueryErrorEnum {
+ // Enum describing possible query errors.
+ enum QueryError {
+ // Name unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Returned if all other query error reasons are not applicable.
+ QUERY_ERROR = 50;
+
+ // A condition used in the query references an invalid enum constant.
+ BAD_ENUM_CONSTANT = 18;
+
+ // Query contains an invalid escape sequence.
+ BAD_ESCAPE_SEQUENCE = 7;
+
+ // Field name is invalid.
+ BAD_FIELD_NAME = 12;
+
+ // Limit value is invalid (i.e. not a number)
+ BAD_LIMIT_VALUE = 15;
+
+ // Encountered number can not be parsed.
+ BAD_NUMBER = 5;
+
+ // Invalid operator encountered.
+ BAD_OPERATOR = 3;
+
+ // Invalid resource type was specified in the FROM clause.
+ BAD_RESOURCE_TYPE_IN_FROM_CLAUSE = 45;
+
+ // Non-ASCII symbol encountered outside of strings.
+ BAD_SYMBOL = 2;
+
+ // Value is invalid.
+ BAD_VALUE = 4;
+
+ // Date filters fail to restrict date to a range smaller than 31 days.
+ // Applicable if the query is segmented by date.
+ DATE_RANGE_TOO_WIDE = 36;
+
+ // Expected AND between values with BETWEEN operator.
+ EXPECTED_AND = 30;
+
+ // Expecting ORDER BY to have BY.
+ EXPECTED_BY = 14;
+
+ // There was no dimension field selected.
+ EXPECTED_DIMENSION_FIELD_IN_SELECT_CLAUSE = 37;
+
+ // Missing filters on date related fields.
+ EXPECTED_FILTERS_ON_DATE_RANGE = 55;
+
+ // Missing FROM clause.
+ EXPECTED_FROM = 44;
+
+ // The operator used in the conditions requires the value to be a list.
+ EXPECTED_LIST = 41;
+
+ // Fields used in WHERE or ORDER BY clauses are missing from the SELECT
+ // clause.
+ EXPECTED_REFERENCED_FIELD_IN_SELECT_CLAUSE = 16;
+
+ // SELECT is missing at the beginning of query.
+ EXPECTED_SELECT = 13;
+
+ // A list was passed as a value to a condition whose operator expects a
+ // single value.
+ EXPECTED_SINGLE_VALUE = 42;
+
+ // Missing one or both values with BETWEEN operator.
+ EXPECTED_VALUE_WITH_BETWEEN_OPERATOR = 29;
+
+ // Invalid date format. Expected 'YYYY-MM-DD'.
+ INVALID_DATE_FORMAT = 38;
+
+ // Value passed was not a string when it should have been. I.e., it was a
+ // number or unquoted literal.
+ INVALID_STRING_VALUE = 57;
+
+ // A String value passed to the BETWEEN operator does not parse as a date.
+ INVALID_VALUE_WITH_BETWEEN_OPERATOR = 26;
+
+ // The value passed to the DURING operator is not a Date range literal
+ INVALID_VALUE_WITH_DURING_OPERATOR = 22;
+
+ // A non-string value was passed to the LIKE operator.
+ INVALID_VALUE_WITH_LIKE_OPERATOR = 56;
+
+ // An operator was provided that is inapplicable to the field being
+ // filtered.
+ OPERATOR_FIELD_MISMATCH = 35;
+
+ // A Condition was found with an empty list.
+ PROHIBITED_EMPTY_LIST_IN_CONDITION = 28;
+
+ // A condition used in the query references an unsupported enum constant.
+ PROHIBITED_ENUM_CONSTANT = 54;
+
+ // Fields that are not allowed to be selected together were included in
+ // the SELECT clause.
+ PROHIBITED_FIELD_COMBINATION_IN_SELECT_CLAUSE = 31;
+
+ // A field that is not orderable was included in the ORDER BY clause.
+ PROHIBITED_FIELD_IN_ORDER_BY_CLAUSE = 40;
+
+ // A field that is not selectable was included in the SELECT clause.
+ PROHIBITED_FIELD_IN_SELECT_CLAUSE = 23;
+
+ // A field that is not filterable was included in the WHERE clause.
+ PROHIBITED_FIELD_IN_WHERE_CLAUSE = 24;
+
+ // Resource type specified in the FROM clause is not supported by this
+ // service.
+ PROHIBITED_RESOURCE_TYPE_IN_FROM_CLAUSE = 43;
+
+ // A field that comes from an incompatible resource was included in the
+ // SELECT clause.
+ PROHIBITED_RESOURCE_TYPE_IN_SELECT_CLAUSE = 48;
+
+ // A field that comes from an incompatible resource was included in the
+ // WHERE clause.
+ PROHIBITED_RESOURCE_TYPE_IN_WHERE_CLAUSE = 58;
+
+ // A metric incompatible with the main resource or other selected
+ // segmenting resources was included in the SELECT or WHERE clause.
+ PROHIBITED_METRIC_IN_SELECT_OR_WHERE_CLAUSE = 49;
+
+ // A segment incompatible with the main resource or other selected
+ // segmenting resources was included in the SELECT or WHERE clause.
+ PROHIBITED_SEGMENT_IN_SELECT_OR_WHERE_CLAUSE = 51;
+
+ // A segment in the SELECT clause is incompatible with a metric in the
+ // SELECT or WHERE clause.
+ PROHIBITED_SEGMENT_WITH_METRIC_IN_SELECT_OR_WHERE_CLAUSE = 53;
+
+ // The value passed to the limit clause is too low.
+ LIMIT_VALUE_TOO_LOW = 25;
+
+ // Query has a string containing a newline character.
+ PROHIBITED_NEWLINE_IN_STRING = 8;
+
+ // List contains values of different types.
+ PROHIBITED_VALUE_COMBINATION_IN_LIST = 10;
+
+ // The values passed to the BETWEEN operator are not of the same type.
+ PROHIBITED_VALUE_COMBINATION_WITH_BETWEEN_OPERATOR = 21;
+
+ // Query contains unterminated string.
+ STRING_NOT_TERMINATED = 6;
+
+ // Too many segments are specified in SELECT clause.
+ TOO_MANY_SEGMENTS = 34;
+
+ // Query is incomplete and cannot be parsed.
+ UNEXPECTED_END_OF_QUERY = 9;
+
+ // FROM clause cannot be specified in this query.
+ UNEXPECTED_FROM_CLAUSE = 47;
+
+ // Query contains one or more unrecognized fields.
+ UNRECOGNIZED_FIELD = 32;
+
+ // Query has an unexpected extra part.
+ UNEXPECTED_INPUT = 11;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/quota_error.proto b/google/ads/googleads/v0/errors/quota_error.proto
new file mode 100644
index 000000000..25826efe4
--- /dev/null
+++ b/google/ads/googleads/v0/errors/quota_error.proto
@@ -0,0 +1,50 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "QuotaErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing quota errors.
+
+// Container for enum describing possible quota errors.
+message QuotaErrorEnum {
+ // Enum describing possible quota errors.
+ enum QuotaError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Too many requests.
+ RESOURCE_EXHAUSTED = 2;
+
+ // Access is prohibited.
+ ACCESS_PROHIBITED = 3;
+
+ // Too many requests in a short amount of time.
+ RESOURCE_TEMPORARILY_EXHAUSTED = 4;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/range_error.proto b/google/ads/googleads/v0/errors/range_error.proto
new file mode 100644
index 000000000..e01b0d523
--- /dev/null
+++ b/google/ads/googleads/v0/errors/range_error.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "RangeErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing range errors.
+
+// Container for enum describing possible range errors.
+message RangeErrorEnum {
+ // Enum describing possible range errors.
+ enum RangeError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Too low.
+ TOO_LOW = 2;
+
+ // Too high.
+ TOO_HIGH = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/recommendation_error.proto b/google/ads/googleads/v0/errors/recommendation_error.proto
new file mode 100644
index 000000000..8f20cc015
--- /dev/null
+++ b/google/ads/googleads/v0/errors/recommendation_error.proto
@@ -0,0 +1,84 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "RecommendationErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing errors from applying a recommendation.
+
+// Container for enum describing possible errors from applying a recommendation.
+message RecommendationErrorEnum {
+ // Enum describing possible errors from applying a recommendation.
+ enum RecommendationError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The specified budget amount is too low e.g. lower than minimum currency
+ // unit or lower than ad group minimum cost-per-click.
+ BUDGET_AMOUNT_TOO_SMALL = 2;
+
+ // The specified budget amount is too large.
+ BUDGET_AMOUNT_TOO_LARGE = 3;
+
+ // The specified budget amount is not a valid amount. e.g. not a multiple
+ // of minimum currency unit.
+ INVALID_BUDGET_AMOUNT = 4;
+
+ // The specified keyword or ad violates ad policy.
+ POLICY_ERROR = 5;
+
+ // The specified bid amount is not valid. e.g. too many fractional digits,
+ // or negative amount.
+ INVALID_BID_AMOUNT = 6;
+
+ // The number of keywords in ad group have reached the maximum allowed.
+ ADGROUP_KEYWORD_LIMIT = 7;
+
+ // The recommendation requested to apply has already been applied.
+ RECOMMENDATION_ALREADY_APPLIED = 8;
+
+ // The recommendation requested to apply has been invalidated.
+ RECOMMENDATION_INVALIDATED = 9;
+
+ // The number of operations in a single request exceeds the maximum allowed.
+ TOO_MANY_OPERATIONS = 10;
+
+ // There are no operations in the request.
+ NO_OPERATIONS = 11;
+
+ // Operations with multiple recommendation types are not supported when
+ // partial failure mode is not enabled.
+ DIFFERENT_TYPES_NOT_SUPPORTED = 12;
+
+ // Request contains multiple operations with the same resource_name.
+ DUPLICATE_RESOURCE_NAME = 13;
+
+ // The recommendation requested to dismiss has already been dismissed.
+ RECOMMENDATION_ALREADY_DISMISSED = 14;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/region_code_error.proto b/google/ads/googleads/v0/errors/region_code_error.proto
new file mode 100644
index 000000000..2e22fbfb2
--- /dev/null
+++ b/google/ads/googleads/v0/errors/region_code_error.proto
@@ -0,0 +1,44 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "RegionCodeErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing region code errors.
+
+// Container for enum describing possible region code errors.
+message RegionCodeErrorEnum {
+ // Enum describing possible region code errors.
+ enum RegionCodeError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Invalid region code.
+ INVALID_REGION_CODE = 2;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/request_error.proto b/google/ads/googleads/v0/errors/request_error.proto
new file mode 100644
index 000000000..f63308aeb
--- /dev/null
+++ b/google/ads/googleads/v0/errors/request_error.proto
@@ -0,0 +1,92 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "RequestErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing request errors.
+
+// Container for enum describing possible request errors.
+message RequestErrorEnum {
+ // Enum describing possible request errors.
+ enum RequestError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Resource name is required for this request.
+ RESOURCE_NAME_MISSING = 3;
+
+ // Resource name provided is malformed.
+ RESOURCE_NAME_MALFORMED = 4;
+
+ // Resource name provided is malformed.
+ BAD_RESOURCE_ID = 17;
+
+ // Customer ID is invalid.
+ INVALID_CUSTOMER_ID = 16;
+
+ // Mutate operation should have either create, update, or remove specified.
+ OPERATION_REQUIRED = 5;
+
+ // Requested resource not found.
+ RESOURCE_NOT_FOUND = 6;
+
+ // Next page token specified in user request is invalid.
+ INVALID_PAGE_TOKEN = 7;
+
+ // Next page token specified in user request has expired.
+ EXPIRED_PAGE_TOKEN = 8;
+
+ // Required field is missing.
+ REQUIRED_FIELD_MISSING = 9;
+
+ // The field cannot be modified because it's immutable. It's also possible
+ // that the field can be modified using 'create' operation but not 'update'.
+ IMMUTABLE_FIELD = 11;
+
+ // Received too many entries in request.
+ TOO_MANY_MUTATE_OPERATIONS = 13;
+
+ // Request cannot be executed by a manager account.
+ CANNOT_BE_EXECUTED_BY_MANAGER_ACCOUNT = 14;
+
+ // Mutate request was attempting to modify a readonly field.
+ // For instance, Budget fields can be requested for Ad Group,
+ // but are read-only for adGroups:mutate.
+ CANNOT_MODIFY_FOREIGN_FIELD = 15;
+
+ // Enum value is not permitted.
+ INVALID_ENUM_VALUE = 18;
+
+ // The developer-token parameter is required for all requests.
+ DEVELOPER_TOKEN_PARAMETER_MISSING = 19;
+
+ // The login-customer-id parameter is required for this request.
+ LOGIN_CUSTOMER_ID_PARAMETER_MISSING = 20;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/resource_access_denied_error.proto b/google/ads/googleads/v0/errors/resource_access_denied_error.proto
new file mode 100644
index 000000000..1ec83d0d4
--- /dev/null
+++ b/google/ads/googleads/v0/errors/resource_access_denied_error.proto
@@ -0,0 +1,44 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "ResourceAccessDeniedErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing resource access denied errors.
+
+// Container for enum describing possible resource access denied errors.
+message ResourceAccessDeniedErrorEnum {
+ // Enum describing possible resource access denied errors.
+ enum ResourceAccessDeniedError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // User did not have write access.
+ WRITE_ACCESS_DENIED = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/resource_count_limit_exceeded_error.proto b/google/ads/googleads/v0/errors/resource_count_limit_exceeded_error.proto
new file mode 100644
index 000000000..6cd9f93aa
--- /dev/null
+++ b/google/ads/googleads/v0/errors/resource_count_limit_exceeded_error.proto
@@ -0,0 +1,86 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "ResourceCountLimitExceededErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing resource count limit exceeded errors.
+
+// Container for enum describing possible resource count limit exceeded errors.
+message ResourceCountLimitExceededErrorEnum {
+ // Enum describing possible resource count limit exceeded errors.
+ enum ResourceCountLimitExceededError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Indicates that this request would exceed the number of allowed resources
+ // for the Google Ads account. The exact resource type and limit being
+ // checked
+ // can be inferred from accountLimitType.
+ ACCOUNT_LIMIT = 2;
+
+ // Indicates that this request would exceed the number of allowed resources
+ // in a Campaign. The exact resource type and limit being checked can be
+ // inferred from accountLimitType, and the numeric id of the
+ // Campaign involved is given by enclosingId.
+ CAMPAIGN_LIMIT = 3;
+
+ // Indicates that this request would exceed the number of allowed resources
+ // in an ad group. The exact resource type and limit being checked can be
+ // inferred from accountLimitType, and the numeric id of the
+ // ad group involved is given by enclosingId.
+ ADGROUP_LIMIT = 4;
+
+ // Indicates that this request would exceed the number of allowed resources
+ // in an ad group ad. The exact resource type and limit being checked can
+ // be inferred from accountLimitType, and the enclosingId
+ // contains the ad group id followed by the ad id, separated by a single
+ // comma (,).
+ AD_GROUP_AD_LIMIT = 5;
+
+ // Indicates that this request would exceed the number of allowed resources
+ // in an ad group criterion. The exact resource type and limit being checked
+ // can be inferred from accountLimitType, and the
+ // enclosingId contains the ad group id followed by the
+ // criterion id, separated by a single comma (,).
+ AD_GROUP_CRITERION_LIMIT = 6;
+
+ // Indicates that this request would exceed the number of allowed resources
+ // in this shared set. The exact resource type and limit being checked can
+ // be inferred from accountLimitType, and the numeric id of the
+ // shared set involved is given by enclosingId.
+ SHARED_SET_LIMIT = 7;
+
+ // Exceeds a limit related to a matching function.
+ MATCHING_FUNCTION_LIMIT = 8;
+
+ // The response for this request would exceed the maximum number of rows
+ // that can be returned.
+ RESPONSE_ROW_LIMIT_EXCEEDED = 9;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/setting_error.proto b/google/ads/googleads/v0/errors/setting_error.proto
new file mode 100644
index 000000000..788cb86ef
--- /dev/null
+++ b/google/ads/googleads/v0/errors/setting_error.proto
@@ -0,0 +1,102 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "SettingErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing setting errors.
+
+// Container for enum describing possible setting errors.
+message SettingErrorEnum {
+ // Enum describing possible setting errors.
+ enum SettingError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The campaign setting is not available for this Google Ads account.
+ SETTING_TYPE_IS_NOT_AVAILABLE = 3;
+
+ // The setting is not compatible with the campaign.
+ SETTING_TYPE_IS_NOT_COMPATIBLE_WITH_CAMPAIGN = 4;
+
+ // The supplied TargetingSetting contains an invalid CriterionTypeGroup. See
+ // CriterionTypeGroup documentation for CriterionTypeGroups allowed
+ // in Campaign or AdGroup TargetingSettings.
+ TARGETING_SETTING_CONTAINS_INVALID_CRITERION_TYPE_GROUP = 5;
+
+ // TargetingSetting must not explicitly
+ // set any of the Demographic CriterionTypeGroups (AGE_RANGE, GENDER,
+ // PARENT, INCOME_RANGE) to false (it's okay to not set them at all, in
+ // which case the system will set them to true automatically).
+ TARGETING_SETTING_DEMOGRAPHIC_CRITERION_TYPE_GROUPS_MUST_BE_SET_TO_TARGET_ALL = 6;
+
+ // TargetingSetting cannot change any of
+ // the Demographic CriterionTypeGroups (AGE_RANGE, GENDER, PARENT,
+ // INCOME_RANGE) from true to false.
+ TARGETING_SETTING_CANNOT_CHANGE_TARGET_ALL_TO_FALSE_FOR_DEMOGRAPHIC_CRITERION_TYPE_GROUP = 7;
+
+ // At least one feed id should be present.
+ DYNAMIC_SEARCH_ADS_SETTING_AT_LEAST_ONE_FEED_ID_MUST_BE_PRESENT = 8;
+
+ // The supplied DynamicSearchAdsSetting contains an invalid domain name.
+ DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_DOMAIN_NAME = 9;
+
+ // The supplied DynamicSearchAdsSetting contains a subdomain name.
+ DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_SUBDOMAIN_NAME = 10;
+
+ // The supplied DynamicSearchAdsSetting contains an invalid language code.
+ DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_LANGUAGE_CODE = 11;
+
+ // TargetingSettings in search campaigns should not have
+ // CriterionTypeGroup.PLACEMENT set to targetAll.
+ TARGET_ALL_IS_NOT_ALLOWED_FOR_PLACEMENT_IN_SEARCH_CAMPAIGN = 12;
+
+ // Duplicate description in universal app setting description field.
+ UNIVERSAL_APP_CAMPAIGN_SETTING_DUPLICATE_DESCRIPTION = 13;
+
+ // Description line width is too long in universal app setting description
+ // field.
+ UNIVERSAL_APP_CAMPAIGN_SETTING_DESCRIPTION_LINE_WIDTH_TOO_LONG = 14;
+
+ // Universal app setting appId field cannot be modified for COMPLETE
+ // campaigns.
+ UNIVERSAL_APP_CAMPAIGN_SETTING_APP_ID_CANNOT_BE_MODIFIED = 15;
+
+ // YoutubeVideoMediaIds in universal app setting cannot exceed size limit.
+ TOO_MANY_YOUTUBE_MEDIA_IDS_IN_UNIVERSAL_APP_CAMPAIGN = 16;
+
+ // ImageMediaIds in universal app setting cannot exceed size limit.
+ TOO_MANY_IMAGE_MEDIA_IDS_IN_UNIVERSAL_APP_CAMPAIGN = 17;
+
+ // Media is incompatible for universal app campaign.
+ MEDIA_INCOMPATIBLE_FOR_UNIVERSAL_APP_CAMPAIGN = 18;
+
+ // Too many exclamation marks in universal app campaign ad text ideas.
+ TOO_MANY_EXCLAMATION_MARKS = 19;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/shared_criterion_error.proto b/google/ads/googleads/v0/errors/shared_criterion_error.proto
new file mode 100644
index 000000000..321ad3430
--- /dev/null
+++ b/google/ads/googleads/v0/errors/shared_criterion_error.proto
@@ -0,0 +1,44 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "SharedCriterionErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing shared criterion errors.
+
+// Container for enum describing possible shared criterion errors.
+message SharedCriterionErrorEnum {
+ // Enum describing possible shared criterion errors.
+ enum SharedCriterionError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The criterion is not appropriate for the shared set type.
+ CRITERION_TYPE_NOT_ALLOWED_FOR_SHARED_SET_TYPE = 2;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/shared_set_error.proto b/google/ads/googleads/v0/errors/shared_set_error.proto
new file mode 100644
index 000000000..b38524d52
--- /dev/null
+++ b/google/ads/googleads/v0/errors/shared_set_error.proto
@@ -0,0 +1,53 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "SharedSetErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing shared set errors.
+
+// Container for enum describing possible shared set errors.
+message SharedSetErrorEnum {
+ // Enum describing possible shared set errors.
+ enum SharedSetError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The customer cannot create this type of shared set.
+ CUSTOMER_CANNOT_CREATE_SHARED_SET_OF_THIS_TYPE = 2;
+
+ // A shared set with this name already exists.
+ DUPLICATE_NAME = 3;
+
+ // Removed shared sets cannot be mutated.
+ SHARED_SET_REMOVED = 4;
+
+ // The shared set cannot be removed because it is in use.
+ SHARED_SET_IN_USE = 5;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/string_format_error.proto b/google/ads/googleads/v0/errors/string_format_error.proto
new file mode 100644
index 000000000..6b65615ff
--- /dev/null
+++ b/google/ads/googleads/v0/errors/string_format_error.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "StringFormatErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing string format errors.
+
+// Container for enum describing possible string format errors.
+message StringFormatErrorEnum {
+ // Enum describing possible string format errors.
+ enum StringFormatError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The input string value contains disallowed characters.
+ ILLEGAL_CHARS = 2;
+
+ // The input string value is invalid for the associated field.
+ INVALID_FORMAT = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/string_length_error.proto b/google/ads/googleads/v0/errors/string_length_error.proto
new file mode 100644
index 000000000..ced076bbb
--- /dev/null
+++ b/google/ads/googleads/v0/errors/string_length_error.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "StringLengthErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing string length errors.
+
+// Container for enum describing possible string length errors.
+message StringLengthErrorEnum {
+ // Enum describing possible string length errors.
+ enum StringLengthError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Too short.
+ TOO_SHORT = 2;
+
+ // Too long.
+ TOO_LONG = 3;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/url_field_error.proto b/google/ads/googleads/v0/errors/url_field_error.proto
new file mode 100644
index 000000000..cf4f3e360
--- /dev/null
+++ b/google/ads/googleads/v0/errors/url_field_error.proto
@@ -0,0 +1,209 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "UrlFieldErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing url field errors.
+
+// Container for enum describing possible url field errors.
+message UrlFieldErrorEnum {
+ // Enum describing possible url field errors.
+ enum UrlFieldError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // The tracking url template is invalid.
+ INVALID_TRACKING_URL_TEMPLATE = 2;
+
+ // The tracking url template contains invalid tag.
+ INVALID_TAG_IN_TRACKING_URL_TEMPLATE = 3;
+
+ // The tracking url template must contain at least one tag (e.g. {lpurl}),
+ // This applies only to tracking url template associated with website ads or
+ // product ads.
+ MISSING_TRACKING_URL_TEMPLATE_TAG = 4;
+
+ // The tracking url template must start with a valid protocol (or lpurl
+ // tag).
+ MISSING_PROTOCOL_IN_TRACKING_URL_TEMPLATE = 5;
+
+ // The tracking url template starts with an invalid protocol.
+ INVALID_PROTOCOL_IN_TRACKING_URL_TEMPLATE = 6;
+
+ // The tracking url template contains illegal characters.
+ MALFORMED_TRACKING_URL_TEMPLATE = 7;
+
+ // The tracking url template must contain a host name (or lpurl tag).
+ MISSING_HOST_IN_TRACKING_URL_TEMPLATE = 8;
+
+ // The tracking url template has an invalid or missing top level domain
+ // extension.
+ INVALID_TLD_IN_TRACKING_URL_TEMPLATE = 9;
+
+ // The tracking url template contains nested occurrences of the same
+ // conditional tag (i.e. {ifmobile:{ifmobile:x}}).
+ REDUNDANT_NESTED_TRACKING_URL_TEMPLATE_TAG = 10;
+
+ // The final url is invalid.
+ INVALID_FINAL_URL = 11;
+
+ // The final url contains invalid tag.
+ INVALID_TAG_IN_FINAL_URL = 12;
+
+ // The final url contains nested occurrences of the same conditional tag
+ // (i.e. {ifmobile:{ifmobile:x}}).
+ REDUNDANT_NESTED_FINAL_URL_TAG = 13;
+
+ // The final url must start with a valid protocol.
+ MISSING_PROTOCOL_IN_FINAL_URL = 14;
+
+ // The final url starts with an invalid protocol.
+ INVALID_PROTOCOL_IN_FINAL_URL = 15;
+
+ // The final url contains illegal characters.
+ MALFORMED_FINAL_URL = 16;
+
+ // The final url must contain a host name.
+ MISSING_HOST_IN_FINAL_URL = 17;
+
+ // The tracking url template has an invalid or missing top level domain
+ // extension.
+ INVALID_TLD_IN_FINAL_URL = 18;
+
+ // The final mobile url is invalid.
+ INVALID_FINAL_MOBILE_URL = 19;
+
+ // The final mobile url contains invalid tag.
+ INVALID_TAG_IN_FINAL_MOBILE_URL = 20;
+
+ // The final mobile url contains nested occurrences of the same conditional
+ // tag (i.e. {ifmobile:{ifmobile:x}}).
+ REDUNDANT_NESTED_FINAL_MOBILE_URL_TAG = 21;
+
+ // The final mobile url must start with a valid protocol.
+ MISSING_PROTOCOL_IN_FINAL_MOBILE_URL = 22;
+
+ // The final mobile url starts with an invalid protocol.
+ INVALID_PROTOCOL_IN_FINAL_MOBILE_URL = 23;
+
+ // The final mobile url contains illegal characters.
+ MALFORMED_FINAL_MOBILE_URL = 24;
+
+ // The final mobile url must contain a host name.
+ MISSING_HOST_IN_FINAL_MOBILE_URL = 25;
+
+ // The tracking url template has an invalid or missing top level domain
+ // extension.
+ INVALID_TLD_IN_FINAL_MOBILE_URL = 26;
+
+ // The final app url is invalid.
+ INVALID_FINAL_APP_URL = 27;
+
+ // The final app url contains invalid tag.
+ INVALID_TAG_IN_FINAL_APP_URL = 28;
+
+ // The final app url contains nested occurrences of the same conditional tag
+ // (i.e. {ifmobile:{ifmobile:x}}).
+ REDUNDANT_NESTED_FINAL_APP_URL_TAG = 29;
+
+ // More than one app url found for the same OS type.
+ MULTIPLE_APP_URLS_FOR_OSTYPE = 30;
+
+ // The OS type given for an app url is not valid.
+ INVALID_OSTYPE = 31;
+
+ // The protocol given for an app url is not valid. (E.g. "android-app://")
+ INVALID_PROTOCOL_FOR_APP_URL = 32;
+
+ // The package id (app id) given for an app url is not valid.
+ INVALID_PACKAGE_ID_FOR_APP_URL = 33;
+
+ // The number of url custom parameters for an resource exceeds the maximum
+ // limit allowed.
+ URL_CUSTOM_PARAMETERS_COUNT_EXCEEDS_LIMIT = 34;
+
+ // An invalid character appears in the parameter key.
+ INVALID_CHARACTERS_IN_URL_CUSTOM_PARAMETER_KEY = 39;
+
+ // An invalid character appears in the parameter value.
+ INVALID_CHARACTERS_IN_URL_CUSTOM_PARAMETER_VALUE = 40;
+
+ // The url custom parameter value fails url tag validation.
+ INVALID_TAG_IN_URL_CUSTOM_PARAMETER_VALUE = 41;
+
+ // The custom parameter contains nested occurrences of the same conditional
+ // tag (i.e. {ifmobile:{ifmobile:x}}).
+ REDUNDANT_NESTED_URL_CUSTOM_PARAMETER_TAG = 42;
+
+ // The protocol (http:// or https://) is missing.
+ MISSING_PROTOCOL = 43;
+
+ // Unsupported protocol in URL. Only http and https are supported.
+ INVALID_PROTOCOL = 52;
+
+ // The url is invalid.
+ INVALID_URL = 44;
+
+ // Destination Url is deprecated.
+ DESTINATION_URL_DEPRECATED = 45;
+
+ // The url contains invalid tag.
+ INVALID_TAG_IN_URL = 46;
+
+ // The url must contain at least one tag (e.g. {lpurl}), This applies only
+ // to urls associated with website ads or product ads.
+ MISSING_URL_TAG = 47;
+
+ // Duplicate url id.
+ DUPLICATE_URL_ID = 48;
+
+ // Invalid url id.
+ INVALID_URL_ID = 49;
+
+ // The final url suffix cannot begin with '?' or '&' characters and must be
+ // a valid query string.
+ FINAL_URL_SUFFIX_MALFORMED = 50;
+
+ // The final url suffix cannot contain {lpurl} related or {ignore} tags.
+ INVALID_TAG_IN_FINAL_URL_SUFFIX = 51;
+
+ // The top level domain is invalid, e.g, not a public top level domain
+ // listed in publicsuffix.org.
+ INVALID_TOP_LEVEL_DOMAIN = 53;
+
+ // Malformed top level domain in URL.
+ MALFORMED_TOP_LEVEL_DOMAIN = 54;
+
+ // Malformed URL.
+ MALFORMED_URL = 55;
+
+ // No host found in URL.
+ MISSING_HOST = 56;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/errors/user_list_error.proto b/google/ads/googleads/v0/errors/user_list_error.proto
new file mode 100644
index 000000000..7aa63edce
--- /dev/null
+++ b/google/ads/googleads/v0/errors/user_list_error.proto
@@ -0,0 +1,115 @@
+// Copyright 2018 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.v0.errors;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/errors;errors";
+option java_multiple_files = true;
+option java_outer_classname = "UserListErrorProto";
+option java_package = "com.google.ads.googleads.v0.errors";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
+// Proto file describing user list errors.
+
+// Container for enum describing possible user list errors.
+message UserListErrorEnum {
+ // Enum describing possible user list errors.
+ enum UserListError {
+ // Enum unspecified.
+ UNSPECIFIED = 0;
+
+ // The received error code is not known in this version.
+ UNKNOWN = 1;
+
+ // Creating and updating external remarketing user lists is not supported.
+ EXTERNAL_REMARKETING_USER_LIST_MUTATE_NOT_SUPPORTED = 2;
+
+ // Concrete type of user list is required.
+ CONCRETE_TYPE_REQUIRED = 3;
+
+ // Creating/updating user list conversion types requires specifying the
+ // conversion type Id.
+ CONVERSION_TYPE_ID_REQUIRED = 4;
+
+ // Remarketing user list cannot have duplicate conversion types.
+ DUPLICATE_CONVERSION_TYPES = 5;
+
+ // Conversion type is invalid/unknown.
+ INVALID_CONVERSION_TYPE = 6;
+
+ // User list description is empty or invalid.
+ INVALID_DESCRIPTION = 7;
+
+ // User list name is empty or invalid.
+ INVALID_NAME = 8;
+
+ // Type of the UserList does not match.
+ INVALID_TYPE = 9;
+
+ // Embedded logical user lists are not allowed.
+ CAN_NOT_ADD_LOGICAL_LIST_AS_LOGICAL_LIST_OPERAND = 10;
+
+ // User list rule operand is invalid.
+ INVALID_USER_LIST_LOGICAL_RULE_OPERAND = 11;
+
+ // Name is already being used for another user list for the account.
+ NAME_ALREADY_USED = 12;
+
+ // Name is required when creating a new conversion type.
+ NEW_CONVERSION_TYPE_NAME_REQUIRED = 13;
+
+ // The given conversion type name has been used.
+ CONVERSION_TYPE_NAME_ALREADY_USED = 14;
+
+ // Only an owner account may edit a user list.
+ OWNERSHIP_REQUIRED_FOR_SET = 15;
+
+ // The user list of the type is not mutable.
+ USER_LIST_MUTATE_NOT_SUPPORTED = 16;
+
+ // Rule is invalid.
+ INVALID_RULE = 17;
+
+ // The specified date range is empty.
+ INVALID_DATE_RANGE = 27;
+
+ // A UserList which is privacy sensitive or legal rejected cannot be mutated
+ // by external users.
+ CAN_NOT_MUTATE_SENSITIVE_USERLIST = 28;
+
+ // Maximum number of rulebased user lists a customer can have.
+ MAX_NUM_RULEBASED_USERLISTS = 29;
+
+ // BasicUserList's billable record field cannot be modified once it is set.
+ CANNOT_MODIFY_BILLABLE_RECORD_COUNT = 30;
+
+ // crm_based_user_list.app_id field must be set when upload_key_type is
+ // MOBILE_ADVERTISING_ID.
+ APP_ID_NOT_SET = 31;
+
+ // Name of the user list is reserved for system generated lists and cannot
+ // be used.
+ USERLIST_NAME_IS_RESERVED_FOR_SYSTEM_LIST = 32;
+
+ // Advertiser needs to be whitelisted to use remarketing lists created from
+ // advertiser uploaded data (e.g., Customer Match lists).
+ ADVERTISER_NOT_WHITELISTED_FOR_USING_UPLOADED_DATA = 33;
+ }
+
+
+}
diff --git a/google/ads/googleads/v0/resources/account_budget.proto b/google/ads/googleads/v0/resources/account_budget.proto
new file mode 100644
index 000000000..2c1f71631
--- /dev/null
+++ b/google/ads/googleads/v0/resources/account_budget.proto
@@ -0,0 +1,230 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/enums/account_budget_proposal_type.proto";
+import "google/ads/googleads/v0/enums/account_budget_status.proto";
+import "google/ads/googleads/v0/enums/spending_limit_type.proto";
+import "google/ads/googleads/v0/enums/time_type.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "AccountBudgetProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.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.v0.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.v0.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.v0.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.v0.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.v0.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.v0.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.v0.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.v0.enums.SpendingLimitTypeEnum.SpendingLimitType adjusted_spending_limit_type = 17;
+ }
+}
diff --git a/google/ads/googleads/v0/resources/account_budget_proposal.proto b/google/ads/googleads/v0/resources/account_budget_proposal.proto
new file mode 100644
index 000000000..b28b14971
--- /dev/null
+++ b/google/ads/googleads/v0/resources/account_budget_proposal.proto
@@ -0,0 +1,138 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/enums/account_budget_proposal_status.proto";
+import "google/ads/googleads/v0/enums/account_budget_proposal_type.proto";
+import "google/ads/googleads/v0/enums/spending_limit_type.proto";
+import "google/ads/googleads/v0/enums/time_type.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "AccountBudgetProposalProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.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.v0.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.v0.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.v0.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.v0.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.v0.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.v0.enums.SpendingLimitTypeEnum.SpendingLimitType approved_spending_limit_type = 24;
+ }
+}
diff --git a/google/ads/googleads/v0/resources/ad.proto b/google/ads/googleads/v0/resources/ad.proto
new file mode 100644
index 000000000..c5576a5f1
--- /dev/null
+++ b/google/ads/googleads/v0/resources/ad.proto
@@ -0,0 +1,119 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/common/ad_type_infos.proto";
+import "google/ads/googleads/v0/common/custom_parameter.proto";
+import "google/ads/googleads/v0/enums/ad_type.proto";
+import "google/ads/googleads/v0/enums/device.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "AdProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.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.v0.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.v0.enums.DeviceEnum.Device device_preference = 20;
+
+ // 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;
+
+ // Details pertinent to the ad type. Exactly one value must be set.
+ oneof ad_data {
+ // Details pertaining to a text ad.
+ google.ads.googleads.v0.common.TextAdInfo text_ad = 6;
+
+ // Details pertaining to an expanded text ad.
+ google.ads.googleads.v0.common.ExpandedTextAdInfo expanded_text_ad = 7;
+
+ // Details pertaining to a Dynamic Search Ad.
+ google.ads.googleads.v0.common.DynamicSearchAdInfo dynamic_search_ad = 8;
+
+ // Details pertaining to a responsive display ad.
+ google.ads.googleads.v0.common.ResponsiveDisplayAdInfo responsive_display_ad = 9;
+
+ // Details pertaining to a call-only ad.
+ google.ads.googleads.v0.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.v0.common.ExpandedDynamicSearchAdInfo expanded_dynamic_search_ad = 14;
+
+ // Details pertaining to a hotel ad.
+ google.ads.googleads.v0.common.HotelAdInfo hotel_ad = 15;
+
+ // Details pertaining to a Smart Shopping ad.
+ google.ads.googleads.v0.common.ShoppingSmartAdInfo shopping_smart_ad = 17;
+
+ // Details pertaining to a Shopping product ad.
+ google.ads.googleads.v0.common.ShoppingProductAdInfo shopping_product_ad = 18;
+
+ // Details pertaining to a Gmail ad.
+ google.ads.googleads.v0.common.GmailAdInfo gmail_ad = 21;
+
+ // Details pertaining to an Image ad.
+ google.ads.googleads.v0.common.ImageAdInfo image_ad = 22;
+ }
+}
diff --git a/google/ads/googleads/v0/resources/ad_group.proto b/google/ads/googleads/v0/resources/ad_group.proto
new file mode 100644
index 000000000..dc57c54c3
--- /dev/null
+++ b/google/ads/googleads/v0/resources/ad_group.proto
@@ -0,0 +1,111 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/common/custom_parameter.proto";
+import "google/ads/googleads/v0/common/explorer_auto_optimizer_setting.proto";
+import "google/ads/googleads/v0/enums/ad_group_ad_rotation_mode.proto";
+import "google/ads/googleads/v0/enums/ad_group_status.proto";
+import "google/ads/googleads/v0/enums/ad_group_type.proto";
+import "google/ads/googleads/v0/enums/targeting_dimension.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "AdGroupProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.enums.AdGroupStatusEnum.AdGroupStatus status = 5;
+
+ // The type of the ad group.
+ google.ads.googleads.v0.enums.AdGroupTypeEnum.AdGroupType type = 12;
+
+ // The ad rotation mode of the ad group.
+ google.ads.googleads.v0.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.v0.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 cost-per-acquisition (conversion) bid.
+ google.protobuf.Int64Value cpa_bid_micros = 16;
+
+ // The CPV (cost-per-view) bid.
+ google.protobuf.Int64Value cpv_bid_micros = 17;
+
+ // The target return on ad spend (ROAS) 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_override = 19;
+
+ // 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.v0.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.v0.enums.TargetingDimensionEnum.TargetingDimension display_custom_bid_dimension = 23;
+
+ // URL template for appending params to Final URL.
+ google.protobuf.StringValue final_url_suffix = 24;
+}
diff --git a/google/ads/googleads/v0/resources/ad_group_ad.proto b/google/ads/googleads/v0/resources/ad_group_ad.proto
new file mode 100644
index 000000000..5f1f825ea
--- /dev/null
+++ b/google/ads/googleads/v0/resources/ad_group_ad.proto
@@ -0,0 +1,68 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/common/policy.proto";
+import "google/ads/googleads/v0/enums/ad_group_ad_status.proto";
+import "google/ads/googleads/v0/enums/policy_approval_status.proto";
+import "google/ads/googleads/v0/enums/policy_review_status.proto";
+import "google/ads/googleads/v0/resources/ad.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "AdGroupAdProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.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;
+}
+
+// Contains policy information for an ad.
+message AdGroupAdPolicySummary {
+ // The list of policy findings for this ad.
+ repeated google.ads.googleads.v0.common.PolicyTopicEntry policy_topic_entries = 1;
+
+ // Where in the review process this ad is.
+ google.ads.googleads.v0.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.v0.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 3;
+}
diff --git a/google/ads/googleads/v0/resources/ad_group_audience_view.proto b/google/ads/googleads/v0/resources/ad_group_audience_view.proto
new file mode 100644
index 000000000..f94627a88
--- /dev/null
+++ b/google/ads/googleads/v0/resources/ad_group_audience_view.proto
@@ -0,0 +1,39 @@
+// Copyright 2018 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.v0.resources;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "AdGroupAudienceViewProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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/v0/resources/ad_group_bid_modifier.proto b/google/ads/googleads/v0/resources/ad_group_bid_modifier.proto
new file mode 100644
index 000000000..bcb412ba8
--- /dev/null
+++ b/google/ads/googleads/v0/resources/ad_group_bid_modifier.proto
@@ -0,0 +1,84 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/common/criteria.proto";
+import "google/ads/googleads/v0/enums/bid_modifier_source.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "AdGroupBidModifierProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.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.v0.common.HotelDateSelectionTypeInfo hotel_date_selection_type = 5;
+
+ // Criterion for number of days prior to the stay the booking is being made.
+ google.ads.googleads.v0.common.HotelAdvanceBookingWindowInfo hotel_advance_booking_window = 6;
+
+ // Criterion for length of hotel stay in nights.
+ google.ads.googleads.v0.common.HotelLengthOfStayInfo hotel_length_of_stay = 7;
+
+ // Criterion for day of the week the booking is for.
+ google.ads.googleads.v0.common.HotelCheckInDayInfo hotel_check_in_day = 8;
+
+ // A device criterion.
+ google.ads.googleads.v0.common.DeviceInfo device = 11;
+
+ // A preferred content criterion.
+ google.ads.googleads.v0.common.PreferredContentInfo preferred_content = 12;
+ }
+}
diff --git a/google/ads/googleads/v0/resources/ad_group_criterion.proto b/google/ads/googleads/v0/resources/ad_group_criterion.proto
new file mode 100644
index 000000000..ff662cb14
--- /dev/null
+++ b/google/ads/googleads/v0/resources/ad_group_criterion.proto
@@ -0,0 +1,197 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/common/criteria.proto";
+import "google/ads/googleads/v0/common/custom_parameter.proto";
+import "google/ads/googleads/v0/enums/ad_group_criterion_status.proto";
+import "google/ads/googleads/v0/enums/bidding_source.proto";
+import "google/ads/googleads/v0/enums/criterion_type.proto";
+import "google/ads/googleads/v0/enums/quality_score_bucket.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "AdGroupCriterionProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.enums.QualityScoreBucketEnum.QualityScoreBucket creative_quality_score = 2;
+
+ // The quality score of the landing page.
+ google.ads.googleads.v0.enums.QualityScoreBucketEnum.QualityScoreBucket post_click_quality_score = 3;
+
+ // The click-through rate compared to that of other advertisers.
+ google.ads.googleads.v0.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;
+ }
+
+ // 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.v0.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.v0.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;
+
+ // 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.v0.enums.BiddingSourceEnum.BiddingSource effective_cpc_bid_source = 21;
+
+ // Source of the effective CPM bid.
+ google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource effective_cpm_bid_source = 22;
+
+ // Source of the effective CPV bid.
+ google.ads.googleads.v0.enums.BiddingSourceEnum.BiddingSource effective_cpv_bid_source = 23;
+
+ // Source of the effective Percent CPC bid.
+ google.ads.googleads.v0.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 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.v0.common.CustomParameter url_custom_parameters = 14;
+
+ // The ad group criterion.
+ //
+ // Exactly one must be set.
+ oneof criterion {
+ // Keyword.
+ google.ads.googleads.v0.common.KeywordInfo keyword = 27;
+
+ // Placement.
+ google.ads.googleads.v0.common.PlacementInfo placement = 28;
+
+ // Listing group.
+ google.ads.googleads.v0.common.ListingGroupInfo listing_group = 32;
+
+ // Age range.
+ google.ads.googleads.v0.common.AgeRangeInfo age_range = 36;
+
+ // Gender.
+ google.ads.googleads.v0.common.GenderInfo gender = 37;
+
+ // Income range.
+ google.ads.googleads.v0.common.IncomeRangeInfo income_range = 38;
+
+ // Parental status.
+ google.ads.googleads.v0.common.ParentalStatusInfo parental_status = 39;
+
+ // User List.
+ google.ads.googleads.v0.common.UserListInfo user_list = 42;
+
+ // YouTube Video.
+ google.ads.googleads.v0.common.YouTubeVideoInfo youtube_video = 40;
+
+ // YouTube Channel.
+ google.ads.googleads.v0.common.YouTubeChannelInfo youtube_channel = 41;
+
+ // Topic.
+ google.ads.googleads.v0.common.TopicInfo topic = 43;
+
+ // User Interest.
+ google.ads.googleads.v0.common.UserInterestInfo user_interest = 45;
+ }
+}
diff --git a/google/ads/googleads/v0/resources/ad_group_feed.proto b/google/ads/googleads/v0/resources/ad_group_feed.proto
new file mode 100644
index 000000000..9d1ebc173
--- /dev/null
+++ b/google/ads/googleads/v0/resources/ad_group_feed.proto
@@ -0,0 +1,60 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/common/matching_function.proto";
+import "google/ads/googleads/v0/enums/feed_link_status.proto";
+import "google/ads/googleads/v0/enums/placeholder_type.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "AdGroupFeedProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.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.v0.common.MatchingFunction matching_function = 5;
+
+ // Status of the ad group feed.
+ // This field is read-only.
+ google.ads.googleads.v0.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6;
+}
diff --git a/google/ads/googleads/v0/resources/age_range_view.proto b/google/ads/googleads/v0/resources/age_range_view.proto
new file mode 100644
index 000000000..030d28e4f
--- /dev/null
+++ b/google/ads/googleads/v0/resources/age_range_view.proto
@@ -0,0 +1,36 @@
+// Copyright 2018 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.v0.resources;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "AgeRangeViewProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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/v0/resources/bidding_strategy.proto b/google/ads/googleads/v0/resources/bidding_strategy.proto
new file mode 100644
index 000000000..b2bb70b3d
--- /dev/null
+++ b/google/ads/googleads/v0/resources/bidding_strategy.proto
@@ -0,0 +1,86 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/common/bidding.proto";
+import "google/ads/googleads/v0/enums/bidding_strategy_type.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "BiddingStrategyProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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 type of the bidding strategy.
+ // Create a bidding strategy by setting the bidding scheme.
+ //
+ // This field is read-only.
+ google.ads.googleads.v0.enums.BiddingStrategyTypeEnum.BiddingStrategyType type = 5;
+
+ // 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.v0.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.v0.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.v0.common.TargetCpa target_cpa = 9;
+
+ // A bidding strategy that sets bids based on the target fraction of
+ // auctions where the advertiser should outrank a specific competitor.
+ google.ads.googleads.v0.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.v0.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.v0.common.TargetSpend target_spend = 12;
+ }
+}
diff --git a/google/ads/googleads/v0/resources/billing_setup.proto b/google/ads/googleads/v0/resources/billing_setup.proto
new file mode 100644
index 000000000..de44d7676
--- /dev/null
+++ b/google/ads/googleads/v0/resources/billing_setup.proto
@@ -0,0 +1,122 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/enums/billing_setup_status.proto";
+import "google/ads/googleads/v0/enums/time_type.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "BillingSetupProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.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_profile_id}_{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.v0.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.v0.enums.TimeTypeEnum.TimeType end_time_type = 14;
+ }
+}
diff --git a/google/ads/googleads/v0/resources/campaign.proto b/google/ads/googleads/v0/resources/campaign.proto
new file mode 100644
index 000000000..7f5064693
--- /dev/null
+++ b/google/ads/googleads/v0/resources/campaign.proto
@@ -0,0 +1,257 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/common/bidding.proto";
+import "google/ads/googleads/v0/common/custom_parameter.proto";
+import "google/ads/googleads/v0/common/frequency_cap.proto";
+import "google/ads/googleads/v0/common/real_time_bidding_setting.proto";
+import "google/ads/googleads/v0/enums/ad_serving_optimization_status.proto";
+import "google/ads/googleads/v0/enums/advertising_channel_sub_type.proto";
+import "google/ads/googleads/v0/enums/advertising_channel_type.proto";
+import "google/ads/googleads/v0/enums/bidding_strategy_type.proto";
+import "google/ads/googleads/v0/enums/campaign_serving_status.proto";
+import "google/ads/googleads/v0/enums/campaign_status.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.Int64Value feed_ids = 4;
+ }
+
+ // 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 is ignored for Smart Shopping
+ // campaigns.
+ google.protobuf.BoolValue enable_local = 4;
+ }
+
+ // 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.v0.enums.CampaignStatusEnum.CampaignStatus status = 5;
+
+ // The ad serving status of the campaign.
+ google.ads.googleads.v0.enums.CampaignServingStatusEnum.CampaignServingStatus serving_status = 21;
+
+ // The ad serving optimization status of the campaign.
+ google.ads.googleads.v0.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.v0.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.v0.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.v0.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.v0.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;
+
+ // 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.v0.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 campaign group this campaign belongs to.
+ google.protobuf.StringValue campaign_group = 35;
+
+ // 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.v0.common.FrequencyCapEntry frequency_caps = 40;
+
+ // 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.v0.common.ManualCpc manual_cpc = 24;
+
+ // Standard Manual CPM bidding strategy.
+ // Manual impression-based bidding where user pays per thousand
+ // impressions.
+ google.ads.googleads.v0.common.ManualCpm manual_cpm = 25;
+
+ // A bidding strategy that pays a configurable amount per video view.
+ google.ads.googleads.v0.common.ManualCpv manual_cpv = 37;
+
+ // Standard Maximize Conversions bidding strategy that automatically
+ // maximizes number of conversions given a daily budget.
+ google.ads.googleads.v0.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.v0.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.v0.common.TargetCpa target_cpa = 26;
+
+ // Standard Target ROAS bidding strategy that automatically maximizes
+ // revenue while averaging a specific target return on ad spend (ROAS).
+ google.ads.googleads.v0.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.v0.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.v0.common.PercentCpc percent_cpc = 34;
+ }
+}
diff --git a/google/ads/googleads/v0/resources/campaign_audience_view.proto b/google/ads/googleads/v0/resources/campaign_audience_view.proto
new file mode 100644
index 000000000..6a347cb24
--- /dev/null
+++ b/google/ads/googleads/v0/resources/campaign_audience_view.proto
@@ -0,0 +1,41 @@
+// Copyright 2018 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.v0.resources;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignAudienceViewProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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/v0/resources/campaign_bid_modifier.proto b/google/ads/googleads/v0/resources/campaign_bid_modifier.proto
new file mode 100644
index 000000000..4d3243c4f
--- /dev/null
+++ b/google/ads/googleads/v0/resources/campaign_bid_modifier.proto
@@ -0,0 +1,56 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/common/criteria.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignBidModifierProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.common.InteractionTypeInfo interaction_type = 5;
+ }
+}
diff --git a/google/ads/googleads/v0/resources/campaign_budget.proto b/google/ads/googleads/v0/resources/campaign_budget.proto
new file mode 100644
index 000000000..1da77456f
--- /dev/null
+++ b/google/ads/googleads/v0/resources/campaign_budget.proto
@@ -0,0 +1,101 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/enums/budget_delivery_method.proto";
+import "google/ads/googleads/v0/enums/budget_status.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignBudgetProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.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.v0.enums.BudgetDeliveryMethodEnum.BudgetDeliveryMethod delivery_method = 7;
+
+ // Whether the budget is explicitly shared. This field is set to false by
+ // default.
+ //
+ // 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;
+}
diff --git a/google/ads/googleads/v0/resources/campaign_criterion.proto b/google/ads/googleads/v0/resources/campaign_criterion.proto
new file mode 100644
index 000000000..fa1023448
--- /dev/null
+++ b/google/ads/googleads/v0/resources/campaign_criterion.proto
@@ -0,0 +1,124 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/common/criteria.proto";
+import "google/ads/googleads/v0/enums/criterion_type.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignCriterionProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.enums.CriterionTypeEnum.CriterionType type = 6;
+
+ // The campaign criterion.
+ //
+ // Exactly one must be set.
+ oneof criterion {
+ // Keyword.
+ google.ads.googleads.v0.common.KeywordInfo keyword = 8;
+
+ // Placement.
+ google.ads.googleads.v0.common.PlacementInfo placement = 9;
+
+ // Location.
+ google.ads.googleads.v0.common.LocationInfo location = 12;
+
+ // Device.
+ google.ads.googleads.v0.common.DeviceInfo device = 13;
+
+ // Ad Schedule.
+ google.ads.googleads.v0.common.AdScheduleInfo ad_schedule = 15;
+
+ // Age range.
+ google.ads.googleads.v0.common.AgeRangeInfo age_range = 16;
+
+ // Gender.
+ google.ads.googleads.v0.common.GenderInfo gender = 17;
+
+ // Income range.
+ google.ads.googleads.v0.common.IncomeRangeInfo income_range = 18;
+
+ // Parental status.
+ google.ads.googleads.v0.common.ParentalStatusInfo parental_status = 19;
+
+ // User List.
+ google.ads.googleads.v0.common.UserListInfo user_list = 22;
+
+ // YouTube Video.
+ google.ads.googleads.v0.common.YouTubeVideoInfo youtube_video = 20;
+
+ // YouTube Channel.
+ google.ads.googleads.v0.common.YouTubeChannelInfo youtube_channel = 21;
+
+ // Proximity.
+ google.ads.googleads.v0.common.ProximityInfo proximity = 23;
+
+ // Topic.
+ google.ads.googleads.v0.common.TopicInfo topic = 24;
+
+ // Listing scope.
+ google.ads.googleads.v0.common.ListingScopeInfo listing_scope = 25;
+
+ // Language.
+ google.ads.googleads.v0.common.LanguageInfo language = 26;
+
+ // IpBlock.
+ google.ads.googleads.v0.common.IpBlockInfo ip_block = 27;
+
+ // ContentLabel.
+ google.ads.googleads.v0.common.ContentLabelInfo content_label = 28;
+
+ // Carrier.
+ google.ads.googleads.v0.common.CarrierInfo carrier = 29;
+
+ // User Interest.
+ google.ads.googleads.v0.common.UserInterestInfo user_interest = 30;
+ }
+}
diff --git a/google/ads/googleads/v0/resources/campaign_feed.proto b/google/ads/googleads/v0/resources/campaign_feed.proto
new file mode 100644
index 000000000..cf240a267
--- /dev/null
+++ b/google/ads/googleads/v0/resources/campaign_feed.proto
@@ -0,0 +1,60 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/common/matching_function.proto";
+import "google/ads/googleads/v0/enums/feed_link_status.proto";
+import "google/ads/googleads/v0/enums/placeholder_type.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignFeedProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.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.v0.common.MatchingFunction matching_function = 5;
+
+ // Status of the campaign feed.
+ // This field is read-only.
+ google.ads.googleads.v0.enums.FeedLinkStatusEnum.FeedLinkStatus status = 6;
+}
diff --git a/google/ads/googleads/v0/resources/campaign_group.proto b/google/ads/googleads/v0/resources/campaign_group.proto
new file mode 100644
index 000000000..f2056ac8f
--- /dev/null
+++ b/google/ads/googleads/v0/resources/campaign_group.proto
@@ -0,0 +1,56 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/enums/campaign_group_status.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignGroupProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Resources";
+// Proto file describing the Campaign group resource.
+
+// A campaign group.
+message CampaignGroup {
+ // The resource name of the campaign group.
+ // Campaign group resource names have the form:
+ //
+ // `customers/{customer_id}/campaignGroups/{campaign_group_id}`
+ string resource_name = 1;
+
+ // The ID of the campaign group.
+ google.protobuf.Int64Value id = 3;
+
+ // The name of the campaign group.
+ //
+ // This field is required and should not be empty when creating new campaign
+ // groups.
+ //
+ // 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 group.
+ //
+ // When a new campaign group is added, the status defaults to ENABLED.
+ google.ads.googleads.v0.enums.CampaignGroupStatusEnum.CampaignGroupStatus status = 5;
+}
diff --git a/google/ads/googleads/v0/resources/campaign_shared_set.proto b/google/ads/googleads/v0/resources/campaign_shared_set.proto
new file mode 100644
index 000000000..31e9ff886
--- /dev/null
+++ b/google/ads/googleads/v0/resources/campaign_shared_set.proto
@@ -0,0 +1,54 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/enums/campaign_shared_set_status.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignSharedSetProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.enums.CampaignSharedSetStatusEnum.CampaignSharedSetStatus status = 2;
+}
diff --git a/google/ads/googleads/v0/resources/carrier_constant.proto b/google/ads/googleads/v0/resources/carrier_constant.proto
new file mode 100644
index 000000000..8a1fb36e7
--- /dev/null
+++ b/google/ads/googleads/v0/resources/carrier_constant.proto
@@ -0,0 +1,48 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "CarrierConstantProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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/v0/resources/change_status.proto b/google/ads/googleads/v0/resources/change_status.proto
new file mode 100644
index 000000000..9ad5a9423
--- /dev/null
+++ b/google/ads/googleads/v0/resources/change_status.proto
@@ -0,0 +1,66 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/enums/change_status_operation.proto";
+import "google/ads/googleads/v0/enums/change_status_resource_type.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "ChangeStatusProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.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.v0.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;
+}
diff --git a/google/ads/googleads/v0/resources/conversion_action.proto b/google/ads/googleads/v0/resources/conversion_action.proto
new file mode 100644
index 000000000..1642c3dd8
--- /dev/null
+++ b/google/ads/googleads/v0/resources/conversion_action.proto
@@ -0,0 +1,130 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/common/tag_snippet.proto";
+import "google/ads/googleads/v0/enums/attribution_model.proto";
+import "google/ads/googleads/v0/enums/conversion_action_category.proto";
+import "google/ads/googleads/v0/enums/conversion_action_counting_type.proto";
+import "google/ads/googleads/v0/enums/conversion_action_status.proto";
+import "google/ads/googleads/v0/enums/conversion_action_type.proto";
+import "google/ads/googleads/v0/enums/data_driven_model_status.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "ConversionActionProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.enums.AttributionModelEnum.AttributionModel attribution_model = 1;
+
+ // The status of the data-driven attribution model for the conversion
+ // action.
+ google.ads.googleads.v0.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.v0.enums.ConversionActionStatusEnum.ConversionActionStatus status = 4;
+
+ // The type of this conversion action.
+ google.ads.googleads.v0.enums.ConversionActionTypeEnum.ConversionActionType type = 5;
+
+ // The category of conversions reported for this conversion action.
+ google.ads.googleads.v0.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.v0.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.v0.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/v0/resources/customer.proto b/google/ads/googleads/v0/resources/customer.proto
new file mode 100644
index 000000000..215dddf76
--- /dev/null
+++ b/google/ads/googleads/v0/resources/customer.proto
@@ -0,0 +1,84 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "CustomerProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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;
+
+ // Call reporting setting for a customer.
+ CallReportingSetting call_reporting_setting = 10;
+}
+
+// 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;
+}
diff --git a/google/ads/googleads/v0/resources/customer_client.proto b/google/ads/googleads/v0/resources/customer_client.proto
new file mode 100644
index 000000000..dd2db9429
--- /dev/null
+++ b/google/ads/googleads/v0/resources/customer_client.proto
@@ -0,0 +1,47 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "CustomerClientProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Resources";
+// Proto file describing the CustomerClient resource.
+
+// For a manager, it returns all the customers in its hierarchy and self.
+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 client customer linked to this customer. Read only.
+ google.protobuf.StringValue client_customer = 3;
+
+ // Whether the client is hidden or not. Default value is false. Read only.
+ google.protobuf.BoolValue hidden = 4;
+
+ // Distance between 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/v0/resources/customer_client_link.proto b/google/ads/googleads/v0/resources/customer_client_link.proto
new file mode 100644
index 000000000..afd1c631f
--- /dev/null
+++ b/google/ads/googleads/v0/resources/customer_client_link.proto
@@ -0,0 +1,53 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/enums/manager_link_status.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "CustomerClientLinkProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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. Read only.
+ 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.v0.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/v0/resources/customer_feed.proto b/google/ads/googleads/v0/resources/customer_feed.proto
new file mode 100644
index 000000000..cba6a12b3
--- /dev/null
+++ b/google/ads/googleads/v0/resources/customer_feed.proto
@@ -0,0 +1,57 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/common/matching_function.proto";
+import "google/ads/googleads/v0/enums/feed_link_status.proto";
+import "google/ads/googleads/v0/enums/placeholder_type.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "CustomerFeedProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.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.v0.common.MatchingFunction matching_function = 4;
+
+ // Status of the customer feed.
+ // This field is read-only.
+ google.ads.googleads.v0.enums.FeedLinkStatusEnum.FeedLinkStatus status = 5;
+}
diff --git a/google/ads/googleads/v0/resources/customer_manager_link.proto b/google/ads/googleads/v0/resources/customer_manager_link.proto
new file mode 100644
index 000000000..9138d0b61
--- /dev/null
+++ b/google/ads/googleads/v0/resources/customer_manager_link.proto
@@ -0,0 +1,48 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/enums/manager_link_status.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "CustomerManagerLinkProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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. This field is read only.
+ 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.v0.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5;
+}
diff --git a/google/ads/googleads/v0/resources/display_keyword_view.proto b/google/ads/googleads/v0/resources/display_keyword_view.proto
new file mode 100644
index 000000000..818b8fdc5
--- /dev/null
+++ b/google/ads/googleads/v0/resources/display_keyword_view.proto
@@ -0,0 +1,36 @@
+// Copyright 2018 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.v0.resources;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "DisplayKeywordViewProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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/v0/resources/feed.proto b/google/ads/googleads/v0/resources/feed.proto
new file mode 100644
index 000000000..0c11b39c9
--- /dev/null
+++ b/google/ads/googleads/v0/resources/feed.proto
@@ -0,0 +1,174 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/enums/affiliate_location_feed_relationship_type.proto";
+import "google/ads/googleads/v0/enums/feed_attribute_type.proto";
+import "google/ads/googleads/v0/enums/feed_origin.proto";
+import "google/ads/googleads/v0/enums/feed_status.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "FeedProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.
+ 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.
+ google.protobuf.StringValue business_account_identifier = 3;
+
+ // 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.v0.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.v0.enums.FeedOriginEnum.FeedOrigin origin = 5;
+
+ // Status of the feed.
+ // This field is read-only.
+ google.ads.googleads.v0.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.v0.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/v0/resources/feed_item.proto b/google/ads/googleads/v0/resources/feed_item.proto
new file mode 100644
index 000000000..ed29015a6
--- /dev/null
+++ b/google/ads/googleads/v0/resources/feed_item.proto
@@ -0,0 +1,125 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/common/custom_parameter.proto";
+import "google/ads/googleads/v0/common/feed_common.proto";
+import "google/ads/googleads/v0/enums/feed_item_status.proto";
+import "google/ads/googleads/v0/enums/geo_targeting_restriction.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "FeedItemProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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
+ // 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.v0.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.v0.common.CustomParameter url_custom_parameters = 8;
+
+ // Status of the feed item.
+ // This field is read-only.
+ google.ads.googleads.v0.enums.FeedItemStatusEnum.FeedItemStatus status = 9;
+}
+
+// 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.v0.common.Price 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;
+}
diff --git a/google/ads/googleads/v0/resources/feed_mapping.proto b/google/ads/googleads/v0/resources/feed_mapping.proto
new file mode 100644
index 000000000..c2fbeb565
--- /dev/null
+++ b/google/ads/googleads/v0/resources/feed_mapping.proto
@@ -0,0 +1,151 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/enums/ad_customizer_placeholder_field.proto";
+import "google/ads/googleads/v0/enums/app_placeholder_field.proto";
+import "google/ads/googleads/v0/enums/call_placeholder_field.proto";
+import "google/ads/googleads/v0/enums/callout_placeholder_field.proto";
+import "google/ads/googleads/v0/enums/custom_placeholder_field.proto";
+import "google/ads/googleads/v0/enums/education_placeholder_field.proto";
+import "google/ads/googleads/v0/enums/feed_mapping_criterion_type.proto";
+import "google/ads/googleads/v0/enums/feed_mapping_status.proto";
+import "google/ads/googleads/v0/enums/flight_placeholder_field.proto";
+import "google/ads/googleads/v0/enums/hotel_placeholder_field.proto";
+import "google/ads/googleads/v0/enums/job_placeholder_field.proto";
+import "google/ads/googleads/v0/enums/local_placeholder_field.proto";
+import "google/ads/googleads/v0/enums/message_placeholder_field.proto";
+import "google/ads/googleads/v0/enums/placeholder_type.proto";
+import "google/ads/googleads/v0/enums/price_placeholder_field.proto";
+import "google/ads/googleads/v0/enums/promotion_placeholder_field.proto";
+import "google/ads/googleads/v0/enums/real_estate_placeholder_field.proto";
+import "google/ads/googleads/v0/enums/sitelink_placeholder_field.proto";
+import "google/ads/googleads/v0/enums/structured_snippet_placeholder_field.proto";
+import "google/ads/googleads/v0/enums/travel_placeholder_field.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "FeedMappingProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.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.v0.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.v0.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.v0.enums.SitelinkPlaceholderFieldEnum.SitelinkPlaceholderField sitelink_field = 3;
+
+ // Call Placeholder Fields.
+ google.ads.googleads.v0.enums.CallPlaceholderFieldEnum.CallPlaceholderField call_field = 4;
+
+ // App Placeholder Fields.
+ google.ads.googleads.v0.enums.AppPlaceholderFieldEnum.AppPlaceholderField app_field = 5;
+
+ // Callout Placeholder Fields.
+ google.ads.googleads.v0.enums.CalloutPlaceholderFieldEnum.CalloutPlaceholderField callout_field = 8;
+
+ // Structured Snippet Placeholder Fields.
+ google.ads.googleads.v0.enums.StructuredSnippetPlaceholderFieldEnum.StructuredSnippetPlaceholderField structured_snippet_field = 9;
+
+ // Message Placeholder Fields.
+ google.ads.googleads.v0.enums.MessagePlaceholderFieldEnum.MessagePlaceholderField message_field = 10;
+
+ // Price Placeholder Fields.
+ google.ads.googleads.v0.enums.PricePlaceholderFieldEnum.PricePlaceholderField price_field = 11;
+
+ // Promotion Placeholder Fields.
+ google.ads.googleads.v0.enums.PromotionPlaceholderFieldEnum.PromotionPlaceholderField promotion_field = 12;
+
+ // Ad Customizer Placeholder Fields
+ google.ads.googleads.v0.enums.AdCustomizerPlaceholderFieldEnum.AdCustomizerPlaceholderField ad_customizer_field = 13;
+
+ // Education Placeholder Fields
+ google.ads.googleads.v0.enums.EducationPlaceholderFieldEnum.EducationPlaceholderField education_field = 16;
+
+ // Flight Placeholder Fields
+ google.ads.googleads.v0.enums.FlightPlaceholderFieldEnum.FlightPlaceholderField flight_field = 17;
+
+ // Custom Placeholder Fields
+ google.ads.googleads.v0.enums.CustomPlaceholderFieldEnum.CustomPlaceholderField custom_field = 18;
+
+ // Hotel Placeholder Fields
+ google.ads.googleads.v0.enums.HotelPlaceholderFieldEnum.HotelPlaceholderField hotel_field = 19;
+
+ // Real Estate Placeholder Fields
+ google.ads.googleads.v0.enums.RealEstatePlaceholderFieldEnum.RealEstatePlaceholderField real_estate_field = 20;
+
+ // Travel Placeholder Fields
+ google.ads.googleads.v0.enums.TravelPlaceholderFieldEnum.TravelPlaceholderField travel_field = 21;
+
+ // Local Placeholder Fields
+ google.ads.googleads.v0.enums.LocalPlaceholderFieldEnum.LocalPlaceholderField local_field = 22;
+
+ // Job Placeholder Fields
+ google.ads.googleads.v0.enums.JobPlaceholderFieldEnum.JobPlaceholderField job_field = 23;
+ }
+}
diff --git a/google/ads/googleads/v0/resources/gender_view.proto b/google/ads/googleads/v0/resources/gender_view.proto
new file mode 100644
index 000000000..a2b98e4b6
--- /dev/null
+++ b/google/ads/googleads/v0/resources/gender_view.proto
@@ -0,0 +1,36 @@
+// Copyright 2018 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.v0.resources;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "GenderViewProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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/v0/resources/geo_target_constant.proto b/google/ads/googleads/v0/resources/geo_target_constant.proto
new file mode 100644
index 000000000..28595aaaf
--- /dev/null
+++ b/google/ads/googleads/v0/resources/geo_target_constant.proto
@@ -0,0 +1,54 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/enums/geo_target_constant_status.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "GeoTargetConstantProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.enums.GeoTargetConstantStatusEnum.GeoTargetConstantStatus status = 7;
+}
diff --git a/google/ads/googleads/v0/resources/google_ads_field.proto b/google/ads/googleads/v0/resources/google_ads_field.proto
new file mode 100644
index 000000000..1c6331592
--- /dev/null
+++ b/google/ads/googleads/v0/resources/google_ads_field.proto
@@ -0,0 +1,97 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/enums/google_ads_field_category.proto";
+import "google/ads/googleads/v0/enums/google_ads_field_data_type.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "GoogleAdsFieldProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.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;
+
+ // The names of all metrics that are selectable with the described artifact.
+ //
+ // This field is only set for artifacts whose category is either RESOURCE or
+ // SEGMENT.
+ repeated google.protobuf.StringValue metrics = 9;
+
+ // The names of all artifacts, whether a segment or another resource, that
+ // segment metrics when included in search queries.
+ //
+ // This field 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.v0.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/v0/resources/hotel_group_view.proto b/google/ads/googleads/v0/resources/hotel_group_view.proto
new file mode 100644
index 000000000..8a779de96
--- /dev/null
+++ b/google/ads/googleads/v0/resources/hotel_group_view.proto
@@ -0,0 +1,36 @@
+// Copyright 2018 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.v0.resources;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "HotelGroupViewProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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/v0/resources/hotel_performance_view.proto b/google/ads/googleads/v0/resources/hotel_performance_view.proto
new file mode 100644
index 000000000..8dc17f49e
--- /dev/null
+++ b/google/ads/googleads/v0/resources/hotel_performance_view.proto
@@ -0,0 +1,36 @@
+// Copyright 2018 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.v0.resources;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "HotelPerformanceViewProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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/v0/resources/keyword_plan.proto b/google/ads/googleads/v0/resources/keyword_plan.proto
new file mode 100644
index 000000000..cf71f2ab4
--- /dev/null
+++ b/google/ads/googleads/v0/resources/keyword_plan.proto
@@ -0,0 +1,66 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/common/dates.proto";
+import "google/ads/googleads/v0/enums/keyword_plan_forecast_interval.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordPlanProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Resources";
+// Proto file describing the keyword plan resource.
+
+// A Keyword Planner plan.
+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.v0.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.v0.common.DateRange date_range = 2;
+ }
+}
diff --git a/google/ads/googleads/v0/resources/keyword_plan_ad_group.proto b/google/ads/googleads/v0/resources/keyword_plan_ad_group.proto
new file mode 100644
index 000000000..82d4a8354
--- /dev/null
+++ b/google/ads/googleads/v0/resources/keyword_plan_ad_group.proto
@@ -0,0 +1,55 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordPlanAdGroupProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Resources";
+// Proto file describing the keyword plan ad group resource.
+
+// A Keyword Planner ad group.
+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/v0/resources/keyword_plan_campaign.proto b/google/ads/googleads/v0/resources/keyword_plan_campaign.proto
new file mode 100644
index 000000000..a43f996a9
--- /dev/null
+++ b/google/ads/googleads/v0/resources/keyword_plan_campaign.proto
@@ -0,0 +1,77 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/enums/keyword_plan_network.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordPlanCampaignProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Resources";
+// Proto file describing the keyword plan campaign resource.
+
+// A Keyword Plan campaign.
+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.
+ 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.v0.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.
+ 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/v0/resources/keyword_plan_keyword.proto b/google/ads/googleads/v0/resources/keyword_plan_keyword.proto
new file mode 100644
index 000000000..b86a63797
--- /dev/null
+++ b/google/ads/googleads/v0/resources/keyword_plan_keyword.proto
@@ -0,0 +1,55 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/enums/keyword_match_type.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordPlanKeywordProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Resources";
+// Proto file describing the keyword plan keyword resource.
+
+// A Keyword Plan ad group keyword.
+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.v0.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/v0/resources/keyword_plan_negative_keyword.proto b/google/ads/googleads/v0/resources/keyword_plan_negative_keyword.proto
new file mode 100644
index 000000000..cbbd65abf
--- /dev/null
+++ b/google/ads/googleads/v0/resources/keyword_plan_negative_keyword.proto
@@ -0,0 +1,52 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/enums/keyword_match_type.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordPlanNegativeKeywordProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Resources";
+// Proto file describing the keyword plan negative keyword resource.
+
+// A Keyword Plan negative keyword.
+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.v0.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 5;
+}
diff --git a/google/ads/googleads/v0/resources/keyword_view.proto b/google/ads/googleads/v0/resources/keyword_view.proto
new file mode 100644
index 000000000..47f3647fe
--- /dev/null
+++ b/google/ads/googleads/v0/resources/keyword_view.proto
@@ -0,0 +1,36 @@
+// Copyright 2018 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.v0.resources;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordViewProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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/v0/resources/language_constant.proto b/google/ads/googleads/v0/resources/language_constant.proto
new file mode 100644
index 000000000..40dfa9afe
--- /dev/null
+++ b/google/ads/googleads/v0/resources/language_constant.proto
@@ -0,0 +1,48 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "LanguageConstantProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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;
+}
diff --git a/google/ads/googleads/v0/resources/managed_placement_view.proto b/google/ads/googleads/v0/resources/managed_placement_view.proto
new file mode 100644
index 000000000..8af393844
--- /dev/null
+++ b/google/ads/googleads/v0/resources/managed_placement_view.proto
@@ -0,0 +1,37 @@
+// Copyright 2018 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.v0.resources;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "ManagedPlacementViewProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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/v0/resources/media_file.proto b/google/ads/googleads/v0/resources/media_file.proto
new file mode 100644
index 000000000..265e26dae
--- /dev/null
+++ b/google/ads/googleads/v0/resources/media_file.proto
@@ -0,0 +1,81 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/enums/media_type.proto";
+import "google/ads/googleads/v0/enums/mime_type.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "MediaFileProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.enums.MediaTypeEnum.MediaType type = 5;
+
+ // The mime type of the media file.
+ google.ads.googleads.v0.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 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;
+}
diff --git a/google/ads/googleads/v0/resources/parental_status_view.proto b/google/ads/googleads/v0/resources/parental_status_view.proto
new file mode 100644
index 000000000..fdfe9c825
--- /dev/null
+++ b/google/ads/googleads/v0/resources/parental_status_view.proto
@@ -0,0 +1,36 @@
+// Copyright 2018 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.v0.resources;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "ParentalStatusViewProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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/v0/resources/payments_account.proto b/google/ads/googleads/v0/resources/payments_account.proto
new file mode 100644
index 000000000..2297ee50c
--- /dev/null
+++ b/google/ads/googleads/v0/resources/payments_account.proto
@@ -0,0 +1,58 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "PaymentsAccountProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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_profile_id}_{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/v0/resources/product_group_view.proto b/google/ads/googleads/v0/resources/product_group_view.proto
new file mode 100644
index 000000000..9a835583b
--- /dev/null
+++ b/google/ads/googleads/v0/resources/product_group_view.proto
@@ -0,0 +1,36 @@
+// Copyright 2018 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.v0.resources;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "ProductGroupViewProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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/v0/resources/recommendation.proto b/google/ads/googleads/v0/resources/recommendation.proto
new file mode 100644
index 000000000..f7f29dd73
--- /dev/null
+++ b/google/ads/googleads/v0/resources/recommendation.proto
@@ -0,0 +1,236 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/common/criteria.proto";
+import "google/ads/googleads/v0/enums/recommendation_type.proto";
+import "google/ads/googleads/v0/enums/target_cpa_opt_in_recommendation_goal.proto";
+import "google/ads/googleads/v0/resources/ad.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "RecommendationProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.common.KeywordInfo keyword = 1;
+
+ // The recommended CPC (cost-per-click) bid.
+ google.protobuf.Int64Value recommended_cpc_bid_micros = 2;
+ }
+
+ // The text ad recommendation.
+ message TextAdRecommendation {
+ // Recommended ad.
+ Ad ad = 1;
+
+ // Creation date of the recommended ad.
+ // YYYY-MM-DD format, e.g., 2018-04-17.
+ google.protobuf.StringValue creation_date = 2;
+
+ // Date, if present, is the earliest when the recommendation will be auto
+ // applied.
+ // YYYY-MM-DD format, e.g., 2018-04-17.
+ google.protobuf.StringValue auto_apply_date = 3;
+ }
+
+ // The Target CPA opt-in recommendation.
+ message TargetCpaOptInRecommendation {
+ // The Target CPA opt-in option with impact estimate.
+ message TargetCpaOptInRecommendationOption {
+ // The goal achieved by this option.
+ google.ads.googleads.v0.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 Maximize Conversions Opt-In recommendation.
+ message MaximizeConversionsOptInRecommendation {
+ // The recommended new budget amount.
+ google.protobuf.Int64Value recommended_budget_amount_micros = 1;
+ }
+
+ // The Enhanced Cost-Per-Click Opt-In recommendation.
+ message EnhancedCpcOptInRecommendation {
+
+ }
+
+ // The Search Partners Opt-In recommendation.
+ message SearchPartnersOptInRecommendation {
+
+ }
+
+ // The Maximize Clicks opt-in recommendation.
+ message MaximizeClicksOptInRecommendation {
+ // The recommended new budget amount.
+ // Only set if the current budget is too high.
+ google.protobuf.Int64Value recommended_budget_amount_micros = 1;
+ }
+
+ // The Optimize Ad Rotation recommendation.
+ message OptimizeAdRotationRecommendation {
+
+ }
+
+ // The resource name of the recommendation.
+ //
+ // `customers/{customer_id}/recommendations/{recommendation_id}`
+ string resource_name = 1;
+
+ // The type of recommendation.
+ google.ads.googleads.v0.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/v0/resources/search_term_view.proto b/google/ads/googleads/v0/resources/search_term_view.proto
new file mode 100644
index 000000000..7973b3f08
--- /dev/null
+++ b/google/ads/googleads/v0/resources/search_term_view.proto
@@ -0,0 +1,51 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/enums/search_term_targeting_status.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "SearchTermViewProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.enums.SearchTermTargetingStatusEnum.SearchTermTargetingStatus status = 4;
+}
diff --git a/google/ads/googleads/v0/resources/shared_criterion.proto b/google/ads/googleads/v0/resources/shared_criterion.proto
new file mode 100644
index 000000000..7d7aafc59
--- /dev/null
+++ b/google/ads/googleads/v0/resources/shared_criterion.proto
@@ -0,0 +1,68 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/common/criteria.proto";
+import "google/ads/googleads/v0/enums/criterion_type.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "SharedCriterionProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.enums.CriterionTypeEnum.CriterionType type = 4;
+
+ // The criterion.
+ //
+ // Exactly one must be set.
+ oneof criterion {
+ // Keyword.
+ google.ads.googleads.v0.common.KeywordInfo keyword = 3;
+
+ // YouTube Video.
+ google.ads.googleads.v0.common.YouTubeVideoInfo youtube_video = 5;
+
+ // YouTube Channel.
+ google.ads.googleads.v0.common.YouTubeChannelInfo youtube_channel = 6;
+
+ // Placement.
+ google.ads.googleads.v0.common.PlacementInfo placement = 7;
+ }
+}
diff --git a/google/ads/googleads/v0/resources/shared_set.proto b/google/ads/googleads/v0/resources/shared_set.proto
new file mode 100644
index 000000000..2e52cc02f
--- /dev/null
+++ b/google/ads/googleads/v0/resources/shared_set.proto
@@ -0,0 +1,64 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/enums/shared_set_status.proto";
+import "google/ads/googleads/v0/enums/shared_set_type.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "SharedSetProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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 entity. Required. Immutable.
+ google.ads.googleads.v0.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.v0.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/v0/resources/topic_constant.proto b/google/ads/googleads/v0/resources/topic_constant.proto
new file mode 100644
index 000000000..5e6da225c
--- /dev/null
+++ b/google/ads/googleads/v0/resources/topic_constant.proto
@@ -0,0 +1,56 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "TopicConstantProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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/v0/resources/topic_view.proto b/google/ads/googleads/v0/resources/topic_view.proto
new file mode 100644
index 000000000..fc7461938
--- /dev/null
+++ b/google/ads/googleads/v0/resources/topic_view.proto
@@ -0,0 +1,36 @@
+// Copyright 2018 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.v0.resources;
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "TopicViewProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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/v0/resources/user_interest.proto b/google/ads/googleads/v0/resources/user_interest.proto
new file mode 100644
index 000000000..9f5e5188b
--- /dev/null
+++ b/google/ads/googleads/v0/resources/user_interest.proto
@@ -0,0 +1,58 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/common/criterion_category_availability.proto";
+import "google/ads/googleads/v0/enums/user_interest_taxonomy_type.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "UserInterestProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.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.v0.common.CriterionCategoryAvailability availabilities = 7;
+}
diff --git a/google/ads/googleads/v0/resources/user_list.proto b/google/ads/googleads/v0/resources/user_list.proto
new file mode 100644
index 000000000..83bede6d8
--- /dev/null
+++ b/google/ads/googleads/v0/resources/user_list.proto
@@ -0,0 +1,145 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/ads/googleads/v0/common/user_lists.proto";
+import "google/ads/googleads/v0/enums/access_reason.proto";
+import "google/ads/googleads/v0/enums/user_list_access_status.proto";
+import "google/ads/googleads/v0/enums/user_list_closing_reason.proto";
+import "google/ads/googleads/v0/enums/user_list_membership_status.proto";
+import "google/ads/googleads/v0/enums/user_list_size_range.proto";
+import "google/ads/googleads/v0/enums/user_list_type.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "UserListProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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.v0.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.v0.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.v0.enums.UserListSizeRangeEnum.UserListSizeRange size_range_for_search = 12;
+
+ // Type of this list.
+ //
+ // This field is read-only.
+ google.ads.googleads.v0.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.v0.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.v0.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.v0.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.v0.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.v0.common.SimilarUserListInfo similar_user_list = 20;
+ }
+}
diff --git a/google/ads/googleads/v0/resources/video.proto b/google/ads/googleads/v0/resources/video.proto
new file mode 100644
index 000000000..3ad93c936
--- /dev/null
+++ b/google/ads/googleads/v0/resources/video.proto
@@ -0,0 +1,50 @@
+// Copyright 2018 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.v0.resources;
+
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Resources";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/resources;resources";
+option java_multiple_files = true;
+option java_outer_classname = "VideoProto";
+option java_package = "com.google.ads.googleads.v0.resources";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\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;
+}
diff --git a/google/ads/googleads/v0/services/account_budget_proposal_service.proto b/google/ads/googleads/v0/services/account_budget_proposal_service.proto
new file mode 100644
index 000000000..c7e1840b7
--- /dev/null
+++ b/google/ads/googleads/v0/services/account_budget_proposal_service.proto
@@ -0,0 +1,120 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/account_budget_proposal.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "AccountBudgetProposalServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the AccountBudgetProposal service.
+
+// A service for managing account-level budgets via proposals.
+//
+// A proposal is a request to create a new budget or make changes to an
+// existing one.
+//
+// Reads for account-level budgets managed by these proposals will be
+// supported in a future version. Please use BudgetOrderService until then:
+// https://developers.google.com/adwords/api/docs/guides/budget-order
+//
+// Mutates:
+// The CREATE operation creates a new proposal.
+// UPDATE operations aren't supported.
+// The REMOVE operation cancels a pending proposal.
+service AccountBudgetProposalService {
+ // Returns an account-level budget proposal in full detail.
+ rpc GetAccountBudgetProposal(GetAccountBudgetProposalRequest) returns (google.ads.googleads.v0.resources.AccountBudgetProposal) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/accountBudgetProposals/*}"
+ };
+ }
+
+ // Creates, updates, or removes account budget proposals. Operation statuses
+ // are returned.
+ rpc MutateAccountBudgetProposal(MutateAccountBudgetProposalRequest) returns (MutateAccountBudgetProposalResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/accountBudgetProposals:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for
+// [AccountBudgetProposalService.GetAccountBudgetProposal][google.ads.googleads.v0.services.AccountBudgetProposalService.GetAccountBudgetProposal].
+message GetAccountBudgetProposalRequest {
+ // The resource name of the account-level budget proposal to fetch.
+ string resource_name = 1;
+}
+
+// Request message for
+// [AccountBudgetProposalService.MutateAccountBudgetProposal][google.ads.googleads.v0.services.AccountBudgetProposalService.MutateAccountBudgetProposal].
+message MutateAccountBudgetProposalRequest {
+ // The ID of the customer.
+ string customer_id = 1;
+
+ // The operation to perform on an individual account-level budget proposal.
+ AccountBudgetProposalOperation operation = 2;
+}
+
+// A single operation to propose the creation of a new account-level budget or
+// edit/end/remove an existing one.
+message AccountBudgetProposalOperation {
+ // FieldMask that determines which budget fields are modified. While budgets
+ // may be modified, proposals that propose such modifications are final.
+ // Therefore, update operations are not supported for proposals.
+ //
+ // Proposals that modify budgets have the 'update' proposal type. Specifying
+ // a mask for any other proposal type is considered an error.
+ google.protobuf.FieldMask update_mask = 3;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: A new proposal to create a new budget, edit an
+ // existing budget, end an actively running budget, or remove an approved
+ // budget scheduled to start in the future.
+ // No resource name is expected for the new proposal.
+ google.ads.googleads.v0.resources.AccountBudgetProposal create = 2;
+
+ // Remove operation: A resource name for the removed proposal is expected,
+ // in this format:
+ //
+ //
+ // `customers/{customer_id}/accountBudgetProposals/{account_budget_proposal_id}`
+ // A request may be cancelled iff it is pending.
+ string remove = 1;
+ }
+}
+
+// Response message for account-level budget mutate operations.
+message MutateAccountBudgetProposalResponse {
+ // The result of the mutate.
+ MutateAccountBudgetProposalResult result = 2;
+}
+
+// The result for the account budget proposal mutate.
+message MutateAccountBudgetProposalResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/account_budget_service.proto b/google/ads/googleads/v0/services/account_budget_service.proto
new file mode 100644
index 000000000..68c11d90f
--- /dev/null
+++ b/google/ads/googleads/v0/services/account_budget_service.proto
@@ -0,0 +1,49 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/account_budget.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "AccountBudgetServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the AccountBudget service.
+
+// A service for fetching an account-level budget.
+//
+// Account-level budgets are mutated by creating proposal resources.
+service AccountBudgetService {
+ // Returns an account-level budget in full detail.
+ rpc GetAccountBudget(GetAccountBudgetRequest) returns (google.ads.googleads.v0.resources.AccountBudget) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/accountBudgets/*}"
+ };
+ }
+}
+
+// Request message for
+// [AccountBudgetService.GetAccountBudget][google.ads.googleads.v0.services.AccountBudgetService.GetAccountBudget].
+message GetAccountBudgetRequest {
+ // The resource name of the account-level budget to fetch.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/ad_group_ad_service.proto b/google/ads/googleads/v0/services/ad_group_ad_service.proto
new file mode 100644
index 000000000..1ec0da11b
--- /dev/null
+++ b/google/ads/googleads/v0/services/ad_group_ad_service.proto
@@ -0,0 +1,101 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/common/policy.proto";
+import "google/ads/googleads/v0/resources/ad_group_ad.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "AdGroupAdServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Ad Group Ad service.
+
+// Service to manage ads in an ad group.
+service AdGroupAdService {
+ // Returns the requested ad in full detail.
+ rpc GetAdGroupAd(GetAdGroupAdRequest) returns (google.ads.googleads.v0.resources.AdGroupAd) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/adGroupAds/*}"
+ };
+ }
+
+ // Creates, updates, or removes ads. Operation statuses are returned.
+ rpc MutateAdGroupAds(MutateAdGroupAdsRequest) returns (MutateAdGroupAdsResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/adGroupAds:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [AdGroupAdService.GetAdGroupAd][google.ads.googleads.v0.services.AdGroupAdService.GetAdGroupAd].
+message GetAdGroupAdRequest {
+ // The resource name of the ad to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [AdGroupAdService.MutateAdGroupAds][google.ads.googleads.v0.services.AdGroupAdService.MutateAdGroupAds].
+message MutateAdGroupAdsRequest {
+ // The ID of the customer whose ads are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual ads.
+ repeated AdGroupAdOperation operations = 2;
+}
+
+// A single operation (create, update, remove) on an ad group ad.
+message AdGroupAdOperation {
+ // FieldMask that determines which resource fields are modified in an update.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // Configuration for how policies are validated.
+ google.ads.googleads.v0.common.PolicyValidationParameter policy_validation_parameter = 5;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new ad.
+ google.ads.googleads.v0.resources.AdGroupAd create = 1;
+
+ // Update operation: The ad is expected to have a valid resource name.
+ google.ads.googleads.v0.resources.AdGroupAd update = 2;
+
+ // Remove operation: A resource name for the removed ad is expected,
+ // in this format:
+ //
+ // `customers/{customer_id}/adGroupAds/{ad_group_id}_{ad_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for an ad group ad mutate.
+message MutateAdGroupAdsResponse {
+ // All results for the mutate.
+ repeated MutateAdGroupAdResult results = 2;
+}
+
+// The result for the ad mutate.
+message MutateAdGroupAdResult {
+ // The resource name returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/ad_group_audience_view_service.proto b/google/ads/googleads/v0/services/ad_group_audience_view_service.proto
new file mode 100644
index 000000000..add90c00d
--- /dev/null
+++ b/google/ads/googleads/v0/services/ad_group_audience_view_service.proto
@@ -0,0 +1,46 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/ad_group_audience_view.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "AdGroupAudienceViewServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the AdGroup Audience View service.
+
+// Service to manage ad group audience views.
+service AdGroupAudienceViewService {
+ // Returns the requested ad group audience view in full detail.
+ rpc GetAdGroupAudienceView(GetAdGroupAudienceViewRequest) returns (google.ads.googleads.v0.resources.AdGroupAudienceView) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/adGroupAudienceViews/*}"
+ };
+ }
+}
+
+// Request message for [AdGroupAudienceViewService.GetAdGoupAudienceView][].
+message GetAdGroupAudienceViewRequest {
+ // The resource name of the ad group audience view to fetch.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/ad_group_bid_modifier_service.proto b/google/ads/googleads/v0/services/ad_group_bid_modifier_service.proto
new file mode 100644
index 000000000..e885a92e9
--- /dev/null
+++ b/google/ads/googleads/v0/services/ad_group_bid_modifier_service.proto
@@ -0,0 +1,101 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/ad_group_bid_modifier.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "AdGroupBidModifierServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Ad Group Bid Modifier service.
+
+// Service to manage ad group bid modifiers.
+service AdGroupBidModifierService {
+ // Returns the requested ad group bid modifier in full detail.
+ rpc GetAdGroupBidModifier(GetAdGroupBidModifierRequest) returns (google.ads.googleads.v0.resources.AdGroupBidModifier) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/adGroupBidModifiers/*}"
+ };
+ }
+
+ // Creates, updates, or removes ad group bid modifiers.
+ // Operation statuses are returned.
+ rpc MutateAdGroupBidModifiers(MutateAdGroupBidModifiersRequest) returns (MutateAdGroupBidModifiersResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/adGroupBidModifiers:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [AdGroupBidModifierService.GetAdGroupBidModifier][google.ads.googleads.v0.services.AdGroupBidModifierService.GetAdGroupBidModifier].
+message GetAdGroupBidModifierRequest {
+ // The resource name of the ad group bid modifier to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [AdGroupBidModifierService.MutateAdGroupBidModifiers][google.ads.googleads.v0.services.AdGroupBidModifierService.MutateAdGroupBidModifiers].
+message MutateAdGroupBidModifiersRequest {
+ // ID of the customer whose ad group bid modifiers are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual ad group bid modifiers.
+ repeated AdGroupBidModifierOperation operations = 2;
+}
+
+// A single operation (create, remove, update) on an ad group bid modifier.
+message AdGroupBidModifierOperation {
+ // FieldMask that determines which resource fields are modified in an update.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new ad group bid
+ // modifier.
+ google.ads.googleads.v0.resources.AdGroupBidModifier create = 1;
+
+ // Update operation: The ad group bid modifier is expected to have a valid
+ // resource name.
+ google.ads.googleads.v0.resources.AdGroupBidModifier update = 2;
+
+ // Remove operation: A resource name for the removed ad group bid modifier
+ // is expected, in this format:
+ //
+ //
+ // `customers/{customer_id}/adGroupBidModifiers/{ad_group_id}_{criterion_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for ad group bid modifiers mutate.
+message MutateAdGroupBidModifiersResponse {
+ // All results for the mutate.
+ repeated MutateAdGroupBidModifierResult results = 2;
+}
+
+// The result for the criterion mutate.
+message MutateAdGroupBidModifierResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/ad_group_criterion_service.proto b/google/ads/googleads/v0/services/ad_group_criterion_service.proto
new file mode 100644
index 000000000..2d62df7c1
--- /dev/null
+++ b/google/ads/googleads/v0/services/ad_group_criterion_service.proto
@@ -0,0 +1,98 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/ad_group_criterion.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "AdGroupCriterionServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Ad Group Criterion service.
+
+// Service to manage ad group criteria.
+service AdGroupCriterionService {
+ // Returns the requested criterion in full detail.
+ rpc GetAdGroupCriterion(GetAdGroupCriterionRequest) returns (google.ads.googleads.v0.resources.AdGroupCriterion) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/adGroupCriteria/*}"
+ };
+ }
+
+ // Creates, updates, or removes criteria. Operation statuses are returned.
+ rpc MutateAdGroupCriteria(MutateAdGroupCriteriaRequest) returns (MutateAdGroupCriteriaResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/adGroupCriteria:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [AdGroupCriterionService.GetAdGroupCriterion][google.ads.googleads.v0.services.AdGroupCriterionService.GetAdGroupCriterion].
+message GetAdGroupCriterionRequest {
+ // The resource name of the criterion to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [AdGroupCriterionService.MutateAdGroupCriteria][google.ads.googleads.v0.services.AdGroupCriterionService.MutateAdGroupCriteria].
+message MutateAdGroupCriteriaRequest {
+ // ID of the customer whose criteria are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual criteria.
+ repeated AdGroupCriterionOperation operations = 2;
+}
+
+// A single operation (create, remove, update) on an ad group criterion.
+message AdGroupCriterionOperation {
+ // FieldMask that determines which resource fields are modified in an update.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new criterion.
+ google.ads.googleads.v0.resources.AdGroupCriterion create = 1;
+
+ // Update operation: The criterion is expected to have a valid resource
+ // name.
+ google.ads.googleads.v0.resources.AdGroupCriterion update = 2;
+
+ // Remove operation: A resource name for the removed criterion is expected,
+ // in this format:
+ //
+ // `customers/{customer_id}/adGroupCriteria/{ad_group_id}_{criterion_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for an ad group criterion mutate.
+message MutateAdGroupCriteriaResponse {
+ // All results for the mutate.
+ repeated MutateAdGroupCriterionResult results = 2;
+}
+
+// The result for the criterion mutate.
+message MutateAdGroupCriterionResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/ad_group_feed_service.proto b/google/ads/googleads/v0/services/ad_group_feed_service.proto
new file mode 100644
index 000000000..5161d43ef
--- /dev/null
+++ b/google/ads/googleads/v0/services/ad_group_feed_service.proto
@@ -0,0 +1,99 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/ad_group_feed.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "AdGroupFeedServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the AdGroupFeed service.
+
+// Service to manage ad group feeds.
+service AdGroupFeedService {
+ // Returns the requested ad group feed in full detail.
+ rpc GetAdGroupFeed(GetAdGroupFeedRequest) returns (google.ads.googleads.v0.resources.AdGroupFeed) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/adGroupFeeds/*}"
+ };
+ }
+
+ // Creates, updates, or removes ad group feeds. Operation statuses are
+ // returned.
+ rpc MutateAdGroupFeeds(MutateAdGroupFeedsRequest) returns (MutateAdGroupFeedsResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/adGroupFeeds:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [AdGroupFeedService.GetAdGroupFeed][google.ads.googleads.v0.services.AdGroupFeedService.GetAdGroupFeed].
+message GetAdGroupFeedRequest {
+ // The resource name of the ad group feed to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [AdGroupFeedService.MutateAdGroupFeeds][google.ads.googleads.v0.services.AdGroupFeedService.MutateAdGroupFeeds].
+message MutateAdGroupFeedsRequest {
+ // The ID of the customer whose ad group feeds are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual ad group feeds.
+ repeated AdGroupFeedOperation operations = 2;
+}
+
+// A single operation (create, update, remove) on an ad group feed.
+message AdGroupFeedOperation {
+ // FieldMask that determines which resource fields are modified in an update.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new ad group feed.
+ google.ads.googleads.v0.resources.AdGroupFeed create = 1;
+
+ // Update operation: The ad group feed is expected to have a valid resource
+ // name.
+ google.ads.googleads.v0.resources.AdGroupFeed update = 2;
+
+ // Remove operation: A resource name for the removed ad group feed is
+ // expected, in this format:
+ //
+ // `customers/{customer_id}/adGroupFeeds/{ad_group_id}_{feed_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for an ad group feed mutate.
+message MutateAdGroupFeedsResponse {
+ // All results for the mutate.
+ repeated MutateAdGroupFeedResult results = 2;
+}
+
+// The result for the ad group feed mutate.
+message MutateAdGroupFeedResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/ad_group_service.proto b/google/ads/googleads/v0/services/ad_group_service.proto
new file mode 100644
index 000000000..683c69755
--- /dev/null
+++ b/google/ads/googleads/v0/services/ad_group_service.proto
@@ -0,0 +1,97 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/ad_group.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "AdGroupServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Ad Group service.
+
+// Service to manage ad groups.
+service AdGroupService {
+ // Returns the requested ad group in full detail.
+ rpc GetAdGroup(GetAdGroupRequest) returns (google.ads.googleads.v0.resources.AdGroup) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/adGroups/*}"
+ };
+ }
+
+ // Creates, updates, or removes ad groups. Operation statuses are returned.
+ rpc MutateAdGroups(MutateAdGroupsRequest) returns (MutateAdGroupsResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/adGroups:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [AdGroupService.GetAdGroup][google.ads.googleads.v0.services.AdGroupService.GetAdGroup].
+message GetAdGroupRequest {
+ // The resource name of the ad group to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [AdGroupService.MutateAdGroups][google.ads.googleads.v0.services.AdGroupService.MutateAdGroups].
+message MutateAdGroupsRequest {
+ // The ID of the customer whose ad groups are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual ad groups.
+ repeated AdGroupOperation operations = 2;
+}
+
+// A single operation (create, update, remove) on an ad group.
+message AdGroupOperation {
+ // FieldMask that determines which resource fields are modified in an update.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new ad group.
+ google.ads.googleads.v0.resources.AdGroup create = 1;
+
+ // Update operation: The ad group is expected to have a valid resource name.
+ google.ads.googleads.v0.resources.AdGroup update = 2;
+
+ // Remove operation: A resource name for the removed ad group is expected,
+ // in this format:
+ //
+ // `customers/{customer_id}/adGroups/{ad_group_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for an ad group mutate.
+message MutateAdGroupsResponse {
+ // All results for the mutate.
+ repeated MutateAdGroupResult results = 2;
+}
+
+// The result for the ad group mutate.
+message MutateAdGroupResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/age_range_view_service.proto b/google/ads/googleads/v0/services/age_range_view_service.proto
new file mode 100644
index 000000000..83f59e98d
--- /dev/null
+++ b/google/ads/googleads/v0/services/age_range_view_service.proto
@@ -0,0 +1,46 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/age_range_view.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "AgeRangeViewServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Age Range View service.
+
+// Service to manage age range views.
+service AgeRangeViewService {
+ // Returns the requested age range view in full detail.
+ rpc GetAgeRangeView(GetAgeRangeViewRequest) returns (google.ads.googleads.v0.resources.AgeRangeView) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/ageRangeViews/*}"
+ };
+ }
+}
+
+// Request message for [AgeRangeViewService.GetAgeRangeView][google.ads.googleads.v0.services.AgeRangeViewService.GetAgeRangeView].
+message GetAgeRangeViewRequest {
+ // The resource name of the age range view to fetch.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/bidding_strategy_service.proto b/google/ads/googleads/v0/services/bidding_strategy_service.proto
new file mode 100644
index 000000000..89abf84d8
--- /dev/null
+++ b/google/ads/googleads/v0/services/bidding_strategy_service.proto
@@ -0,0 +1,100 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/bidding_strategy.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "BiddingStrategyServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Bidding Strategy service.
+
+// Service to manage bidding strategies.
+service BiddingStrategyService {
+ // Returns the requested bidding strategy in full detail.
+ rpc GetBiddingStrategy(GetBiddingStrategyRequest) returns (google.ads.googleads.v0.resources.BiddingStrategy) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/biddingStrategies/*}"
+ };
+ }
+
+ // Creates, updates, or removes bidding strategies. Operation statuses are
+ // returned.
+ rpc MutateBiddingStrategies(MutateBiddingStrategiesRequest) returns (MutateBiddingStrategiesResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/biddingStrategies:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [BiddingStrategyService.GetBiddingStrategy][google.ads.googleads.v0.services.BiddingStrategyService.GetBiddingStrategy].
+message GetBiddingStrategyRequest {
+ // The resource name of the bidding strategy to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [BiddingStrategyService.MutateBiddingStrategies][google.ads.googleads.v0.services.BiddingStrategyService.MutateBiddingStrategies].
+message MutateBiddingStrategiesRequest {
+ // The ID of the customer whose bidding strategies are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual bidding strategies.
+ repeated BiddingStrategyOperation operations = 2;
+}
+
+// A single operation (create, update, remove) on a bidding strategy.
+message BiddingStrategyOperation {
+ // FieldMask that determines which resource fields are modified in an update.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new bidding
+ // strategy.
+ google.ads.googleads.v0.resources.BiddingStrategy create = 1;
+
+ // Update operation: The bidding strategy is expected to have a valid
+ // resource name.
+ google.ads.googleads.v0.resources.BiddingStrategy update = 2;
+
+ // Remove operation: A resource name for the removed bidding strategy is
+ // expected, in this format:
+ //
+ // `customers/{customer_id}/biddingStrategies/{bidding_strategy_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for bidding strategy mutate.
+message MutateBiddingStrategiesResponse {
+ // All results for the mutate.
+ repeated MutateBiddingStrategyResult results = 2;
+}
+
+// The result for the bidding strategy mutate.
+message MutateBiddingStrategyResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/billing_setup_service.proto b/google/ads/googleads/v0/services/billing_setup_service.proto
new file mode 100644
index 000000000..1cc414686
--- /dev/null
+++ b/google/ads/googleads/v0/services/billing_setup_service.proto
@@ -0,0 +1,102 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/billing_setup.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "BillingSetupServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the BillingSetup service.
+
+// A service for designating the business entity responsible for accrued costs.
+//
+// A billing setup is associated with a Payments account. Billing-related
+// activity for all billing setups associated with a particular Payments account
+// will appear on a single invoice generated monthly.
+//
+// Mutates:
+// The REMOVE operation cancels a pending billing setup.
+// The CREATE operation creates a new billing setup.
+service BillingSetupService {
+ // Returns a billing setup.
+ rpc GetBillingSetup(GetBillingSetupRequest) returns (google.ads.googleads.v0.resources.BillingSetup) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/billingSetups/*}"
+ };
+ }
+
+ // Creates a billing setup, or cancels an existing billing setup.
+ rpc MutateBillingSetup(MutateBillingSetupRequest) returns (MutateBillingSetupResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/billingSetups:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for
+// [BillingSetupService.GetBillingSetup][google.ads.googleads.v0.services.BillingSetupService.GetBillingSetup].
+message GetBillingSetupRequest {
+ // The resource name of the billing setup to fetch.
+ string resource_name = 1;
+}
+
+// Request message for billing setup mutate operations.
+message MutateBillingSetupRequest {
+ // Id of the customer to apply the billing setup mutate operation to.
+ string customer_id = 1;
+
+ // The operation to perform.
+ BillingSetupOperation operation = 2;
+}
+
+// A single operation on a billing setup, which describes the cancellation of an
+// existing billing setup.
+message BillingSetupOperation {
+ // Only one of these operations can be set. "Update" operations are not
+ // supported.
+ oneof operation {
+ // Creates a billing setup. No resource name is expected for the new billing
+ // setup.
+ google.ads.googleads.v0.resources.BillingSetup create = 2;
+
+ // Resource name of the billing setup to remove. A setup cannot be
+ // removed unless it is in a pending state or its scheduled start time is in
+ // the future. The resource name looks like
+ // `customers/{customer_id}/billingSetups/{billing_id}`.
+ string remove = 1;
+ }
+}
+
+// Response message for a billing setup operation.
+message MutateBillingSetupResponse {
+ // A result that identifies the resource affected by the mutate request.
+ MutateBillingSetupResult result = 1;
+}
+
+// Result for a single billing setup mutate.
+message MutateBillingSetupResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/campaign_audience_view_service.proto b/google/ads/googleads/v0/services/campaign_audience_view_service.proto
new file mode 100644
index 000000000..e2baf837e
--- /dev/null
+++ b/google/ads/googleads/v0/services/campaign_audience_view_service.proto
@@ -0,0 +1,46 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/campaign_audience_view.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignAudienceViewServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Campaign Audience View service.
+
+// Service to manage campaign audience views.
+service CampaignAudienceViewService {
+ // Returns the requested campaign audience view in full detail.
+ rpc GetCampaignAudienceView(GetCampaignAudienceViewRequest) returns (google.ads.googleads.v0.resources.CampaignAudienceView) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/campaignAudienceViews/*}"
+ };
+ }
+}
+
+// Request message for [CampaignAudienceViewService.GetCampaignAudienceView][google.ads.googleads.v0.services.CampaignAudienceViewService.GetCampaignAudienceView].
+message GetCampaignAudienceViewRequest {
+ // The resource name of the campaign audience view to fetch.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/campaign_bid_modifier_service.proto b/google/ads/googleads/v0/services/campaign_bid_modifier_service.proto
new file mode 100644
index 000000000..411ee3f15
--- /dev/null
+++ b/google/ads/googleads/v0/services/campaign_bid_modifier_service.proto
@@ -0,0 +1,101 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/campaign_bid_modifier.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignBidModifierServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Campaign Bid Modifier service.
+
+// Service to manage campaign bid modifiers.
+service CampaignBidModifierService {
+ // Returns the requested campaign bid modifier in full detail.
+ rpc GetCampaignBidModifier(GetCampaignBidModifierRequest) returns (google.ads.googleads.v0.resources.CampaignBidModifier) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/campaignBidModifiers/*}"
+ };
+ }
+
+ // Creates, updates, or removes campaign bid modifiers.
+ // Operation statuses are returned.
+ rpc MutateCampaignBidModifiers(MutateCampaignBidModifiersRequest) returns (MutateCampaignBidModifiersResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/campaignBidModifiers:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [CampaignBidModifierService.GetCampaignBidModifier][google.ads.googleads.v0.services.CampaignBidModifierService.GetCampaignBidModifier].
+message GetCampaignBidModifierRequest {
+ // The resource name of the campaign bid modifier to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [CampaignBidModifierService.MutateCampaignBidModifier][].
+message MutateCampaignBidModifiersRequest {
+ // ID of the customer whose campaign bid modifiers are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual campaign bid modifiers.
+ repeated CampaignBidModifierOperation operations = 2;
+}
+
+// A single operation (create, remove, update) on a campaign bid modifier.
+message CampaignBidModifierOperation {
+ // FieldMask that determines which resource fields are modified in an update.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new campaign bid
+ // modifier.
+ google.ads.googleads.v0.resources.CampaignBidModifier create = 1;
+
+ // Update operation: The campaign bid modifier is expected to have a valid
+ // resource name.
+ google.ads.googleads.v0.resources.CampaignBidModifier update = 2;
+
+ // Remove operation: A resource name for the removed campaign bid modifier
+ // is expected, in this format:
+ //
+ //
+ // `customers/{customer_id}/CampaignBidModifiers/{campaign_id}_{criterion_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for campaign bid modifiers mutate.
+message MutateCampaignBidModifiersResponse {
+ // All results for the mutate.
+ repeated MutateCampaignBidModifierResult results = 2;
+}
+
+// The result for the criterion mutate.
+message MutateCampaignBidModifierResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/campaign_budget_service.proto b/google/ads/googleads/v0/services/campaign_budget_service.proto
new file mode 100644
index 000000000..64248b28a
--- /dev/null
+++ b/google/ads/googleads/v0/services/campaign_budget_service.proto
@@ -0,0 +1,99 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/campaign_budget.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignBudgetServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Campaign Budget service.
+
+// Service to manage campaign budgets.
+service CampaignBudgetService {
+ // Returns the requested Campaign Budget in full detail.
+ rpc GetCampaignBudget(GetCampaignBudgetRequest) returns (google.ads.googleads.v0.resources.CampaignBudget) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/campaignBudgets/*}"
+ };
+ }
+
+ // Creates, updates, or removes campaign budgets. Operation statuses are
+ // returned.
+ rpc MutateCampaignBudgets(MutateCampaignBudgetsRequest) returns (MutateCampaignBudgetsResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/campaignBudgets:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [CampaignBudgetService.GetCampaignBudget][google.ads.googleads.v0.services.CampaignBudgetService.GetCampaignBudget].
+message GetCampaignBudgetRequest {
+ // The resource name of the campaign budget to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [CampaignBudgetService.MutateCampaignBudgets][google.ads.googleads.v0.services.CampaignBudgetService.MutateCampaignBudgets].
+message MutateCampaignBudgetsRequest {
+ // The ID of the customer whose campaign budgets are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual campaign budgets.
+ repeated CampaignBudgetOperation operations = 2;
+}
+
+// A single operation (create, update, remove) on a campaign budget.
+message CampaignBudgetOperation {
+ // FieldMask that determines which resource fields are modified in an update.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new budget.
+ google.ads.googleads.v0.resources.CampaignBudget create = 1;
+
+ // Update operation: The campaign budget is expected to have a valid
+ // resource name.
+ google.ads.googleads.v0.resources.CampaignBudget update = 2;
+
+ // Remove operation: A resource name for the removed budget is expected, in
+ // this format:
+ //
+ // `customers/{customer_id}/campaignBudgets/{budget_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for campaign budget mutate.
+message MutateCampaignBudgetsResponse {
+ // All results for the mutate.
+ repeated MutateCampaignBudgetResult results = 2;
+}
+
+// The result for the campaign budget mutate.
+message MutateCampaignBudgetResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/campaign_criterion_service.proto b/google/ads/googleads/v0/services/campaign_criterion_service.proto
new file mode 100644
index 000000000..ad6986886
--- /dev/null
+++ b/google/ads/googleads/v0/services/campaign_criterion_service.proto
@@ -0,0 +1,98 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/campaign_criterion.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignCriterionServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Campaign Criterion service.
+
+// Service to manage campaign criteria.
+service CampaignCriterionService {
+ // Returns the requested criterion in full detail.
+ rpc GetCampaignCriterion(GetCampaignCriterionRequest) returns (google.ads.googleads.v0.resources.CampaignCriterion) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/campaignCriteria/*}"
+ };
+ }
+
+ // Creates, updates, or removes criteria. Operation statuses are returned.
+ rpc MutateCampaignCriteria(MutateCampaignCriteriaRequest) returns (MutateCampaignCriteriaResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/campaignCriteria:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [CampaignCriterionService.GetCampaignCriterion][google.ads.googleads.v0.services.CampaignCriterionService.GetCampaignCriterion].
+message GetCampaignCriterionRequest {
+ // The resource name of the criterion to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [CampaignCriterionService.MutateCampaignCriteria][google.ads.googleads.v0.services.CampaignCriterionService.MutateCampaignCriteria].
+message MutateCampaignCriteriaRequest {
+ // The ID of the customer whose criteria are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual criteria.
+ repeated CampaignCriterionOperation operations = 2;
+}
+
+// A single operation (create, update, remove) on a campaign criterion.
+message CampaignCriterionOperation {
+ // FieldMask that determines which resource fields are modified in an update.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new criterion.
+ google.ads.googleads.v0.resources.CampaignCriterion create = 1;
+
+ // Update operation: The criterion is expected to have a valid resource
+ // name.
+ google.ads.googleads.v0.resources.CampaignCriterion update = 2;
+
+ // Remove operation: A resource name for the removed criterion is expected,
+ // in this format:
+ //
+ // `customers/{customer_id}/campaignCriteria/{campaign_id}_{criterion_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for campaign criterion mutate.
+message MutateCampaignCriteriaResponse {
+ // All results for the mutate.
+ repeated MutateCampaignCriterionResult results = 2;
+}
+
+// The result for the criterion mutate.
+message MutateCampaignCriterionResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/campaign_feed_service.proto b/google/ads/googleads/v0/services/campaign_feed_service.proto
new file mode 100644
index 000000000..0e4639a89
--- /dev/null
+++ b/google/ads/googleads/v0/services/campaign_feed_service.proto
@@ -0,0 +1,99 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/campaign_feed.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignFeedServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the CampaignFeed service.
+
+// Service to manage campaign feeds.
+service CampaignFeedService {
+ // Returns the requested campaign feed in full detail.
+ rpc GetCampaignFeed(GetCampaignFeedRequest) returns (google.ads.googleads.v0.resources.CampaignFeed) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/campaignFeeds/*}"
+ };
+ }
+
+ // Creates, updates, or removes campaign feeds. Operation statuses are
+ // returned.
+ rpc MutateCampaignFeeds(MutateCampaignFeedsRequest) returns (MutateCampaignFeedsResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/campaignFeeds:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [CampaignFeedService.GetCampaignFeed][google.ads.googleads.v0.services.CampaignFeedService.GetCampaignFeed].
+message GetCampaignFeedRequest {
+ // The resource name of the campaign feed to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [CampaignFeedService.MutateCampaignFeeds][google.ads.googleads.v0.services.CampaignFeedService.MutateCampaignFeeds].
+message MutateCampaignFeedsRequest {
+ // The ID of the customer whose campaign feeds are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual campaign feeds.
+ repeated CampaignFeedOperation operations = 2;
+}
+
+// A single operation (create, update, remove) on a campaign feed.
+message CampaignFeedOperation {
+ // FieldMask that determines which resource fields are modified in an update.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new campaign feed.
+ google.ads.googleads.v0.resources.CampaignFeed create = 1;
+
+ // Update operation: The campaign feed is expected to have a valid resource
+ // name.
+ google.ads.googleads.v0.resources.CampaignFeed update = 2;
+
+ // Remove operation: A resource name for the removed campaign feed is
+ // expected, in this format:
+ //
+ // `customers/{customer_id}/campaignFeeds/{campaign_id}_{feed_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for a campaign feed mutate.
+message MutateCampaignFeedsResponse {
+ // All results for the mutate.
+ repeated MutateCampaignFeedResult results = 2;
+}
+
+// The result for the campaign feed mutate.
+message MutateCampaignFeedResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/campaign_group_service.proto b/google/ads/googleads/v0/services/campaign_group_service.proto
new file mode 100644
index 000000000..f90b792ac
--- /dev/null
+++ b/google/ads/googleads/v0/services/campaign_group_service.proto
@@ -0,0 +1,100 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/campaign_group.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignGroupServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Campaign group service.
+
+// Service to manage campaign groups.
+service CampaignGroupService {
+ // Returns the requested campaign group in full detail.
+ rpc GetCampaignGroup(GetCampaignGroupRequest) returns (google.ads.googleads.v0.resources.CampaignGroup) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/campaignGroups/*}"
+ };
+ }
+
+ // Creates, updates, or removes campaign groups. Operation statuses are
+ // returned.
+ rpc MutateCampaignGroups(MutateCampaignGroupsRequest) returns (MutateCampaignGroupsResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/campaignGroups:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [CampaignGroupService.GetCampaignGroup][google.ads.googleads.v0.services.CampaignGroupService.GetCampaignGroup].
+message GetCampaignGroupRequest {
+ // The resource name of the campaign group to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [CampaignGroupService.MutateCampaignGroups][google.ads.googleads.v0.services.CampaignGroupService.MutateCampaignGroups].
+message MutateCampaignGroupsRequest {
+ // The ID of the customer whose campaign groups are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual campaign groups.
+ repeated CampaignGroupOperation operations = 2;
+}
+
+// A single operation (create, update, remove) on a campaign group.
+message CampaignGroupOperation {
+ // FieldMask that determines which resource fields are modified in an update.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new campaign
+ // group.
+ google.ads.googleads.v0.resources.CampaignGroup create = 1;
+
+ // Update operation: The campaign group is expected to have a valid
+ // resource name.
+ google.ads.googleads.v0.resources.CampaignGroup update = 2;
+
+ // Remove operation: A resource name for the removed campaign group is
+ // expected, in this format:
+ //
+ // `customers/{customer_id}/campaignGroups/{campaign_group_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for campaign group mutate.
+message MutateCampaignGroupsResponse {
+ // All results for the mutate.
+ repeated MutateCampaignGroupResult results = 2;
+}
+
+// The result for the campaign group mutate.
+message MutateCampaignGroupResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/campaign_service.proto b/google/ads/googleads/v0/services/campaign_service.proto
new file mode 100644
index 000000000..73d216813
--- /dev/null
+++ b/google/ads/googleads/v0/services/campaign_service.proto
@@ -0,0 +1,98 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/campaign.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Campaign service.
+
+// Service to manage campaigns.
+service CampaignService {
+ // Returns the requested campaign in full detail.
+ rpc GetCampaign(GetCampaignRequest) returns (google.ads.googleads.v0.resources.Campaign) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/campaigns/*}"
+ };
+ }
+
+ // Creates, updates, or removes campaigns. Operation statuses are returned.
+ rpc MutateCampaigns(MutateCampaignsRequest) returns (MutateCampaignsResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/campaigns:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [CampaignService.GetCampaign][google.ads.googleads.v0.services.CampaignService.GetCampaign].
+message GetCampaignRequest {
+ // The resource name of the campaign to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [CampaignService.MutateCampaigns][google.ads.googleads.v0.services.CampaignService.MutateCampaigns].
+message MutateCampaignsRequest {
+ // The ID of the customer whose campaigns are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual campaigns.
+ repeated CampaignOperation operations = 2;
+}
+
+// A single operation (create, update, remove) on a campaign.
+message CampaignOperation {
+ // FieldMask that determines which resource fields are modified in an update.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new campaign.
+ google.ads.googleads.v0.resources.Campaign create = 1;
+
+ // Update operation: The campaign is expected to have a valid
+ // resource name.
+ google.ads.googleads.v0.resources.Campaign update = 2;
+
+ // Remove operation: A resource name for the removed campaign is
+ // expected, in this format:
+ //
+ // `customers/{customer_id}/campaigns/{campaign_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for campaign mutate.
+message MutateCampaignsResponse {
+ // All results for the mutate.
+ repeated MutateCampaignResult results = 2;
+}
+
+// The result for the campaign mutate.
+message MutateCampaignResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/campaign_shared_set_service.proto b/google/ads/googleads/v0/services/campaign_shared_set_service.proto
new file mode 100644
index 000000000..1152a2e04
--- /dev/null
+++ b/google/ads/googleads/v0/services/campaign_shared_set_service.proto
@@ -0,0 +1,92 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/campaign_shared_set.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "CampaignSharedSetServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Campaign Shared Set service.
+
+// Service to manage campaign shared sets.
+service CampaignSharedSetService {
+ // Returns the requested campaign shared set in full detail.
+ rpc GetCampaignSharedSet(GetCampaignSharedSetRequest) returns (google.ads.googleads.v0.resources.CampaignSharedSet) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/campaignSharedSets/*}"
+ };
+ }
+
+ // Creates or removes campaign shared sets. Operation statuses are returned.
+ rpc MutateCampaignSharedSets(MutateCampaignSharedSetsRequest) returns (MutateCampaignSharedSetsResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/campaignSharedSets:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [CampaignSharedSetService.GetCampaignSharedSet][google.ads.googleads.v0.services.CampaignSharedSetService.GetCampaignSharedSet].
+message GetCampaignSharedSetRequest {
+ // The resource name of the campaign shared set to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [CampaignSharedSetService.MutateCampaignSharedSets][google.ads.googleads.v0.services.CampaignSharedSetService.MutateCampaignSharedSets].
+message MutateCampaignSharedSetsRequest {
+ // The ID of the customer whose campaign shared sets are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual campaign shared sets.
+ repeated CampaignSharedSetOperation operations = 2;
+}
+
+// A single operation (create, remove) on an campaign shared set.
+message CampaignSharedSetOperation {
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new campaign
+ // shared set.
+ google.ads.googleads.v0.resources.CampaignSharedSet create = 1;
+
+ // Remove operation: A resource name for the removed campaign shared set is
+ // expected, in this format:
+ //
+ //
+ // `customers/{customer_id}/campaignSharedSets/{campaign_id}_{shared_set_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for a campaign shared set mutate.
+message MutateCampaignSharedSetsResponse {
+ // All results for the mutate.
+ repeated MutateCampaignSharedSetResult results = 2;
+}
+
+// The result for the campaign shared set mutate.
+message MutateCampaignSharedSetResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/carrier_constant_service.proto b/google/ads/googleads/v0/services/carrier_constant_service.proto
new file mode 100644
index 000000000..4e6a7bcea
--- /dev/null
+++ b/google/ads/googleads/v0/services/carrier_constant_service.proto
@@ -0,0 +1,46 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/carrier_constant.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "CarrierConstantServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the carrier constant service.
+
+// Service to fetch carrier constants.
+service CarrierConstantService {
+ // Returns the requested carrier constant in full detail.
+ rpc GetCarrierConstant(GetCarrierConstantRequest) returns (google.ads.googleads.v0.resources.CarrierConstant) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=carrierConstants/*}"
+ };
+ }
+}
+
+// Request message for [CarrierConstantService.GetCarrierConstant][google.ads.googleads.v0.services.CarrierConstantService.GetCarrierConstant].
+message GetCarrierConstantRequest {
+ // Resource name of the carrier constant to fetch.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/change_status_service.proto b/google/ads/googleads/v0/services/change_status_service.proto
new file mode 100644
index 000000000..11ff112c7
--- /dev/null
+++ b/google/ads/googleads/v0/services/change_status_service.proto
@@ -0,0 +1,46 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/change_status.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "ChangeStatusServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Change Status service.
+
+// Service to fetch change statuses.
+service ChangeStatusService {
+ // Returns the requested change status in full detail.
+ rpc GetChangeStatus(GetChangeStatusRequest) returns (google.ads.googleads.v0.resources.ChangeStatus) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/changeStatus/*}"
+ };
+ }
+}
+
+// Request message for '[ChangeStatusService.GetChangeStatus][google.ads.googleads.v0.services.ChangeStatusService.GetChangeStatus]'.
+message GetChangeStatusRequest {
+ // The resource name of the change status to fetch.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/conversion_action_service.proto b/google/ads/googleads/v0/services/conversion_action_service.proto
new file mode 100644
index 000000000..44204ae2c
--- /dev/null
+++ b/google/ads/googleads/v0/services/conversion_action_service.proto
@@ -0,0 +1,100 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/conversion_action.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "ConversionActionServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Conversion Action service.
+
+// Service to manage conversion actions.
+service ConversionActionService {
+ // Returns the requested conversion action.
+ rpc GetConversionAction(GetConversionActionRequest) returns (google.ads.googleads.v0.resources.ConversionAction) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/conversionActions/*}"
+ };
+ }
+
+ // Creates, updates or removes conversion actions. Operation statuses are
+ // returned.
+ rpc MutateConversionActions(MutateConversionActionsRequest) returns (MutateConversionActionsResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/conversionActions:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [ConversionActionService.GetConversionAction].
+message GetConversionActionRequest {
+ // The resource name of the conversion action to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [ConversionActionService.MutateConversionActions].
+message MutateConversionActionsRequest {
+ // The ID of the customer whose conversion actions are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual conversion actions.
+ repeated ConversionActionOperation operations = 2;
+}
+
+// A single operation (create, update, remove) on a conversion action.
+message ConversionActionOperation {
+ // FieldMask that determines which resource fields are modified in an update.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new conversion
+ // action.
+ google.ads.googleads.v0.resources.ConversionAction create = 1;
+
+ // Update operation: The conversion action is expected to have a valid
+ // resource name.
+ google.ads.googleads.v0.resources.ConversionAction update = 2;
+
+ // Remove operation: A resource name for the removed conversion action is
+ // expected, in this format:
+ //
+ // `customers/{customer_id}/conversionActions/{conversion_action_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for conversion action mutate.
+message MutateConversionActionsResponse {
+ // All results for the mutate.
+ repeated MutateConversionActionResult results = 2;
+}
+
+// The result for the conversion action mutate.
+message MutateConversionActionResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/customer_client_link_service.proto b/google/ads/googleads/v0/services/customer_client_link_service.proto
new file mode 100644
index 000000000..0e437acbf
--- /dev/null
+++ b/google/ads/googleads/v0/services/customer_client_link_service.proto
@@ -0,0 +1,46 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/customer_client_link.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "CustomerClientLinkServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+
+
+// Service to manage customer client links.
+service CustomerClientLinkService {
+ // Returns the requested CustomerClientLink in full detail.
+ rpc GetCustomerClientLink(GetCustomerClientLinkRequest) returns (google.ads.googleads.v0.resources.CustomerClientLink) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/customerClientLinks/*}"
+ };
+ }
+}
+
+// Request message for [CustomerClientLinkService.GetCustomerClientLink][google.ads.googleads.v0.services.CustomerClientLinkService.GetCustomerClientLink].
+message GetCustomerClientLinkRequest {
+ // The resource name of the customer client link to fetch.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/customer_client_service.proto b/google/ads/googleads/v0/services/customer_client_service.proto
new file mode 100644
index 000000000..5fbb24428
--- /dev/null
+++ b/google/ads/googleads/v0/services/customer_client_service.proto
@@ -0,0 +1,46 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/customer_client.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "CustomerClientServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Customer Client service.
+
+// Service to manage customer clients in a manager hierarchy.
+service CustomerClientService {
+ // Returns the requested customer client in full detail.
+ rpc GetCustomerClient(GetCustomerClientRequest) returns (google.ads.googleads.v0.resources.CustomerClient) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/customerClients/*}"
+ };
+ }
+}
+
+// Request message for [CustomerClientService.GetCustomerClient][google.ads.googleads.v0.services.CustomerClientService.GetCustomerClient].
+message GetCustomerClientRequest {
+ // The resource name of the customer client to fetch.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/customer_feed_service.proto b/google/ads/googleads/v0/services/customer_feed_service.proto
new file mode 100644
index 000000000..fb161d55e
--- /dev/null
+++ b/google/ads/googleads/v0/services/customer_feed_service.proto
@@ -0,0 +1,99 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/customer_feed.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "CustomerFeedServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the CustomerFeed service.
+
+// Service to manage customer feeds.
+service CustomerFeedService {
+ // Returns the requested customer feed in full detail.
+ rpc GetCustomerFeed(GetCustomerFeedRequest) returns (google.ads.googleads.v0.resources.CustomerFeed) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/customerFeeds/*}"
+ };
+ }
+
+ // Creates, updates, or removes customer feeds. Operation statuses are
+ // returned.
+ rpc MutateCustomerFeeds(MutateCustomerFeedsRequest) returns (MutateCustomerFeedsResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/customerFeeds:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [CustomerFeedService.GetCustomerFeed][google.ads.googleads.v0.services.CustomerFeedService.GetCustomerFeed].
+message GetCustomerFeedRequest {
+ // The resource name of the customer feed to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [CustomerFeedService.MutateCustomerFeeds][google.ads.googleads.v0.services.CustomerFeedService.MutateCustomerFeeds].
+message MutateCustomerFeedsRequest {
+ // The ID of the customer whose customer feeds are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual customer feeds.
+ repeated CustomerFeedOperation operations = 2;
+}
+
+// A single operation (create, update, remove) on a customer feed.
+message CustomerFeedOperation {
+ // FieldMask that determines which resource fields are modified in an update.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new customer feed.
+ google.ads.googleads.v0.resources.CustomerFeed create = 1;
+
+ // Update operation: The customer feed is expected to have a valid resource
+ // name.
+ google.ads.googleads.v0.resources.CustomerFeed update = 2;
+
+ // Remove operation: A resource name for the removed customer feed is
+ // expected, in this format:
+ //
+ // `customers/{customer_id}/customerFeeds/{feed_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for a customer feed mutate.
+message MutateCustomerFeedsResponse {
+ // All results for the mutate.
+ repeated MutateCustomerFeedResult results = 2;
+}
+
+// The result for the customer feed mutate.
+message MutateCustomerFeedResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/customer_manager_link_service.proto b/google/ads/googleads/v0/services/customer_manager_link_service.proto
new file mode 100644
index 000000000..2ae74e265
--- /dev/null
+++ b/google/ads/googleads/v0/services/customer_manager_link_service.proto
@@ -0,0 +1,46 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/customer_manager_link.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "CustomerManagerLinkServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+
+
+// Service to manage customer-manager links.
+service CustomerManagerLinkService {
+ // Returns the requested CustomerManagerLink in full detail.
+ rpc GetCustomerManagerLink(GetCustomerManagerLinkRequest) returns (google.ads.googleads.v0.resources.CustomerManagerLink) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/customerManagerLinks/*}"
+ };
+ }
+}
+
+// Request message for [CustomerManagerLinkService.GetCustomerManagerLink][google.ads.googleads.v0.services.CustomerManagerLinkService.GetCustomerManagerLink].
+message GetCustomerManagerLinkRequest {
+ // The resource name of the CustomerManagerLink to fetch.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/customer_service.proto b/google/ads/googleads/v0/services/customer_service.proto
new file mode 100644
index 000000000..e1a9c5fd6
--- /dev/null
+++ b/google/ads/googleads/v0/services/customer_service.proto
@@ -0,0 +1,130 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/customer.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "CustomerServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Customer service.
+
+// Service to manage customers.
+service CustomerService {
+ // Returns the requested customer in full detail.
+ rpc GetCustomer(GetCustomerRequest) returns (google.ads.googleads.v0.resources.Customer) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*}"
+ };
+ }
+
+ // Updates a customer. Operation statuses are returned.
+ rpc MutateCustomer(MutateCustomerRequest) returns (MutateCustomerResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}:mutate"
+ body: "*"
+ };
+ }
+
+ // Returns resource names of customers directly accessible by the
+ // user authenticating the call.
+ rpc ListAccessibleCustomers(ListAccessibleCustomersRequest) returns (ListAccessibleCustomersResponse) {
+ option (google.api.http) = {
+ get: "/v0/customers:listAccessibleCustomers"
+ };
+ }
+
+ // Creates a new client under manager. The new client customer is returned.
+ rpc CreateCustomerClient(CreateCustomerClientRequest) returns (CreateCustomerClientResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}:createCustomerClient"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [CustomerService.GetCustomer][google.ads.googleads.v0.services.CustomerService.GetCustomer].
+message GetCustomerRequest {
+ // The resource name of the customer to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [CustomerService.MutateCustomer][google.ads.googleads.v0.services.CustomerService.MutateCustomer].
+message MutateCustomerRequest {
+ // The ID of the customer being modified.
+ string customer_id = 1;
+
+ // The operation to perform on the customer
+ CustomerOperation operation = 4;
+}
+
+// Request message for [CustomerService.CreateCustomerClient][google.ads.googleads.v0.services.CustomerService.CreateCustomerClient].
+message CreateCustomerClientRequest {
+ // The ID of the Manager under whom client customer is being created.
+ string customer_id = 1;
+
+ // The new client customer to create. The resource name on this customer
+ // will be ignored.
+ google.ads.googleads.v0.resources.Customer customer_client = 2;
+}
+
+// A single update on a customer.
+message CustomerOperation {
+ // Mutate operation. Only updates are supported for customer.
+ google.ads.googleads.v0.resources.Customer update = 1;
+
+ // FieldMask that determines which resource fields are modified in an update.
+ google.protobuf.FieldMask update_mask = 2;
+}
+
+// Response message for CreateCustomerClient mutate.
+message CreateCustomerClientResponse {
+ // The resource name of the newly created customer client.
+ string resource_name = 2;
+}
+
+// Response message for customer mutate.
+message MutateCustomerResponse {
+ // Result for the mutate.
+ MutateCustomerResult result = 2;
+}
+
+// The result for the customer mutate.
+message MutateCustomerResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
+
+// Request message for [CustomerService.ListAccessibleCustomers][google.ads.googleads.v0.services.CustomerService.ListAccessibleCustomers].
+message ListAccessibleCustomersRequest {
+
+}
+
+// Response message for [CustomerService.ListAccessibleCustomers][google.ads.googleads.v0.services.CustomerService.ListAccessibleCustomers].
+message ListAccessibleCustomersResponse {
+ // Resource name of customers directly accessible by the
+ // user authenticating the call.
+ repeated string resource_names = 1;
+}
diff --git a/google/ads/googleads/v0/services/display_keyword_view_service.proto b/google/ads/googleads/v0/services/display_keyword_view_service.proto
new file mode 100644
index 000000000..162c289b4
--- /dev/null
+++ b/google/ads/googleads/v0/services/display_keyword_view_service.proto
@@ -0,0 +1,46 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/display_keyword_view.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "DisplayKeywordViewServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Display Keyword View service.
+
+// Service to manage display keyword views.
+service DisplayKeywordViewService {
+ // Returns the requested display keyword view in full detail.
+ rpc GetDisplayKeywordView(GetDisplayKeywordViewRequest) returns (google.ads.googleads.v0.resources.DisplayKeywordView) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/displayKeywordViews/*}"
+ };
+ }
+}
+
+// Request message for [DisplayKeywordViewService.GetDisplayKeywordView][google.ads.googleads.v0.services.DisplayKeywordViewService.GetDisplayKeywordView].
+message GetDisplayKeywordViewRequest {
+ // The resource name of the display keyword view to fetch.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/feed_item_service.proto b/google/ads/googleads/v0/services/feed_item_service.proto
new file mode 100644
index 000000000..24de55484
--- /dev/null
+++ b/google/ads/googleads/v0/services/feed_item_service.proto
@@ -0,0 +1,99 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/feed_item.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "FeedItemServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the FeedItem service.
+
+// Service to manage feed items.
+service FeedItemService {
+ // Returns the requested feed item in full detail.
+ rpc GetFeedItem(GetFeedItemRequest) returns (google.ads.googleads.v0.resources.FeedItem) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/feedItems/*}"
+ };
+ }
+
+ // Creates, updates, or removes feed items. Operation statuses are
+ // returned.
+ rpc MutateFeedItems(MutateFeedItemsRequest) returns (MutateFeedItemsResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/feedItems:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [FeedItemService.GetFeedItem][google.ads.googleads.v0.services.FeedItemService.GetFeedItem].
+message GetFeedItemRequest {
+ // The resource name of the feed item to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [FeedItemService.MutateFeedItems][google.ads.googleads.v0.services.FeedItemService.MutateFeedItems].
+message MutateFeedItemsRequest {
+ // The ID of the customer whose feed items are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual feed items.
+ repeated FeedItemOperation operations = 2;
+}
+
+// A single operation (create, update, remove) on an feed item.
+message FeedItemOperation {
+ // FieldMask that determines which resource fields are modified in an update.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new feed item.
+ google.ads.googleads.v0.resources.FeedItem create = 1;
+
+ // Update operation: The feed item is expected to have a valid resource
+ // name.
+ google.ads.googleads.v0.resources.FeedItem update = 2;
+
+ // Remove operation: A resource name for the removed feed item is
+ // expected, in this format:
+ //
+ // `customers/{customer_id}/feedItems/{feed_id}_{feed_item_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for an feed item mutate.
+message MutateFeedItemsResponse {
+ // All results for the mutate.
+ repeated MutateFeedItemResult results = 2;
+}
+
+// The result for the feed item mutate.
+message MutateFeedItemResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/feed_mapping_service.proto b/google/ads/googleads/v0/services/feed_mapping_service.proto
new file mode 100644
index 000000000..6cd5eafc0
--- /dev/null
+++ b/google/ads/googleads/v0/services/feed_mapping_service.proto
@@ -0,0 +1,91 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/feed_mapping.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "FeedMappingServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the FeedMapping service.
+
+// Service to manage feed mappings.
+service FeedMappingService {
+ // Returns the requested feed mapping in full detail.
+ rpc GetFeedMapping(GetFeedMappingRequest) returns (google.ads.googleads.v0.resources.FeedMapping) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/feedMappings/*}"
+ };
+ }
+
+ // Creates or removes feed mappings. Operation statuses are
+ // returned.
+ rpc MutateFeedMappings(MutateFeedMappingsRequest) returns (MutateFeedMappingsResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/feedMappings:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [FeedMappingService.GetFeedMapping][google.ads.googleads.v0.services.FeedMappingService.GetFeedMapping].
+message GetFeedMappingRequest {
+ // The resource name of the feed mapping to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [FeedMappingService.MutateFeedMappings][google.ads.googleads.v0.services.FeedMappingService.MutateFeedMappings].
+message MutateFeedMappingsRequest {
+ // The ID of the customer whose feed mappings are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual feed mappings.
+ repeated FeedMappingOperation operations = 2;
+}
+
+// A single operation (create, remove) on a feed mapping.
+message FeedMappingOperation {
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new feed mapping.
+ google.ads.googleads.v0.resources.FeedMapping create = 1;
+
+ // Remove operation: A resource name for the removed feed mapping is
+ // expected, in this format:
+ //
+ // `customers/{customer_id}/feedMappings/{feed_id}_{feed_mapping_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for a feed mapping mutate.
+message MutateFeedMappingsResponse {
+ // All results for the mutate.
+ repeated MutateFeedMappingResult results = 2;
+}
+
+// The result for the feed mapping mutate.
+message MutateFeedMappingResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/feed_service.proto b/google/ads/googleads/v0/services/feed_service.proto
new file mode 100644
index 000000000..604bc4f38
--- /dev/null
+++ b/google/ads/googleads/v0/services/feed_service.proto
@@ -0,0 +1,99 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/feed.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "FeedServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Feed service.
+
+// Service to manage feeds.
+service FeedService {
+ // Returns the requested feed in full detail.
+ rpc GetFeed(GetFeedRequest) returns (google.ads.googleads.v0.resources.Feed) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/feeds/*}"
+ };
+ }
+
+ // Creates, updates, or removes feeds. Operation statuses are
+ // returned.
+ rpc MutateFeeds(MutateFeedsRequest) returns (MutateFeedsResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/feeds:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [FeedService.GetFeed][google.ads.googleads.v0.services.FeedService.GetFeed].
+message GetFeedRequest {
+ // The resource name of the feed to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [FeedService.MutateFeeds][google.ads.googleads.v0.services.FeedService.MutateFeeds].
+message MutateFeedsRequest {
+ // The ID of the customer whose feeds are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual feeds.
+ repeated FeedOperation operations = 2;
+}
+
+// A single operation (create, update, remove) on an feed.
+message FeedOperation {
+ // FieldMask that determines which resource fields are modified in an update.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new feed.
+ google.ads.googleads.v0.resources.Feed create = 1;
+
+ // Update operation: The feed is expected to have a valid resource
+ // name.
+ google.ads.googleads.v0.resources.Feed update = 2;
+
+ // Remove operation: A resource name for the removed feed is
+ // expected, in this format:
+ //
+ // `customers/{customer_id}/feeds/{feed_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for an feed mutate.
+message MutateFeedsResponse {
+ // All results for the mutate.
+ repeated MutateFeedResult results = 2;
+}
+
+// The result for the feed mutate.
+message MutateFeedResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/gender_view_service.proto b/google/ads/googleads/v0/services/gender_view_service.proto
new file mode 100644
index 000000000..6459ca58e
--- /dev/null
+++ b/google/ads/googleads/v0/services/gender_view_service.proto
@@ -0,0 +1,46 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/gender_view.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "GenderViewServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Gender View service.
+
+// Service to manage gender views.
+service GenderViewService {
+ // Returns the requested gender view in full detail.
+ rpc GetGenderView(GetGenderViewRequest) returns (google.ads.googleads.v0.resources.GenderView) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/genderViews/*}"
+ };
+ }
+}
+
+// Request message for [GenderViewService.GetGenderView][google.ads.googleads.v0.services.GenderViewService.GetGenderView].
+message GetGenderViewRequest {
+ // The resource name of the gender view to fetch.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/geo_target_constant_service.proto b/google/ads/googleads/v0/services/geo_target_constant_service.proto
new file mode 100644
index 000000000..12cd1e176
--- /dev/null
+++ b/google/ads/googleads/v0/services/geo_target_constant_service.proto
@@ -0,0 +1,117 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/geo_target_constant.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "GeoTargetConstantServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Geo target constant service.
+
+// Service to fetch geo target constants.
+service GeoTargetConstantService {
+ // Returns the requested geo target constant in full detail.
+ rpc GetGeoTargetConstant(GetGeoTargetConstantRequest) returns (google.ads.googleads.v0.resources.GeoTargetConstant) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=geoTargetConstants/*}"
+ };
+ }
+
+ // Returns GeoTargetConstant suggestions by location name or by resource name.
+ rpc SuggestGeoTargetConstants(SuggestGeoTargetConstantsRequest) returns (SuggestGeoTargetConstantsResponse) {
+ option (google.api.http) = {
+ post: "/v0/geoTargetConstants:suggest"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [GeoTargetConstantService.GetGeoTargetConstant][google.ads.googleads.v0.services.GeoTargetConstantService.GetGeoTargetConstant].
+message GetGeoTargetConstantRequest {
+ // The resource name of the geo target constant to fetch.
+ string resource_name = 1;
+}
+
+// Request message for
+// [GeoTargetConstantService.SuggestGeoTargetConstantsRequest][].
+message SuggestGeoTargetConstantsRequest {
+ // A list of location names.
+ message LocationNames {
+ // A list of location names.
+ repeated google.protobuf.StringValue names = 1;
+ }
+
+ // A list of geo target constant resource names.
+ message GeoTargets {
+ // A list of geo target constant resource names.
+ repeated google.protobuf.StringValue geo_target_constants = 1;
+ }
+
+ // If possible, returned geo targets are translated using this locale. If not,
+ // en is used by default. This is also used as a hint for returned geo
+ // targets.
+ google.protobuf.StringValue locale = 3;
+
+ // Returned geo targets are restricted to this country code.
+ google.protobuf.StringValue country_code = 5;
+
+ // Required. A selector of geo target constants.
+ oneof query {
+ // The location names to search by. At most 25 names can be set.
+ LocationNames location_names = 1;
+
+ // The geo target constant resource names to filter by.
+ GeoTargets geo_targets = 2;
+ }
+}
+
+// Response message for [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v0.services.GeoTargetConstantService.SuggestGeoTargetConstants]
+message SuggestGeoTargetConstantsResponse {
+ // Geo target constant suggestions.
+ repeated GeoTargetConstantSuggestion geo_target_constant_suggestions = 1;
+}
+
+// A geo target constant suggestion.
+message GeoTargetConstantSuggestion {
+ // The language this GeoTargetConstantSuggestion is currently translated to.
+ // It affects the name of geo target fields. For example, if locale=en, then
+ // name=Spain. If locale=es, then name=España. The default locale will be
+ // returned if no translation exists for the locale in the request.
+ google.protobuf.StringValue locale = 1;
+
+ // Approximate user population that will be targeted, rounded to the
+ // nearest 100.
+ google.protobuf.Int64Value reach = 2;
+
+ // If the request searched by location name, this is the location name that
+ // matched the geo target.
+ google.protobuf.StringValue search_term = 3;
+
+ // The GeoTargetConstant result.
+ google.ads.googleads.v0.resources.GeoTargetConstant geo_target_constant = 4;
+
+ // The list of parents of the geo target constant.
+ repeated google.ads.googleads.v0.resources.GeoTargetConstant geo_target_constant_parents = 5;
+}
diff --git a/google/ads/googleads/v0/services/google_ads_field_service.proto b/google/ads/googleads/v0/services/google_ads_field_service.proto
new file mode 100644
index 000000000..99f8e11f3
--- /dev/null
+++ b/google/ads/googleads/v0/services/google_ads_field_service.proto
@@ -0,0 +1,84 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/google_ads_field.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "GoogleAdsFieldServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the GoogleAdsFieldService
+
+// Service to fetch Google Ads API fields.
+service GoogleAdsFieldService {
+ // Returns just the requested field.
+ rpc GetGoogleAdsField(GetGoogleAdsFieldRequest) returns (google.ads.googleads.v0.resources.GoogleAdsField) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=googleAdsFields/*}"
+ };
+ }
+
+ // Returns all fields that match the search query.
+ rpc SearchGoogleAdsFields(SearchGoogleAdsFieldsRequest) returns (SearchGoogleAdsFieldsResponse) {
+ option (google.api.http) = {
+ post: "/v0/googleAdsFields:search"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [GoogleAdsFieldService.GetGoogleAdsField][google.ads.googleads.v0.services.GoogleAdsFieldService.GetGoogleAdsField].
+message GetGoogleAdsFieldRequest {
+ // The resource name of the field to get.
+ string resource_name = 1;
+}
+
+// Request message for [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v0.services.GoogleAdsFieldService.SearchGoogleAdsFields].
+message SearchGoogleAdsFieldsRequest {
+ // The query string.
+ string query = 1;
+
+ // Token of the page to retrieve. If not specified, the first page of
+ // results will be returned. Use the value obtained from `next_page_token`
+ // in the previous response in order to request the next page of results.
+ string page_token = 2;
+
+ // Number of elements to retrieve in a single page.
+ // When too large a page is requested, the server may decide to further
+ // limit the number of returned resources.
+ int32 page_size = 3;
+}
+
+// Response message for [GoogleAdsFieldService.SearchGoogleAdsFields][google.ads.googleads.v0.services.GoogleAdsFieldService.SearchGoogleAdsFields].
+message SearchGoogleAdsFieldsResponse {
+ // The list of fields that matched the query.
+ repeated google.ads.googleads.v0.resources.GoogleAdsField results = 1;
+
+ // Pagination token used to retrieve the next page of results. Pass the
+ // content of this string as the `page_token` attribute of the next request.
+ // `next_page_token` is not returned for the last page.
+ string next_page_token = 2;
+
+ // Total number of results that match the query ignoring the LIMIT clause.
+ int64 total_results_count = 3;
+}
diff --git a/google/ads/googleads/v0/services/google_ads_service.proto b/google/ads/googleads/v0/services/google_ads_service.proto
new file mode 100644
index 000000000..524de077e
--- /dev/null
+++ b/google/ads/googleads/v0/services/google_ads_service.proto
@@ -0,0 +1,525 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/common/metrics.proto";
+import "google/ads/googleads/v0/enums/ad_network_type.proto";
+import "google/ads/googleads/v0/enums/day_of_week.proto";
+import "google/ads/googleads/v0/enums/device.proto";
+import "google/ads/googleads/v0/enums/hotel_date_selection_type.proto";
+import "google/ads/googleads/v0/enums/month_of_year.proto";
+import "google/ads/googleads/v0/enums/placeholder_type.proto";
+import "google/ads/googleads/v0/enums/search_term_match_type.proto";
+import "google/ads/googleads/v0/enums/slot.proto";
+import "google/ads/googleads/v0/resources/account_budget.proto";
+import "google/ads/googleads/v0/resources/account_budget_proposal.proto";
+import "google/ads/googleads/v0/resources/ad_group.proto";
+import "google/ads/googleads/v0/resources/ad_group_ad.proto";
+import "google/ads/googleads/v0/resources/ad_group_audience_view.proto";
+import "google/ads/googleads/v0/resources/ad_group_bid_modifier.proto";
+import "google/ads/googleads/v0/resources/ad_group_criterion.proto";
+import "google/ads/googleads/v0/resources/ad_group_feed.proto";
+import "google/ads/googleads/v0/resources/age_range_view.proto";
+import "google/ads/googleads/v0/resources/bidding_strategy.proto";
+import "google/ads/googleads/v0/resources/billing_setup.proto";
+import "google/ads/googleads/v0/resources/campaign.proto";
+import "google/ads/googleads/v0/resources/campaign_audience_view.proto";
+import "google/ads/googleads/v0/resources/campaign_bid_modifier.proto";
+import "google/ads/googleads/v0/resources/campaign_budget.proto";
+import "google/ads/googleads/v0/resources/campaign_criterion.proto";
+import "google/ads/googleads/v0/resources/campaign_feed.proto";
+import "google/ads/googleads/v0/resources/campaign_group.proto";
+import "google/ads/googleads/v0/resources/campaign_shared_set.proto";
+import "google/ads/googleads/v0/resources/carrier_constant.proto";
+import "google/ads/googleads/v0/resources/change_status.proto";
+import "google/ads/googleads/v0/resources/customer.proto";
+import "google/ads/googleads/v0/resources/customer_client.proto";
+import "google/ads/googleads/v0/resources/customer_client_link.proto";
+import "google/ads/googleads/v0/resources/customer_feed.proto";
+import "google/ads/googleads/v0/resources/customer_manager_link.proto";
+import "google/ads/googleads/v0/resources/display_keyword_view.proto";
+import "google/ads/googleads/v0/resources/feed.proto";
+import "google/ads/googleads/v0/resources/feed_item.proto";
+import "google/ads/googleads/v0/resources/feed_mapping.proto";
+import "google/ads/googleads/v0/resources/gender_view.proto";
+import "google/ads/googleads/v0/resources/geo_target_constant.proto";
+import "google/ads/googleads/v0/resources/hotel_group_view.proto";
+import "google/ads/googleads/v0/resources/hotel_performance_view.proto";
+import "google/ads/googleads/v0/resources/keyword_plan.proto";
+import "google/ads/googleads/v0/resources/keyword_plan_ad_group.proto";
+import "google/ads/googleads/v0/resources/keyword_plan_campaign.proto";
+import "google/ads/googleads/v0/resources/keyword_plan_keyword.proto";
+import "google/ads/googleads/v0/resources/keyword_plan_negative_keyword.proto";
+import "google/ads/googleads/v0/resources/keyword_view.proto";
+import "google/ads/googleads/v0/resources/language_constant.proto";
+import "google/ads/googleads/v0/resources/managed_placement_view.proto";
+import "google/ads/googleads/v0/resources/parental_status_view.proto";
+import "google/ads/googleads/v0/resources/product_group_view.proto";
+import "google/ads/googleads/v0/resources/recommendation.proto";
+import "google/ads/googleads/v0/resources/search_term_view.proto";
+import "google/ads/googleads/v0/resources/shared_criterion.proto";
+import "google/ads/googleads/v0/resources/shared_set.proto";
+import "google/ads/googleads/v0/resources/topic_constant.proto";
+import "google/ads/googleads/v0/resources/topic_view.proto";
+import "google/ads/googleads/v0/resources/user_interest.proto";
+import "google/ads/googleads/v0/resources/user_list.proto";
+import "google/ads/googleads/v0/resources/video.proto";
+import "google/ads/googleads/v0/services/ad_group_ad_service.proto";
+import "google/ads/googleads/v0/services/ad_group_bid_modifier_service.proto";
+import "google/ads/googleads/v0/services/ad_group_criterion_service.proto";
+import "google/ads/googleads/v0/services/ad_group_service.proto";
+import "google/ads/googleads/v0/services/bidding_strategy_service.proto";
+import "google/ads/googleads/v0/services/campaign_bid_modifier_service.proto";
+import "google/ads/googleads/v0/services/campaign_budget_service.proto";
+import "google/ads/googleads/v0/services/campaign_criterion_service.proto";
+import "google/ads/googleads/v0/services/campaign_group_service.proto";
+import "google/ads/googleads/v0/services/campaign_service.proto";
+import "google/ads/googleads/v0/services/campaign_shared_set_service.proto";
+import "google/ads/googleads/v0/services/conversion_action_service.proto";
+import "google/ads/googleads/v0/services/shared_criterion_service.proto";
+import "google/ads/googleads/v0/services/shared_set_service.proto";
+import "google/ads/googleads/v0/services/user_list_service.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "GoogleAdsServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the GoogleAdsService.
+
+// Service to fetch data and metrics across resources.
+service GoogleAdsService {
+ // Returns all rows that match the search query.
+ rpc Search(SearchGoogleAdsRequest) returns (SearchGoogleAdsResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/googleAds:search"
+ body: "*"
+ };
+ }
+
+ // Creates, updates, or removes resources. Operation statuses are returned.
+ rpc Mutate(MutateGoogleAdsRequest) returns (MutateGoogleAdsResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/googleAds:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [GoogleAdsService.Search][google.ads.googleads.v0.services.GoogleAdsService.Search].
+message SearchGoogleAdsRequest {
+ // The ID of the customer being queried.
+ string customer_id = 1;
+
+ // The query string.
+ string query = 2;
+
+ // Token of the page to retrieve. If not specified, the first
+ // page of results will be returned. Use the value obtained from
+ // `next_page_token` in the previous response in order to request
+ // the next page of results.
+ string page_token = 3;
+
+ // Number of elements to retrieve in a single page.
+ // When too large a page is requested, the server may decide to
+ // further limit the number of returned resources.
+ int32 page_size = 4;
+}
+
+// Response message for [GoogleAdsService.Search][google.ads.googleads.v0.services.GoogleAdsService.Search].
+message SearchGoogleAdsResponse {
+ // The list of rows that matched the query.
+ repeated GoogleAdsRow results = 1;
+
+ // Pagination token used to retrieve the next page of results.
+ // Pass the content of this string as the `page_token` attribute of
+ // the next request. `next_page_token` is not returned for the last
+ // page.
+ string next_page_token = 2;
+
+ // Total number of results that match the query ignoring the LIMIT
+ // clause.
+ int64 total_results_count = 3;
+
+ // FieldMask that represents what fields were requested by the user.
+ google.protobuf.FieldMask field_mask = 5;
+}
+
+// A returned row from the query.
+message GoogleAdsRow {
+ // The account budget in the query.
+ google.ads.googleads.v0.resources.AccountBudget account_budget = 42;
+
+ // The account budget proposal referenced in the query.
+ google.ads.googleads.v0.resources.AccountBudgetProposal account_budget_proposal = 43;
+
+ // The ad group referenced in the query.
+ google.ads.googleads.v0.resources.AdGroup ad_group = 3;
+
+ // The ad referenced in the query.
+ google.ads.googleads.v0.resources.AdGroupAd ad_group_ad = 16;
+
+ // The ad group audience view referenced in the query.
+ google.ads.googleads.v0.resources.AdGroupAudienceView ad_group_audience_view = 57;
+
+ // The bid modifier referenced in the query.
+ google.ads.googleads.v0.resources.AdGroupBidModifier ad_group_bid_modifier = 24;
+
+ // The criterion referenced in the query.
+ google.ads.googleads.v0.resources.AdGroupCriterion ad_group_criterion = 17;
+
+ // The ad group feed referenced in the query.
+ google.ads.googleads.v0.resources.AdGroupFeed ad_group_feed = 67;
+
+ // The age range view referenced in the query.
+ google.ads.googleads.v0.resources.AgeRangeView age_range_view = 48;
+
+ // The bidding strategy referenced in the query.
+ google.ads.googleads.v0.resources.BiddingStrategy bidding_strategy = 18;
+
+ // The billing setup referenced in the query.
+ google.ads.googleads.v0.resources.BillingSetup billing_setup = 41;
+
+ // The campaign budget referenced in the query.
+ google.ads.googleads.v0.resources.CampaignBudget campaign_budget = 19;
+
+ // The campaign referenced in the query.
+ google.ads.googleads.v0.resources.Campaign campaign = 2;
+
+ // The campaign audience view referenced in the query.
+ google.ads.googleads.v0.resources.CampaignAudienceView campaign_audience_view = 69;
+
+ // The campaign bid modifier referenced in the query.
+ google.ads.googleads.v0.resources.CampaignBidModifier campaign_bid_modifier = 26;
+
+ // The campaign criterion referenced in the query.
+ google.ads.googleads.v0.resources.CampaignCriterion campaign_criterion = 20;
+
+ // The campaign feed referenced in the query.
+ google.ads.googleads.v0.resources.CampaignFeed campaign_feed = 63;
+
+ // Campaign Group referenced in AWQL query.
+ google.ads.googleads.v0.resources.CampaignGroup campaign_group = 25;
+
+ // Campaign Shared Set referenced in AWQL query.
+ google.ads.googleads.v0.resources.CampaignSharedSet campaign_shared_set = 30;
+
+ // The carrier constant referenced in the query.
+ google.ads.googleads.v0.resources.CarrierConstant carrier_constant = 66;
+
+ // The ChangeStatus referenced in the query.
+ google.ads.googleads.v0.resources.ChangeStatus change_status = 37;
+
+ // The customer referenced in the query.
+ google.ads.googleads.v0.resources.Customer customer = 1;
+
+ // The CustomerManagerLink referenced in the query.
+ google.ads.googleads.v0.resources.CustomerManagerLink customer_manager_link = 61;
+
+ // The CustomerClientLink referenced in the query.
+ google.ads.googleads.v0.resources.CustomerClientLink customer_client_link = 62;
+
+ // The CustomerClient referenced in the query.
+ google.ads.googleads.v0.resources.CustomerClient customer_client = 70;
+
+ // The customer feed referenced in the query.
+ google.ads.googleads.v0.resources.CustomerFeed customer_feed = 64;
+
+ // The display keyword view referenced in the query.
+ google.ads.googleads.v0.resources.DisplayKeywordView display_keyword_view = 47;
+
+ // The feed referenced in the query.
+ google.ads.googleads.v0.resources.Feed feed = 46;
+
+ // The feed item referenced in the query.
+ google.ads.googleads.v0.resources.FeedItem feed_item = 50;
+
+ // The feed mapping referenced in the query.
+ google.ads.googleads.v0.resources.FeedMapping feed_mapping = 58;
+
+ // The gender view referenced in the query.
+ google.ads.googleads.v0.resources.GenderView gender_view = 40;
+
+ // The geo target constant referenced in the query.
+ google.ads.googleads.v0.resources.GeoTargetConstant geo_target_constant = 23;
+
+ // The hotel group view referenced in the query.
+ google.ads.googleads.v0.resources.HotelGroupView hotel_group_view = 51;
+
+ // The hotel performance view referenced in the query.
+ google.ads.googleads.v0.resources.HotelPerformanceView hotel_performance_view = 71;
+
+ // The keyword view referenced in the query.
+ google.ads.googleads.v0.resources.KeywordView keyword_view = 21;
+
+ // The keyword plan referenced in the query.
+ google.ads.googleads.v0.resources.KeywordPlan keyword_plan = 32;
+
+ // The keyword plan campaign referenced in the query.
+ google.ads.googleads.v0.resources.KeywordPlanCampaign keyword_plan_campaign = 33;
+
+ // The keyword plan negative keyword referenced in the query.
+ google.ads.googleads.v0.resources.KeywordPlanNegativeKeyword keyword_plan_negative_keyword = 34;
+
+ // The keyword plan ad group referenced in the query.
+ google.ads.googleads.v0.resources.KeywordPlanAdGroup keyword_plan_ad_group = 35;
+
+ // The keyword plan keyword referenced in the query.
+ google.ads.googleads.v0.resources.KeywordPlanKeyword keyword_plan_keyword = 36;
+
+ // The language constant referenced in the query.
+ google.ads.googleads.v0.resources.LanguageConstant language_constant = 55;
+
+ // The managed placement view referenced in the query.
+ google.ads.googleads.v0.resources.ManagedPlacementView managed_placement_view = 53;
+
+ // The parental status view referenced in the query.
+ google.ads.googleads.v0.resources.ParentalStatusView parental_status_view = 45;
+
+ // The product group view referenced in the query.
+ google.ads.googleads.v0.resources.ProductGroupView product_group_view = 54;
+
+ // The recommendation referenced in the query.
+ google.ads.googleads.v0.resources.Recommendation recommendation = 22;
+
+ // The search term view referenced in the query.
+ google.ads.googleads.v0.resources.SearchTermView search_term_view = 68;
+
+ // The shared set referenced in the query.
+ google.ads.googleads.v0.resources.SharedCriterion shared_criterion = 29;
+
+ // The shared set referenced in the query.
+ google.ads.googleads.v0.resources.SharedSet shared_set = 27;
+
+ // The topic view referenced in the query.
+ google.ads.googleads.v0.resources.TopicView topic_view = 44;
+
+ // The user interest referenced in the query.
+ google.ads.googleads.v0.resources.UserInterest user_interest = 59;
+
+ // The user list referenced in the query.
+ google.ads.googleads.v0.resources.UserList user_list = 38;
+
+ // The topic constant referenced in the query.
+ google.ads.googleads.v0.resources.TopicConstant topic_constant = 31;
+
+ // The video referenced in the query.
+ google.ads.googleads.v0.resources.Video video = 39;
+
+ // The metrics.
+ google.ads.googleads.v0.common.Metrics metrics = 4;
+
+ // Ad network type.
+ google.ads.googleads.v0.enums.AdNetworkTypeEnum.AdNetworkType ad_network_type = 5;
+
+ // Date to which metrics apply.
+ // yyyy-MM-dd format, e.g., 2018-04-17.
+ google.protobuf.StringValue date = 6;
+
+ // Day of the week, e.g., MONDAY.
+ google.ads.googleads.v0.enums.DayOfWeekEnum.DayOfWeek day_of_week = 7;
+
+ // Device to which metrics apply.
+ google.ads.googleads.v0.enums.DeviceEnum.Device device = 8;
+
+ // Hotel booking window in days.
+ google.protobuf.Int64Value hotel_booking_window_days = 83;
+
+ // Hotel center ID.
+ google.protobuf.Int64Value hotel_center_id = 72;
+
+ // Hotel check-in date. Formatted as yyyy-MM-dd.
+ google.protobuf.StringValue hotel_check_in_date = 73;
+
+ // Hotel check-in day of week.
+ google.ads.googleads.v0.enums.DayOfWeekEnum.DayOfWeek hotel_check_in_day_of_week = 74;
+
+ // Hotel city.
+ google.protobuf.StringValue hotel_city = 75;
+
+ // Hotel class.
+ google.protobuf.Int32Value hotel_class = 76;
+
+ // Hotel country.
+ google.protobuf.StringValue hotel_country = 77;
+
+ // Hotel date selection type.
+ google.ads.googleads.v0.enums.HotelDateSelectionTypeEnum.HotelDateSelectionType hotel_date_selection_type = 78;
+
+ // Hotel length of stay.
+ google.protobuf.Int32Value hotel_length_of_stay = 79;
+
+ // Hotel state.
+ google.protobuf.StringValue hotel_state = 81;
+
+ // Hour of day as a number between 0 and 23, inclusive.
+ google.protobuf.Int32Value hour = 9;
+
+ // Month as represented by the date of the first day of a month. Formatted as
+ // yyyy-MM-dd.
+ google.protobuf.StringValue month = 10;
+
+ // Month of the year, e.g., January.
+ google.ads.googleads.v0.enums.MonthOfYearEnum.MonthOfYear month_of_year = 28;
+
+ // Partner hotel ID.
+ google.protobuf.StringValue partner_hotel_id = 82;
+
+ // Placeholder type. This is only used with feed item metrics.
+ google.ads.googleads.v0.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type = 65;
+
+ // Quarter as represented by the date of the first day of a quarter.
+ // Uses the calendar year for quarters, e.g., the second quarter of 2018
+ // starts on 2018-04-01. Formatted as yyyy-MM-dd.
+ google.protobuf.StringValue quarter = 12;
+
+ // Match type of the keyword that triggered the ad, including variants.
+ google.ads.googleads.v0.enums.SearchTermMatchTypeEnum.SearchTermMatchType search_term_match_type = 56;
+
+ // Position of the ad.
+ google.ads.googleads.v0.enums.SlotEnum.Slot slot = 13;
+
+ // Week as defined as Monday through Sunday, and represented by the date of
+ // Monday. Formatted as yyyy-MM-dd.
+ google.protobuf.StringValue week = 14;
+
+ // Year, formatted as yyyy.
+ google.protobuf.Int32Value year = 15;
+}
+
+// Request message for [GoogleAdsService.Mutate][google.ads.googleads.v0.services.GoogleAdsService.Mutate].
+message MutateGoogleAdsRequest {
+ // The ID of the customer whose resources are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual resources.
+ repeated MutateOperation mutate_operations = 2;
+}
+
+// Response message for [GoogleAdsService.Mutate][google.ads.googleads.v0.services.GoogleAdsService.Mutate].
+message MutateGoogleAdsResponse {
+ // All responses for the mutate.
+ repeated MutateOperationResponse mutate_operation_responses = 1;
+}
+
+// A single operation (create, update, remove) on a resource.
+message MutateOperation {
+ // The mutate operation.
+ oneof operation {
+ // An ad group ad mutate operation.
+ AdGroupAdOperation ad_group_ad_operation = 1;
+
+ // An ad group bid modifier mutate operation.
+ AdGroupBidModifierOperation ad_group_bid_modifier_operation = 2;
+
+ // An ad group criterion mutate operation.
+ AdGroupCriterionOperation ad_group_criterion_operation = 3;
+
+ // An ad group mutate operation.
+ AdGroupOperation ad_group_operation = 5;
+
+ // A bidding strategy mutate operation.
+ BiddingStrategyOperation bidding_strategy_operation = 6;
+
+ // A campaign bid modifier mutate operation.
+ CampaignBidModifierOperation campaign_bid_modifier_operation = 7;
+
+ // A campaign budget mutate operation.
+ CampaignBudgetOperation campaign_budget_operation = 8;
+
+ // A campaign group mutate operation.
+ CampaignGroupOperation campaign_group_operation = 9;
+
+ // A campaign mutate operation.
+ CampaignOperation campaign_operation = 10;
+
+ // A campaign shared set mutate operation.
+ CampaignSharedSetOperation campaign_shared_set_operation = 11;
+
+ // A conversion action mutate operation.
+ ConversionActionOperation conversion_action_operation = 12;
+
+ // A campaign criterion mutate operation.
+ CampaignCriterionOperation campaign_criterion_operation = 13;
+
+ // A shared criterion mutate operation.
+ SharedCriterionOperation shared_criterion_operation = 14;
+
+ // A shared set mutate operation.
+ SharedSetOperation shared_set_operation = 15;
+
+ // A user list mutate operation.
+ UserListOperation user_list_operation = 16;
+ }
+}
+
+// Response message for the resource mutate.
+message MutateOperationResponse {
+ // The mutate response
+ oneof response {
+ // The result for the ad group ad mutate.
+ MutateAdGroupAdResult ad_group_ad_result = 1;
+
+ // The result for the ad group bid modifier mutate.
+ MutateAdGroupBidModifierResult ad_group_bid_modifier_result = 2;
+
+ // The result for the ad group criterion mutate.
+ MutateAdGroupCriterionResult ad_group_criterion_result = 3;
+
+ // The result for the ad group mutate.
+ MutateAdGroupResult ad_group_result = 5;
+
+ // The result for the bidding strategy mutate.
+ MutateBiddingStrategyResult bidding_strategy_result = 6;
+
+ // The result for the campaign bid modifier mutate.
+ MutateCampaignBidModifierResult campaign_bid_modifier_result = 7;
+
+ // The result for the campaign budget mutate.
+ MutateCampaignBudgetResult campaign_budget_result = 8;
+
+ // The result for the campaign group mutate.
+ MutateCampaignGroupResult campaign_group_result = 9;
+
+ // The result for the campaign mutate.
+ MutateCampaignResult campaign_result = 10;
+
+ // The result for the campaign shared set mutate.
+ MutateCampaignSharedSetResult campaign_shared_set_result = 11;
+
+ // The result for the conversion action mutate.
+ MutateConversionActionResult conversion_action_result = 12;
+
+ // The result for the campaign criterion mutate.
+ MutateCampaignCriterionResult campaign_criterion_result = 13;
+
+ // The result for the shared criterion mutate.
+ MutateSharedCriterionResult shared_criterion_result = 14;
+
+ // The result for the shared set mutate.
+ MutateSharedSetResult shared_set_result = 15;
+
+ // The result for the user list mutate.
+ MutateUserListResult user_list_result = 16;
+ }
+}
diff --git a/google/ads/googleads/v0/services/hotel_group_view_service.proto b/google/ads/googleads/v0/services/hotel_group_view_service.proto
new file mode 100644
index 000000000..c6f29883e
--- /dev/null
+++ b/google/ads/googleads/v0/services/hotel_group_view_service.proto
@@ -0,0 +1,46 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/hotel_group_view.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "HotelGroupViewServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Hotel Group View Service.
+
+// Service to manage Hotel Group Views.
+service HotelGroupViewService {
+ // Returns the requested Hotel Group View in full detail.
+ rpc GetHotelGroupView(GetHotelGroupViewRequest) returns (google.ads.googleads.v0.resources.HotelGroupView) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/hotelGroupViews/*}"
+ };
+ }
+}
+
+// Request message for [HotelGroupViewService.GetHotelGroupView][google.ads.googleads.v0.services.HotelGroupViewService.GetHotelGroupView].
+message GetHotelGroupViewRequest {
+ // Resource name of the Hotel Group View to fetch.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/hotel_performance_view_service.proto b/google/ads/googleads/v0/services/hotel_performance_view_service.proto
new file mode 100644
index 000000000..2c409758e
--- /dev/null
+++ b/google/ads/googleads/v0/services/hotel_performance_view_service.proto
@@ -0,0 +1,46 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/hotel_performance_view.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "HotelPerformanceViewServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Hotel Performance View Service.
+
+// Service to manage Hotel Performance Views.
+service HotelPerformanceViewService {
+ // Returns the requested Hotel Performance View in full detail.
+ rpc GetHotelPerformanceView(GetHotelPerformanceViewRequest) returns (google.ads.googleads.v0.resources.HotelPerformanceView) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/hotelPerformanceView}"
+ };
+ }
+}
+
+// Request message for [HotelPerformanceViewService.GetHotelPerformanceView][google.ads.googleads.v0.services.HotelPerformanceViewService.GetHotelPerformanceView].
+message GetHotelPerformanceViewRequest {
+ // Resource name of the Hotel Performance View to fetch.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/keyword_plan_ad_group_service.proto b/google/ads/googleads/v0/services/keyword_plan_ad_group_service.proto
new file mode 100644
index 000000000..f992a9a59
--- /dev/null
+++ b/google/ads/googleads/v0/services/keyword_plan_ad_group_service.proto
@@ -0,0 +1,101 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/keyword_plan_ad_group.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordPlanAdGroupServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the keyword plan ad group service.
+
+// Service to manage Keyword Plan ad groups.
+service KeywordPlanAdGroupService {
+ // Returns the requested Keyword Plan ad group in full detail.
+ rpc GetKeywordPlanAdGroup(GetKeywordPlanAdGroupRequest) returns (google.ads.googleads.v0.resources.KeywordPlanAdGroup) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/keywordPlanAdGroups/*}"
+ };
+ }
+
+ // Creates, updates, or removes Keyword Plan ad groups. Operation statuses are
+ // returned.
+ rpc MutateKeywordPlanAdGroups(MutateKeywordPlanAdGroupsRequest) returns (MutateKeywordPlanAdGroupsResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/keywordPlanAdGroups:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [KeywordPlanAdGroupService.GetKeywordPlanAdGroup][google.ads.googleads.v0.services.KeywordPlanAdGroupService.GetKeywordPlanAdGroup].
+message GetKeywordPlanAdGroupRequest {
+ // The resource name of the Keyword Plan ad group to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [KeywordPlanAdGroupService.MutateKeywordPlanAdGroups][google.ads.googleads.v0.services.KeywordPlanAdGroupService.MutateKeywordPlanAdGroups].
+message MutateKeywordPlanAdGroupsRequest {
+ // The ID of the customer whose Keyword Plan ad groups are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual Keyword Plan ad groups.
+ repeated KeywordPlanAdGroupOperation operations = 2;
+}
+
+// A single operation (create, update, remove) on a Keyword Plan ad group.
+message KeywordPlanAdGroupOperation {
+ // The FieldMask that determines which resource fields are modified in an
+ // update.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new Keyword Plan
+ // ad group.
+ google.ads.googleads.v0.resources.KeywordPlanAdGroup create = 1;
+
+ // Update operation: The Keyword Plan ad group is expected to have a valid
+ // resource name.
+ google.ads.googleads.v0.resources.KeywordPlanAdGroup update = 2;
+
+ // Remove operation: A resource name for the removed Keyword Plan ad group
+ // is expected, in this format:
+ //
+ // `customers/{customer_id}/keywordPlanAdGroups/{kp_ad_group_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for a Keyword Plan ad group mutate.
+message MutateKeywordPlanAdGroupsResponse {
+ // All results for the mutate.
+ repeated MutateKeywordPlanAdGroupResult results = 2;
+}
+
+// The result for the Keyword Plan ad group mutate.
+message MutateKeywordPlanAdGroupResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/keyword_plan_campaign_service.proto b/google/ads/googleads/v0/services/keyword_plan_campaign_service.proto
new file mode 100644
index 000000000..126c38274
--- /dev/null
+++ b/google/ads/googleads/v0/services/keyword_plan_campaign_service.proto
@@ -0,0 +1,102 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/keyword_plan_campaign.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordPlanCampaignServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the keyword plan campaign service.
+
+// Service to manage Keyword Plan campaigns.
+service KeywordPlanCampaignService {
+ // Returns the requested Keyword Plan campaign in full detail.
+ rpc GetKeywordPlanCampaign(GetKeywordPlanCampaignRequest) returns (google.ads.googleads.v0.resources.KeywordPlanCampaign) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/keywordPlanCampaigns/*}"
+ };
+ }
+
+ // Creates, updates, or removes Keyword Plan campaigns. Operation statuses are
+ // returned.
+ rpc MutateKeywordPlanCampaigns(MutateKeywordPlanCampaignsRequest) returns (MutateKeywordPlanCampaignsResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/keywordPlanCampaigns:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [KeywordPlanCampaignService.GetKeywordPlanCampaign][google.ads.googleads.v0.services.KeywordPlanCampaignService.GetKeywordPlanCampaign].
+message GetKeywordPlanCampaignRequest {
+ // The resource name of the Keyword Plan campaign to fetch.
+ string resource_name = 1;
+}
+
+// Request message for
+// [KeywordPlanCampaignService.MutateKeywordPlanCampaigns][google.ads.googleads.v0.services.KeywordPlanCampaignService.MutateKeywordPlanCampaigns].
+message MutateKeywordPlanCampaignsRequest {
+ // The ID of the customer whose Keyword Plan campaigns are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual Keyword Plan campaigns.
+ repeated KeywordPlanCampaignOperation operations = 2;
+}
+
+// A single operation (create, update, remove) on a Keyword Plan campaign.
+message KeywordPlanCampaignOperation {
+ // The FieldMask that determines which resource fields are modified in an
+ // update.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new Keyword Plan
+ // campaign.
+ google.ads.googleads.v0.resources.KeywordPlanCampaign create = 1;
+
+ // Update operation: The Keyword Plan campaign is expected to have a valid
+ // resource name.
+ google.ads.googleads.v0.resources.KeywordPlanCampaign update = 2;
+
+ // Remove operation: A resource name for the removed Keyword Plan campaign
+ // is expected, in this format:
+ //
+ // `customers/{customer_id}/keywordPlanCampaigns/{keywordPlan_campaign_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for a Keyword Plan campaign mutate.
+message MutateKeywordPlanCampaignsResponse {
+ // All results for the mutate.
+ repeated MutateKeywordPlanCampaignResult results = 2;
+}
+
+// The result for the Keyword Plan campaign mutate.
+message MutateKeywordPlanCampaignResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/keyword_plan_idea_service.proto b/google/ads/googleads/v0/services/keyword_plan_idea_service.proto
new file mode 100644
index 000000000..481891af0
--- /dev/null
+++ b/google/ads/googleads/v0/services/keyword_plan_idea_service.proto
@@ -0,0 +1,112 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/common/keyword_plan_common.proto";
+import "google/ads/googleads/v0/enums/keyword_plan_network.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordPlanIdeaServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the keyword plan idea service.
+
+// Service to generate keyword ideas.
+service KeywordPlanIdeaService {
+ // Returns a list of keyword ideas.
+ rpc GenerateKeywordIdeas(GenerateKeywordIdeasRequest) returns (GenerateKeywordIdeaResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}:generateKeywordIdeas"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [KeywordIdeaService.GenerateKeywordIdeas][].
+message GenerateKeywordIdeasRequest {
+ // The ID of the customer with the recommendation.
+ string customer_id = 1;
+
+ // The resource name of the language to target.
+ // Required
+ google.protobuf.StringValue language = 7;
+
+ // The resource names of the location to target.
+ // Max 10
+ repeated google.protobuf.StringValue geo_target_constants = 8;
+
+ // Targeting network.
+ google.ads.googleads.v0.enums.KeywordPlanNetworkEnum.KeywordPlanNetwork keyword_plan_network = 9;
+
+ // The type of seed to generate keyword ideas.
+ oneof seed {
+ // A Keyword and a specific Url to generate ideas from
+ // e.g. cars, www.example.com/cars.
+ KeywordAndUrlSeed keyword_and_url_seed = 2;
+
+ // A Keyword or phrase to generate ideas from, e.g. cars.
+ KeywordSeed keyword_seed = 3;
+
+ // A specific url to generate ideas from, e.g. www.example.com/cars.
+ UrlSeed url_seed = 5;
+ }
+}
+
+// Keyword And Url Seed
+message KeywordAndUrlSeed {
+ // The URL to crawl in order to generate keyword ideas.
+ google.protobuf.StringValue url = 1;
+
+ // Requires at least one keyword.
+ repeated google.protobuf.StringValue keywords = 2;
+}
+
+// Keyword Seed
+message KeywordSeed {
+ // Requires at least one keyword.
+ repeated google.protobuf.StringValue keywords = 1;
+}
+
+// Url Seed
+message UrlSeed {
+ // The URL to crawl in order to generate keyword ideas.
+ google.protobuf.StringValue url = 1;
+}
+
+// Response message for [KeywordIdeaService.GenerateKeywordIdeas][].
+message GenerateKeywordIdeaResponse {
+ // Results of generating keyword ideas.
+ repeated GenerateKeywordIdeaResult results = 1;
+}
+
+// The result of generating keyword ideas.
+message GenerateKeywordIdeaResult {
+ // Text of the keyword idea.
+ // As in Keyword Plan historical metrics, this text may not be an actual
+ // keyword, but the canonical form of multiple keywords.
+ // See KeywordPlanKeywordHistoricalMetrics message in KeywordPlanService.
+ google.protobuf.StringValue text = 2;
+
+ // The historical metrics for the keyword
+ google.ads.googleads.v0.common.KeywordPlanHistoricalMetrics keyword_idea_metrics = 3;
+}
diff --git a/google/ads/googleads/v0/services/keyword_plan_keyword_service.proto b/google/ads/googleads/v0/services/keyword_plan_keyword_service.proto
new file mode 100644
index 000000000..327ac664d
--- /dev/null
+++ b/google/ads/googleads/v0/services/keyword_plan_keyword_service.proto
@@ -0,0 +1,101 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/keyword_plan_keyword.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordPlanKeywordServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the keyword plan keyword service.
+
+// Service to manage Keyword Plan ad group keywords.
+service KeywordPlanKeywordService {
+ // Returns the requested Keyword Plan keyword in full detail.
+ rpc GetKeywordPlanKeyword(GetKeywordPlanKeywordRequest) returns (google.ads.googleads.v0.resources.KeywordPlanKeyword) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/keywordPlanKeywords/*}"
+ };
+ }
+
+ // Creates, updates, or removes Keyword Plan keywords. Operation statuses are
+ // returned.
+ rpc MutateKeywordPlanKeywords(MutateKeywordPlanKeywordsRequest) returns (MutateKeywordPlanKeywordsResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/keywordPlanKeywords:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [KeywordPlanKeywordService.GetKeywordPlanKeyword][google.ads.googleads.v0.services.KeywordPlanKeywordService.GetKeywordPlanKeyword].
+message GetKeywordPlanKeywordRequest {
+ // The resource name of the ad group keyword to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [KeywordPlanKeywordService.MutateKeywordPlanKeywords][google.ads.googleads.v0.services.KeywordPlanKeywordService.MutateKeywordPlanKeywords].
+message MutateKeywordPlanKeywordsRequest {
+ // The ID of the customer whose Keyword Plan keywords are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual Keyword Plan keywords.
+ repeated KeywordPlanKeywordOperation operations = 2;
+}
+
+// A single operation (create, update, remove) on a Keyword Plan keyword.
+message KeywordPlanKeywordOperation {
+ // The FieldMask that determines which resource fields are modified in an
+ // update.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new Keyword Plan
+ // ad group keyword.
+ google.ads.googleads.v0.resources.KeywordPlanKeyword create = 1;
+
+ // Update operation: The Keyword Plan keyword is expected to have a valid
+ // resource name.
+ google.ads.googleads.v0.resources.KeywordPlanKeyword update = 2;
+
+ // Remove operation: A resource name for the removed Keyword Plan keyword is
+ // expected, in this format:
+ //
+ // `customers/{customer_id}/keywordPlanKeywords/{kp_ad_group_keyword_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for a Keyword Plan keyword mutate.
+message MutateKeywordPlanKeywordsResponse {
+ // All results for the mutate.
+ repeated MutateKeywordPlanKeywordResult results = 2;
+}
+
+// The result for the Keyword Plan keyword mutate.
+message MutateKeywordPlanKeywordResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/keyword_plan_negative_keyword_service.proto b/google/ads/googleads/v0/services/keyword_plan_negative_keyword_service.proto
new file mode 100644
index 000000000..0d924ef6d
--- /dev/null
+++ b/google/ads/googleads/v0/services/keyword_plan_negative_keyword_service.proto
@@ -0,0 +1,106 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/keyword_plan_negative_keyword.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordPlanNegativeKeywordServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the keyword plan negative keyword service.
+
+// Service to manage Keyword Plan negative keywords.
+service KeywordPlanNegativeKeywordService {
+ // Returns the requested plan in full detail.
+ rpc GetKeywordPlanNegativeKeyword(GetKeywordPlanNegativeKeywordRequest) returns (google.ads.googleads.v0.resources.KeywordPlanNegativeKeyword) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/keywordPlanNegativeKeywords/*}"
+ };
+ }
+
+ // Creates, updates, or removes Keyword Plan negative keywords. Operation
+ // statuses are returned.
+ rpc MutateKeywordPlanNegativeKeywords(MutateKeywordPlanNegativeKeywordsRequest) returns (MutateKeywordPlanNegativeKeywordsResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/keywordPlanNegativeKeywords:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for
+// [KeywordPlanNegativeKeywordService.GetKeywordPlanNegativeKeyword][google.ads.googleads.v0.services.KeywordPlanNegativeKeywordService.GetKeywordPlanNegativeKeyword].
+message GetKeywordPlanNegativeKeywordRequest {
+ // The resource name of the plan to fetch.
+ string resource_name = 1;
+}
+
+// Request message for
+// [KeywordPlanNegativeKeywordService.MutateKeywordPlanNegativeKeywords][google.ads.googleads.v0.services.KeywordPlanNegativeKeywordService.MutateKeywordPlanNegativeKeywords].
+message MutateKeywordPlanNegativeKeywordsRequest {
+ // The ID of the customer whose negative keywords are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual Keyword Plan negative
+ // keywords.
+ repeated KeywordPlanNegativeKeywordOperation operations = 2;
+}
+
+// A single operation (create, update, remove) on a Keyword Plan negative
+// keyword.
+message KeywordPlanNegativeKeywordOperation {
+ // The FieldMask that determines which resource fields are modified in an
+ // update.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new Keyword Plan
+ // negative keyword.
+ google.ads.googleads.v0.resources.KeywordPlanNegativeKeyword create = 1;
+
+ // Update operation: The Keyword Plan negative keyword expected to have a
+ // valid resource name.
+ google.ads.googleads.v0.resources.KeywordPlanNegativeKeyword update = 2;
+
+ // Remove operation: A resource name for the removed Keyword Plan negative
+ // keywords expected in this format:
+ //
+ //
+ // `customers/{customer_id}/keywordPlanNegativeKeywords/{kp_negative_keyword_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for a Keyword Plan negative keyword mutate.
+message MutateKeywordPlanNegativeKeywordsResponse {
+ // All results for the mutate.
+ repeated MutateKeywordPlanNegativeKeywordResult results = 2;
+}
+
+// The result for the Keyword Plan negative keyword mutate.
+message MutateKeywordPlanNegativeKeywordResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/keyword_plan_service.proto b/google/ads/googleads/v0/services/keyword_plan_service.proto
new file mode 100644
index 000000000..ea7cd0764
--- /dev/null
+++ b/google/ads/googleads/v0/services/keyword_plan_service.proto
@@ -0,0 +1,219 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/common/keyword_plan_common.proto";
+import "google/ads/googleads/v0/resources/keyword_plan.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+import "google/protobuf/wrappers.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordPlanServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the keyword plan service.
+
+// Service to manage keyword plans.
+service KeywordPlanService {
+ // Returns the requested plan in full detail.
+ rpc GetKeywordPlan(GetKeywordPlanRequest) returns (google.ads.googleads.v0.resources.KeywordPlan) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/keywordPlans/*}"
+ };
+ }
+
+ // Creates, updates, or removes keyword plans. Operation statuses are
+ // returned.
+ rpc MutateKeywordPlans(MutateKeywordPlansRequest) returns (MutateKeywordPlansResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/keywordPlans:mutate"
+ body: "*"
+ };
+ }
+
+ // Returns the requested Keyword Plan forecasts.
+ rpc GenerateForecastMetrics(GenerateForecastMetricsRequest) returns (GenerateForecastMetricsResponse) {
+ option (google.api.http) = {
+ post: "/v0/{keyword_plan=customers/*/keywordPlans/*}:generateForecastMetrics"
+ body: "*"
+ };
+ }
+
+ // Returns the requested Keyword Plan historical metrics.
+ rpc GenerateHistoricalMetrics(GenerateHistoricalMetricsRequest) returns (GenerateHistoricalMetricsResponse) {
+ option (google.api.http) = {
+ post: "/v0/{keyword_plan=customers/*/keywordPlans/*}:generateHistoricalMetrics"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [KeywordPlanService.GetKeywordPlan][google.ads.googleads.v0.services.KeywordPlanService.GetKeywordPlan].
+message GetKeywordPlanRequest {
+ // The resource name of the plan to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [KeywordPlanService.MutateKeywordPlans][google.ads.googleads.v0.services.KeywordPlanService.MutateKeywordPlans].
+message MutateKeywordPlansRequest {
+ // The ID of the customer whose keyword plans are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual keyword plans.
+ repeated KeywordPlanOperation operations = 2;
+}
+
+// A single operation (create, update, remove) on a keyword plan.
+message KeywordPlanOperation {
+ // The FieldMask that determines which resource fields are modified in an
+ // update.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new keyword plan.
+ google.ads.googleads.v0.resources.KeywordPlan create = 1;
+
+ // Update operation: The keyword plan is expected to have a valid resource
+ // name.
+ google.ads.googleads.v0.resources.KeywordPlan update = 2;
+
+ // Remove operation: A resource name for the removed keyword plan is
+ // expected in this format:
+ //
+ // `customers/{customer_id}/keywordPlans/{keyword_plan_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for a keyword plan mutate.
+message MutateKeywordPlansResponse {
+ // All results for the mutate.
+ repeated MutateKeywordPlansResult results = 2;
+}
+
+// The result for the keyword plan mutate.
+message MutateKeywordPlansResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
+
+// Request message for [KeywordPlanService.GenerateForecastMetrics][google.ads.googleads.v0.services.KeywordPlanService.GenerateForecastMetrics].
+message GenerateForecastMetricsRequest {
+ // The resource name of the keyword plan to be forecasted.
+ string keyword_plan = 1;
+}
+
+// Response message for [KeywordPlanService.GenerateForecastMetrics][google.ads.googleads.v0.services.KeywordPlanService.GenerateForecastMetrics].
+message GenerateForecastMetricsResponse {
+ // List of campaign forecasts.
+ // One maximum.
+ repeated KeywordPlanCampaignForecast campaign_forecasts = 1;
+
+ // List of ad group forecasts.
+ repeated KeywordPlanAdGroupForecast ad_group_forecasts = 2;
+
+ // List of keyword forecasts.
+ repeated KeywordPlanKeywordForecast keyword_forecasts = 3;
+}
+
+// A campaign forecast.
+message KeywordPlanCampaignForecast {
+ // The resource name of the Keyword Plan campaign related to the forecast.
+ //
+ // `customers/{customer_id}/keywordPlanCampaigns/{keyword+plan_campaign_id}`
+ google.protobuf.StringValue keyword_plan_campaign = 1;
+
+ // The forecast for the Keyword Plan campaign.
+ ForecastMetrics campaign_forecast = 2;
+}
+
+// An ad group forecast.
+message KeywordPlanAdGroupForecast {
+ // The resource name of the Keyword Plan ad group related to the forecast.
+ //
+ // `customers/{customer_id}/keywordPlanAdGroups/{keyword_plan_ad_group_id}`
+ google.protobuf.StringValue keyword_plan_ad_group = 1;
+
+ // The forecast for the Keyword Plan ad group.
+ ForecastMetrics ad_group_forecast = 2;
+}
+
+// A keyword forecast.
+message KeywordPlanKeywordForecast {
+ // The resource name of the Keyword Plan keyword related to the forecast.
+ //
+ //
+ // `customers/{customer_id}/keywordPlanAdGroupKeywords/{keyword_plan_ad_group_keyword_id}`
+ google.protobuf.StringValue keyword_plan_ad_group_keyword = 1;
+
+ // The forecast for the Keyword Plan keyword.
+ ForecastMetrics keyword_forecast = 2;
+}
+
+// Forecast metrics.
+message ForecastMetrics {
+ // Impressions
+ google.protobuf.DoubleValue impressions = 1;
+
+ // Ctr
+ google.protobuf.DoubleValue ctr = 2;
+
+ // AVG cpc
+ google.protobuf.Int64Value average_cpc = 3;
+
+ // Clicks
+ google.protobuf.DoubleValue clicks = 5;
+
+ // Cost
+ google.protobuf.Int64Value cost_micros = 6;
+}
+
+// Request message for [KeywordPlanService.GenerateHistoricalMetrics][google.ads.googleads.v0.services.KeywordPlanService.GenerateHistoricalMetrics].
+message GenerateHistoricalMetricsRequest {
+ // The resource name of the keyword plan of which historical metrics are
+ // requested.
+ string keyword_plan = 1;
+}
+
+// Response message for [KeywordPlanService.GenerateHistoricalMetrics][google.ads.googleads.v0.services.KeywordPlanService.GenerateHistoricalMetrics].
+message GenerateHistoricalMetricsResponse {
+ // List of keyword historical metrics.
+ repeated KeywordPlanKeywordHistoricalMetrics metrics = 1;
+}
+
+// A keyword historical metrics.
+message KeywordPlanKeywordHistoricalMetrics {
+ // The text of the query associated with one or more ad_group_keywords in the
+ // plan.
+ //
+ // Note that we de-dupe your keywords list, eliminating close variants before
+ // returning the plan's keywords as text. For example, if your plan originally
+ // contained the keywords 'car' and 'cars', the returned search query will
+ // only contain 'car'.
+ //
+ google.protobuf.StringValue search_query = 1;
+
+ // The historical metrics for the query associated with one or more
+ // ad_group_keywords in the plan.
+ google.ads.googleads.v0.common.KeywordPlanHistoricalMetrics keyword_metrics = 2;
+}
diff --git a/google/ads/googleads/v0/services/keyword_view_service.proto b/google/ads/googleads/v0/services/keyword_view_service.proto
new file mode 100644
index 000000000..49b7b89c2
--- /dev/null
+++ b/google/ads/googleads/v0/services/keyword_view_service.proto
@@ -0,0 +1,46 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/keyword_view.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "KeywordViewServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Keyword View service.
+
+// Service to manage keyword views.
+service KeywordViewService {
+ // Returns the requested keyword view in full detail.
+ rpc GetKeywordView(GetKeywordViewRequest) returns (google.ads.googleads.v0.resources.KeywordView) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/keywordViews/*}"
+ };
+ }
+}
+
+// Request message for [KeywordViewService.GetKeywordView][google.ads.googleads.v0.services.KeywordViewService.GetKeywordView].
+message GetKeywordViewRequest {
+ // The resource name of the keyword view to fetch.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/language_constant_service.proto b/google/ads/googleads/v0/services/language_constant_service.proto
new file mode 100644
index 000000000..4f4e41092
--- /dev/null
+++ b/google/ads/googleads/v0/services/language_constant_service.proto
@@ -0,0 +1,46 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/language_constant.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "LanguageConstantServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the language constant service.
+
+// Service to fetch language constants.
+service LanguageConstantService {
+ // Returns the requested language constant.
+ rpc GetLanguageConstant(GetLanguageConstantRequest) returns (google.ads.googleads.v0.resources.LanguageConstant) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=languageConstants/*}"
+ };
+ }
+}
+
+// Request message for [LanguageConstantService.GetLanguageConstant][google.ads.googleads.v0.services.LanguageConstantService.GetLanguageConstant].
+message GetLanguageConstantRequest {
+ // Resource name of the language constant to fetch.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/managed_placement_view_service.proto b/google/ads/googleads/v0/services/managed_placement_view_service.proto
new file mode 100644
index 000000000..70d6dec0f
--- /dev/null
+++ b/google/ads/googleads/v0/services/managed_placement_view_service.proto
@@ -0,0 +1,46 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/managed_placement_view.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "ManagedPlacementViewServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Managed Placement View service.
+
+// Service to manage Managed Placement views.
+service ManagedPlacementViewService {
+ // Returns the requested Managed Placement view in full detail.
+ rpc GetManagedPlacementView(GetManagedPlacementViewRequest) returns (google.ads.googleads.v0.resources.ManagedPlacementView) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/managedPlacementViews/*}"
+ };
+ }
+}
+
+// Request message for [ManagedPlacementViewService.GetManagedPlacementView][google.ads.googleads.v0.services.ManagedPlacementViewService.GetManagedPlacementView].
+message GetManagedPlacementViewRequest {
+ // The resource name of the Managed Placement View to fetch.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/media_file_service.proto b/google/ads/googleads/v0/services/media_file_service.proto
new file mode 100644
index 000000000..d54ae1e18
--- /dev/null
+++ b/google/ads/googleads/v0/services/media_file_service.proto
@@ -0,0 +1,84 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/media_file.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "MediaFileServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Media File service.
+
+// Service to manage media files.
+service MediaFileService {
+ // Returns the requested media file in full detail.
+ rpc GetMediaFile(GetMediaFileRequest) returns (google.ads.googleads.v0.resources.MediaFile) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/mediaFiles/*}"
+ };
+ }
+
+ // Creates media files. Operation statuses are returned.
+ rpc MutateMediaFiles(MutateMediaFilesRequest) returns (MutateMediaFilesResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/mediaFiles:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [MediaFileService.GetMediaFile][google.ads.googleads.v0.services.MediaFileService.GetMediaFile]
+message GetMediaFileRequest {
+ // The resource name of the media file to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [MediaFileService.MutateMediaFiles][google.ads.googleads.v0.services.MediaFileService.MutateMediaFiles]
+message MutateMediaFilesRequest {
+ // The ID of the customer whose media files are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual media file.
+ repeated MediaFileOperation operations = 2;
+}
+
+// A single operation to create media file.
+message MediaFileOperation {
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new media file.
+ google.ads.googleads.v0.resources.MediaFile create = 1;
+ }
+}
+
+// Response message for a media file mutate.
+message MutateMediaFilesResponse {
+ // All results for the mutate.
+ repeated MutateMediaFileResult results = 2;
+}
+
+// The result for the media file mutate.
+message MutateMediaFileResult {
+ // The resource name returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/parental_status_view_service.proto b/google/ads/googleads/v0/services/parental_status_view_service.proto
new file mode 100644
index 000000000..d609d7478
--- /dev/null
+++ b/google/ads/googleads/v0/services/parental_status_view_service.proto
@@ -0,0 +1,46 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/parental_status_view.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "ParentalStatusViewServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Parental Status View service.
+
+// Service to manage parental status views.
+service ParentalStatusViewService {
+ // Returns the requested parental status view in full detail.
+ rpc GetParentalStatusView(GetParentalStatusViewRequest) returns (google.ads.googleads.v0.resources.ParentalStatusView) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/parentalStatusViews/*}"
+ };
+ }
+}
+
+// Request message for [ParentalStatusViewService.GetParentalStatusView][google.ads.googleads.v0.services.ParentalStatusViewService.GetParentalStatusView].
+message GetParentalStatusViewRequest {
+ // The resource name of the parental status view to fetch.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/payments_account_service.proto b/google/ads/googleads/v0/services/payments_account_service.proto
new file mode 100644
index 000000000..d76e91168
--- /dev/null
+++ b/google/ads/googleads/v0/services/payments_account_service.proto
@@ -0,0 +1,55 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/payments_account.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "PaymentsAccountServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Payments account service.
+
+// Service to provide Payments accounts that can be used to set up consolidated
+// billing.
+service PaymentsAccountService {
+ // Returns all Payments accounts associated with all managers
+ // between the login customer ID and specified serving customer in the
+ // hierarchy, inclusive.
+ rpc ListPaymentsAccounts(ListPaymentsAccountsRequest) returns (ListPaymentsAccountsResponse) {
+ option (google.api.http) = {
+ get: "/v0/customers/{customer_id=*}/paymentsAccounts"
+ };
+ }
+}
+
+// Request message for fetching all accessible Payments accounts.
+message ListPaymentsAccountsRequest {
+ // The ID of the customer to apply the PaymentsAccount list operation to.
+ string customer_id = 1;
+}
+
+// Response message for [PaymentsAccountService.ListPaymentsAccounts][google.ads.googleads.v0.services.PaymentsAccountService.ListPaymentsAccounts].
+message ListPaymentsAccountsResponse {
+ // The list of accessible Payments accounts.
+ repeated google.ads.googleads.v0.resources.PaymentsAccount payments_accounts = 1;
+}
diff --git a/google/ads/googleads/v0/services/product_group_view_service.proto b/google/ads/googleads/v0/services/product_group_view_service.proto
new file mode 100644
index 000000000..d4923307c
--- /dev/null
+++ b/google/ads/googleads/v0/services/product_group_view_service.proto
@@ -0,0 +1,46 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/product_group_view.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "ProductGroupViewServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the ProductGroup View service.
+
+// Service to manage product group views.
+service ProductGroupViewService {
+ // Returns the requested product group view in full detail.
+ rpc GetProductGroupView(GetProductGroupViewRequest) returns (google.ads.googleads.v0.resources.ProductGroupView) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/productGroupViews/*}"
+ };
+ }
+}
+
+// Request message for [ProductGroupViewService.GetProductGroupView][google.ads.googleads.v0.services.ProductGroupViewService.GetProductGroupView].
+message GetProductGroupViewRequest {
+ // The resource name of the product group view to fetch.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/recommendation_service.proto b/google/ads/googleads/v0/services/recommendation_service.proto
new file mode 100644
index 000000000..ede15fe9b
--- /dev/null
+++ b/google/ads/googleads/v0/services/recommendation_service.proto
@@ -0,0 +1,204 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/enums/keyword_match_type.proto";
+import "google/ads/googleads/v0/resources/ad.proto";
+import "google/ads/googleads/v0/resources/recommendation.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/wrappers.proto";
+import "google/rpc/status.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "RecommendationServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Recommendation service.
+
+// Service to manage recommendations.
+service RecommendationService {
+ // Returns the requested recommendation in full detail.
+ rpc GetRecommendation(GetRecommendationRequest) returns (google.ads.googleads.v0.resources.Recommendation) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/recommendations/*}"
+ };
+ }
+
+ // Applies given recommendations with corresponding apply parameters.
+ rpc ApplyRecommendation(ApplyRecommendationRequest) returns (ApplyRecommendationResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/recommendations:apply"
+ body: "*"
+ };
+ }
+
+ // Dismisses given recommendations.
+ rpc DismissRecommendation(DismissRecommendationRequest) returns (DismissRecommendationResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/recommendations:dismiss"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [RecommendationService.GetRecommendation][google.ads.googleads.v0.services.RecommendationService.GetRecommendation].
+message GetRecommendationRequest {
+ // The resource name of the recommendation to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [RecommendationService.ApplyRecommendation][google.ads.googleads.v0.services.RecommendationService.ApplyRecommendation].
+message ApplyRecommendationRequest {
+ // The ID of the customer with the recommendation.
+ string customer_id = 1;
+
+ // If true, successful operations will be carried out and invalid
+ // operations will return errors. If false, operations will be carried
+ // out as a transaction if and only if they are all valid.
+ // Default is false.
+ bool partial_failure = 3;
+
+ // The list of operations to apply recommendations.
+ // If partial_failure=false all recommendations should be of the same type
+ // There is a limit of 100 operations per request.
+ repeated ApplyRecommendationOperation operations = 2;
+}
+
+// Information about the operation to apply a recommendation and any parameters
+// to
+// customize it.
+message ApplyRecommendationOperation {
+ // Parameters to use when applying a campaign budget recommendation.
+ message CampaignBudgetParameters {
+ // New budget amount to set for target budget resource. This is a required
+ // field.
+ google.protobuf.Int64Value new_budget_amount_micros = 1;
+ }
+
+ // Parameters to use when applying a text ad recommendation.
+ message TextAdParameters {
+ // New ad to add to recommended ad group. All necessary fields need to be
+ // set in this message. This is a required field.
+ google.ads.googleads.v0.resources.Ad ad = 1;
+ }
+
+ // Parameters to use when applying keyword recommendation.
+ message KeywordParameters {
+ // The ad group resource to add keyword to. This is a required field.
+ google.protobuf.StringValue ad_group = 1;
+
+ // The match type of the keyword. This is a required field.
+ google.ads.googleads.v0.enums.KeywordMatchTypeEnum.KeywordMatchType match_type = 2;
+
+ // Optional, CPC bid to set for the keyword. If not set, keyword will use
+ // bid based on bidding strategy used by target ad group.
+ google.protobuf.Int64Value cpc_bid_micros = 3;
+ }
+
+ // Parameters to use when applying Target CPA recommendation.
+ message TargetCpaOptInParameters {
+ // Average CPA to use for Target CPA bidding strategy. This is a required
+ // field.
+ google.protobuf.Int64Value target_cpa_micros = 1;
+
+ // Optional, budget amount to set for the campaign.
+ google.protobuf.Int64Value new_campaign_budget_amount_micros = 2;
+ }
+
+ // The resource name of the recommendation to apply.
+ string resource_name = 1;
+
+ // Parameters to use when applying the recommendation.
+ oneof apply_parameters {
+ // Optional parameters to use when applying a campaign budget
+ // recommendation.
+ CampaignBudgetParameters campaign_budget = 2;
+
+ // Optional parameters to use when applying a text ad recommendation.
+ TextAdParameters text_ad = 3;
+
+ // Optional parameters to use when applying keyword recommendation.
+ KeywordParameters keyword = 4;
+
+ // Optional parameters to use when applying target CPA opt-in
+ // recommendation.
+ TargetCpaOptInParameters target_cpa_opt_in = 5;
+ }
+}
+
+// Response message for [RecommendationService.ApplyRecommendation][google.ads.googleads.v0.services.RecommendationService.ApplyRecommendation].
+message ApplyRecommendationResponse {
+ // Results of operations to apply recommendations.
+ repeated ApplyRecommendationResult results = 1;
+
+ // Errors that pertain to operation failures in the partial failure mode.
+ // Returned only when partial_failure = true and all errors occur inside the
+ // operations. If any errors occur outside the operations (e.g. auth errors)
+ // we return the RPC level error.
+ google.rpc.Status partial_failure_error = 2;
+}
+
+// The result of applying a recommendation.
+message ApplyRecommendationResult {
+ // Returned for successful applies.
+ string resource_name = 1;
+}
+
+// Request message for [RecommendationService.DismissRecommendation][google.ads.googleads.v0.services.RecommendationService.DismissRecommendation].
+message DismissRecommendationRequest {
+ // Operation to dismiss a single recommendation identified by resource_name.
+ message DismissRecommendationOperation {
+ // The resource name of the recommendation to dismiss.
+ string resource_name = 1;
+ }
+
+ // The ID of the customer with the recommendation.
+ string customer_id = 1;
+
+ // If true, successful operations will be carried out and invalid
+ // operations will return errors. If false, operations will be carried in a
+ // single transaction if and only if they are all valid.
+ // Default is false.
+ bool partial_failure = 2;
+
+ // The list of operations to dismiss recommendations.
+ // If partial_failure=false all recommendations should be of the same type
+ // There is a limit of 100 operations per request.
+ repeated DismissRecommendationOperation operations = 3;
+}
+
+// Response message for [RecommendationService.DismissRecommendation][google.ads.googleads.v0.services.RecommendationService.DismissRecommendation].
+message DismissRecommendationResponse {
+ // The result of dismissing a recommendation.
+ message DismissRecommendationResult {
+ // Returned for successful dismissals.
+ string resource_name = 1;
+ }
+
+ // Results of operations to dismiss recommendations.
+ repeated DismissRecommendationResult results = 1;
+
+ // Errors that pertain to operation failures in the partial failure mode.
+ // Returned only when partial_failure = true and all errors occur inside the
+ // operations. If any errors occur outside the operations (e.g. auth errors)
+ // we return the RPC level error.
+ google.rpc.Status partial_failure_error = 2;
+}
diff --git a/google/ads/googleads/v0/services/search_term_view_service.proto b/google/ads/googleads/v0/services/search_term_view_service.proto
new file mode 100644
index 000000000..66cce1403
--- /dev/null
+++ b/google/ads/googleads/v0/services/search_term_view_service.proto
@@ -0,0 +1,46 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/search_term_view.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "SearchTermViewServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+
+
+// Service to manage search term views.
+service SearchTermViewService {
+ // Returns the attributes of the requested search term view.
+ rpc GetSearchTermView(GetSearchTermViewRequest) returns (google.ads.googleads.v0.resources.SearchTermView) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/searchTermViews/*}"
+ };
+ }
+}
+
+// Request message for [SearchTermViewService.GetSearchTermView][google.ads.googleads.v0.services.SearchTermViewService.GetSearchTermView].
+message GetSearchTermViewRequest {
+ // The resource name of the search term view to fetch.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/shared_criterion_service.proto b/google/ads/googleads/v0/services/shared_criterion_service.proto
new file mode 100644
index 000000000..ef32ec990
--- /dev/null
+++ b/google/ads/googleads/v0/services/shared_criterion_service.proto
@@ -0,0 +1,92 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/shared_criterion.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "SharedCriterionServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Shared Criterion service.
+
+// Service to manage shared criteria.
+service SharedCriterionService {
+ // Returns the requested shared criterion in full detail.
+ rpc GetSharedCriterion(GetSharedCriterionRequest) returns (google.ads.googleads.v0.resources.SharedCriterion) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/sharedCriteria/*}"
+ };
+ }
+
+ // Creates or removes shared criteria. Operation statuses are returned.
+ rpc MutateSharedCriteria(MutateSharedCriteriaRequest) returns (MutateSharedCriteriaResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/sharedCriteria:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [SharedCriterionService.GetSharedCriterion][google.ads.googleads.v0.services.SharedCriterionService.GetSharedCriterion].
+message GetSharedCriterionRequest {
+ // The resource name of the shared criterion to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [SharedCriterionService.MutateSharedCriteria][google.ads.googleads.v0.services.SharedCriterionService.MutateSharedCriteria].
+message MutateSharedCriteriaRequest {
+ // The ID of the customer whose shared criteria are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual shared criteria.
+ repeated SharedCriterionOperation operations = 2;
+}
+
+// A single operation (create, remove) on an shared criterion.
+message SharedCriterionOperation {
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new shared
+ // criterion.
+ google.ads.googleads.v0.resources.SharedCriterion create = 1;
+
+ // Remove operation: A resource name for the removed shared criterion is
+ // expected,
+ // in this format:
+ //
+ // `customers/{customer_id}/sharedCriteria/{shared_set_id}_{criterion_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for a shared criterion mutate.
+message MutateSharedCriteriaResponse {
+ // All results for the mutate.
+ repeated MutateSharedCriterionResult results = 2;
+}
+
+// The result for the shared criterion mutate.
+message MutateSharedCriterionResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/shared_set_service.proto b/google/ads/googleads/v0/services/shared_set_service.proto
new file mode 100644
index 000000000..476e21951
--- /dev/null
+++ b/google/ads/googleads/v0/services/shared_set_service.proto
@@ -0,0 +1,98 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/shared_set.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "SharedSetServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Shared Set service.
+
+// Service to manage shared sets.
+service SharedSetService {
+ // Returns the requested shared set in full detail.
+ rpc GetSharedSet(GetSharedSetRequest) returns (google.ads.googleads.v0.resources.SharedSet) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/sharedSets/*}"
+ };
+ }
+
+ // Creates, updates, or removes shared sets. Operation statuses are returned.
+ rpc MutateSharedSets(MutateSharedSetsRequest) returns (MutateSharedSetsResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/sharedSets:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [SharedSetService.GetSharedSet][google.ads.googleads.v0.services.SharedSetService.GetSharedSet].
+message GetSharedSetRequest {
+ // The resource name of the shared set to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [SharedSetService.MutateSharedSets][google.ads.googleads.v0.services.SharedSetService.MutateSharedSets].
+message MutateSharedSetsRequest {
+ // The ID of the customer whose shared sets are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual shared sets.
+ repeated SharedSetOperation operations = 2;
+}
+
+// A single operation (create, update, remove) on an shared set.
+message SharedSetOperation {
+ // FieldMask that determines which resource fields are modified in an update.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new shared set.
+ google.ads.googleads.v0.resources.SharedSet create = 1;
+
+ // Update operation: The shared set is expected to have a valid resource
+ // name.
+ google.ads.googleads.v0.resources.SharedSet update = 2;
+
+ // Remove operation: A resource name for the removed shared set is expected,
+ // in this format:
+ //
+ // `customers/{customer_id}/sharedSets/{shared_set_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for a shared set mutate.
+message MutateSharedSetsResponse {
+ // All results for the mutate.
+ repeated MutateSharedSetResult results = 2;
+}
+
+// The result for the shared set mutate.
+message MutateSharedSetResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/topic_constant_service.proto b/google/ads/googleads/v0/services/topic_constant_service.proto
new file mode 100644
index 000000000..b26256f07
--- /dev/null
+++ b/google/ads/googleads/v0/services/topic_constant_service.proto
@@ -0,0 +1,46 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/topic_constant.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "TopicConstantServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Topic constant service
+
+// Service to fetch topic constants.
+service TopicConstantService {
+ // Returns the requested topic constant in full detail.
+ rpc GetTopicConstant(GetTopicConstantRequest) returns (google.ads.googleads.v0.resources.TopicConstant) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=topicConstants/*}"
+ };
+ }
+}
+
+// Request message for [TopicConstantService.GetTopicConstant][google.ads.googleads.v0.services.TopicConstantService.GetTopicConstant].
+message GetTopicConstantRequest {
+ // Resource name of the Topic to fetch.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/topic_view_service.proto b/google/ads/googleads/v0/services/topic_view_service.proto
new file mode 100644
index 000000000..07c62a693
--- /dev/null
+++ b/google/ads/googleads/v0/services/topic_view_service.proto
@@ -0,0 +1,46 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/topic_view.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "TopicViewServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Topic View service.
+
+// Service to manage topic views.
+service TopicViewService {
+ // Returns the requested topic view in full detail.
+ rpc GetTopicView(GetTopicViewRequest) returns (google.ads.googleads.v0.resources.TopicView) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/topicViews/*}"
+ };
+ }
+}
+
+// Request message for [TopicViewService.GetTopicView][google.ads.googleads.v0.services.TopicViewService.GetTopicView].
+message GetTopicViewRequest {
+ // The resource name of the topic view to fetch.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/user_interest_service.proto b/google/ads/googleads/v0/services/user_interest_service.proto
new file mode 100644
index 000000000..c97eaa985
--- /dev/null
+++ b/google/ads/googleads/v0/services/user_interest_service.proto
@@ -0,0 +1,46 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/user_interest.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "UserInterestServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the user interest service
+
+// Service to fetch Google Ads User Interest.
+service UserInterestService {
+ // Returns the requested user interest in full detail
+ rpc GetUserInterest(GetUserInterestRequest) returns (google.ads.googleads.v0.resources.UserInterest) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/userInterests/*}"
+ };
+ }
+}
+
+// Request message for [UserInterestService.GetUserInterest][google.ads.googleads.v0.services.UserInterestService.GetUserInterest].
+message GetUserInterestRequest {
+ // Resource name of the UserInterest to fetch.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/user_list_service.proto b/google/ads/googleads/v0/services/user_list_service.proto
new file mode 100644
index 000000000..96f07710b
--- /dev/null
+++ b/google/ads/googleads/v0/services/user_list_service.proto
@@ -0,0 +1,98 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/user_list.proto";
+import "google/api/annotations.proto";
+import "google/protobuf/field_mask.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "UserListServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the User List service.
+
+// Service to manage user lists.
+service UserListService {
+ // Returns the requested user list.
+ rpc GetUserList(GetUserListRequest) returns (google.ads.googleads.v0.resources.UserList) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/userLists/*}"
+ };
+ }
+
+ // Creates or updates user lists. Operation statuses are returned.
+ rpc MutateUserLists(MutateUserListsRequest) returns (MutateUserListsResponse) {
+ option (google.api.http) = {
+ post: "/v0/customers/{customer_id=*}/userLists:mutate"
+ body: "*"
+ };
+ }
+}
+
+// Request message for [UserListService.GetUserList][google.ads.googleads.v0.services.UserListService.GetUserList].
+message GetUserListRequest {
+ // The resource name of the user list to fetch.
+ string resource_name = 1;
+}
+
+// Request message for [UserListService.MutateUserLists][google.ads.googleads.v0.services.UserListService.MutateUserLists].
+message MutateUserListsRequest {
+ // The ID of the customer whose user lists are being modified.
+ string customer_id = 1;
+
+ // The list of operations to perform on individual user lists.
+ repeated UserListOperation operations = 2;
+}
+
+// A single operation (create, update) on a user list.
+message UserListOperation {
+ // FieldMask that determines which resource fields are modified in an update.
+ google.protobuf.FieldMask update_mask = 4;
+
+ // The mutate operation.
+ oneof operation {
+ // Create operation: No resource name is expected for the new user list.
+ google.ads.googleads.v0.resources.UserList create = 1;
+
+ // Update operation: The user list is expected to have a valid resource
+ // name.
+ google.ads.googleads.v0.resources.UserList update = 2;
+
+ // Remove operation: A resource name for the removed user list is expected,
+ // in this format:
+ //
+ // `customers/{customer_id}/userLists/{user_list_id}`
+ string remove = 3;
+ }
+}
+
+// Response message for user list mutate.
+message MutateUserListsResponse {
+ // All results for the mutate.
+ repeated MutateUserListResult results = 2;
+}
+
+// The result for the user list mutate.
+message MutateUserListResult {
+ // Returned for successful operations.
+ string resource_name = 1;
+}
diff --git a/google/ads/googleads/v0/services/video_service.proto b/google/ads/googleads/v0/services/video_service.proto
new file mode 100644
index 000000000..a68ceed94
--- /dev/null
+++ b/google/ads/googleads/v0/services/video_service.proto
@@ -0,0 +1,46 @@
+// Copyright 2018 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.v0.services;
+
+import "google/ads/googleads/v0/resources/video.proto";
+import "google/api/annotations.proto";
+
+option csharp_namespace = "Google.Ads.GoogleAds.V0.Services";
+option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v0/services;services";
+option java_multiple_files = true;
+option java_outer_classname = "VideoServiceProto";
+option java_package = "com.google.ads.googleads.v0.services";
+option objc_class_prefix = "GAA";
+option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Services";
+// Proto file describing the Video service.
+
+// Service to manage videos.
+service VideoService {
+ // Returns the requested video in full detail.
+ rpc GetVideo(GetVideoRequest) returns (google.ads.googleads.v0.resources.Video) {
+ option (google.api.http) = {
+ get: "/v0/{resource_name=customers/*/videos/*}"
+ };
+ }
+}
+
+// Request message for [VideoService.GetVideo][google.ads.googleads.v0.services.VideoService.GetVideo].
+message GetVideoRequest {
+ // The resource name of the video to fetch.
+ string resource_name = 1;
+}