From 8e4bf2c330c4b457cc4f57f43b063de4ce2bf663 Mon Sep 17 00:00:00 2001 From: Google APIs Date: Wed, 26 Aug 2020 13:55:58 -0700 Subject: [PATCH] Updated protos and inline comments for Google Ads API v2, v3, and v4. PiperOrigin-RevId: 328601110 --- google/ads/googleads/v2/common/bidding.proto | 1 - google/ads/googleads/v2/common/metrics.proto | 61 +++++++++---- .../ads/googleads/v2/common/user_lists.proto | 2 +- .../ads/googleads/v2/enums/access_role.proto | 4 + .../v2/enums/extension_setting_device.proto | 2 +- .../v2/enums/recommendation_type.proto | 5 +- .../googleads/v2/enums/simulation_type.proto | 6 +- .../ads/googleads/v2/errors/asset_error.proto | 2 +- .../v2/errors/authorization_error.proto | 2 +- .../googleads/v2/errors/bidding_error.proto | 7 +- .../v2/errors/campaign_budget_error.proto | 2 +- .../googleads/v2/errors/criterion_error.proto | 2 +- google/ads/googleads/v2/errors/errors.proto | 2 +- .../v2/errors/extension_feed_item_error.proto | 5 +- .../v2/errors/extension_setting_error.proto | 5 +- .../errors/feed_item_validation_error.proto | 2 +- .../ads/googleads/v2/errors/field_error.proto | 2 +- .../googleads/v2/errors/user_list_error.proto | 4 +- google/ads/googleads/v2/resources/ad.proto | 16 ++-- .../v2/resources/ad_group_ad_asset_view.proto | 8 +- .../v2/resources/ad_group_bid_modifier.proto | 2 + .../v2/resources/ad_group_criterion.proto | 9 ++ .../v2/resources/ad_group_simulation.proto | 11 +-- .../ads/googleads/v2/resources/campaign.proto | 38 ++++---- .../v2/resources/campaign_bid_modifier.proto | 2 + .../v2/resources/customer_client_link.proto | 2 +- .../v2/resources/recommendation.proto | 54 +++++------ .../ad_group_audience_view_service.proto | 2 +- .../googleads/v2/services/ad_service.proto | 3 +- .../campaign_bid_modifier_service.proto | 3 +- ...conversion_adjustment_upload_service.proto | 14 +++ .../services/conversion_upload_service.proto | 12 +++ .../v2/services/customer_service.proto | 4 +- .../geo_target_constant_service.proto | 4 +- .../keyword_plan_ad_group_service.proto | 3 +- .../services/keyword_plan_idea_service.proto | 4 +- .../v2/services/keyword_plan_service.proto | 4 +- ...ct_bidding_category_constant_service.proto | 2 +- .../v2/services/reach_plan_service.proto | 9 +- google/ads/googleads/v3/common/bidding.proto | 1 - google/ads/googleads/v3/common/metrics.proto | 61 +++++++++---- .../v3/common/offline_user_data.proto | 15 ++-- .../ads/googleads/v3/common/user_lists.proto | 2 +- .../ads/googleads/v3/enums/access_role.proto | 4 + .../v3/enums/extension_setting_device.proto | 2 +- .../listing_custom_attribute_index.proto | 60 ------------- .../v3/enums/recommendation_type.proto | 5 +- .../googleads/v3/enums/simulation_type.proto | 6 +- .../googleads/v3/errors/ad_group_error.proto | 3 +- .../ads/googleads/v3/errors/asset_error.proto | 2 +- .../v3/errors/authorization_error.proto | 2 +- .../googleads/v3/errors/bidding_error.proto | 7 +- .../v3/errors/campaign_budget_error.proto | 2 +- .../googleads/v3/errors/criterion_error.proto | 2 +- google/ads/googleads/v3/errors/errors.proto | 2 +- .../v3/errors/extension_feed_item_error.proto | 5 +- .../v3/errors/extension_setting_error.proto | 5 +- .../errors/feed_item_validation_error.proto | 2 +- .../ads/googleads/v3/errors/field_error.proto | 2 +- .../errors/offline_user_data_job_error.proto | 4 +- .../googleads/v3/errors/user_list_error.proto | 4 +- google/ads/googleads/v3/resources/ad.proto | 16 ++-- .../v3/resources/ad_group_ad_asset_view.proto | 8 +- .../v3/resources/ad_group_bid_modifier.proto | 2 + .../v3/resources/ad_group_criterion.proto | 9 ++ .../v3/resources/ad_group_simulation.proto | 11 +-- .../ads/googleads/v3/resources/campaign.proto | 90 +++++++++---------- .../v3/resources/campaign_bid_modifier.proto | 2 + .../v3/resources/customer_client_link.proto | 2 +- .../ads/googleads/v3/resources/invoice.proto | 1 - .../v3/resources/recommendation.proto | 74 +++++++-------- .../ad_group_audience_view_service.proto | 2 +- .../googleads/v3/services/ad_service.proto | 3 +- .../campaign_bid_modifier_service.proto | 3 +- ...conversion_adjustment_upload_service.proto | 14 +++ .../services/conversion_upload_service.proto | 12 +++ .../v3/services/customer_service.proto | 4 +- .../geo_target_constant_service.proto | 4 +- .../keyword_plan_ad_group_service.proto | 3 +- .../services/keyword_plan_idea_service.proto | 4 +- .../v3/services/keyword_plan_service.proto | 4 +- .../offline_user_data_job_service.proto | 12 +-- ...ct_bidding_category_constant_service.proto | 2 +- .../v3/services/reach_plan_service.proto | 9 +- .../v3/services/user_data_service.proto | 2 +- .../v4/common/offline_user_data.proto | 13 +-- .../ads/googleads/v4/common/user_lists.proto | 2 +- .../ads/googleads/v4/enums/access_role.proto | 4 + .../v4/enums/conversion_action_type.proto | 4 +- .../googleads/v4/enums/simulation_type.proto | 6 +- .../googleads/v4/errors/ad_group_error.proto | 3 +- .../ads/googleads/v4/errors/asset_error.proto | 2 +- .../v4/errors/authorization_error.proto | 2 +- .../googleads/v4/errors/bidding_error.proto | 7 +- .../v4/errors/campaign_budget_error.proto | 2 +- .../googleads/v4/errors/criterion_error.proto | 2 +- .../v4/errors/extension_feed_item_error.proto | 5 +- .../v4/errors/extension_setting_error.proto | 5 +- .../errors/feed_item_validation_error.proto | 2 +- .../ads/googleads/v4/errors/field_error.proto | 2 +- .../errors/offline_user_data_job_error.proto | 6 +- .../googleads/v4/errors/user_list_error.proto | 4 +- .../v4/resources/ad_group_bid_modifier.proto | 2 + .../v4/resources/ad_group_criterion.proto | 9 ++ .../ads/googleads/v4/resources/campaign.proto | 62 ++++++------- .../v4/resources/campaign_bid_modifier.proto | 2 + .../v4/resources/customer_client_link.proto | 2 +- .../v4/resources/recommendation.proto | 74 +++++++-------- .../v4/services/account_link_service.proto | 3 + .../ad_group_audience_view_service.proto | 2 +- .../v4/services/batch_job_service.proto | 14 +-- .../campaign_bid_modifier_service.proto | 3 +- ...conversion_adjustment_upload_service.proto | 8 ++ .../v4/services/customer_service.proto | 4 +- .../geo_target_constant_service.proto | 4 +- .../keyword_plan_ad_group_service.proto | 3 +- .../services/keyword_plan_idea_service.proto | 4 +- .../v4/services/keyword_plan_service.proto | 7 +- .../offline_user_data_job_service.proto | 12 +-- ...ct_bidding_category_constant_service.proto | 2 +- .../v4/services/reach_plan_service.proto | 4 +- .../v4/services/user_data_service.proto | 2 +- 122 files changed, 625 insertions(+), 482 deletions(-) delete mode 100644 google/ads/googleads/v3/enums/listing_custom_attribute_index.proto diff --git a/google/ads/googleads/v2/common/bidding.proto b/google/ads/googleads/v2/common/bidding.proto index 20b39bcbd9..84842f2e8e 100644 --- a/google/ads/googleads/v2/common/bidding.proto +++ b/google/ads/googleads/v2/common/bidding.proto @@ -140,7 +140,6 @@ message TargetCpm { // An automated bidding strategy that sets bids so that a certain percentage of // search ads are shown at the top of the first page (or other targeted // location). -// next tag = 4 message TargetImpressionShare { // The targeted location on the search results page. google.ads.googleads.v2.enums.TargetImpressionShareLocationEnum.TargetImpressionShareLocation location = 1; diff --git a/google/ads/googleads/v2/common/metrics.proto b/google/ads/googleads/v2/common/metrics.proto index 4f73f48198..cf68ada1c4 100644 --- a/google/ads/googleads/v2/common/metrics.proto +++ b/google/ads/googleads/v2/common/metrics.proto @@ -69,11 +69,11 @@ message Metrics { // divided by the number of ad interactions. google.protobuf.DoubleValue all_conversions_from_interactions_rate = 65; - // The total value of all conversions. + // The value of all conversions. google.protobuf.DoubleValue all_conversions_value = 66; - // The total number of conversions. This only includes conversion actions - // which include_in_conversions_metric attribute is set to true. + // The total number of conversions. This includes all conversions regardless + // of the value of include_in_conversions_metric. google.protobuf.DoubleValue all_conversions = 7; // The value of all conversions divided by the total cost of ad interactions @@ -208,25 +208,33 @@ message Metrics { // Conversions from interactions divided by the number of ad interactions // (such as clicks for text ads or views for video ads). This only includes // conversion actions which include_in_conversions_metric attribute is set to - // true. + // true. If you use conversion-based bidding, your bid strategies will + // optimize for these conversions. google.protobuf.DoubleValue conversions_from_interactions_rate = 69; - // The total value of conversions. This only includes conversion actions which - // include_in_conversions_metric attribute is set to true. + // The value of conversions. This only includes conversion actions which + // include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. google.protobuf.DoubleValue conversions_value = 70; // The value of conversions divided by the cost of ad interactions. This only // includes conversion actions which include_in_conversions_metric attribute - // is set to true. + // is set to true. If you use conversion-based bidding, your bid strategies + // will optimize for these conversions. google.protobuf.DoubleValue conversions_value_per_cost = 71; // The value of conversions from interactions divided by the number of ad // interactions. This only includes conversion actions which - // include_in_conversions_metric attribute is set to true. + // include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. google.protobuf.DoubleValue conversions_from_interactions_value_per_interaction = 72; // The number of conversions. This only includes conversion actions which - // include_in_conversions_metric attribute is set to true. + // include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. google.protobuf.DoubleValue conversions = 25; // The sum of your cost-per-click (CPC) and cost-per-thousand impressions @@ -238,12 +246,15 @@ message Metrics { // The cost of ad interactions divided by conversions. This only includes // conversion actions which include_in_conversions_metric attribute is set to - // true. + // true. If you use conversion-based bidding, your bid strategies will + // optimize for these conversions. google.protobuf.DoubleValue cost_per_conversion = 28; // The cost of ad interactions divided by current model attributed // conversions. This only includes conversion actions which - // include_in_conversions_metric attribute is set to true. + // include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. google.protobuf.DoubleValue cost_per_current_model_attributed_conversion = 106; // Conversions from when a customer clicks on a Google Ads ad on one device, @@ -257,28 +268,37 @@ message Metrics { // Shows how your historic conversions data would look under the attribution // model you've currently selected. This only includes conversion actions - // which include_in_conversions_metric attribute is set to true. + // which include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. google.protobuf.DoubleValue current_model_attributed_conversions = 101; // Current model attributed conversions from interactions divided by the // number of ad interactions (such as clicks for text ads or views for video // ads). This only includes conversion actions which - // include_in_conversions_metric attribute is set to true. + // include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. google.protobuf.DoubleValue current_model_attributed_conversions_from_interactions_rate = 102; // The value of current model attributed conversions from interactions divided // by the number of ad interactions. This only includes conversion actions - // which include_in_conversions_metric attribute is set to true. + // which include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. google.protobuf.DoubleValue current_model_attributed_conversions_from_interactions_value_per_interaction = 103; - // The total value of current model attributed conversions. This only includes + // The value of current model attributed conversions. This only includes // conversion actions which include_in_conversions_metric attribute is set to - // true. + // true. If you use conversion-based bidding, your bid strategies will + // optimize for these conversions. google.protobuf.DoubleValue current_model_attributed_conversions_value = 104; // The value of current model attributed conversions divided by the cost of ad // interactions. This only includes conversion actions which - // include_in_conversions_metric attribute is set to true. + // include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. google.protobuf.DoubleValue current_model_attributed_conversions_value_per_cost = 105; // How often people engage with your ad after it's shown to them. This is the @@ -497,12 +517,15 @@ message Metrics { // The value of conversions divided by the number of conversions. This only // includes conversion actions which include_in_conversions_metric attribute - // is set to true. + // is set to true. If you use conversion-based bidding, your bid strategies + // will optimize for these conversions. google.protobuf.DoubleValue value_per_conversion = 53; // The value of current model attributed conversions divided by the number of // the conversions. This only includes conversion actions which - // include_in_conversions_metric attribute is set to true. + // include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. google.protobuf.DoubleValue value_per_current_model_attributed_conversion = 94; // Percentage of impressions where the viewer watched all of your video. diff --git a/google/ads/googleads/v2/common/user_lists.proto b/google/ads/googleads/v2/common/user_lists.proto index a99e785939..0c1ae9701f 100644 --- a/google/ads/googleads/v2/common/user_lists.proto +++ b/google/ads/googleads/v2/common/user_lists.proto @@ -66,7 +66,7 @@ message CrmBasedUserListInfo { google.ads.googleads.v2.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. + // Only customers on the allow-list can create third-party sourced CRM lists. google.ads.googleads.v2.enums.UserListCrmDataSourceTypeEnum.UserListCrmDataSourceType data_source_type = 3; } diff --git a/google/ads/googleads/v2/enums/access_role.proto b/google/ads/googleads/v2/enums/access_role.proto index 5e00bf68d7..651a0cfd16 100644 --- a/google/ads/googleads/v2/enums/access_role.proto +++ b/google/ads/googleads/v2/enums/access_role.proto @@ -45,6 +45,10 @@ message AccessRoleEnum { // Can view campaigns and account changes, but cannot make edits. READ_ONLY = 4; + + // Role for \"email only\" access. Represents an email recipient rather than + // a true User entity. + EMAIL_ONLY = 5; } diff --git a/google/ads/googleads/v2/enums/extension_setting_device.proto b/google/ads/googleads/v2/enums/extension_setting_device.proto index c2fdcc6c21..69e32e74ba 100644 --- a/google/ads/googleads/v2/enums/extension_setting_device.proto +++ b/google/ads/googleads/v2/enums/extension_setting_device.proto @@ -31,7 +31,7 @@ option ruby_package = "Google::Ads::GoogleAds::V2::Enums"; // Container for enum describing extension setting device types. message ExtensionSettingDeviceEnum { - // Possbile device types for an extension setting. + // Possible device types for an extension setting. enum ExtensionSettingDevice { // Not specified. UNSPECIFIED = 0; diff --git a/google/ads/googleads/v2/enums/recommendation_type.proto b/google/ads/googleads/v2/enums/recommendation_type.proto index b13cca955d..bed2a13b89 100644 --- a/google/ads/googleads/v2/enums/recommendation_type.proto +++ b/google/ads/googleads/v2/enums/recommendation_type.proto @@ -39,7 +39,10 @@ message RecommendationTypeEnum { // Used for return value only. Represents value unknown in this version. UNKNOWN = 1; - // Budget recommendation for budget constrained campaigns. + // Budget recommendation for campaigns that are currently budget-constrained + // (as opposed to the FORECASTING_CAMPAIGN_BUDGET recommendation, which + // applies to campaigns that are expected to become budget-constrained in + // the future). CAMPAIGN_BUDGET = 2; // Keyword recommendation. diff --git a/google/ads/googleads/v2/enums/simulation_type.proto b/google/ads/googleads/v2/enums/simulation_type.proto index 98dec8b035..6aa4fbd0f1 100644 --- a/google/ads/googleads/v2/enums/simulation_type.proto +++ b/google/ads/googleads/v2/enums/simulation_type.proto @@ -39,13 +39,13 @@ message SimulationTypeEnum { // Used for return value only. Represents value unknown in this version. UNKNOWN = 1; - // The simulation is for a cpc bid. + // The simulation is for a CPC bid. CPC_BID = 2; - // The simulation is for a cpv bid. + // The simulation is for a CPV bid. CPV_BID = 3; - // The simulation is for a cpa target. + // The simulation is for a CPA target. TARGET_CPA = 4; // The simulation is for a bid modifier. diff --git a/google/ads/googleads/v2/errors/asset_error.proto b/google/ads/googleads/v2/errors/asset_error.proto index db43c58c42..7adcb4c1ac 100644 --- a/google/ads/googleads/v2/errors/asset_error.proto +++ b/google/ads/googleads/v2/errors/asset_error.proto @@ -39,7 +39,7 @@ message AssetErrorEnum { // The received error code is not known in this version. UNKNOWN = 1; - // The customer is not whitelisted for this asset type. + // The customer is not on the allow-list for this asset type. CUSTOMER_NOT_WHITELISTED_FOR_ASSET_TYPE = 2; // Assets are duplicated across operations. diff --git a/google/ads/googleads/v2/errors/authorization_error.proto b/google/ads/googleads/v2/errors/authorization_error.proto index e116eb6862..af2bfc419d 100644 --- a/google/ads/googleads/v2/errors/authorization_error.proto +++ b/google/ads/googleads/v2/errors/authorization_error.proto @@ -45,7 +45,7 @@ message AuthorizationErrorEnum { // https://developers.google.com/google-ads/api/docs/concepts/call-structure#cid USER_PERMISSION_DENIED = 2; - // The developer token is not whitelisted. + // The developer token is not on the allow-list. DEVELOPER_TOKEN_NOT_WHITELISTED = 3; // The developer token is not allowed with the project sent in the request. diff --git a/google/ads/googleads/v2/errors/bidding_error.proto b/google/ads/googleads/v2/errors/bidding_error.proto index 7b2ae69911..7fd7161562 100644 --- a/google/ads/googleads/v2/errors/bidding_error.proto +++ b/google/ads/googleads/v2/errors/bidding_error.proto @@ -57,10 +57,11 @@ message BiddingErrorEnum { // Bidding strategy is not available for the account type. BIDDING_STRATEGY_NOT_AVAILABLE_FOR_ACCOUNT_TYPE = 18; - // Conversion tracking is not enabled for the campaign for VBB transition. + // Conversion tracking is not enabled in the campaign that has YouTube + // Video Builder transitions. CONVERSION_TRACKING_NOT_ENABLED = 19; - // Not enough conversions tracked for VBB transitions. + // Not enough conversions tracked for YouTube Video Builder transitions. NOT_ENOUGH_CONVERSIONS = 20; // Campaign can not be created with given bidding strategy. It can be @@ -76,7 +77,7 @@ message BiddingErrorEnum { 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. + // customers on the allow-list can use this. PAY_PER_CONVERSION_NOT_AVAILABLE_FOR_CUSTOMER = 25; // Pay per conversion is not allowed with Target CPA. diff --git a/google/ads/googleads/v2/errors/campaign_budget_error.proto b/google/ads/googleads/v2/errors/campaign_budget_error.proto index c5ce641063..284b38c701 100644 --- a/google/ads/googleads/v2/errors/campaign_budget_error.proto +++ b/google/ads/googleads/v2/errors/campaign_budget_error.proto @@ -49,7 +49,7 @@ message CampaignBudgetErrorEnum { // campaign budget cannot be removed. CAMPAIGN_BUDGET_IN_USE = 3; - // Customer is not whitelisted for this campaign budget period. + // Customer is not on the allow-list for this campaign budget period. CAMPAIGN_BUDGET_PERIOD_NOT_AVAILABLE = 4; // This field is not mutable on implicitly shared campaign budgets diff --git a/google/ads/googleads/v2/errors/criterion_error.proto b/google/ads/googleads/v2/errors/criterion_error.proto index 5cc77705fe..07201fbe4e 100644 --- a/google/ads/googleads/v2/errors/criterion_error.proto +++ b/google/ads/googleads/v2/errors/criterion_error.proto @@ -78,7 +78,7 @@ message CriterionErrorEnum { // Indicates the URL contains multiple comma separated URLs. PLACEMENT_URL_HAS_MULTIPLE_SITES_IN_LINE = 14; - // Indicates the domain is blacklisted. + // Indicates the domain is blocked. PLACEMENT_IS_NOT_AVAILABLE_FOR_TARGETING_OR_EXCLUSION = 15; // Invalid topic path. diff --git a/google/ads/googleads/v2/errors/errors.proto b/google/ads/googleads/v2/errors/errors.proto index 2c70a9812a..c00ae6a74a 100644 --- a/google/ads/googleads/v2/errors/errors.proto +++ b/google/ads/googleads/v2/errors/errors.proto @@ -506,7 +506,7 @@ message ErrorLocation { // 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. + // when the error code is not published in the client specified version. string unpublished_error_code = 1; // Describes an ad policy violation. diff --git a/google/ads/googleads/v2/errors/extension_feed_item_error.proto b/google/ads/googleads/v2/errors/extension_feed_item_error.proto index b9d148048d..10bece5b84 100644 --- a/google/ads/googleads/v2/errors/extension_feed_item_error.proto +++ b/google/ads/googleads/v2/errors/extension_feed_item_error.proto @@ -84,7 +84,8 @@ message ExtensionFeedItemErrorEnum { // Call conversion action provided for a call extension is invalid. INVALID_CALL_CONVERSION_ACTION = 14; - // For a call extension, the customer is not whitelisted for call tracking. + // For a call extension, the customer is not on the allow-list for call + // tracking. CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING = 15; // Call tracking is not supported for the given country for a call @@ -105,7 +106,7 @@ message ExtensionFeedItemErrorEnum { // Hyphen character present in the review text for a review extension. HYPHENS_IN_REVIEW_EXTENSION_SNIPPET = 20; - // A blacklisted review source name or url was provided for a review + // A denylisted review source name or url was provided for a review // extension. REVIEW_EXTENSION_SOURCE_INELIGIBLE = 21; diff --git a/google/ads/googleads/v2/errors/extension_setting_error.proto b/google/ads/googleads/v2/errors/extension_setting_error.proto index c21b6a6367..0672f9a371 100644 --- a/google/ads/googleads/v2/errors/extension_setting_error.proto +++ b/google/ads/googleads/v2/errors/extension_setting_error.proto @@ -128,7 +128,8 @@ message ExtensionSettingErrorEnum { // Call conversion type id provided for a call extension is invalid. INVALID_CALL_CONVERSION_TYPE_ID = 28; - // For a call extension, the customer is not whitelisted for call tracking. + // For a call extension, the customer is not on the allow-list for call + // tracking. CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING = 29; // Call tracking is not supported for the given country for a call @@ -144,7 +145,7 @@ message ExtensionSettingErrorEnum { // Hyphen character present in the review text for a review extension. HYPHENS_IN_REVIEW_EXTENSION_SNIPPET = 33; - // A blacklisted review source name or url was provided for a review + // A blocked review source name or url was provided for a review // extension. REVIEW_EXTENSION_SOURCE_NOT_ELIGIBLE = 34; diff --git a/google/ads/googleads/v2/errors/feed_item_validation_error.proto b/google/ads/googleads/v2/errors/feed_item_validation_error.proto index 0864c6025c..c21d5439b0 100644 --- a/google/ads/googleads/v2/errors/feed_item_validation_error.proto +++ b/google/ads/googleads/v2/errors/feed_item_validation_error.proto @@ -69,7 +69,7 @@ message FeedItemValidationErrorEnum { // Call tracking is not supported in the selected country. CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 11; - // Customer is not whitelisted for call tracking. + // Customer is not on the allow-list for call tracking. CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING = 12; // Country code is invalid. diff --git a/google/ads/googleads/v2/errors/field_error.proto b/google/ads/googleads/v2/errors/field_error.proto index 860535da3b..31ba376f85 100644 --- a/google/ads/googleads/v2/errors/field_error.proto +++ b/google/ads/googleads/v2/errors/field_error.proto @@ -57,7 +57,7 @@ message FieldErrorEnum { // The field cannot be cleared. FIELD_CANNOT_BE_CLEARED = 7; - // The field's value is on a blacklist for this field. + // The field's value is on a deny-list for this field. BLACKLISTED_VALUE = 8; } diff --git a/google/ads/googleads/v2/errors/user_list_error.proto b/google/ads/googleads/v2/errors/user_list_error.proto index 6c01b42e40..e0f0fb2351 100644 --- a/google/ads/googleads/v2/errors/user_list_error.proto +++ b/google/ads/googleads/v2/errors/user_list_error.proto @@ -110,8 +110,8 @@ message UserListErrorEnum { // 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 needs to be on the allow-list to use remarketing lists created + // from advertiser uploaded data (e.g., Customer Match lists). ADVERTISER_NOT_WHITELISTED_FOR_USING_UPLOADED_DATA = 33; // The provided rule_type is not supported for the user list. diff --git a/google/ads/googleads/v2/resources/ad.proto b/google/ads/googleads/v2/resources/ad.proto index 179411019a..d9bd7e378e 100644 --- a/google/ads/googleads/v2/resources/ad.proto +++ b/google/ads/googleads/v2/resources/ad.proto @@ -117,8 +117,8 @@ message Ad { // Details pertinent to the ad type. Exactly one value must be set. oneof ad_data { - // Details pertaining to a text ad. - google.ads.googleads.v2.common.TextAdInfo text_ad = 6; + // Immutable. Details pertaining to a text ad. + google.ads.googleads.v2.common.TextAdInfo text_ad = 6 [(google.api.field_behavior) = IMMUTABLE]; // Details pertaining to an expanded text ad. google.ads.googleads.v2.common.ExpandedTextAdInfo expanded_text_ad = 7; @@ -126,12 +126,12 @@ message Ad { // Details pertaining to a call-only ad. google.ads.googleads.v2.common.CallOnlyAdInfo call_only_ad = 13; - // Details pertaining to an Expanded Dynamic Search Ad. + // Immutable. 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.v2.common.ExpandedDynamicSearchAdInfo expanded_dynamic_search_ad = 14; + google.ads.googleads.v2.common.ExpandedDynamicSearchAdInfo expanded_dynamic_search_ad = 14 [(google.api.field_behavior) = IMMUTABLE]; // Details pertaining to a hotel ad. google.ads.googleads.v2.common.HotelAdInfo hotel_ad = 15; @@ -142,11 +142,11 @@ message Ad { // Details pertaining to a Shopping product ad. google.ads.googleads.v2.common.ShoppingProductAdInfo shopping_product_ad = 18; - // Details pertaining to a Gmail ad. - google.ads.googleads.v2.common.GmailAdInfo gmail_ad = 21; + // Immutable. Details pertaining to a Gmail ad. + google.ads.googleads.v2.common.GmailAdInfo gmail_ad = 21 [(google.api.field_behavior) = IMMUTABLE]; - // Details pertaining to an Image ad. - google.ads.googleads.v2.common.ImageAdInfo image_ad = 22; + // Immutable. Details pertaining to an Image ad. + google.ads.googleads.v2.common.ImageAdInfo image_ad = 22 [(google.api.field_behavior) = IMMUTABLE]; // Details pertaining to a Video ad. google.ads.googleads.v2.common.VideoAdInfo video_ad = 24; diff --git a/google/ads/googleads/v2/resources/ad_group_ad_asset_view.proto b/google/ads/googleads/v2/resources/ad_group_ad_asset_view.proto index f6fc28fd09..fef63da934 100644 --- a/google/ads/googleads/v2/resources/ad_group_ad_asset_view.proto +++ b/google/ads/googleads/v2/resources/ad_group_ad_asset_view.proto @@ -45,9 +45,13 @@ message AdGroupAdAssetView { }; // Output only. The resource name of the ad group ad asset view. - // Ad group ad asset view resource names have the form: + // Ad group ad asset view resource names have the form (Before V4): // - // `customers/{customer_id}/adGroupAdAssets/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.asset_field_type}` + // `customers/{customer_id}/adGroupAdAssets/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}` + // + // Ad group ad asset view resource names have the form (Beginning from V4): + // + // `customers/{customer_id}/adGroupAdAssetViews/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}` string resource_name = 1 [ (google.api.field_behavior) = OUTPUT_ONLY, (google.api.resource_reference) = { diff --git a/google/ads/googleads/v2/resources/ad_group_bid_modifier.proto b/google/ads/googleads/v2/resources/ad_group_bid_modifier.proto index b547e8c4ac..bb4a6a9651 100644 --- a/google/ads/googleads/v2/resources/ad_group_bid_modifier.proto +++ b/google/ads/googleads/v2/resources/ad_group_bid_modifier.proto @@ -86,6 +86,8 @@ message AdGroupBidModifier { google.ads.googleads.v2.enums.BidModifierSourceEnum.BidModifierSource bid_modifier_source = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; // The criterion of this ad group bid modifier. + // + // Required in create operations starting in V5. oneof criterion { // Immutable. Criterion for hotel date selection (default dates vs. user selected). google.ads.googleads.v2.common.HotelDateSelectionTypeInfo hotel_date_selection_type = 5 [(google.api.field_behavior) = IMMUTABLE]; diff --git a/google/ads/googleads/v2/resources/ad_group_criterion.proto b/google/ads/googleads/v2/resources/ad_group_criterion.proto index c9bb366019..bc81d33932 100644 --- a/google/ads/googleads/v2/resources/ad_group_criterion.proto +++ b/google/ads/googleads/v2/resources/ad_group_criterion.proto @@ -105,6 +105,15 @@ message AdGroupCriterion { google.protobuf.Int64Value criterion_id = 26 [(google.api.field_behavior) = OUTPUT_ONLY]; // The status of the criterion. + // + // This is the status of the ad group criterion entity, set by the client. + // Note: UI reports may incorporate additional information that affects + // whether a criterion is eligible to run. In some cases a criterion that's + // REMOVED in the API can still show as enabled in the UI. + // For example, campaigns by default show to users of all age ranges unless + // excluded. The UI will show each age range as "enabled", since they're + // eligible to see the ads; but AdGroupCriterion.status will show "removed", + // since no positive criterion was added. google.ads.googleads.v2.enums.AdGroupCriterionStatusEnum.AdGroupCriterionStatus status = 3; // Output only. Information regarding the quality of the criterion. diff --git a/google/ads/googleads/v2/resources/ad_group_simulation.proto b/google/ads/googleads/v2/resources/ad_group_simulation.proto index c4cee7b165..1c13e787cb 100644 --- a/google/ads/googleads/v2/resources/ad_group_simulation.proto +++ b/google/ads/googleads/v2/resources/ad_group_simulation.proto @@ -42,11 +42,12 @@ option ruby_package = "Google::Ads::GoogleAds::V2::Resources"; // 1. SEARCH - CPC_BID - DEFAULT // 2. SEARCH - CPC_BID - UNIFORM // 3. SEARCH - TARGET_CPA - UNIFORM -// 4. DISPLAY - CPC_BID - DEFAULT -// 5. DISPLAY - CPC_BID - UNIFORM -// 6. DISPLAY - TARGET_CPA - UNIFORM -// 7. VIDEO - CPV_BID - DEFAULT -// 8. VIDEO - CPV_BID - UNIFORM +// 4. SEARCH - TARGET_ROAS - UNIFORM +// 5. DISPLAY - CPC_BID - DEFAULT +// 6. DISPLAY - CPC_BID - UNIFORM +// 7. DISPLAY - TARGET_CPA - UNIFORM +// 8. VIDEO - CPV_BID - DEFAULT +// 9. VIDEO - CPV_BID - UNIFORM message AdGroupSimulation { option (google.api.resource) = { type: "googleads.googleapis.com/AdGroupSimulation" diff --git a/google/ads/googleads/v2/resources/campaign.proto b/google/ads/googleads/v2/resources/campaign.proto index 1f80390d5c..b4bfc22b20 100644 --- a/google/ads/googleads/v2/resources/campaign.proto +++ b/google/ads/googleads/v2/resources/campaign.proto @@ -83,6 +83,25 @@ message Campaign { google.protobuf.Int64Value hotel_center_id = 1 [(google.api.field_behavior) = IMMUTABLE]; } + // Describes how unbranded pharma ads will be displayed. + message VanityPharma { + // The display mode for vanity pharma URLs. + google.ads.googleads.v2.enums.VanityPharmaDisplayUrlModeEnum.VanityPharmaDisplayUrlMode vanity_pharma_display_url_mode = 1; + + // The text that will be displayed in display URL of the text ad when + // website description is the selected display mode for vanity pharma URLs. + google.ads.googleads.v2.enums.VanityPharmaTextEnum.VanityPharmaText vanity_pharma_text = 2; + } + + // Selective optimization setting for this campaign, which includes a set of + // conversion actions to optimize this campaign towards. + message SelectiveOptimization { + // The selected set of conversion actions for optimizing this campaign. + repeated google.protobuf.StringValue conversion_actions = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + }]; + } + // The setting for controlling Dynamic Search Ads (DSA). message DynamicSearchAdsSetting { // The Internet domain name that this setting represents, e.g., "google.com" @@ -104,15 +123,6 @@ message Campaign { ]; } - // Selective optimization setting for this campaign, which includes a set of - // conversion actions to optimize this campaign towards. - message SelectiveOptimization { - // The selected set of conversion actions for optimizing this campaign. - repeated google.protobuf.StringValue conversion_actions = 1 [(google.api.resource_reference) = { - type: "googleads.googleapis.com/ConversionAction" - }]; - } - // 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. @@ -168,16 +178,6 @@ message Campaign { google.ads.googleads.v2.enums.AppCampaignAppStoreEnum.AppCampaignAppStore app_store = 3 [(google.api.field_behavior) = IMMUTABLE]; } - // Describes how unbranded pharma ads will be displayed. - message VanityPharma { - // The display mode for vanity pharma URLs. - google.ads.googleads.v2.enums.VanityPharmaDisplayUrlModeEnum.VanityPharmaDisplayUrlMode vanity_pharma_display_url_mode = 1; - - // The text that will be displayed in display URL of the text ad when - // website description is the selected display mode for vanity pharma URLs. - google.ads.googleads.v2.enums.VanityPharmaTextEnum.VanityPharmaText vanity_pharma_text = 2; - } - // Immutable. The resource name of the campaign. // Campaign resource names have the form: // diff --git a/google/ads/googleads/v2/resources/campaign_bid_modifier.proto b/google/ads/googleads/v2/resources/campaign_bid_modifier.proto index f0065c2a99..b60acc613b 100644 --- a/google/ads/googleads/v2/resources/campaign_bid_modifier.proto +++ b/google/ads/googleads/v2/resources/campaign_bid_modifier.proto @@ -68,6 +68,8 @@ message CampaignBidModifier { google.protobuf.DoubleValue bid_modifier = 4; // The criterion of this campaign bid modifier. + // + // Required in create operations starting in V5. oneof criterion { // Immutable. Criterion for interaction type. Only supported for search campaigns. google.ads.googleads.v2.common.InteractionTypeInfo interaction_type = 5 [(google.api.field_behavior) = IMMUTABLE]; diff --git a/google/ads/googleads/v2/resources/customer_client_link.proto b/google/ads/googleads/v2/resources/customer_client_link.proto index 8a4fdeb2f1..353ec225df 100644 --- a/google/ads/googleads/v2/resources/customer_client_link.proto +++ b/google/ads/googleads/v2/resources/customer_client_link.proto @@ -60,7 +60,7 @@ message CustomerClientLink { google.ads.googleads.v2.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5; // The visibility of the link. Users can choose whether or not to see hidden - // links in the AdWords UI. + // links in the Google Ads UI. // Default value is false google.protobuf.BoolValue hidden = 6; } diff --git a/google/ads/googleads/v2/resources/recommendation.proto b/google/ads/googleads/v2/resources/recommendation.proto index 95d6d364d1..0d3fd3c693 100644 --- a/google/ads/googleads/v2/resources/recommendation.proto +++ b/google/ads/googleads/v2/resources/recommendation.proto @@ -106,13 +106,13 @@ message Recommendation { google.protobuf.Int64Value recommended_cpc_bid_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } - // The keyword match type recommendation. - message KeywordMatchTypeRecommendation { - // Output only. The existing keyword where the match type should be more broad. - google.ads.googleads.v2.common.KeywordInfo keyword = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + // The move unused budget recommendation. + message MoveUnusedBudgetRecommendation { + // Output only. The excess budget's resource_name. + google.protobuf.StringValue excess_campaign_budget = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Output only. The recommended new match type. - google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType recommended_match_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + // Output only. The recommendation for the constrained budget to increase. + CampaignBudgetRecommendation budget_recommendation = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The text ad recommendation. @@ -164,21 +164,6 @@ message Recommendation { google.protobuf.Int64Value recommended_budget_amount_micros = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } - // The Call extension recommendation. - message CallExtensionRecommendation { - // Output only. Call extensions recommended to be added. - repeated google.ads.googleads.v2.common.CallFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - } - - // The move unused budget recommendation. - message MoveUnusedBudgetRecommendation { - // Output only. The excess budget's resource_name. - google.protobuf.StringValue excess_campaign_budget = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The recommendation for the constrained budget to increase. - CampaignBudgetRecommendation budget_recommendation = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - } - // The Enhanced Cost-Per-Click Opt-In recommendation. message EnhancedCpcOptInRecommendation { @@ -196,10 +181,13 @@ message Recommendation { google.protobuf.Int64Value recommended_budget_amount_micros = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } - // The Sitelink extension recommendation. - message SitelinkExtensionRecommendation { - // Output only. Sitelink extensions recommended to be added. - repeated google.ads.googleads.v2.common.SitelinkFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + // The keyword match type recommendation. + message KeywordMatchTypeRecommendation { + // Output only. The existing keyword where the match type should be more broad. + google.ads.googleads.v2.common.KeywordInfo keyword = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The recommended new match type. + google.ads.googleads.v2.enums.KeywordMatchTypeEnum.KeywordMatchType recommended_match_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The Optimize Ad Rotation recommendation. @@ -213,6 +201,18 @@ message Recommendation { repeated google.ads.googleads.v2.common.CalloutFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } + // The Sitelink extension recommendation. + message SitelinkExtensionRecommendation { + // Output only. Sitelink extensions recommended to be added. + repeated google.ads.googleads.v2.common.SitelinkFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The Call extension recommendation. + message CallExtensionRecommendation { + // Output only. Call extensions recommended to be added. + repeated google.ads.googleads.v2.common.CallFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + // Immutable. The resource name of the recommendation. // // `customers/{customer_id}/recommendations/{recommendation_id}` @@ -234,7 +234,7 @@ message Recommendation { // the recommendation affects a single campaign budget. // // This field will be set for the following recommendation types: - // CAMPAIGN_BUDGET, MOVE_UNUSED_BUDGET + // CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET, MOVE_UNUSED_BUDGET google.protobuf.StringValue campaign_budget = 5 [ (google.api.field_behavior) = OUTPUT_ONLY, (google.api.resource_reference) = { @@ -249,7 +249,7 @@ message Recommendation { // CALL_EXTENSION, CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN, KEYWORD, // KEYWORD_MATCH_TYPE, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, // OPTIMIZE_AD_ROTATION, SEARCH_PARTNERS_OPT_IN, SITELINK_EXTENSION, - // TARGET_CPA_OPT_IN, TEXT_AD + // TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN, TEXT_AD google.protobuf.StringValue campaign = 6 [ (google.api.field_behavior) = OUTPUT_ONLY, (google.api.resource_reference) = { diff --git a/google/ads/googleads/v2/services/ad_group_audience_view_service.proto b/google/ads/googleads/v2/services/ad_group_audience_view_service.proto index 6cfe6a63ac..4182ae5f99 100644 --- a/google/ads/googleads/v2/services/ad_group_audience_view_service.proto +++ b/google/ads/googleads/v2/services/ad_group_audience_view_service.proto @@ -46,7 +46,7 @@ service AdGroupAudienceViewService { } } -// Request message for [AdGroupAudienceViewService.GetAdGoupAudienceView][]. +// Request message for [AdGroupAudienceViewService.GetAdGroupAudienceView][google.ads.googleads.v2.services.AdGroupAudienceViewService.GetAdGroupAudienceView]. message GetAdGroupAudienceViewRequest { // Required. The resource name of the ad group audience view to fetch. string resource_name = 1 [ diff --git a/google/ads/googleads/v2/services/ad_service.proto b/google/ads/googleads/v2/services/ad_service.proto index d5bb1d2a40..cc6d597122 100644 --- a/google/ads/googleads/v2/services/ad_service.proto +++ b/google/ads/googleads/v2/services/ad_service.proto @@ -46,7 +46,8 @@ service AdService { option (google.api.method_signature) = "resource_name"; } - // Updates ads. Operation statuses are returned. + // Updates ads. Operation statuses are returned. Updating ads is not supported + // for TextAd, ExpandedDynamicSearchAd, GmailAd and ImageAd. rpc MutateAds(MutateAdsRequest) returns (MutateAdsResponse) { option (google.api.http) = { post: "/v2/customers/{customer_id=*}/ads:mutate" diff --git a/google/ads/googleads/v2/services/campaign_bid_modifier_service.proto b/google/ads/googleads/v2/services/campaign_bid_modifier_service.proto index f8fc61b0ed..cd358ee3cc 100644 --- a/google/ads/googleads/v2/services/campaign_bid_modifier_service.proto +++ b/google/ads/googleads/v2/services/campaign_bid_modifier_service.proto @@ -69,7 +69,8 @@ message GetCampaignBidModifierRequest { ]; } -// Request message for [CampaignBidModifierService.MutateCampaignBidModifier][]. +// Request message for +// [CampaignBidModifierService.MutateCampaignBidModifiers][google.ads.googleads.v2.services.CampaignBidModifierService.MutateCampaignBidModifiers]. message MutateCampaignBidModifiersRequest { // Required. ID of the customer whose campaign bid modifiers are being modified. string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; diff --git a/google/ads/googleads/v2/services/conversion_adjustment_upload_service.proto b/google/ads/googleads/v2/services/conversion_adjustment_upload_service.proto index 58ae0e2b63..6662741f52 100644 --- a/google/ads/googleads/v2/services/conversion_adjustment_upload_service.proto +++ b/google/ads/googleads/v2/services/conversion_adjustment_upload_service.proto @@ -59,6 +59,9 @@ message UploadConversionAdjustmentsRequest { // operations will return errors. If false, all operations will be carried out // in one transaction if and only if they are all valid. This should always be // set to true. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. bool partial_failure = 3 [(google.api.field_behavior) = REQUIRED]; // If true, the request is validated but not executed. Only errors are @@ -73,6 +76,9 @@ message UploadConversionAdjustmentsResponse { // failure mode. Returned when all errors occur inside the adjustments. If any // errors occur outside the adjustments (e.g. auth errors), we return an RPC // level error. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. google.rpc.Status partial_failure_error = 1; // Returned for successfully processed conversion adjustments. Proto will be @@ -100,6 +106,10 @@ message ConversionAdjustment { // Information needed to restate the conversion's value. // Required for restatements. Should not be supplied for retractions. An error // will be returned if provided for a retraction. + // NOTE: If you want to upload a second restatement with a different adjusted + // value, it must have a new, more recent, adjustment occurrence time. + // Otherwise, it will be treated as a duplicate of the previous restatement + // and ignored. RestatementValue restatement_value = 6; // Identifies the conversion to be adjusted. @@ -120,6 +130,10 @@ message RestatementValue { // The restated conversion value. This is the value of the conversion after // restatement. For example, to change the value of a conversion from 100 to // 70, an adjusted value of 70 should be reported. + // NOTE: If you want to upload a second restatement with a different adjusted + // value, it must have a new, more recent, adjustment occurrence time. + // Otherwise, it will be treated as a duplicate of the previous restatement + // and ignored. google.protobuf.DoubleValue adjusted_value = 1; // The currency of the restated value. If not provided, then the default diff --git a/google/ads/googleads/v2/services/conversion_upload_service.proto b/google/ads/googleads/v2/services/conversion_upload_service.proto index ec7de2da4f..7f220e46bc 100644 --- a/google/ads/googleads/v2/services/conversion_upload_service.proto +++ b/google/ads/googleads/v2/services/conversion_upload_service.proto @@ -66,6 +66,9 @@ message UploadClickConversionsRequest { // operations will return errors. If false, all operations will be carried // out in one transaction if and only if they are all valid. // This should always be set to true. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. bool partial_failure = 3 [(google.api.field_behavior) = REQUIRED]; // If true, the request is validated but not executed. Only errors are @@ -78,6 +81,9 @@ message UploadClickConversionsResponse { // Errors that pertain to conversion failures in the partial failure mode. // Returned when all errors occur inside the conversions. If any errors occur // outside the conversions (e.g. auth errors), we return an RPC level error. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. google.rpc.Status partial_failure_error = 1; // Returned for successfully processed conversions. Proto will be empty for @@ -98,6 +104,9 @@ message UploadCallConversionsRequest { // operations will return errors. If false, all operations will be carried // out in one transaction if and only if they are all valid. // This should always be set to true. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. bool partial_failure = 3 [(google.api.field_behavior) = REQUIRED]; // If true, the request is validated but not executed. Only errors are @@ -110,6 +119,9 @@ message UploadCallConversionsResponse { // Errors that pertain to conversion failures in the partial failure mode. // Returned when all errors occur inside the conversions. If any errors occur // outside the conversions (e.g. auth errors), we return an RPC level error. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. google.rpc.Status partial_failure_error = 1; // Returned for successfully processed conversions. Proto will be empty for diff --git a/google/ads/googleads/v2/services/customer_service.proto b/google/ads/googleads/v2/services/customer_service.proto index 260999b61e..e612532686 100644 --- a/google/ads/googleads/v2/services/customer_service.proto +++ b/google/ads/googleads/v2/services/customer_service.proto @@ -109,11 +109,11 @@ message CreateCustomerClientRequest { google.ads.googleads.v2.resources.Customer customer_client = 2 [(google.api.field_behavior) = REQUIRED]; // Email address of the user who should be invited on the created client - // customer. Accessible to whitelisted customers only. + // customer. Accessible only to customers on the allow-list. google.protobuf.StringValue email_address = 3; // The proposed role of user on the created client customer. - // Accessible to whitelisted customers only. + // Accessible only to customers on the allow-list. google.ads.googleads.v2.enums.AccessRoleEnum.AccessRole access_role = 4; } diff --git a/google/ads/googleads/v2/services/geo_target_constant_service.proto b/google/ads/googleads/v2/services/geo_target_constant_service.proto index c129f69b2c..de850cdb01 100644 --- a/google/ads/googleads/v2/services/geo_target_constant_service.proto +++ b/google/ads/googleads/v2/services/geo_target_constant_service.proto @@ -67,7 +67,7 @@ message GetGeoTargetConstantRequest { } // Request message for -// [GeoTargetConstantService.SuggestGeoTargetConstantsRequest][]. +// [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v2.services.GeoTargetConstantService.SuggestGeoTargetConstants]. message SuggestGeoTargetConstantsRequest { // A list of location names. message LocationNames { @@ -99,7 +99,7 @@ message SuggestGeoTargetConstantsRequest { } } -// Response message for [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v2.services.GeoTargetConstantService.SuggestGeoTargetConstants] +// Response message for [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v2.services.GeoTargetConstantService.SuggestGeoTargetConstants]. message SuggestGeoTargetConstantsResponse { // Geo target constant suggestions. repeated GeoTargetConstantSuggestion geo_target_constant_suggestions = 1; diff --git a/google/ads/googleads/v2/services/keyword_plan_ad_group_service.proto b/google/ads/googleads/v2/services/keyword_plan_ad_group_service.proto index 776c3acbb5..ba1406c4ab 100644 --- a/google/ads/googleads/v2/services/keyword_plan_ad_group_service.proto +++ b/google/ads/googleads/v2/services/keyword_plan_ad_group_service.proto @@ -120,7 +120,8 @@ message MutateKeywordPlanAdGroupsResponse { // we return an RPC level error. google.rpc.Status partial_failure_error = 3; - // All results for the mutate. + // All results for the mutate. The order of the results is determined by the + // order of the keywords in the original request. repeated MutateKeywordPlanAdGroupResult results = 2; } diff --git a/google/ads/googleads/v2/services/keyword_plan_idea_service.proto b/google/ads/googleads/v2/services/keyword_plan_idea_service.proto index 4aeacd66a9..8fee9e7a5d 100644 --- a/google/ads/googleads/v2/services/keyword_plan_idea_service.proto +++ b/google/ads/googleads/v2/services/keyword_plan_idea_service.proto @@ -47,7 +47,7 @@ service KeywordPlanIdeaService { } } -// Request message for [KeywordIdeaService.GenerateKeywordIdeas][]. +// Request message for [KeywordPlanIdeaService.GenerateKeywordIdeas][google.ads.googleads.v2.services.KeywordPlanIdeaService.GenerateKeywordIdeas]. message GenerateKeywordIdeasRequest { // The ID of the customer with the recommendation. string customer_id = 1; @@ -98,7 +98,7 @@ message UrlSeed { google.protobuf.StringValue url = 1; } -// Response message for [KeywordIdeaService.GenerateKeywordIdeas][]. +// Response message for [KeywordPlanIdeaService.GenerateKeywordIdeas][google.ads.googleads.v2.services.KeywordPlanIdeaService.GenerateKeywordIdeas]. message GenerateKeywordIdeaResponse { // Results of generating keyword ideas. repeated GenerateKeywordIdeaResult results = 1; diff --git a/google/ads/googleads/v2/services/keyword_plan_service.proto b/google/ads/googleads/v2/services/keyword_plan_service.proto index 212dd5ec35..1f2f76570d 100644 --- a/google/ads/googleads/v2/services/keyword_plan_service.proto +++ b/google/ads/googleads/v2/services/keyword_plan_service.proto @@ -240,7 +240,9 @@ message KeywordPlanKeywordHistoricalMetrics { // 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'. + // only contain 'cars'. + // Starting V5, the list of de-duped queries will be included in + // close_variants field. google.protobuf.StringValue search_query = 1; // The historical metrics for the query associated with one or more diff --git a/google/ads/googleads/v2/services/product_bidding_category_constant_service.proto b/google/ads/googleads/v2/services/product_bidding_category_constant_service.proto index b65b849eab..2e90d945e5 100644 --- a/google/ads/googleads/v2/services/product_bidding_category_constant_service.proto +++ b/google/ads/googleads/v2/services/product_bidding_category_constant_service.proto @@ -47,7 +47,7 @@ service ProductBiddingCategoryConstantService { } // Request message for -// [ProductBiddingCategoryService.GetProductBiddingCategory][]. +// [ProductBiddingCategoryConstantService.GetProductBiddingCategoryConstant][google.ads.googleads.v2.services.ProductBiddingCategoryConstantService.GetProductBiddingCategoryConstant]. message GetProductBiddingCategoryConstantRequest { // Required. Resource name of the Product Bidding Category to fetch. string resource_name = 1 [ diff --git a/google/ads/googleads/v2/services/reach_plan_service.proto b/google/ads/googleads/v2/services/reach_plan_service.proto index 59f52e7ecb..ccad4e46b1 100644 --- a/google/ads/googleads/v2/services/reach_plan_service.proto +++ b/google/ads/googleads/v2/services/reach_plan_service.proto @@ -82,7 +82,7 @@ service ReachPlanService { } } -// Request message for [ReachForecastService.ListPlannableLocations][] +// Request message for [ReachPlanService.ListPlannableLocations][google.ads.googleads.v2.services.ReachPlanService.ListPlannableLocations]. message ListPlannableLocationsRequest { } @@ -150,7 +150,7 @@ message PlannableTargeting { repeated google.ads.googleads.v2.common.DeviceInfo devices = 3; } -// Request message for [ReachForecastService.GenerateProductMixIdeas][]. +// Request message for [ReachPlanService.GenerateProductMixIdeas][google.ads.googleads.v2.services.ReachPlanService.GenerateProductMixIdeas]. message GenerateProductMixIdeasRequest { // Required. The ID of the customer. string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; @@ -231,7 +231,10 @@ message GenerateReachForecastRequest { // This is equivalent to the frequency cap exposed in Google Ads when creating // a campaign, it represents the maximum number of times an ad can be shown to // the same user. - // If not specified, no cap is applied. + // If not specified no cap is applied. + // + // This field is deprecated in v4 and will eventually be removed. + // Please use cookie_frequency_cap_setting instead. google.protobuf.Int32Value cookie_frequency_cap = 4; // Desired minimum effective frequency (the number of times a person was diff --git a/google/ads/googleads/v3/common/bidding.proto b/google/ads/googleads/v3/common/bidding.proto index cded37b4f5..4b36cc752c 100644 --- a/google/ads/googleads/v3/common/bidding.proto +++ b/google/ads/googleads/v3/common/bidding.proto @@ -107,7 +107,6 @@ message TargetCpm { // An automated bidding strategy that sets bids so that a certain percentage of // search ads are shown at the top of the first page (or other targeted // location). -// next tag = 4 message TargetImpressionShare { // The targeted location on the search results page. google.ads.googleads.v3.enums.TargetImpressionShareLocationEnum.TargetImpressionShareLocation location = 1; diff --git a/google/ads/googleads/v3/common/metrics.proto b/google/ads/googleads/v3/common/metrics.proto index 248f6cdd45..66ac6bf490 100644 --- a/google/ads/googleads/v3/common/metrics.proto +++ b/google/ads/googleads/v3/common/metrics.proto @@ -69,11 +69,11 @@ message Metrics { // divided by the number of ad interactions. google.protobuf.DoubleValue all_conversions_from_interactions_rate = 65; - // The total value of all conversions. + // The value of all conversions. google.protobuf.DoubleValue all_conversions_value = 66; - // The total number of conversions. This only includes conversion actions - // which include_in_conversions_metric attribute is set to true. + // The total number of conversions. This includes all conversions regardless + // of the value of include_in_conversions_metric. google.protobuf.DoubleValue all_conversions = 7; // The value of all conversions divided by the total cost of ad interactions @@ -208,25 +208,33 @@ message Metrics { // Conversions from interactions divided by the number of ad interactions // (such as clicks for text ads or views for video ads). This only includes // conversion actions which include_in_conversions_metric attribute is set to - // true. + // true. If you use conversion-based bidding, your bid strategies will + // optimize for these conversions. google.protobuf.DoubleValue conversions_from_interactions_rate = 69; - // The total value of conversions. This only includes conversion actions which - // include_in_conversions_metric attribute is set to true. + // The value of conversions. This only includes conversion actions which + // include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. google.protobuf.DoubleValue conversions_value = 70; // The value of conversions divided by the cost of ad interactions. This only // includes conversion actions which include_in_conversions_metric attribute - // is set to true. + // is set to true. If you use conversion-based bidding, your bid strategies + // will optimize for these conversions. google.protobuf.DoubleValue conversions_value_per_cost = 71; // The value of conversions from interactions divided by the number of ad // interactions. This only includes conversion actions which - // include_in_conversions_metric attribute is set to true. + // include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. google.protobuf.DoubleValue conversions_from_interactions_value_per_interaction = 72; // The number of conversions. This only includes conversion actions which - // include_in_conversions_metric attribute is set to true. + // include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. google.protobuf.DoubleValue conversions = 25; // The sum of your cost-per-click (CPC) and cost-per-thousand impressions @@ -238,12 +246,15 @@ message Metrics { // The cost of ad interactions divided by conversions. This only includes // conversion actions which include_in_conversions_metric attribute is set to - // true. + // true. If you use conversion-based bidding, your bid strategies will + // optimize for these conversions. google.protobuf.DoubleValue cost_per_conversion = 28; // The cost of ad interactions divided by current model attributed // conversions. This only includes conversion actions which - // include_in_conversions_metric attribute is set to true. + // include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. google.protobuf.DoubleValue cost_per_current_model_attributed_conversion = 106; // Conversions from when a customer clicks on a Google Ads ad on one device, @@ -257,28 +268,37 @@ message Metrics { // Shows how your historic conversions data would look under the attribution // model you've currently selected. This only includes conversion actions - // which include_in_conversions_metric attribute is set to true. + // which include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. google.protobuf.DoubleValue current_model_attributed_conversions = 101; // Current model attributed conversions from interactions divided by the // number of ad interactions (such as clicks for text ads or views for video // ads). This only includes conversion actions which - // include_in_conversions_metric attribute is set to true. + // include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. google.protobuf.DoubleValue current_model_attributed_conversions_from_interactions_rate = 102; // The value of current model attributed conversions from interactions divided // by the number of ad interactions. This only includes conversion actions - // which include_in_conversions_metric attribute is set to true. + // which include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. google.protobuf.DoubleValue current_model_attributed_conversions_from_interactions_value_per_interaction = 103; - // The total value of current model attributed conversions. This only includes + // The value of current model attributed conversions. This only includes // conversion actions which include_in_conversions_metric attribute is set to - // true. + // true. If you use conversion-based bidding, your bid strategies will + // optimize for these conversions. google.protobuf.DoubleValue current_model_attributed_conversions_value = 104; // The value of current model attributed conversions divided by the cost of ad // interactions. This only includes conversion actions which - // include_in_conversions_metric attribute is set to true. + // include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. google.protobuf.DoubleValue current_model_attributed_conversions_value_per_cost = 105; // How often people engage with your ad after it's shown to them. This is the @@ -497,12 +517,15 @@ message Metrics { // The value of conversions divided by the number of conversions. This only // includes conversion actions which include_in_conversions_metric attribute - // is set to true. + // is set to true. If you use conversion-based bidding, your bid strategies + // will optimize for these conversions. google.protobuf.DoubleValue value_per_conversion = 53; // The value of current model attributed conversions divided by the number of // the conversions. This only includes conversion actions which - // include_in_conversions_metric attribute is set to true. + // include_in_conversions_metric attribute is set to true. If you use + // conversion-based bidding, your bid strategies will optimize for these + // conversions. google.protobuf.DoubleValue value_per_current_model_attributed_conversion = 94; // Percentage of impressions where the viewer watched all of your video. diff --git a/google/ads/googleads/v3/common/offline_user_data.proto b/google/ads/googleads/v3/common/offline_user_data.proto index 2f6b515b81..df94bb46eb 100644 --- a/google/ads/googleads/v3/common/offline_user_data.proto +++ b/google/ads/googleads/v3/common/offline_user_data.proto @@ -95,15 +95,15 @@ message TransactionAttribute { google.protobuf.StringValue conversion_action = 4; // Transaction order id. - // Accessible to whitelisted customers only. + // Accessible only to customers on the allow-list. google.protobuf.StringValue order_id = 5; // Store attributes of the transaction. - // Accessible to whitelisted customers only. + // Accessible only to customers on the allow-list. StoreAttribute store_attribute = 6; // Value of the custom variable for each transaction. - // Accessible to whitelisted customers only. + // Accessible only to customers on the allow-list. google.protobuf.StringValue custom_value = 7; } @@ -148,8 +148,8 @@ message StoreSalesMetadata { // Name of the store sales custom variable key. A predefined key that // can be applied to the transaction and then later used for custom - // segementation in reporting. - // Accessible to whitelisted customers only. + // segmentation in reporting. + // Accessible only to customers on the allow-list. google.protobuf.StringValue custom_key = 4; // Metadata for a third party Store Sales upload. @@ -157,8 +157,9 @@ message StoreSalesMetadata { } // Metadata for a third party Store Sales. -// This is a whitelisted only product. Please contact your Google business -// development representative for details on the upload configuration. +// This product is only for customers on the allow-list. Please contact your +// Google business development representative for details on the upload +// configuration. message StoreSalesThirdPartyMetadata { // Time the advertiser uploaded the data to the partner. Required. // The format is "YYYY-MM-DD HH:MM:SS". diff --git a/google/ads/googleads/v3/common/user_lists.proto b/google/ads/googleads/v3/common/user_lists.proto index e311f6b056..5964403d66 100644 --- a/google/ads/googleads/v3/common/user_lists.proto +++ b/google/ads/googleads/v3/common/user_lists.proto @@ -66,7 +66,7 @@ message CrmBasedUserListInfo { google.ads.googleads.v3.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. + // Only customers on the allow-list can create third-party sourced CRM lists. google.ads.googleads.v3.enums.UserListCrmDataSourceTypeEnum.UserListCrmDataSourceType data_source_type = 3; } diff --git a/google/ads/googleads/v3/enums/access_role.proto b/google/ads/googleads/v3/enums/access_role.proto index 4f17292419..9ea06ac037 100644 --- a/google/ads/googleads/v3/enums/access_role.proto +++ b/google/ads/googleads/v3/enums/access_role.proto @@ -45,6 +45,10 @@ message AccessRoleEnum { // Can view campaigns and account changes, but cannot make edits. READ_ONLY = 4; + + // Role for \"email only\" access. Represents an email recipient rather than + // a true User entity. + EMAIL_ONLY = 5; } diff --git a/google/ads/googleads/v3/enums/extension_setting_device.proto b/google/ads/googleads/v3/enums/extension_setting_device.proto index 4c0f27da32..ac615623d7 100644 --- a/google/ads/googleads/v3/enums/extension_setting_device.proto +++ b/google/ads/googleads/v3/enums/extension_setting_device.proto @@ -31,7 +31,7 @@ option ruby_package = "Google::Ads::GoogleAds::V3::Enums"; // Container for enum describing extension setting device types. message ExtensionSettingDeviceEnum { - // Possbile device types for an extension setting. + // Possible device types for an extension setting. enum ExtensionSettingDevice { // Not specified. UNSPECIFIED = 0; diff --git a/google/ads/googleads/v3/enums/listing_custom_attribute_index.proto b/google/ads/googleads/v3/enums/listing_custom_attribute_index.proto deleted file mode 100644 index f997c65afe..0000000000 --- a/google/ads/googleads/v3/enums/listing_custom_attribute_index.proto +++ /dev/null @@ -1,60 +0,0 @@ -// Copyright 2019 Google LLC. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// - -syntax = "proto3"; - -package google.ads.googleads.v3.enums; - -import "google/api/annotations.proto"; - -option csharp_namespace = "Google.Ads.GoogleAds.V3.Enums"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v3/enums;enums"; -option java_multiple_files = true; -option java_outer_classname = "ListingCustomAttributeIndexProto"; -option java_package = "com.google.ads.googleads.v3.enums"; -option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V3\\Enums"; -option ruby_package = "Google::Ads::GoogleAds::V3::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. - INDEX0 = 7; - - // Second listing custom attribute. - INDEX1 = 8; - - // Third listing custom attribute. - INDEX2 = 9; - - // Fourth listing custom attribute. - INDEX3 = 10; - - // Fifth listing custom attribute. - INDEX4 = 11; - } - - -} diff --git a/google/ads/googleads/v3/enums/recommendation_type.proto b/google/ads/googleads/v3/enums/recommendation_type.proto index 398c307f1a..6a7d87ecbe 100644 --- a/google/ads/googleads/v3/enums/recommendation_type.proto +++ b/google/ads/googleads/v3/enums/recommendation_type.proto @@ -39,7 +39,10 @@ message RecommendationTypeEnum { // Used for return value only. Represents value unknown in this version. UNKNOWN = 1; - // Budget recommendation for budget constrained campaigns. + // Budget recommendation for campaigns that are currently budget-constrained + // (as opposed to the FORECASTING_CAMPAIGN_BUDGET recommendation, which + // applies to campaigns that are expected to become budget-constrained in + // the future). CAMPAIGN_BUDGET = 2; // Keyword recommendation. diff --git a/google/ads/googleads/v3/enums/simulation_type.proto b/google/ads/googleads/v3/enums/simulation_type.proto index bdc9cf2996..b90de6133a 100644 --- a/google/ads/googleads/v3/enums/simulation_type.proto +++ b/google/ads/googleads/v3/enums/simulation_type.proto @@ -39,13 +39,13 @@ message SimulationTypeEnum { // Used for return value only. Represents value unknown in this version. UNKNOWN = 1; - // The simulation is for a cpc bid. + // The simulation is for a CPC bid. CPC_BID = 2; - // The simulation is for a cpv bid. + // The simulation is for a CPV bid. CPV_BID = 3; - // The simulation is for a cpa target. + // The simulation is for a CPA target. TARGET_CPA = 4; // The simulation is for a bid modifier. diff --git a/google/ads/googleads/v3/errors/ad_group_error.proto b/google/ads/googleads/v3/errors/ad_group_error.proto index 5d9df034fa..45fb920f9d 100644 --- a/google/ads/googleads/v3/errors/ad_group_error.proto +++ b/google/ads/googleads/v3/errors/ad_group_error.proto @@ -78,7 +78,8 @@ message AdGroupErrorEnum { // campaigns that have DynamicSearchAdsSetting attached. CANNOT_ADD_ADGROUP_OF_TYPE_DSA_TO_CAMPAIGN_WITHOUT_DSA_SETTING = 14; - // Promoted hotels ad groups are only available to whitelisted customers. + // Promoted hotels ad groups are only available to customers on the + // allow-list. PROMOTED_HOTEL_AD_GROUPS_NOT_AVAILABLE_FOR_CUSTOMER = 15; } diff --git a/google/ads/googleads/v3/errors/asset_error.proto b/google/ads/googleads/v3/errors/asset_error.proto index e9b35aea03..57b93f2157 100644 --- a/google/ads/googleads/v3/errors/asset_error.proto +++ b/google/ads/googleads/v3/errors/asset_error.proto @@ -39,7 +39,7 @@ message AssetErrorEnum { // The received error code is not known in this version. UNKNOWN = 1; - // The customer is not whitelisted for this asset type. + // The customer is not on the allow-list for this asset type. CUSTOMER_NOT_WHITELISTED_FOR_ASSET_TYPE = 2; // Assets are duplicated across operations. diff --git a/google/ads/googleads/v3/errors/authorization_error.proto b/google/ads/googleads/v3/errors/authorization_error.proto index d070275ded..4f8559d5bc 100644 --- a/google/ads/googleads/v3/errors/authorization_error.proto +++ b/google/ads/googleads/v3/errors/authorization_error.proto @@ -45,7 +45,7 @@ message AuthorizationErrorEnum { // https://developers.google.com/google-ads/api/docs/concepts/call-structure#cid USER_PERMISSION_DENIED = 2; - // The developer token is not whitelisted. + // The developer token is not on the allow-list. DEVELOPER_TOKEN_NOT_WHITELISTED = 3; // The developer token is not allowed with the project sent in the request. diff --git a/google/ads/googleads/v3/errors/bidding_error.proto b/google/ads/googleads/v3/errors/bidding_error.proto index 6c718f42b3..c0d2259d07 100644 --- a/google/ads/googleads/v3/errors/bidding_error.proto +++ b/google/ads/googleads/v3/errors/bidding_error.proto @@ -57,10 +57,11 @@ message BiddingErrorEnum { // Bidding strategy is not available for the account type. BIDDING_STRATEGY_NOT_AVAILABLE_FOR_ACCOUNT_TYPE = 18; - // Conversion tracking is not enabled for the campaign for VBB transition. + // Conversion tracking is not enabled in the campaign that has YouTube + // Video Builder transitions. CONVERSION_TRACKING_NOT_ENABLED = 19; - // Not enough conversions tracked for VBB transitions. + // Not enough conversions tracked for YouTube Video Builder transitions. NOT_ENOUGH_CONVERSIONS = 20; // Campaign can not be created with given bidding strategy. It can be @@ -76,7 +77,7 @@ message BiddingErrorEnum { 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. + // customers on the allow-list can use this. PAY_PER_CONVERSION_NOT_AVAILABLE_FOR_CUSTOMER = 25; // Pay per conversion is not allowed with Target CPA. diff --git a/google/ads/googleads/v3/errors/campaign_budget_error.proto b/google/ads/googleads/v3/errors/campaign_budget_error.proto index e13bd82b67..41b11cfd76 100644 --- a/google/ads/googleads/v3/errors/campaign_budget_error.proto +++ b/google/ads/googleads/v3/errors/campaign_budget_error.proto @@ -49,7 +49,7 @@ message CampaignBudgetErrorEnum { // campaign budget cannot be removed. CAMPAIGN_BUDGET_IN_USE = 3; - // Customer is not whitelisted for this campaign budget period. + // Customer is not on the allow-list for this campaign budget period. CAMPAIGN_BUDGET_PERIOD_NOT_AVAILABLE = 4; // This field is not mutable on implicitly shared campaign budgets diff --git a/google/ads/googleads/v3/errors/criterion_error.proto b/google/ads/googleads/v3/errors/criterion_error.proto index 86a0673cd7..4017df97b9 100644 --- a/google/ads/googleads/v3/errors/criterion_error.proto +++ b/google/ads/googleads/v3/errors/criterion_error.proto @@ -78,7 +78,7 @@ message CriterionErrorEnum { // Indicates the URL contains multiple comma separated URLs. PLACEMENT_URL_HAS_MULTIPLE_SITES_IN_LINE = 14; - // Indicates the domain is blacklisted. + // Indicates the domain is blocked. PLACEMENT_IS_NOT_AVAILABLE_FOR_TARGETING_OR_EXCLUSION = 15; // Invalid topic path. diff --git a/google/ads/googleads/v3/errors/errors.proto b/google/ads/googleads/v3/errors/errors.proto index ba1379227a..704c302bb1 100644 --- a/google/ads/googleads/v3/errors/errors.proto +++ b/google/ads/googleads/v3/errors/errors.proto @@ -526,7 +526,7 @@ message ErrorLocation { // 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. + // when the error code is not published in the client specified version. string unpublished_error_code = 1; // Describes an ad policy violation. diff --git a/google/ads/googleads/v3/errors/extension_feed_item_error.proto b/google/ads/googleads/v3/errors/extension_feed_item_error.proto index c64a9437ee..e3cb4ae56b 100644 --- a/google/ads/googleads/v3/errors/extension_feed_item_error.proto +++ b/google/ads/googleads/v3/errors/extension_feed_item_error.proto @@ -84,7 +84,8 @@ message ExtensionFeedItemErrorEnum { // Call conversion action provided for a call extension is invalid. INVALID_CALL_CONVERSION_ACTION = 14; - // For a call extension, the customer is not whitelisted for call tracking. + // For a call extension, the customer is not on the allow-list for call + // tracking. CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING = 15; // Call tracking is not supported for the given country for a call @@ -105,7 +106,7 @@ message ExtensionFeedItemErrorEnum { // Hyphen character present in the review text for a review extension. HYPHENS_IN_REVIEW_EXTENSION_SNIPPET = 20; - // A blacklisted review source name or url was provided for a review + // A denylisted review source name or url was provided for a review // extension. REVIEW_EXTENSION_SOURCE_INELIGIBLE = 21; diff --git a/google/ads/googleads/v3/errors/extension_setting_error.proto b/google/ads/googleads/v3/errors/extension_setting_error.proto index eefe3bcf52..3d1b436d36 100644 --- a/google/ads/googleads/v3/errors/extension_setting_error.proto +++ b/google/ads/googleads/v3/errors/extension_setting_error.proto @@ -128,7 +128,8 @@ message ExtensionSettingErrorEnum { // Call conversion type id provided for a call extension is invalid. INVALID_CALL_CONVERSION_TYPE_ID = 28; - // For a call extension, the customer is not whitelisted for call tracking. + // For a call extension, the customer is not on the allow-list for call + // tracking. CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING = 29; // Call tracking is not supported for the given country for a call @@ -144,7 +145,7 @@ message ExtensionSettingErrorEnum { // Hyphen character present in the review text for a review extension. HYPHENS_IN_REVIEW_EXTENSION_SNIPPET = 33; - // A blacklisted review source name or url was provided for a review + // A blocked review source name or url was provided for a review // extension. REVIEW_EXTENSION_SOURCE_NOT_ELIGIBLE = 34; diff --git a/google/ads/googleads/v3/errors/feed_item_validation_error.proto b/google/ads/googleads/v3/errors/feed_item_validation_error.proto index 334f41cff4..8ef4e1fabf 100644 --- a/google/ads/googleads/v3/errors/feed_item_validation_error.proto +++ b/google/ads/googleads/v3/errors/feed_item_validation_error.proto @@ -69,7 +69,7 @@ message FeedItemValidationErrorEnum { // Call tracking is not supported in the selected country. CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 11; - // Customer is not whitelisted for call tracking. + // Customer is not on the allow-list for call tracking. CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING = 12; // Country code is invalid. diff --git a/google/ads/googleads/v3/errors/field_error.proto b/google/ads/googleads/v3/errors/field_error.proto index f601c070f7..9fd4688d8b 100644 --- a/google/ads/googleads/v3/errors/field_error.proto +++ b/google/ads/googleads/v3/errors/field_error.proto @@ -57,7 +57,7 @@ message FieldErrorEnum { // The field cannot be cleared. FIELD_CANNOT_BE_CLEARED = 7; - // The field's value is on a blacklist for this field. + // The field's value is on a deny-list for this field. BLACKLISTED_VALUE = 8; } diff --git a/google/ads/googleads/v3/errors/offline_user_data_job_error.proto b/google/ads/googleads/v3/errors/offline_user_data_job_error.proto index 5e53058b60..54bdc2bdba 100644 --- a/google/ads/googleads/v3/errors/offline_user_data_job_error.proto +++ b/google/ads/googleads/v3/errors/offline_user_data_job_error.proto @@ -45,7 +45,7 @@ message OfflineUserDataJobErrorEnum { // Type of the user list is not applicable for the job. INVALID_USER_LIST_TYPE = 4; - // Customer is not whitelisted for using user ID in upload data. + // Customer is not on the allow-list for using user ID in upload data. NOT_WHITELISTED_FOR_USER_ID = 5; // Upload data is not compatible with the upload key type of the associated @@ -61,7 +61,7 @@ message OfflineUserDataJobErrorEnum { // Request is exceeding the maximum number of user identifiers allowed. TOO_MANY_USER_IDENTIFIERS = 9; - // Customer is not whitelisted for store sales direct data. + // Customer is not on the allow-list for store sales direct data. NOT_WHITELISTED_FOR_STORE_SALES_DIRECT = 10; // The partner ID in store sales direct metadata is invalid. diff --git a/google/ads/googleads/v3/errors/user_list_error.proto b/google/ads/googleads/v3/errors/user_list_error.proto index 86ac4e54aa..d33257417a 100644 --- a/google/ads/googleads/v3/errors/user_list_error.proto +++ b/google/ads/googleads/v3/errors/user_list_error.proto @@ -110,8 +110,8 @@ message UserListErrorEnum { // 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 needs to be on the allow-list to use remarketing lists created + // from advertiser uploaded data (e.g., Customer Match lists). ADVERTISER_NOT_WHITELISTED_FOR_USING_UPLOADED_DATA = 33; // The provided rule_type is not supported for the user list. diff --git a/google/ads/googleads/v3/resources/ad.proto b/google/ads/googleads/v3/resources/ad.proto index 68138fd722..0964521081 100644 --- a/google/ads/googleads/v3/resources/ad.proto +++ b/google/ads/googleads/v3/resources/ad.proto @@ -117,8 +117,8 @@ message Ad { // Details pertinent to the ad type. Exactly one value must be set. oneof ad_data { - // Details pertaining to a text ad. - google.ads.googleads.v3.common.TextAdInfo text_ad = 6; + // Immutable. Details pertaining to a text ad. + google.ads.googleads.v3.common.TextAdInfo text_ad = 6 [(google.api.field_behavior) = IMMUTABLE]; // Details pertaining to an expanded text ad. google.ads.googleads.v3.common.ExpandedTextAdInfo expanded_text_ad = 7; @@ -126,12 +126,12 @@ message Ad { // Details pertaining to a call-only ad. google.ads.googleads.v3.common.CallOnlyAdInfo call_only_ad = 13; - // Details pertaining to an Expanded Dynamic Search Ad. + // Immutable. 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.v3.common.ExpandedDynamicSearchAdInfo expanded_dynamic_search_ad = 14; + google.ads.googleads.v3.common.ExpandedDynamicSearchAdInfo expanded_dynamic_search_ad = 14 [(google.api.field_behavior) = IMMUTABLE]; // Details pertaining to a hotel ad. google.ads.googleads.v3.common.HotelAdInfo hotel_ad = 15; @@ -142,11 +142,11 @@ message Ad { // Details pertaining to a Shopping product ad. google.ads.googleads.v3.common.ShoppingProductAdInfo shopping_product_ad = 18; - // Details pertaining to a Gmail ad. - google.ads.googleads.v3.common.GmailAdInfo gmail_ad = 21; + // Immutable. Details pertaining to a Gmail ad. + google.ads.googleads.v3.common.GmailAdInfo gmail_ad = 21 [(google.api.field_behavior) = IMMUTABLE]; - // Details pertaining to an Image ad. - google.ads.googleads.v3.common.ImageAdInfo image_ad = 22; + // Immutable. Details pertaining to an Image ad. + google.ads.googleads.v3.common.ImageAdInfo image_ad = 22 [(google.api.field_behavior) = IMMUTABLE]; // Details pertaining to a Video ad. google.ads.googleads.v3.common.VideoAdInfo video_ad = 24; diff --git a/google/ads/googleads/v3/resources/ad_group_ad_asset_view.proto b/google/ads/googleads/v3/resources/ad_group_ad_asset_view.proto index 624228af43..c14f45b6c4 100644 --- a/google/ads/googleads/v3/resources/ad_group_ad_asset_view.proto +++ b/google/ads/googleads/v3/resources/ad_group_ad_asset_view.proto @@ -45,9 +45,13 @@ message AdGroupAdAssetView { }; // Output only. The resource name of the ad group ad asset view. - // Ad group ad asset view resource names have the form: + // Ad group ad asset view resource names have the form (Before V4): // - // `customers/{customer_id}/adGroupAdAssets/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.asset_field_type}` + // `customers/{customer_id}/adGroupAdAssets/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}` + // + // Ad group ad asset view resource names have the form (Beginning from V4): + // + // `customers/{customer_id}/adGroupAdAssetViews/{AdGroupAdAsset.ad_group_id}~{AdGroupAdAsset.ad_id}~{AdGroupAdAsset.asset_id}~{AdGroupAdAsset.field_type}` string resource_name = 1 [ (google.api.field_behavior) = OUTPUT_ONLY, (google.api.resource_reference) = { diff --git a/google/ads/googleads/v3/resources/ad_group_bid_modifier.proto b/google/ads/googleads/v3/resources/ad_group_bid_modifier.proto index 0590f64f44..9b4857025b 100644 --- a/google/ads/googleads/v3/resources/ad_group_bid_modifier.proto +++ b/google/ads/googleads/v3/resources/ad_group_bid_modifier.proto @@ -86,6 +86,8 @@ message AdGroupBidModifier { google.ads.googleads.v3.enums.BidModifierSourceEnum.BidModifierSource bid_modifier_source = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; // The criterion of this ad group bid modifier. + // + // Required in create operations starting in V5. oneof criterion { // Immutable. Criterion for hotel date selection (default dates vs. user selected). google.ads.googleads.v3.common.HotelDateSelectionTypeInfo hotel_date_selection_type = 5 [(google.api.field_behavior) = IMMUTABLE]; diff --git a/google/ads/googleads/v3/resources/ad_group_criterion.proto b/google/ads/googleads/v3/resources/ad_group_criterion.proto index c992cf2d9f..3c5511dd02 100644 --- a/google/ads/googleads/v3/resources/ad_group_criterion.proto +++ b/google/ads/googleads/v3/resources/ad_group_criterion.proto @@ -105,6 +105,15 @@ message AdGroupCriterion { google.protobuf.Int64Value criterion_id = 26 [(google.api.field_behavior) = OUTPUT_ONLY]; // The status of the criterion. + // + // This is the status of the ad group criterion entity, set by the client. + // Note: UI reports may incorporate additional information that affects + // whether a criterion is eligible to run. In some cases a criterion that's + // REMOVED in the API can still show as enabled in the UI. + // For example, campaigns by default show to users of all age ranges unless + // excluded. The UI will show each age range as "enabled", since they're + // eligible to see the ads; but AdGroupCriterion.status will show "removed", + // since no positive criterion was added. google.ads.googleads.v3.enums.AdGroupCriterionStatusEnum.AdGroupCriterionStatus status = 3; // Output only. Information regarding the quality of the criterion. diff --git a/google/ads/googleads/v3/resources/ad_group_simulation.proto b/google/ads/googleads/v3/resources/ad_group_simulation.proto index d050379982..2b93dec311 100644 --- a/google/ads/googleads/v3/resources/ad_group_simulation.proto +++ b/google/ads/googleads/v3/resources/ad_group_simulation.proto @@ -42,11 +42,12 @@ option ruby_package = "Google::Ads::GoogleAds::V3::Resources"; // 1. SEARCH - CPC_BID - DEFAULT // 2. SEARCH - CPC_BID - UNIFORM // 3. SEARCH - TARGET_CPA - UNIFORM -// 4. DISPLAY - CPC_BID - DEFAULT -// 5. DISPLAY - CPC_BID - UNIFORM -// 6. DISPLAY - TARGET_CPA - UNIFORM -// 7. VIDEO - CPV_BID - DEFAULT -// 8. VIDEO - CPV_BID - UNIFORM +// 4. SEARCH - TARGET_ROAS - UNIFORM +// 5. DISPLAY - CPC_BID - DEFAULT +// 6. DISPLAY - CPC_BID - UNIFORM +// 7. DISPLAY - TARGET_CPA - UNIFORM +// 8. VIDEO - CPV_BID - DEFAULT +// 9. VIDEO - CPV_BID - UNIFORM message AdGroupSimulation { option (google.api.resource) = { type: "googleads.googleapis.com/AdGroupSimulation" diff --git a/google/ads/googleads/v3/resources/campaign.proto b/google/ads/googleads/v3/resources/campaign.proto index 189d5e6d3a..87471596ed 100644 --- a/google/ads/googleads/v3/resources/campaign.proto +++ b/google/ads/googleads/v3/resources/campaign.proto @@ -83,40 +83,6 @@ message Campaign { google.protobuf.Int64Value hotel_center_id = 1 [(google.api.field_behavior) = IMMUTABLE]; } - // Campaign-level settings for App Campaigns. - message AppCampaignSetting { - // Represents the goal which the bidding strategy of this app campaign - // should optimize towards. - google.ads.googleads.v3.enums.AppCampaignBiddingStrategyGoalTypeEnum.AppCampaignBiddingStrategyGoalType bidding_strategy_goal_type = 1; - - // Immutable. A string that uniquely identifies a mobile application. - google.protobuf.StringValue app_id = 2 [(google.api.field_behavior) = IMMUTABLE]; - - // Immutable. The application store that distributes this specific app. - google.ads.googleads.v3.enums.AppCampaignAppStoreEnum.AppCampaignAppStore app_store = 3 [(google.api.field_behavior) = IMMUTABLE]; - } - - // 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; - - // Output only. The list of page feeds associated with the campaign. - repeated google.protobuf.StringValue feeds = 5 [ - (google.api.field_behavior) = OUTPUT_ONLY, - (google.api.resource_reference) = { - type: "googleads.googleapis.com/Feed" - } - ]; - } - // 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. @@ -144,22 +110,33 @@ message Campaign { google.protobuf.BoolValue enable_local = 4; } - // Describes how unbranded pharma ads will be displayed. - message VanityPharma { - // The display mode for vanity pharma URLs. - google.ads.googleads.v3.enums.VanityPharmaDisplayUrlModeEnum.VanityPharmaDisplayUrlMode vanity_pharma_display_url_mode = 1; - - // The text that will be displayed in display URL of the text ad when - // website description is the selected display mode for vanity pharma URLs. - google.ads.googleads.v3.enums.VanityPharmaTextEnum.VanityPharmaText vanity_pharma_text = 2; - } - // Campaign-level settings for tracking information. message TrackingSetting { // Output only. The url used for dynamic tracking. google.protobuf.StringValue tracking_url = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } + // 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; + + // Output only. The list of page feeds associated with the campaign. + repeated google.protobuf.StringValue feeds = 5 [ + (google.api.field_behavior) = OUTPUT_ONLY, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Feed" + } + ]; + } + // Represents a collection of settings related to ads geotargeting. message GeoTargetTypeSetting { // The setting used for positive geotargeting in this particular campaign. @@ -169,6 +146,29 @@ message Campaign { google.ads.googleads.v3.enums.NegativeGeoTargetTypeEnum.NegativeGeoTargetType negative_geo_target_type = 2; } + // Campaign-level settings for App Campaigns. + message AppCampaignSetting { + // Represents the goal which the bidding strategy of this app campaign + // should optimize towards. + google.ads.googleads.v3.enums.AppCampaignBiddingStrategyGoalTypeEnum.AppCampaignBiddingStrategyGoalType bidding_strategy_goal_type = 1; + + // Immutable. A string that uniquely identifies a mobile application. + google.protobuf.StringValue app_id = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The application store that distributes this specific app. + google.ads.googleads.v3.enums.AppCampaignAppStoreEnum.AppCampaignAppStore app_store = 3 [(google.api.field_behavior) = IMMUTABLE]; + } + + // Describes how unbranded pharma ads will be displayed. + message VanityPharma { + // The display mode for vanity pharma URLs. + google.ads.googleads.v3.enums.VanityPharmaDisplayUrlModeEnum.VanityPharmaDisplayUrlMode vanity_pharma_display_url_mode = 1; + + // The text that will be displayed in display URL of the text ad when + // website description is the selected display mode for vanity pharma URLs. + google.ads.googleads.v3.enums.VanityPharmaTextEnum.VanityPharmaText vanity_pharma_text = 2; + } + // Selective optimization setting for this campaign, which includes a set of // conversion actions to optimize this campaign towards. message SelectiveOptimization { @@ -298,12 +298,10 @@ message Campaign { google.ads.googleads.v3.enums.BiddingStrategyTypeEnum.BiddingStrategyType bidding_strategy_type = 22 [(google.api.field_behavior) = OUTPUT_ONLY]; // The date when campaign started. - // // This field must not be used in WHERE clauses. google.protobuf.StringValue start_date = 19; // The date when campaign ended. - // // This field must not be used in WHERE clauses. google.protobuf.StringValue end_date = 20; diff --git a/google/ads/googleads/v3/resources/campaign_bid_modifier.proto b/google/ads/googleads/v3/resources/campaign_bid_modifier.proto index 0a5ce82f1c..3a4642be61 100644 --- a/google/ads/googleads/v3/resources/campaign_bid_modifier.proto +++ b/google/ads/googleads/v3/resources/campaign_bid_modifier.proto @@ -68,6 +68,8 @@ message CampaignBidModifier { google.protobuf.DoubleValue bid_modifier = 4; // The criterion of this campaign bid modifier. + // + // Required in create operations starting in V5. oneof criterion { // Immutable. Criterion for interaction type. Only supported for search campaigns. google.ads.googleads.v3.common.InteractionTypeInfo interaction_type = 5 [(google.api.field_behavior) = IMMUTABLE]; diff --git a/google/ads/googleads/v3/resources/customer_client_link.proto b/google/ads/googleads/v3/resources/customer_client_link.proto index c0c8dd6637..5206061715 100644 --- a/google/ads/googleads/v3/resources/customer_client_link.proto +++ b/google/ads/googleads/v3/resources/customer_client_link.proto @@ -60,7 +60,7 @@ message CustomerClientLink { google.ads.googleads.v3.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5; // The visibility of the link. Users can choose whether or not to see hidden - // links in the AdWords UI. + // links in the Google Ads UI. // Default value is false google.protobuf.BoolValue hidden = 6; } diff --git a/google/ads/googleads/v3/resources/invoice.proto b/google/ads/googleads/v3/resources/invoice.proto index 1e86c822f5..153dfcf6ea 100644 --- a/google/ads/googleads/v3/resources/invoice.proto +++ b/google/ads/googleads/v3/resources/invoice.proto @@ -158,7 +158,6 @@ message Invoice { // Output only. The resource name of the original invoice corrected, wrote off, or canceled // by this invoice, if applicable. If `corrected_invoice` is set, // `replaced_invoices` will not be set. - // // Invoice resource names have the form: // // `customers/{customer_id}/invoices/{invoice_id}` diff --git a/google/ads/googleads/v3/resources/recommendation.proto b/google/ads/googleads/v3/resources/recommendation.proto index 104ab6e8d0..f4ef7b8a4e 100644 --- a/google/ads/googleads/v3/resources/recommendation.proto +++ b/google/ads/googleads/v3/resources/recommendation.proto @@ -106,6 +106,11 @@ message Recommendation { google.protobuf.Int64Value recommended_cpc_bid_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } + // The Optimize Ad Rotation recommendation. + message OptimizeAdRotationRecommendation { + + } + // The text ad recommendation. message TextAdRecommendation { // Output only. Recommended ad. @@ -149,10 +154,9 @@ message Recommendation { google.protobuf.Int64Value recommended_target_cpa_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } - // The Maximize Conversions Opt-In recommendation. - message MaximizeConversionsOptInRecommendation { - // Output only. The recommended new budget amount. - google.protobuf.Int64Value recommended_budget_amount_micros = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + // The Enhanced Cost-Per-Click Opt-In recommendation. + message EnhancedCpcOptInRecommendation { + } // The Maximize Clicks opt-in recommendation. @@ -162,24 +166,33 @@ message Recommendation { google.protobuf.Int64Value recommended_budget_amount_micros = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } + // The Maximize Conversions Opt-In recommendation. + message MaximizeConversionsOptInRecommendation { + // Output only. The recommended new budget amount. + google.protobuf.Int64Value recommended_budget_amount_micros = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The Call extension recommendation. + message CallExtensionRecommendation { + // Output only. Call extensions recommended to be added. + repeated google.ads.googleads.v3.common.CallFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The Search Partners Opt-In recommendation. + message SearchPartnersOptInRecommendation { + + } + // The Callout extension recommendation. message CalloutExtensionRecommendation { // Output only. Callout extensions recommended to be added. repeated google.ads.googleads.v3.common.CalloutFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } - // The move unused budget recommendation. - message MoveUnusedBudgetRecommendation { - // Output only. The excess budget's resource_name. - google.protobuf.StringValue excess_campaign_budget = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The recommendation for the constrained budget to increase. - CampaignBudgetRecommendation budget_recommendation = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - } - - // The Enhanced Cost-Per-Click Opt-In recommendation. - message EnhancedCpcOptInRecommendation { - + // The Sitelink extension recommendation. + message SitelinkExtensionRecommendation { + // Output only. Sitelink extensions recommended to be added. + repeated google.ads.googleads.v3.common.SitelinkFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The keyword match type recommendation. @@ -191,26 +204,13 @@ message Recommendation { google.ads.googleads.v3.enums.KeywordMatchTypeEnum.KeywordMatchType recommended_match_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } - // The Search Partners Opt-In recommendation. - message SearchPartnersOptInRecommendation { + // The move unused budget recommendation. + message MoveUnusedBudgetRecommendation { + // Output only. The excess budget's resource_name. + google.protobuf.StringValue excess_campaign_budget = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - } - - // The Call extension recommendation. - message CallExtensionRecommendation { - // Output only. Call extensions recommended to be added. - repeated google.ads.googleads.v3.common.CallFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - } - - // The Optimize Ad Rotation recommendation. - message OptimizeAdRotationRecommendation { - - } - - // The Sitelink extension recommendation. - message SitelinkExtensionRecommendation { - // Output only. Sitelink extensions recommended to be added. - repeated google.ads.googleads.v3.common.SitelinkFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + // Output only. The recommendation for the constrained budget to increase. + CampaignBudgetRecommendation budget_recommendation = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Immutable. The resource name of the recommendation. @@ -234,7 +234,7 @@ message Recommendation { // the recommendation affects a single campaign budget. // // This field will be set for the following recommendation types: - // CAMPAIGN_BUDGET, MOVE_UNUSED_BUDGET + // CAMPAIGN_BUDGET, FORECASTING_CAMPAIGN_BUDGET, MOVE_UNUSED_BUDGET google.protobuf.StringValue campaign_budget = 5 [ (google.api.field_behavior) = OUTPUT_ONLY, (google.api.resource_reference) = { @@ -249,7 +249,7 @@ message Recommendation { // CALL_EXTENSION, CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN, KEYWORD, // KEYWORD_MATCH_TYPE, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, // OPTIMIZE_AD_ROTATION, SEARCH_PARTNERS_OPT_IN, SITELINK_EXTENSION, - // TARGET_CPA_OPT_IN, TEXT_AD + // TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN, TEXT_AD google.protobuf.StringValue campaign = 6 [ (google.api.field_behavior) = OUTPUT_ONLY, (google.api.resource_reference) = { diff --git a/google/ads/googleads/v3/services/ad_group_audience_view_service.proto b/google/ads/googleads/v3/services/ad_group_audience_view_service.proto index 9b4f6f26ab..81fb272480 100644 --- a/google/ads/googleads/v3/services/ad_group_audience_view_service.proto +++ b/google/ads/googleads/v3/services/ad_group_audience_view_service.proto @@ -46,7 +46,7 @@ service AdGroupAudienceViewService { } } -// Request message for [AdGroupAudienceViewService.GetAdGoupAudienceView][]. +// Request message for [AdGroupAudienceViewService.GetAdGroupAudienceView][google.ads.googleads.v3.services.AdGroupAudienceViewService.GetAdGroupAudienceView]. message GetAdGroupAudienceViewRequest { // Required. The resource name of the ad group audience view to fetch. string resource_name = 1 [ diff --git a/google/ads/googleads/v3/services/ad_service.proto b/google/ads/googleads/v3/services/ad_service.proto index 40cf417a8d..7cc38c1a20 100644 --- a/google/ads/googleads/v3/services/ad_service.proto +++ b/google/ads/googleads/v3/services/ad_service.proto @@ -46,7 +46,8 @@ service AdService { option (google.api.method_signature) = "resource_name"; } - // Updates ads. Operation statuses are returned. + // Updates ads. Operation statuses are returned. Updating ads is not supported + // for TextAd, ExpandedDynamicSearchAd, GmailAd and ImageAd. rpc MutateAds(MutateAdsRequest) returns (MutateAdsResponse) { option (google.api.http) = { post: "/v3/customers/{customer_id=*}/ads:mutate" diff --git a/google/ads/googleads/v3/services/campaign_bid_modifier_service.proto b/google/ads/googleads/v3/services/campaign_bid_modifier_service.proto index 113107cc03..b733a3671d 100644 --- a/google/ads/googleads/v3/services/campaign_bid_modifier_service.proto +++ b/google/ads/googleads/v3/services/campaign_bid_modifier_service.proto @@ -69,7 +69,8 @@ message GetCampaignBidModifierRequest { ]; } -// Request message for [CampaignBidModifierService.MutateCampaignBidModifier][]. +// Request message for +// [CampaignBidModifierService.MutateCampaignBidModifiers][google.ads.googleads.v3.services.CampaignBidModifierService.MutateCampaignBidModifiers]. message MutateCampaignBidModifiersRequest { // Required. ID of the customer whose campaign bid modifiers are being modified. string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; diff --git a/google/ads/googleads/v3/services/conversion_adjustment_upload_service.proto b/google/ads/googleads/v3/services/conversion_adjustment_upload_service.proto index ddd1bfe5fd..d86fc2123e 100644 --- a/google/ads/googleads/v3/services/conversion_adjustment_upload_service.proto +++ b/google/ads/googleads/v3/services/conversion_adjustment_upload_service.proto @@ -59,6 +59,9 @@ message UploadConversionAdjustmentsRequest { // operations will return errors. If false, all operations will be carried out // in one transaction if and only if they are all valid. This should always be // set to true. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. bool partial_failure = 3 [(google.api.field_behavior) = REQUIRED]; // If true, the request is validated but not executed. Only errors are @@ -73,6 +76,9 @@ message UploadConversionAdjustmentsResponse { // failure mode. Returned when all errors occur inside the adjustments. If any // errors occur outside the adjustments (e.g. auth errors), we return an RPC // level error. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. google.rpc.Status partial_failure_error = 1; // Returned for successfully processed conversion adjustments. Proto will be @@ -100,6 +106,10 @@ message ConversionAdjustment { // Information needed to restate the conversion's value. // Required for restatements. Should not be supplied for retractions. An error // will be returned if provided for a retraction. + // NOTE: If you want to upload a second restatement with a different adjusted + // value, it must have a new, more recent, adjustment occurrence time. + // Otherwise, it will be treated as a duplicate of the previous restatement + // and ignored. RestatementValue restatement_value = 6; // Identifies the conversion to be adjusted. @@ -120,6 +130,10 @@ message RestatementValue { // The restated conversion value. This is the value of the conversion after // restatement. For example, to change the value of a conversion from 100 to // 70, an adjusted value of 70 should be reported. + // NOTE: If you want to upload a second restatement with a different adjusted + // value, it must have a new, more recent, adjustment occurrence time. + // Otherwise, it will be treated as a duplicate of the previous restatement + // and ignored. google.protobuf.DoubleValue adjusted_value = 1; // The currency of the restated value. If not provided, then the default diff --git a/google/ads/googleads/v3/services/conversion_upload_service.proto b/google/ads/googleads/v3/services/conversion_upload_service.proto index 0ca815bfad..948c0a5daa 100644 --- a/google/ads/googleads/v3/services/conversion_upload_service.proto +++ b/google/ads/googleads/v3/services/conversion_upload_service.proto @@ -66,6 +66,9 @@ message UploadClickConversionsRequest { // operations will return errors. If false, all operations will be carried // out in one transaction if and only if they are all valid. // This should always be set to true. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. bool partial_failure = 3 [(google.api.field_behavior) = REQUIRED]; // If true, the request is validated but not executed. Only errors are @@ -78,6 +81,9 @@ message UploadClickConversionsResponse { // Errors that pertain to conversion failures in the partial failure mode. // Returned when all errors occur inside the conversions. If any errors occur // outside the conversions (e.g. auth errors), we return an RPC level error. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. google.rpc.Status partial_failure_error = 1; // Returned for successfully processed conversions. Proto will be empty for @@ -98,6 +104,9 @@ message UploadCallConversionsRequest { // operations will return errors. If false, all operations will be carried // out in one transaction if and only if they are all valid. // This should always be set to true. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. bool partial_failure = 3 [(google.api.field_behavior) = REQUIRED]; // If true, the request is validated but not executed. Only errors are @@ -110,6 +119,9 @@ message UploadCallConversionsResponse { // Errors that pertain to conversion failures in the partial failure mode. // Returned when all errors occur inside the conversions. If any errors occur // outside the conversions (e.g. auth errors), we return an RPC level error. + // See + // https://developers.google.com/google-ads/api/docs/best-practices/partial-failures + // for more information about partial failure. google.rpc.Status partial_failure_error = 1; // Returned for successfully processed conversions. Proto will be empty for diff --git a/google/ads/googleads/v3/services/customer_service.proto b/google/ads/googleads/v3/services/customer_service.proto index 0644c9561e..2119e120dc 100644 --- a/google/ads/googleads/v3/services/customer_service.proto +++ b/google/ads/googleads/v3/services/customer_service.proto @@ -109,11 +109,11 @@ message CreateCustomerClientRequest { google.ads.googleads.v3.resources.Customer customer_client = 2 [(google.api.field_behavior) = REQUIRED]; // Email address of the user who should be invited on the created client - // customer. Accessible to whitelisted customers only. + // customer. Accessible only to customers on the allow-list. google.protobuf.StringValue email_address = 3; // The proposed role of user on the created client customer. - // Accessible to whitelisted customers only. + // Accessible only to customers on the allow-list. google.ads.googleads.v3.enums.AccessRoleEnum.AccessRole access_role = 4; } diff --git a/google/ads/googleads/v3/services/geo_target_constant_service.proto b/google/ads/googleads/v3/services/geo_target_constant_service.proto index f0088c4096..23daebfd91 100644 --- a/google/ads/googleads/v3/services/geo_target_constant_service.proto +++ b/google/ads/googleads/v3/services/geo_target_constant_service.proto @@ -67,7 +67,7 @@ message GetGeoTargetConstantRequest { } // Request message for -// [GeoTargetConstantService.SuggestGeoTargetConstantsRequest][]. +// [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v3.services.GeoTargetConstantService.SuggestGeoTargetConstants]. message SuggestGeoTargetConstantsRequest { // A list of location names. message LocationNames { @@ -99,7 +99,7 @@ message SuggestGeoTargetConstantsRequest { } } -// Response message for [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v3.services.GeoTargetConstantService.SuggestGeoTargetConstants] +// Response message for [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v3.services.GeoTargetConstantService.SuggestGeoTargetConstants]. message SuggestGeoTargetConstantsResponse { // Geo target constant suggestions. repeated GeoTargetConstantSuggestion geo_target_constant_suggestions = 1; diff --git a/google/ads/googleads/v3/services/keyword_plan_ad_group_service.proto b/google/ads/googleads/v3/services/keyword_plan_ad_group_service.proto index 4a0d8a05d3..ffd28fcd75 100644 --- a/google/ads/googleads/v3/services/keyword_plan_ad_group_service.proto +++ b/google/ads/googleads/v3/services/keyword_plan_ad_group_service.proto @@ -120,7 +120,8 @@ message MutateKeywordPlanAdGroupsResponse { // we return an RPC level error. google.rpc.Status partial_failure_error = 3; - // All results for the mutate. + // All results for the mutate. The order of the results is determined by the + // order of the keywords in the original request. repeated MutateKeywordPlanAdGroupResult results = 2; } diff --git a/google/ads/googleads/v3/services/keyword_plan_idea_service.proto b/google/ads/googleads/v3/services/keyword_plan_idea_service.proto index b14ebdc4e8..81eb50a4a5 100644 --- a/google/ads/googleads/v3/services/keyword_plan_idea_service.proto +++ b/google/ads/googleads/v3/services/keyword_plan_idea_service.proto @@ -47,7 +47,7 @@ service KeywordPlanIdeaService { } } -// Request message for [KeywordIdeaService.GenerateKeywordIdeas][]. +// Request message for [KeywordPlanIdeaService.GenerateKeywordIdeas][google.ads.googleads.v3.services.KeywordPlanIdeaService.GenerateKeywordIdeas]. message GenerateKeywordIdeasRequest { // The ID of the customer with the recommendation. string customer_id = 1; @@ -98,7 +98,7 @@ message UrlSeed { google.protobuf.StringValue url = 1; } -// Response message for [KeywordIdeaService.GenerateKeywordIdeas][]. +// Response message for [KeywordPlanIdeaService.GenerateKeywordIdeas][google.ads.googleads.v3.services.KeywordPlanIdeaService.GenerateKeywordIdeas]. message GenerateKeywordIdeaResponse { // Results of generating keyword ideas. repeated GenerateKeywordIdeaResult results = 1; diff --git a/google/ads/googleads/v3/services/keyword_plan_service.proto b/google/ads/googleads/v3/services/keyword_plan_service.proto index 7d963347d0..9f2675c427 100644 --- a/google/ads/googleads/v3/services/keyword_plan_service.proto +++ b/google/ads/googleads/v3/services/keyword_plan_service.proto @@ -240,7 +240,9 @@ message KeywordPlanKeywordHistoricalMetrics { // 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'. + // only contain 'cars'. + // Starting V5, the list of de-duped queries will be included in + // close_variants field. google.protobuf.StringValue search_query = 1; // The historical metrics for the query associated with one or more diff --git a/google/ads/googleads/v3/services/offline_user_data_job_service.proto b/google/ads/googleads/v3/services/offline_user_data_job_service.proto index 31b4754a95..2050683132 100644 --- a/google/ads/googleads/v3/services/offline_user_data_job_service.proto +++ b/google/ads/googleads/v3/services/offline_user_data_job_service.proto @@ -85,7 +85,7 @@ service OfflineUserDataJobService { } // Request message for -// [OfflineUserDataJobService.CreateOfflineUserDataJobRequest][] +// [OfflineUserDataJobService.CreateOfflineUserDataJob][google.ads.googleads.v3.services.OfflineUserDataJobService.CreateOfflineUserDataJob]. message CreateOfflineUserDataJobRequest { // Required. The ID of the customer for which to create an offline user data job. string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; @@ -95,13 +95,13 @@ message CreateOfflineUserDataJobRequest { } // Response message for -// [OfflineUserDataJobService.CreateOfflineUserDataJobResponse][] +// [OfflineUserDataJobService.CreateOfflineUserDataJob][google.ads.googleads.v3.services.OfflineUserDataJobService.CreateOfflineUserDataJob]. message CreateOfflineUserDataJobResponse { // The resource name of the OfflineUserDataJob. string resource_name = 1; } -// Request message for [OfflineUserDataJobService.GetOfflineUserDataJob][google.ads.googleads.v3.services.OfflineUserDataJobService.GetOfflineUserDataJob] +// Request message for [OfflineUserDataJobService.GetOfflineUserDataJob][google.ads.googleads.v3.services.OfflineUserDataJobService.GetOfflineUserDataJob]. message GetOfflineUserDataJobRequest { // Required. The resource name of the OfflineUserDataJob to get. string resource_name = 1 [ @@ -112,7 +112,7 @@ message GetOfflineUserDataJobRequest { ]; } -// Request message for [OfflineUserDataJobService.RunOfflineUserDataJob][google.ads.googleads.v3.services.OfflineUserDataJobService.RunOfflineUserDataJob] +// Request message for [OfflineUserDataJobService.RunOfflineUserDataJob][google.ads.googleads.v3.services.OfflineUserDataJobService.RunOfflineUserDataJob]. message RunOfflineUserDataJobRequest { // Required. The resource name of the OfflineUserDataJob to run. string resource_name = 1 [ @@ -124,7 +124,7 @@ message RunOfflineUserDataJobRequest { } // Request message for -// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v3.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations] +// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v3.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]. message AddOfflineUserDataJobOperationsRequest { // Required. The resource name of the OfflineUserDataJob. string resource_name = 1 [ @@ -160,7 +160,7 @@ message OfflineUserDataJobOperation { } // Response message for -// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v3.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations] +// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v3.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]. message AddOfflineUserDataJobOperationsResponse { // Errors that pertain to operation failures in the partial failure mode. // Returned only when partial_failure = true and all errors occur inside the diff --git a/google/ads/googleads/v3/services/product_bidding_category_constant_service.proto b/google/ads/googleads/v3/services/product_bidding_category_constant_service.proto index b94e281387..8074fa38e3 100644 --- a/google/ads/googleads/v3/services/product_bidding_category_constant_service.proto +++ b/google/ads/googleads/v3/services/product_bidding_category_constant_service.proto @@ -47,7 +47,7 @@ service ProductBiddingCategoryConstantService { } // Request message for -// [ProductBiddingCategoryService.GetProductBiddingCategory][]. +// [ProductBiddingCategoryConstantService.GetProductBiddingCategoryConstant][google.ads.googleads.v3.services.ProductBiddingCategoryConstantService.GetProductBiddingCategoryConstant]. message GetProductBiddingCategoryConstantRequest { // Required. Resource name of the Product Bidding Category to fetch. string resource_name = 1 [ diff --git a/google/ads/googleads/v3/services/reach_plan_service.proto b/google/ads/googleads/v3/services/reach_plan_service.proto index 9986fe59a5..60937d45d4 100644 --- a/google/ads/googleads/v3/services/reach_plan_service.proto +++ b/google/ads/googleads/v3/services/reach_plan_service.proto @@ -83,7 +83,7 @@ service ReachPlanService { } } -// Request message for [ReachForecastService.ListPlannableLocations][] +// Request message for [ReachPlanService.ListPlannableLocations][google.ads.googleads.v3.services.ReachPlanService.ListPlannableLocations]. message ListPlannableLocationsRequest { } @@ -154,7 +154,7 @@ message PlannableTargeting { repeated google.ads.googleads.v3.enums.ReachPlanNetworkEnum.ReachPlanNetwork networks = 4; } -// Request message for [ReachForecastService.GenerateProductMixIdeas][]. +// Request message for [ReachPlanService.GenerateProductMixIdeas][google.ads.googleads.v3.services.ReachPlanService.GenerateProductMixIdeas]. message GenerateProductMixIdeasRequest { // Required. The ID of the customer. string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; @@ -235,7 +235,10 @@ message GenerateReachForecastRequest { // This is equivalent to the frequency cap exposed in Google Ads when creating // a campaign, it represents the maximum number of times an ad can be shown to // the same user. - // If not specified, no cap is applied. + // If not specified no cap is applied. + // + // This field is deprecated in v4 and will eventually be removed. + // Please use cookie_frequency_cap_setting instead. google.protobuf.Int32Value cookie_frequency_cap = 4; // Desired minimum effective frequency (the number of times a person was diff --git a/google/ads/googleads/v3/services/user_data_service.proto b/google/ads/googleads/v3/services/user_data_service.proto index 2b8a9fcd13..b799c096f7 100644 --- a/google/ads/googleads/v3/services/user_data_service.proto +++ b/google/ads/googleads/v3/services/user_data_service.proto @@ -34,7 +34,7 @@ option ruby_package = "Google::Ads::GoogleAds::V3::Services"; // Proto file describing the UserDataService. // Service to manage user data uploads. -// Accessible to whitelisted customers only. +// Accessible only to customers on the allow-list. service UserDataService { option (google.api.default_host) = "googleads.googleapis.com"; diff --git a/google/ads/googleads/v4/common/offline_user_data.proto b/google/ads/googleads/v4/common/offline_user_data.proto index 407a0f5580..443373c1ec 100644 --- a/google/ads/googleads/v4/common/offline_user_data.proto +++ b/google/ads/googleads/v4/common/offline_user_data.proto @@ -95,15 +95,15 @@ message TransactionAttribute { google.protobuf.StringValue conversion_action = 4; // Transaction order id. - // Accessible to whitelisted customers only. + // Accessible only to customers on the allow-list. google.protobuf.StringValue order_id = 5; // Store attributes of the transaction. - // Accessible to whitelisted customers only. + // Accessible only to customers on the allow-list. StoreAttribute store_attribute = 6; // Value of the custom variable for each transaction. - // Accessible to whitelisted customers only. + // Accessible only to customers on the allow-list. google.protobuf.StringValue custom_value = 7; } @@ -149,7 +149,7 @@ message StoreSalesMetadata { // Name of the store sales custom variable key. A predefined key that // can be applied to the transaction and then later used for custom // segmentation in reporting. - // Accessible to whitelisted customers only. + // Accessible only to customers on the allow-list. google.protobuf.StringValue custom_key = 4; // Metadata for a third party Store Sales upload. @@ -157,8 +157,9 @@ message StoreSalesMetadata { } // Metadata for a third party Store Sales. -// This is a whitelisted only product. Please contact your Google business -// development representative for details on the upload configuration. +// This product is only for customers on the allow-list. Please contact your +// Google business development representative for details on the upload +// configuration. message StoreSalesThirdPartyMetadata { // Time the advertiser uploaded the data to the partner. Required. // The format is "YYYY-MM-DD HH:MM:SS". diff --git a/google/ads/googleads/v4/common/user_lists.proto b/google/ads/googleads/v4/common/user_lists.proto index 2359112edf..6f185dbdcc 100644 --- a/google/ads/googleads/v4/common/user_lists.proto +++ b/google/ads/googleads/v4/common/user_lists.proto @@ -66,7 +66,7 @@ message CrmBasedUserListInfo { google.ads.googleads.v4.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. + // Only customers on the allow-list can create third-party sourced CRM lists. google.ads.googleads.v4.enums.UserListCrmDataSourceTypeEnum.UserListCrmDataSourceType data_source_type = 3; } diff --git a/google/ads/googleads/v4/enums/access_role.proto b/google/ads/googleads/v4/enums/access_role.proto index 3cca63d6b4..958adc1d34 100644 --- a/google/ads/googleads/v4/enums/access_role.proto +++ b/google/ads/googleads/v4/enums/access_role.proto @@ -45,6 +45,10 @@ message AccessRoleEnum { // Can view campaigns and account changes, but cannot make edits. READ_ONLY = 4; + + // Role for \"email only\" access. Represents an email recipient rather than + // a true User entity. + EMAIL_ONLY = 5; } diff --git a/google/ads/googleads/v4/enums/conversion_action_type.proto b/google/ads/googleads/v4/enums/conversion_action_type.proto index 31ea145808..b338960450 100644 --- a/google/ads/googleads/v4/enums/conversion_action_type.proto +++ b/google/ads/googleads/v4/enums/conversion_action_type.proto @@ -70,13 +70,13 @@ message ConversionActionTypeEnum { // Store Sales conversion based on first-party or third-party merchant // data uploads. - // Only whitelisted customers can use store sales direct upload types. + // Only customers on the allowlist can use store sales direct upload types. STORE_SALES_DIRECT_UPLOAD = 10; // Store Sales conversion based on first-party or third-party merchant // data uploads and/or from in-store purchases using cards from payment // networks. - // Only whitelisted customers can use store sales types. + // Only customers on the allowlist can use store sales types. STORE_SALES = 11; // Android app first open conversions tracked via Firebase. diff --git a/google/ads/googleads/v4/enums/simulation_type.proto b/google/ads/googleads/v4/enums/simulation_type.proto index 2ae17e74ed..46755abe3c 100644 --- a/google/ads/googleads/v4/enums/simulation_type.proto +++ b/google/ads/googleads/v4/enums/simulation_type.proto @@ -39,13 +39,13 @@ message SimulationTypeEnum { // Used for return value only. Represents value unknown in this version. UNKNOWN = 1; - // The simulation is for a cpc bid. + // The simulation is for a CPC bid. CPC_BID = 2; - // The simulation is for a cpv bid. + // The simulation is for a CPV bid. CPV_BID = 3; - // The simulation is for a cpa target. + // The simulation is for a CPA target. TARGET_CPA = 4; // The simulation is for a bid modifier. diff --git a/google/ads/googleads/v4/errors/ad_group_error.proto b/google/ads/googleads/v4/errors/ad_group_error.proto index c794f67dfa..d746120ea1 100644 --- a/google/ads/googleads/v4/errors/ad_group_error.proto +++ b/google/ads/googleads/v4/errors/ad_group_error.proto @@ -78,7 +78,8 @@ message AdGroupErrorEnum { // campaigns that have DynamicSearchAdsSetting attached. CANNOT_ADD_ADGROUP_OF_TYPE_DSA_TO_CAMPAIGN_WITHOUT_DSA_SETTING = 14; - // Promoted hotels ad groups are only available to whitelisted customers. + // Promoted hotels ad groups are only available to customers on the + // allow-list. PROMOTED_HOTEL_AD_GROUPS_NOT_AVAILABLE_FOR_CUSTOMER = 15; } diff --git a/google/ads/googleads/v4/errors/asset_error.proto b/google/ads/googleads/v4/errors/asset_error.proto index 82f5ec334a..55e327fbdb 100644 --- a/google/ads/googleads/v4/errors/asset_error.proto +++ b/google/ads/googleads/v4/errors/asset_error.proto @@ -39,7 +39,7 @@ message AssetErrorEnum { // The received error code is not known in this version. UNKNOWN = 1; - // The customer is not whitelisted for this asset type. + // The customer is not on the allow-list for this asset type. CUSTOMER_NOT_WHITELISTED_FOR_ASSET_TYPE = 2; // Assets are duplicated across operations. diff --git a/google/ads/googleads/v4/errors/authorization_error.proto b/google/ads/googleads/v4/errors/authorization_error.proto index ca826f75cc..958b93efb4 100644 --- a/google/ads/googleads/v4/errors/authorization_error.proto +++ b/google/ads/googleads/v4/errors/authorization_error.proto @@ -45,7 +45,7 @@ message AuthorizationErrorEnum { // https://developers.google.com/google-ads/api/docs/concepts/call-structure#cid USER_PERMISSION_DENIED = 2; - // The developer token is not whitelisted. + // The developer token is not on the allow-list. DEVELOPER_TOKEN_NOT_WHITELISTED = 3; // The developer token is not allowed with the project sent in the request. diff --git a/google/ads/googleads/v4/errors/bidding_error.proto b/google/ads/googleads/v4/errors/bidding_error.proto index 611db77c6a..c2d3d9a05e 100644 --- a/google/ads/googleads/v4/errors/bidding_error.proto +++ b/google/ads/googleads/v4/errors/bidding_error.proto @@ -57,10 +57,11 @@ message BiddingErrorEnum { // Bidding strategy is not available for the account type. BIDDING_STRATEGY_NOT_AVAILABLE_FOR_ACCOUNT_TYPE = 18; - // Conversion tracking is not enabled for the campaign for VBB transition. + // Conversion tracking is not enabled in the campaign that has YouTube + // Video Builder transitions. CONVERSION_TRACKING_NOT_ENABLED = 19; - // Not enough conversions tracked for VBB transitions. + // Not enough conversions tracked for YouTube Video Builder transitions. NOT_ENOUGH_CONVERSIONS = 20; // Campaign can not be created with given bidding strategy. It can be @@ -76,7 +77,7 @@ message BiddingErrorEnum { 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. + // customers on the allow-list can use this. PAY_PER_CONVERSION_NOT_AVAILABLE_FOR_CUSTOMER = 25; // Pay per conversion is not allowed with Target CPA. diff --git a/google/ads/googleads/v4/errors/campaign_budget_error.proto b/google/ads/googleads/v4/errors/campaign_budget_error.proto index 0e7749a1dd..2bec50f9e1 100644 --- a/google/ads/googleads/v4/errors/campaign_budget_error.proto +++ b/google/ads/googleads/v4/errors/campaign_budget_error.proto @@ -49,7 +49,7 @@ message CampaignBudgetErrorEnum { // campaign budget cannot be removed. CAMPAIGN_BUDGET_IN_USE = 3; - // Customer is not whitelisted for this campaign budget period. + // Customer is not on the allow-list for this campaign budget period. CAMPAIGN_BUDGET_PERIOD_NOT_AVAILABLE = 4; // This field is not mutable on implicitly shared campaign budgets diff --git a/google/ads/googleads/v4/errors/criterion_error.proto b/google/ads/googleads/v4/errors/criterion_error.proto index 7ac3ba20af..40e1e25f08 100644 --- a/google/ads/googleads/v4/errors/criterion_error.proto +++ b/google/ads/googleads/v4/errors/criterion_error.proto @@ -78,7 +78,7 @@ message CriterionErrorEnum { // Indicates the URL contains multiple comma separated URLs. PLACEMENT_URL_HAS_MULTIPLE_SITES_IN_LINE = 14; - // Indicates the domain is blacklisted. + // Indicates the domain is blocked. PLACEMENT_IS_NOT_AVAILABLE_FOR_TARGETING_OR_EXCLUSION = 15; // Invalid topic path. diff --git a/google/ads/googleads/v4/errors/extension_feed_item_error.proto b/google/ads/googleads/v4/errors/extension_feed_item_error.proto index fd36fc7a86..29d4493452 100644 --- a/google/ads/googleads/v4/errors/extension_feed_item_error.proto +++ b/google/ads/googleads/v4/errors/extension_feed_item_error.proto @@ -84,7 +84,8 @@ message ExtensionFeedItemErrorEnum { // Call conversion action provided for a call extension is invalid. INVALID_CALL_CONVERSION_ACTION = 14; - // For a call extension, the customer is not whitelisted for call tracking. + // For a call extension, the customer is not on the allow-list for call + // tracking. CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING = 15; // Call tracking is not supported for the given country for a call @@ -105,7 +106,7 @@ message ExtensionFeedItemErrorEnum { // Hyphen character present in the review text for a review extension. HYPHENS_IN_REVIEW_EXTENSION_SNIPPET = 20; - // A blacklisted review source name or url was provided for a review + // A denylisted review source name or url was provided for a review // extension. REVIEW_EXTENSION_SOURCE_INELIGIBLE = 21; diff --git a/google/ads/googleads/v4/errors/extension_setting_error.proto b/google/ads/googleads/v4/errors/extension_setting_error.proto index 42185b2ad0..f059883d02 100644 --- a/google/ads/googleads/v4/errors/extension_setting_error.proto +++ b/google/ads/googleads/v4/errors/extension_setting_error.proto @@ -128,7 +128,8 @@ message ExtensionSettingErrorEnum { // Call conversion type id provided for a call extension is invalid. INVALID_CALL_CONVERSION_TYPE_ID = 28; - // For a call extension, the customer is not whitelisted for call tracking. + // For a call extension, the customer is not on the allow-list for call + // tracking. CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING = 29; // Call tracking is not supported for the given country for a call @@ -144,7 +145,7 @@ message ExtensionSettingErrorEnum { // Hyphen character present in the review text for a review extension. HYPHENS_IN_REVIEW_EXTENSION_SNIPPET = 33; - // A blacklisted review source name or url was provided for a review + // A blocked review source name or url was provided for a review // extension. REVIEW_EXTENSION_SOURCE_NOT_ELIGIBLE = 34; diff --git a/google/ads/googleads/v4/errors/feed_item_validation_error.proto b/google/ads/googleads/v4/errors/feed_item_validation_error.proto index 585d38b69f..279bdc2d51 100644 --- a/google/ads/googleads/v4/errors/feed_item_validation_error.proto +++ b/google/ads/googleads/v4/errors/feed_item_validation_error.proto @@ -69,7 +69,7 @@ message FeedItemValidationErrorEnum { // Call tracking is not supported in the selected country. CALLTRACKING_NOT_SUPPORTED_FOR_COUNTRY = 11; - // Customer is not whitelisted for call tracking. + // Customer is not on the allow-list for call tracking. CUSTOMER_NOT_WHITELISTED_FOR_CALLTRACKING = 12; // Country code is invalid. diff --git a/google/ads/googleads/v4/errors/field_error.proto b/google/ads/googleads/v4/errors/field_error.proto index 5104e5fe77..10b810d69a 100644 --- a/google/ads/googleads/v4/errors/field_error.proto +++ b/google/ads/googleads/v4/errors/field_error.proto @@ -57,7 +57,7 @@ message FieldErrorEnum { // The field cannot be cleared. FIELD_CANNOT_BE_CLEARED = 7; - // The field's value is on a blacklist for this field. + // The field's value is on a deny-list for this field. BLACKLISTED_VALUE = 8; } diff --git a/google/ads/googleads/v4/errors/offline_user_data_job_error.proto b/google/ads/googleads/v4/errors/offline_user_data_job_error.proto index caaea4813f..dd081a4b9a 100644 --- a/google/ads/googleads/v4/errors/offline_user_data_job_error.proto +++ b/google/ads/googleads/v4/errors/offline_user_data_job_error.proto @@ -45,7 +45,7 @@ message OfflineUserDataJobErrorEnum { // Type of the user list is not applicable for the job. INVALID_USER_LIST_TYPE = 4; - // Customer is not whitelisted for using user ID in upload data. + // Customer is not on the allow-list for using user ID in upload data. NOT_WHITELISTED_FOR_USER_ID = 5; // Upload data is not compatible with the upload key type of the associated @@ -61,10 +61,10 @@ message OfflineUserDataJobErrorEnum { // Request is exceeding the maximum number of user identifiers allowed. TOO_MANY_USER_IDENTIFIERS = 9; - // Customer is not whitelisted for store sales direct data. + // Customer is not on the allow-list for store sales direct data. NOT_WHITELISTED_FOR_STORE_SALES_DIRECT = 10; - // Customer is not whitelisted for unified store sales data. + // Customer is not on the allow-list for unified store sales data. NOT_WHITELISTED_FOR_UNIFIED_STORE_SALES = 28; // The partner ID in store sales direct metadata is invalid. diff --git a/google/ads/googleads/v4/errors/user_list_error.proto b/google/ads/googleads/v4/errors/user_list_error.proto index a1eddd41b3..1473ecc62c 100644 --- a/google/ads/googleads/v4/errors/user_list_error.proto +++ b/google/ads/googleads/v4/errors/user_list_error.proto @@ -110,8 +110,8 @@ message UserListErrorEnum { // 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 needs to be on the allow-list to use remarketing lists created + // from advertiser uploaded data (e.g., Customer Match lists). ADVERTISER_NOT_WHITELISTED_FOR_USING_UPLOADED_DATA = 33; // The provided rule_type is not supported for the user list. diff --git a/google/ads/googleads/v4/resources/ad_group_bid_modifier.proto b/google/ads/googleads/v4/resources/ad_group_bid_modifier.proto index 36ca51f72e..8638508eae 100644 --- a/google/ads/googleads/v4/resources/ad_group_bid_modifier.proto +++ b/google/ads/googleads/v4/resources/ad_group_bid_modifier.proto @@ -86,6 +86,8 @@ message AdGroupBidModifier { google.ads.googleads.v4.enums.BidModifierSourceEnum.BidModifierSource bid_modifier_source = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; // The criterion of this ad group bid modifier. + // + // Required in create operations starting in V5. oneof criterion { // Immutable. Criterion for hotel date selection (default dates vs. user selected). google.ads.googleads.v4.common.HotelDateSelectionTypeInfo hotel_date_selection_type = 5 [(google.api.field_behavior) = IMMUTABLE]; diff --git a/google/ads/googleads/v4/resources/ad_group_criterion.proto b/google/ads/googleads/v4/resources/ad_group_criterion.proto index 3196c40335..ca145647be 100644 --- a/google/ads/googleads/v4/resources/ad_group_criterion.proto +++ b/google/ads/googleads/v4/resources/ad_group_criterion.proto @@ -105,6 +105,15 @@ message AdGroupCriterion { google.protobuf.Int64Value criterion_id = 26 [(google.api.field_behavior) = OUTPUT_ONLY]; // The status of the criterion. + // + // This is the status of the ad group criterion entity, set by the client. + // Note: UI reports may incorporate additional information that affects + // whether a criterion is eligible to run. In some cases a criterion that's + // REMOVED in the API can still show as enabled in the UI. + // For example, campaigns by default show to users of all age ranges unless + // excluded. The UI will show each age range as "enabled", since they're + // eligible to see the ads; but AdGroupCriterion.status will show "removed", + // since no positive criterion was added. google.ads.googleads.v4.enums.AdGroupCriterionStatusEnum.AdGroupCriterionStatus status = 3; // Output only. Information regarding the quality of the criterion. diff --git a/google/ads/googleads/v4/resources/campaign.proto b/google/ads/googleads/v4/resources/campaign.proto index 730707809b..d24d4cfff6 100644 --- a/google/ads/googleads/v4/resources/campaign.proto +++ b/google/ads/googleads/v4/resources/campaign.proto @@ -85,15 +85,6 @@ message Campaign { google.protobuf.Int64Value hotel_center_id = 1 [(google.api.field_behavior) = IMMUTABLE]; } - // Selective optimization setting for this campaign, which includes a set of - // conversion actions to optimize this campaign towards. - message SelectiveOptimization { - // The selected set of conversion actions for optimizing this campaign. - repeated google.protobuf.StringValue conversion_actions = 1 [(google.api.resource_reference) = { - type: "googleads.googleapis.com/ConversionAction" - }]; - } - // The setting for controlling Dynamic Search Ads (DSA). message DynamicSearchAdsSetting { // The Internet domain name that this setting represents, e.g., "google.com" @@ -124,10 +115,24 @@ message Campaign { google.ads.googleads.v4.enums.NegativeGeoTargetTypeEnum.NegativeGeoTargetType negative_geo_target_type = 2; } - // Campaign setting for local campaigns. - message LocalCampaignSetting { - // The location source type for this local campaign. - google.ads.googleads.v4.enums.LocationSourceTypeEnum.LocationSourceType location_source_type = 1; + // Campaign-level settings for App Campaigns. + message AppCampaignSetting { + // Represents the goal which the bidding strategy of this app campaign + // should optimize towards. + google.ads.googleads.v4.enums.AppCampaignBiddingStrategyGoalTypeEnum.AppCampaignBiddingStrategyGoalType bidding_strategy_goal_type = 1; + + // Immutable. A string that uniquely identifies a mobile application. + google.protobuf.StringValue app_id = 2 [(google.api.field_behavior) = IMMUTABLE]; + + // Immutable. The application store that distributes this specific app. + google.ads.googleads.v4.enums.AppCampaignAppStoreEnum.AppCampaignAppStore app_store = 3 [(google.api.field_behavior) = IMMUTABLE]; + } + + // Optimization goal setting for this campaign, which includes a set of + // optimization goal types. + message OptimizationGoalSetting { + // The list of optimization goal types. + repeated google.ads.googleads.v4.enums.OptimizationGoalTypeEnum.OptimizationGoalType optimization_goal_types = 1; } // The setting for Shopping campaigns. Defines the universe of products that @@ -157,30 +162,16 @@ message Campaign { google.protobuf.BoolValue enable_local = 4; } - // Optimization goal setting for this campaign, which includes a set of - // optimization goal types. - message OptimizationGoalSetting { - // The list of optimization goal types. - repeated google.ads.googleads.v4.enums.OptimizationGoalTypeEnum.OptimizationGoalType optimization_goal_types = 1; - } - // Campaign-level settings for tracking information. message TrackingSetting { // Output only. The url used for dynamic tracking. google.protobuf.StringValue tracking_url = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } - // Campaign-level settings for App Campaigns. - message AppCampaignSetting { - // Represents the goal which the bidding strategy of this app campaign - // should optimize towards. - google.ads.googleads.v4.enums.AppCampaignBiddingStrategyGoalTypeEnum.AppCampaignBiddingStrategyGoalType bidding_strategy_goal_type = 1; - - // Immutable. A string that uniquely identifies a mobile application. - google.protobuf.StringValue app_id = 2 [(google.api.field_behavior) = IMMUTABLE]; - - // Immutable. The application store that distributes this specific app. - google.ads.googleads.v4.enums.AppCampaignAppStoreEnum.AppCampaignAppStore app_store = 3 [(google.api.field_behavior) = IMMUTABLE]; + // Campaign setting for local campaigns. + message LocalCampaignSetting { + // The location source type for this local campaign. + google.ads.googleads.v4.enums.LocationSourceTypeEnum.LocationSourceType location_source_type = 1; } // Describes how unbranded pharma ads will be displayed. @@ -193,6 +184,15 @@ message Campaign { google.ads.googleads.v4.enums.VanityPharmaTextEnum.VanityPharmaText vanity_pharma_text = 2; } + // Selective optimization setting for this campaign, which includes a set of + // conversion actions to optimize this campaign towards. + message SelectiveOptimization { + // The selected set of conversion actions for optimizing this campaign. + repeated google.protobuf.StringValue conversion_actions = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/ConversionAction" + }]; + } + // Immutable. The resource name of the campaign. // Campaign resource names have the form: // diff --git a/google/ads/googleads/v4/resources/campaign_bid_modifier.proto b/google/ads/googleads/v4/resources/campaign_bid_modifier.proto index af3213543b..0ae38ffff5 100644 --- a/google/ads/googleads/v4/resources/campaign_bid_modifier.proto +++ b/google/ads/googleads/v4/resources/campaign_bid_modifier.proto @@ -68,6 +68,8 @@ message CampaignBidModifier { google.protobuf.DoubleValue bid_modifier = 4; // The criterion of this campaign bid modifier. + // + // Required in create operations starting in V5. oneof criterion { // Immutable. Criterion for interaction type. Only supported for search campaigns. google.ads.googleads.v4.common.InteractionTypeInfo interaction_type = 5 [(google.api.field_behavior) = IMMUTABLE]; diff --git a/google/ads/googleads/v4/resources/customer_client_link.proto b/google/ads/googleads/v4/resources/customer_client_link.proto index afc0e4e58e..51bdab9e8e 100644 --- a/google/ads/googleads/v4/resources/customer_client_link.proto +++ b/google/ads/googleads/v4/resources/customer_client_link.proto @@ -60,7 +60,7 @@ message CustomerClientLink { google.ads.googleads.v4.enums.ManagerLinkStatusEnum.ManagerLinkStatus status = 5; // The visibility of the link. Users can choose whether or not to see hidden - // links in the AdWords UI. + // links in the Google Ads UI. // Default value is false google.protobuf.BoolValue hidden = 6; } diff --git a/google/ads/googleads/v4/resources/recommendation.proto b/google/ads/googleads/v4/resources/recommendation.proto index 06962d7727..195c22fd01 100644 --- a/google/ads/googleads/v4/resources/recommendation.proto +++ b/google/ads/googleads/v4/resources/recommendation.proto @@ -106,13 +106,10 @@ message Recommendation { google.protobuf.Int64Value recommended_cpc_bid_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } - // The keyword match type recommendation. - message KeywordMatchTypeRecommendation { - // Output only. The existing keyword where the match type should be more broad. - google.ads.googleads.v4.common.KeywordInfo keyword = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The recommended new match type. - google.ads.googleads.v4.enums.KeywordMatchTypeEnum.KeywordMatchType recommended_match_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + // The Call extension recommendation. + message CallExtensionRecommendation { + // Output only. Call extensions recommended to be added. + repeated google.ads.googleads.v4.common.CallFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The text ad recommendation. @@ -130,10 +127,13 @@ message Recommendation { google.protobuf.StringValue auto_apply_date = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; } - // The Call extension recommendation. - message CallExtensionRecommendation { - // Output only. Call extensions recommended to be added. - repeated google.ads.googleads.v4.common.CallFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + // The keyword match type recommendation. + message KeywordMatchTypeRecommendation { + // Output only. The existing keyword where the match type should be more broad. + google.ads.googleads.v4.common.KeywordInfo keyword = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The recommended new match type. + google.ads.googleads.v4.enums.KeywordMatchTypeEnum.KeywordMatchType recommended_match_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // The Target CPA opt-in recommendation. @@ -164,31 +164,28 @@ message Recommendation { google.protobuf.Int64Value recommended_target_cpa_micros = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } - // The Search Partners Opt-In recommendation. - message SearchPartnersOptInRecommendation { - - } - - // The move unused budget recommendation. - message MoveUnusedBudgetRecommendation { - // Output only. The excess budget's resource_name. - google.protobuf.StringValue excess_campaign_budget = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; - - // Output only. The recommendation for the constrained budget to increase. - CampaignBudgetRecommendation budget_recommendation = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; - } - - // The Optimize Ad Rotation recommendation. - message OptimizeAdRotationRecommendation { - - } - // The Maximize Conversions Opt-In recommendation. message MaximizeConversionsOptInRecommendation { // Output only. The recommended new budget amount. google.protobuf.Int64Value recommended_budget_amount_micros = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } + // The Sitelink extension recommendation. + message SitelinkExtensionRecommendation { + // Output only. Sitelink extensions recommended to be added. + repeated google.ads.googleads.v4.common.SitelinkFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // The 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 { // Output only. The recommended new budget amount. @@ -196,8 +193,8 @@ message Recommendation { google.protobuf.Int64Value recommended_budget_amount_micros = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } - // The Enhanced Cost-Per-Click Opt-In recommendation. - message EnhancedCpcOptInRecommendation { + // The Optimize Ad Rotation recommendation. + message OptimizeAdRotationRecommendation { } @@ -207,10 +204,13 @@ message Recommendation { repeated google.ads.googleads.v4.common.CalloutFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; } - // The Sitelink extension recommendation. - message SitelinkExtensionRecommendation { - // Output only. Sitelink extensions recommended to be added. - repeated google.ads.googleads.v4.common.SitelinkFeedItem recommended_extensions = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + // The move unused budget recommendation. + message MoveUnusedBudgetRecommendation { + // Output only. The excess budget's resource_name. + google.protobuf.StringValue excess_campaign_budget = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The recommendation for the constrained budget to increase. + CampaignBudgetRecommendation budget_recommendation = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Immutable. The resource name of the recommendation. @@ -249,7 +249,7 @@ message Recommendation { // CALL_EXTENSION, CALLOUT_EXTENSION, ENHANCED_CPC_OPT_IN, KEYWORD, // KEYWORD_MATCH_TYPE, MAXIMIZE_CLICKS_OPT_IN, MAXIMIZE_CONVERSIONS_OPT_IN, // OPTIMIZE_AD_ROTATION, SEARCH_PARTNERS_OPT_IN, SITELINK_EXTENSION, - // TARGET_CPA_OPT_IN, TEXT_AD + // TARGET_CPA_OPT_IN, TARGET_ROAS_OPT_IN, TEXT_AD google.protobuf.StringValue campaign = 6 [ (google.api.field_behavior) = OUTPUT_ONLY, (google.api.resource_reference) = { diff --git a/google/ads/googleads/v4/services/account_link_service.proto b/google/ads/googleads/v4/services/account_link_service.proto index 141b7b4c6b..00bcc2e14c 100644 --- a/google/ads/googleads/v4/services/account_link_service.proto +++ b/google/ads/googleads/v4/services/account_link_service.proto @@ -45,6 +45,9 @@ service AccountLinkService { } // Creates or removes an account link. + // From V5, create is not supported through + // AccountLinkService.MutateAccountLink. Please use + // AccountLinkService.CreateAccountLink instead. rpc MutateAccountLink(MutateAccountLinkRequest) returns (MutateAccountLinkResponse) { option (google.api.http) = { post: "/v4/customers/{customer_id=*}/accountLinks:mutate" diff --git a/google/ads/googleads/v4/services/ad_group_audience_view_service.proto b/google/ads/googleads/v4/services/ad_group_audience_view_service.proto index 281aabebdd..19ab2f033f 100644 --- a/google/ads/googleads/v4/services/ad_group_audience_view_service.proto +++ b/google/ads/googleads/v4/services/ad_group_audience_view_service.proto @@ -46,7 +46,7 @@ service AdGroupAudienceViewService { } } -// Request message for [AdGroupAudienceViewService.GetAdGoupAudienceView][]. +// Request message for [AdGroupAudienceViewService.GetAdGroupAudienceView][google.ads.googleads.v4.services.AdGroupAudienceViewService.GetAdGroupAudienceView]. message GetAdGroupAudienceViewRequest { // Required. The resource name of the ad group audience view to fetch. string resource_name = 1 [ diff --git a/google/ads/googleads/v4/services/batch_job_service.proto b/google/ads/googleads/v4/services/batch_job_service.proto index c86c23064a..1edc33d699 100644 --- a/google/ads/googleads/v4/services/batch_job_service.proto +++ b/google/ads/googleads/v4/services/batch_job_service.proto @@ -94,7 +94,7 @@ service BatchJobService { } } -// Request message for [BatchJobService.MutateBatchJobRequest][] +// Request message for [BatchJobService.MutateBatchJob][google.ads.googleads.v4.services.BatchJobService.MutateBatchJob]. message MutateBatchJobRequest { // Required. The ID of the customer for which to create a batch job. string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; @@ -103,7 +103,7 @@ message MutateBatchJobRequest { BatchJobOperation operation = 2 [(google.api.field_behavior) = REQUIRED]; } -// A single operation (create or remove) on a batch job. +// A single operation on a batch job. message BatchJobOperation { // The mutate operation. oneof operation { @@ -118,7 +118,7 @@ message BatchJobOperation { } } -// Response message for [BatchJobService.MutateBatchJobResponse][] +// Response message for [BatchJobService.MutateBatchJob][google.ads.googleads.v4.services.BatchJobService.MutateBatchJob]. message MutateBatchJobResponse { // The result for the mutate. MutateBatchJobResult result = 1; @@ -130,7 +130,7 @@ message MutateBatchJobResult { string resource_name = 1; } -// Request message for [BatchJobService.GetBatchJob][google.ads.googleads.v4.services.BatchJobService.GetBatchJob] +// Request message for [BatchJobService.GetBatchJob][google.ads.googleads.v4.services.BatchJobService.GetBatchJob]. message GetBatchJobRequest { // Required. The resource name of the batch job to get. string resource_name = 1 [ @@ -141,7 +141,7 @@ message GetBatchJobRequest { ]; } -// Request message for [BatchJobService.RunBatchJob][google.ads.googleads.v4.services.BatchJobService.RunBatchJob] +// Request message for [BatchJobService.RunBatchJob][google.ads.googleads.v4.services.BatchJobService.RunBatchJob]. message RunBatchJobRequest { // Required. The resource name of the BatchJob to run. string resource_name = 1 [ @@ -152,7 +152,7 @@ message RunBatchJobRequest { ]; } -// Request message for [BatchJobService.AddBatchJobOperations][google.ads.googleads.v4.services.BatchJobService.AddBatchJobOperations] +// Request message for [BatchJobService.AddBatchJobOperations][google.ads.googleads.v4.services.BatchJobService.AddBatchJobOperations]. message AddBatchJobOperationsRequest { // Required. The resource name of the batch job. string resource_name = 1 [ @@ -182,7 +182,7 @@ message AddBatchJobOperationsRequest { repeated MutateOperation mutate_operations = 3 [(google.api.field_behavior) = REQUIRED]; } -// Response message for [BatchJobService.AddBatchJobOperations][google.ads.googleads.v4.services.BatchJobService.AddBatchJobOperations] +// Response message for [BatchJobService.AddBatchJobOperations][google.ads.googleads.v4.services.BatchJobService.AddBatchJobOperations]. message AddBatchJobOperationsResponse { // The total number of operations added so far for this batch job. int64 total_operations = 1; diff --git a/google/ads/googleads/v4/services/campaign_bid_modifier_service.proto b/google/ads/googleads/v4/services/campaign_bid_modifier_service.proto index 95cd0b910b..58e92802b8 100644 --- a/google/ads/googleads/v4/services/campaign_bid_modifier_service.proto +++ b/google/ads/googleads/v4/services/campaign_bid_modifier_service.proto @@ -69,7 +69,8 @@ message GetCampaignBidModifierRequest { ]; } -// Request message for [CampaignBidModifierService.MutateCampaignBidModifier][]. +// Request message for +// [CampaignBidModifierService.MutateCampaignBidModifiers][google.ads.googleads.v4.services.CampaignBidModifierService.MutateCampaignBidModifiers]. message MutateCampaignBidModifiersRequest { // Required. ID of the customer whose campaign bid modifiers are being modified. string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; diff --git a/google/ads/googleads/v4/services/conversion_adjustment_upload_service.proto b/google/ads/googleads/v4/services/conversion_adjustment_upload_service.proto index 34828a3c12..a1212364df 100644 --- a/google/ads/googleads/v4/services/conversion_adjustment_upload_service.proto +++ b/google/ads/googleads/v4/services/conversion_adjustment_upload_service.proto @@ -106,6 +106,10 @@ message ConversionAdjustment { // Information needed to restate the conversion's value. // Required for restatements. Should not be supplied for retractions. An error // will be returned if provided for a retraction. + // NOTE: If you want to upload a second restatement with a different adjusted + // value, it must have a new, more recent, adjustment occurrence time. + // Otherwise, it will be treated as a duplicate of the previous restatement + // and ignored. RestatementValue restatement_value = 6; // Identifies the conversion to be adjusted. @@ -126,6 +130,10 @@ message RestatementValue { // The restated conversion value. This is the value of the conversion after // restatement. For example, to change the value of a conversion from 100 to // 70, an adjusted value of 70 should be reported. + // NOTE: If you want to upload a second restatement with a different adjusted + // value, it must have a new, more recent, adjustment occurrence time. + // Otherwise, it will be treated as a duplicate of the previous restatement + // and ignored. google.protobuf.DoubleValue adjusted_value = 1; // The currency of the restated value. If not provided, then the default diff --git a/google/ads/googleads/v4/services/customer_service.proto b/google/ads/googleads/v4/services/customer_service.proto index 342ec1e43e..46d44bf4eb 100644 --- a/google/ads/googleads/v4/services/customer_service.proto +++ b/google/ads/googleads/v4/services/customer_service.proto @@ -109,11 +109,11 @@ message CreateCustomerClientRequest { google.ads.googleads.v4.resources.Customer customer_client = 2 [(google.api.field_behavior) = REQUIRED]; // Email address of the user who should be invited on the created client - // customer. Accessible to whitelisted customers only. + // customer. Accessible only to customers on the allow-list. google.protobuf.StringValue email_address = 3; // The proposed role of user on the created client customer. - // Accessible to whitelisted customers only. + // Accessible only to customers on the allow-list. google.ads.googleads.v4.enums.AccessRoleEnum.AccessRole access_role = 4; } diff --git a/google/ads/googleads/v4/services/geo_target_constant_service.proto b/google/ads/googleads/v4/services/geo_target_constant_service.proto index fa627185eb..1c106b4f59 100644 --- a/google/ads/googleads/v4/services/geo_target_constant_service.proto +++ b/google/ads/googleads/v4/services/geo_target_constant_service.proto @@ -67,7 +67,7 @@ message GetGeoTargetConstantRequest { } // Request message for -// [GeoTargetConstantService.SuggestGeoTargetConstantsRequest][]. +// [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v4.services.GeoTargetConstantService.SuggestGeoTargetConstants]. message SuggestGeoTargetConstantsRequest { // A list of location names. message LocationNames { @@ -99,7 +99,7 @@ message SuggestGeoTargetConstantsRequest { } } -// Response message for [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v4.services.GeoTargetConstantService.SuggestGeoTargetConstants] +// Response message for [GeoTargetConstantService.SuggestGeoTargetConstants][google.ads.googleads.v4.services.GeoTargetConstantService.SuggestGeoTargetConstants]. message SuggestGeoTargetConstantsResponse { // Geo target constant suggestions. repeated GeoTargetConstantSuggestion geo_target_constant_suggestions = 1; diff --git a/google/ads/googleads/v4/services/keyword_plan_ad_group_service.proto b/google/ads/googleads/v4/services/keyword_plan_ad_group_service.proto index b04cbdeff6..71a62b008b 100644 --- a/google/ads/googleads/v4/services/keyword_plan_ad_group_service.proto +++ b/google/ads/googleads/v4/services/keyword_plan_ad_group_service.proto @@ -120,7 +120,8 @@ message MutateKeywordPlanAdGroupsResponse { // we return an RPC level error. google.rpc.Status partial_failure_error = 3; - // All results for the mutate. + // All results for the mutate. The order of the results is determined by the + // order of the keywords in the original request. repeated MutateKeywordPlanAdGroupResult results = 2; } diff --git a/google/ads/googleads/v4/services/keyword_plan_idea_service.proto b/google/ads/googleads/v4/services/keyword_plan_idea_service.proto index dd8cfab924..1ec940c7f5 100644 --- a/google/ads/googleads/v4/services/keyword_plan_idea_service.proto +++ b/google/ads/googleads/v4/services/keyword_plan_idea_service.proto @@ -47,7 +47,7 @@ service KeywordPlanIdeaService { } } -// Request message for [KeywordIdeaService.GenerateKeywordIdeas][]. +// Request message for [KeywordPlanIdeaService.GenerateKeywordIdeas][google.ads.googleads.v4.services.KeywordPlanIdeaService.GenerateKeywordIdeas]. message GenerateKeywordIdeasRequest { // The ID of the customer with the recommendation. string customer_id = 1; @@ -127,7 +127,7 @@ message UrlSeed { google.protobuf.StringValue url = 1; } -// Response message for [KeywordIdeaService.GenerateKeywordIdeas][]. +// Response message for [KeywordPlanIdeaService.GenerateKeywordIdeas][google.ads.googleads.v4.services.KeywordPlanIdeaService.GenerateKeywordIdeas]. message GenerateKeywordIdeaResponse { // Results of generating keyword ideas. repeated GenerateKeywordIdeaResult results = 1; diff --git a/google/ads/googleads/v4/services/keyword_plan_service.proto b/google/ads/googleads/v4/services/keyword_plan_service.proto index 96ba0120e9..499dbac4f3 100644 --- a/google/ads/googleads/v4/services/keyword_plan_service.proto +++ b/google/ads/googleads/v4/services/keyword_plan_service.proto @@ -61,8 +61,7 @@ service KeywordPlanService { // Returns the requested Keyword Plan forecast curve. // Only the bidding strategy is considered for generating forecast curve. - // The bidding strategy value (eg: max_cpc_bid_micros in maximize cpc bidding - // strategy) specified in the plan is ignored. + // The bidding strategy value specified in the plan is ignored. // // To generate a forecast at a value specified in the plan, use // KeywordPlanService.GenerateForecastMetrics. @@ -294,7 +293,9 @@ message KeywordPlanKeywordHistoricalMetrics { // 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'. + // only contain 'cars'. + // Starting V5, the list of de-duped queries will be included in + // close_variants field. google.protobuf.StringValue search_query = 1; // The historical metrics for the query associated with one or more diff --git a/google/ads/googleads/v4/services/offline_user_data_job_service.proto b/google/ads/googleads/v4/services/offline_user_data_job_service.proto index aca363ef23..8fb37b59df 100644 --- a/google/ads/googleads/v4/services/offline_user_data_job_service.proto +++ b/google/ads/googleads/v4/services/offline_user_data_job_service.proto @@ -85,7 +85,7 @@ service OfflineUserDataJobService { } // Request message for -// [OfflineUserDataJobService.CreateOfflineUserDataJobRequest][] +// [OfflineUserDataJobService.CreateOfflineUserDataJob][google.ads.googleads.v4.services.OfflineUserDataJobService.CreateOfflineUserDataJob]. message CreateOfflineUserDataJobRequest { // Required. The ID of the customer for which to create an offline user data job. string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; @@ -95,13 +95,13 @@ message CreateOfflineUserDataJobRequest { } // Response message for -// [OfflineUserDataJobService.CreateOfflineUserDataJobResponse][] +// [OfflineUserDataJobService.CreateOfflineUserDataJob][google.ads.googleads.v4.services.OfflineUserDataJobService.CreateOfflineUserDataJob]. message CreateOfflineUserDataJobResponse { // The resource name of the OfflineUserDataJob. string resource_name = 1; } -// Request message for [OfflineUserDataJobService.GetOfflineUserDataJob][google.ads.googleads.v4.services.OfflineUserDataJobService.GetOfflineUserDataJob] +// Request message for [OfflineUserDataJobService.GetOfflineUserDataJob][google.ads.googleads.v4.services.OfflineUserDataJobService.GetOfflineUserDataJob]. message GetOfflineUserDataJobRequest { // Required. The resource name of the OfflineUserDataJob to get. string resource_name = 1 [ @@ -112,7 +112,7 @@ message GetOfflineUserDataJobRequest { ]; } -// Request message for [OfflineUserDataJobService.RunOfflineUserDataJob][google.ads.googleads.v4.services.OfflineUserDataJobService.RunOfflineUserDataJob] +// Request message for [OfflineUserDataJobService.RunOfflineUserDataJob][google.ads.googleads.v4.services.OfflineUserDataJobService.RunOfflineUserDataJob]. message RunOfflineUserDataJobRequest { // Required. The resource name of the OfflineUserDataJob to run. string resource_name = 1 [ @@ -124,7 +124,7 @@ message RunOfflineUserDataJobRequest { } // Request message for -// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v4.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations] +// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v4.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]. message AddOfflineUserDataJobOperationsRequest { // Required. The resource name of the OfflineUserDataJob. string resource_name = 1 [ @@ -160,7 +160,7 @@ message OfflineUserDataJobOperation { } // Response message for -// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v4.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations] +// [OfflineUserDataJobService.AddOfflineUserDataJobOperations][google.ads.googleads.v4.services.OfflineUserDataJobService.AddOfflineUserDataJobOperations]. message AddOfflineUserDataJobOperationsResponse { // Errors that pertain to operation failures in the partial failure mode. // Returned only when partial_failure = true and all errors occur inside the diff --git a/google/ads/googleads/v4/services/product_bidding_category_constant_service.proto b/google/ads/googleads/v4/services/product_bidding_category_constant_service.proto index a5080e4c07..cd31d0aa7b 100644 --- a/google/ads/googleads/v4/services/product_bidding_category_constant_service.proto +++ b/google/ads/googleads/v4/services/product_bidding_category_constant_service.proto @@ -47,7 +47,7 @@ service ProductBiddingCategoryConstantService { } // Request message for -// [ProductBiddingCategoryService.GetProductBiddingCategory][]. +// [ProductBiddingCategoryConstantService.GetProductBiddingCategoryConstant][google.ads.googleads.v4.services.ProductBiddingCategoryConstantService.GetProductBiddingCategoryConstant]. message GetProductBiddingCategoryConstantRequest { // Required. Resource name of the Product Bidding Category to fetch. string resource_name = 1 [ diff --git a/google/ads/googleads/v4/services/reach_plan_service.proto b/google/ads/googleads/v4/services/reach_plan_service.proto index fbcb64b979..99e302b324 100644 --- a/google/ads/googleads/v4/services/reach_plan_service.proto +++ b/google/ads/googleads/v4/services/reach_plan_service.proto @@ -84,7 +84,7 @@ service ReachPlanService { } } -// Request message for [ReachForecastService.ListPlannableLocations][] +// Request message for [ReachPlanService.ListPlannableLocations][google.ads.googleads.v4.services.ReachPlanService.ListPlannableLocations]. message ListPlannableLocationsRequest { } @@ -155,7 +155,7 @@ message PlannableTargeting { repeated google.ads.googleads.v4.enums.ReachPlanNetworkEnum.ReachPlanNetwork networks = 4; } -// Request message for [ReachForecastService.GenerateProductMixIdeas][]. +// Request message for [ReachPlanService.GenerateProductMixIdeas][google.ads.googleads.v4.services.ReachPlanService.GenerateProductMixIdeas]. message GenerateProductMixIdeasRequest { // Required. The ID of the customer. string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; diff --git a/google/ads/googleads/v4/services/user_data_service.proto b/google/ads/googleads/v4/services/user_data_service.proto index e96f0f9d7e..57c42b0922 100644 --- a/google/ads/googleads/v4/services/user_data_service.proto +++ b/google/ads/googleads/v4/services/user_data_service.proto @@ -34,7 +34,7 @@ option ruby_package = "Google::Ads::GoogleAds::V4::Services"; // Proto file describing the UserDataService. // Service to manage user data uploads. -// Accessible to whitelisted customers only. +// Accessible only to customers on the allow-list. service UserDataService { option (google.api.default_host) = "googleads.googleapis.com";