google-ads-googleads 29.0.0 → 30.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/lib/google/ads/google_ads/factories/v15/operations.rb +252 -252
  4. data/lib/google/ads/google_ads/factories/v16/operations.rb +260 -260
  5. data/lib/google/ads/google_ads/factories/v17/enums.rb +40 -0
  6. data/lib/google/ads/google_ads/factories/v17/operations.rb +260 -260
  7. data/lib/google/ads/google_ads/factories/v17/resources.rb +169 -0
  8. data/lib/google/ads/google_ads/factories/v17/services.rb +26 -2
  9. data/lib/google/ads/google_ads/v17/common/bidding_pb.rb +6 -1
  10. data/lib/google/ads/google_ads/v17/common/segments_pb.rb +2 -1
  11. data/lib/google/ads/google_ads/v17/enums/ad_format_type_pb.rb +45 -0
  12. data/lib/google/ads/google_ads/v17/enums/bidding_strategy_type_pb.rb +1 -1
  13. data/lib/google/ads/google_ads/v17/enums/change_status_resource_type_pb.rb +1 -1
  14. data/lib/google/ads/google_ads/v17/enums/fixed_cpm_goal_pb.rb +45 -0
  15. data/lib/google/ads/google_ads/v17/enums/fixed_cpm_target_frequency_time_unit_pb.rb +45 -0
  16. data/lib/google/ads/google_ads/v17/enums/user_list_customer_type_category_pb.rb +1 -1
  17. data/lib/google/ads/google_ads/v17/errors/automatically_created_asset_removal_error_pb.rb +45 -0
  18. data/lib/google/ads/google_ads/v17/errors/errors_pb.rb +3 -1
  19. data/lib/google/ads/google_ads/v17/errors/shareable_preview_error_pb.rb +45 -0
  20. data/lib/google/ads/google_ads/v17/resources/ad_group_pb.rb +1 -1
  21. data/lib/google/ads/google_ads/v17/resources/campaign_pb.rb +3 -1
  22. data/lib/google/ads/google_ads/v17/resources/change_status_pb.rb +1 -1
  23. data/lib/google/ads/google_ads/v17/resources/offline_conversion_upload_client_summary_pb.rb +1 -1
  24. data/lib/google/ads/google_ads/v17/resources/offline_conversion_upload_conversion_action_summary_pb.rb +51 -0
  25. data/lib/google/ads/google_ads/v17/services/ad_group_ad_service/client.rb +109 -0
  26. data/lib/google/ads/google_ads/v17/services/ad_group_ad_service/paths.rb +17 -0
  27. data/lib/google/ads/google_ads/v17/services/ad_group_ad_service_pb.rb +5 -1
  28. data/lib/google/ads/google_ads/v17/services/ad_group_ad_service_services_pb.rb +13 -0
  29. data/lib/google/ads/google_ads/v17/services/audience_insights_service/client.rb +128 -1
  30. data/lib/google/ads/google_ads/v17/services/audience_insights_service_pb.rb +5 -1
  31. data/lib/google/ads/google_ads/v17/services/audience_insights_service_services_pb.rb +15 -0
  32. data/lib/google/ads/google_ads/v17/services/google_ads_service/paths.rb +19 -0
  33. data/lib/google/ads/google_ads/v17/services/google_ads_service_pb.rb +3 -1
  34. data/lib/google/ads/google_ads/v17/services/shareable_preview_service/client.rb +428 -0
  35. data/lib/google/ads/google_ads/v17/services/shareable_preview_service/credentials.rb +38 -0
  36. data/lib/google/ads/google_ads/v17/services/shareable_preview_service.rb +50 -0
  37. data/lib/google/ads/google_ads/v17/services/shareable_preview_service_pb.rb +55 -0
  38. data/lib/google/ads/google_ads/v17/services/shareable_preview_service_services_pb.rb +47 -0
  39. data/lib/google/ads/google_ads/v17/services.rb +1 -0
  40. data/lib/google/ads/google_ads/version.rb +1 -1
  41. metadata +14 -3
@@ -308,6 +308,108 @@ module Google
308
308
  # raise Google::Ads::GoogleAds::Error.new grpc_error.message
309
309
  end
310
310
 
311
+ ##
312
+ # Remove automatically created assets from an ad.
313
+ #
314
+ # List of thrown errors:
315
+ # [AdError]()
316
+ # [AuthenticationError]()
317
+ # [AuthorizationError]()
318
+ # [AutomaticallyCreatedAssetRemovalError]()
319
+ # [HeaderError]()
320
+ # [InternalError]()
321
+ # [MutateError]()
322
+ # [QuotaError]()
323
+ # [RequestError]()
324
+ #
325
+ # @overload remove_automatically_created_assets(request, options = nil)
326
+ # Pass arguments to `remove_automatically_created_assets` via a request object, either of type
327
+ # {::Google::Ads::GoogleAds::V17::Services::RemoveAutomaticallyCreatedAssetsRequest} or an equivalent Hash.
328
+ #
329
+ # @param request [::Google::Ads::GoogleAds::V17::Services::RemoveAutomaticallyCreatedAssetsRequest, ::Hash]
330
+ # A request object representing the call parameters. Required. To specify no
331
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
332
+ # @param options [::Gapic::CallOptions, ::Hash]
333
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
334
+ #
335
+ # @overload remove_automatically_created_assets(ad_group_ad: nil, assets_with_field_type: nil)
336
+ # Pass arguments to `remove_automatically_created_assets` via keyword arguments. Note that at
337
+ # least one keyword argument is required. To specify no parameters, or to keep all
338
+ # the default parameter values, pass an empty Hash as a request object (see above).
339
+ #
340
+ # @param ad_group_ad [::String]
341
+ # Required. The resource name of the AdGroupAd from which to remove
342
+ # automatically created assets.
343
+ # @param assets_with_field_type [::Array<::Google::Ads::GoogleAds::V17::Services::AssetsWithFieldType, ::Hash>]
344
+ # Required. List of assets with field type to be removed from the AdGroupAd.
345
+ #
346
+ # @yield [response, operation] Access the result along with the RPC operation
347
+ # @yieldparam response [::Google::Protobuf::Empty]
348
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
349
+ #
350
+ # @return [::Google::Protobuf::Empty]
351
+ #
352
+ # @raise [Google::Ads::GoogleAds::Error] if the RPC is aborted.
353
+ #
354
+ # @example Basic example
355
+ # require "google/ads/google_ads/v17/services"
356
+ #
357
+ # # Create a client object. The client can be reused for multiple calls.
358
+ # client = Google::Ads::GoogleAds::V17::Services::AdGroupAdService::Client.new
359
+ #
360
+ # # Create a request. To set request fields, pass in keyword arguments.
361
+ # request = Google::Ads::GoogleAds::V17::Services::RemoveAutomaticallyCreatedAssetsRequest.new
362
+ #
363
+ # # Call the remove_automatically_created_assets method.
364
+ # result = client.remove_automatically_created_assets request
365
+ #
366
+ # # The returned object is of type Google::Protobuf::Empty.
367
+ # p result
368
+ #
369
+ def remove_automatically_created_assets request, options = nil
370
+ raise ::ArgumentError, "request must be provided" if request.nil?
371
+
372
+ request = ::Gapic::Protobuf.coerce request,
373
+ to: ::Google::Ads::GoogleAds::V17::Services::RemoveAutomaticallyCreatedAssetsRequest
374
+
375
+ # Converts hash and nil to an options object
376
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
377
+
378
+ # Customize the options with defaults
379
+ metadata = @config.rpcs.remove_automatically_created_assets.metadata.to_h
380
+
381
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
382
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
383
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
384
+ gapic_version: ::Google::Ads::GoogleAds::VERSION
385
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
386
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
387
+
388
+ header_params = {}
389
+ if request.ad_group_ad
390
+ header_params["ad_group_ad"] = request.ad_group_ad
391
+ end
392
+
393
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
394
+ metadata[:"x-goog-request-params"] ||= request_params_header
395
+
396
+ options.apply_defaults timeout: @config.rpcs.remove_automatically_created_assets.timeout,
397
+ metadata: metadata,
398
+ retry_policy: @config.rpcs.remove_automatically_created_assets.retry_policy
399
+
400
+ options.apply_defaults timeout: @config.timeout,
401
+ metadata: @config.metadata,
402
+ retry_policy: @config.retry_policy
403
+
404
+ @ad_group_ad_service_stub.call_rpc :remove_automatically_created_assets, request,
405
+ options: options do |response, operation|
406
+ yield response, operation if block_given?
407
+ return response
408
+ end
409
+ # rescue GRPC::BadStatus => grpc_error
410
+ # raise Google::Ads::GoogleAds::Error.new grpc_error.message
411
+ end
412
+
311
413
  ##
312
414
  # Configuration class for the AdGroupAdService API.
313
415
  #
@@ -467,11 +569,18 @@ module Google
467
569
  # @return [::Gapic::Config::Method]
468
570
  #
469
571
  attr_reader :mutate_ad_group_ads
572
+ ##
573
+ # RPC-specific configuration for `remove_automatically_created_assets`
574
+ # @return [::Gapic::Config::Method]
575
+ #
576
+ attr_reader :remove_automatically_created_assets
470
577
 
471
578
  # @private
472
579
  def initialize parent_rpcs = nil
473
580
  mutate_ad_group_ads_config = parent_rpcs.mutate_ad_group_ads if parent_rpcs.respond_to? :mutate_ad_group_ads
474
581
  @mutate_ad_group_ads = ::Gapic::Config::Method.new mutate_ad_group_ads_config
582
+ remove_automatically_created_assets_config = parent_rpcs.remove_automatically_created_assets if parent_rpcs.respond_to? :remove_automatically_created_assets
583
+ @remove_automatically_created_assets = ::Gapic::Config::Method.new remove_automatically_created_assets_config
475
584
 
476
585
  yield self if block_given?
477
586
  end
@@ -99,6 +99,23 @@ module Google
99
99
  "customers/#{customer_id}/adGroupAdLabels/#{ad_group_id}~#{ad_id}~#{label_id}"
100
100
  end
101
101
 
102
+ ##
103
+ # Create a fully-qualified Asset resource string.
104
+ #
105
+ # The resource will be in the following format:
106
+ #
107
+ # `customers/{customer_id}/assets/{asset_id}`
108
+ #
109
+ # @param customer_id [String]
110
+ # @param asset_id [String]
111
+ #
112
+ # @return [::String]
113
+ def asset_path customer_id:, asset_id:
114
+ raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
115
+
116
+ "customers/#{customer_id}/assets/#{asset_id}"
117
+ end
118
+
102
119
  extend self
103
120
  end
104
121
  end
@@ -5,17 +5,19 @@
5
5
  require 'google/protobuf'
6
6
 
7
7
  require 'google/ads/google_ads/v17/common/policy_pb'
8
+ require 'google/ads/google_ads/v17/enums/asset_field_type_pb'
8
9
  require 'google/ads/google_ads/v17/enums/response_content_type_pb'
9
10
  require 'google/ads/google_ads/v17/resources/ad_group_ad_pb'
10
11
  require 'google/api/annotations_pb'
11
12
  require 'google/api/client_pb'
12
13
  require 'google/api/field_behavior_pb'
13
14
  require 'google/api/resource_pb'
15
+ require 'google/protobuf/empty_pb'
14
16
  require 'google/protobuf/field_mask_pb'
15
17
  require 'google/rpc/status_pb'
16
18
 
17
19
 
18
- descriptor_data = "\n;google/ads/googleads/v17/services/ad_group_ad_service.proto\x12!google.ads.googleads.v17.services\x1a,google/ads/googleads/v17/common/policy.proto\x1a:google/ads/googleads/v17/enums/response_content_type.proto\x1a\x34google/ads/googleads/v17/resources/ad_group_ad.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a google/protobuf/field_mask.proto\x1a\x17google/rpc/status.proto\"\x9f\x02\n\x17MutateAdGroupAdsRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12N\n\noperations\x18\x02 \x03(\x0b\x32\x35.google.ads.googleads.v17.services.AdGroupAdOperationB\x03\xe0\x41\x02\x12\x17\n\x0fpartial_failure\x18\x03 \x01(\x08\x12\x15\n\rvalidate_only\x18\x04 \x01(\x08\x12j\n\x15response_content_type\x18\x05 \x01(\x0e\x32K.google.ads.googleads.v17.enums.ResponseContentTypeEnum.ResponseContentType\"\xf0\x02\n\x12\x41\x64GroupAdOperation\x12/\n\x0bupdate_mask\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12_\n\x1bpolicy_validation_parameter\x18\x05 \x01(\x0b\x32:.google.ads.googleads.v17.common.PolicyValidationParameter\x12?\n\x06\x63reate\x18\x01 \x01(\x0b\x32-.google.ads.googleads.v17.resources.AdGroupAdH\x00\x12?\n\x06update\x18\x02 \x01(\x0b\x32-.google.ads.googleads.v17.resources.AdGroupAdH\x00\x12\x39\n\x06remove\x18\x03 \x01(\tB\'\xfa\x41$\n\"googleads.googleapis.com/AdGroupAdH\x00\x42\x0b\n\toperation\"\x98\x01\n\x18MutateAdGroupAdsResponse\x12\x31\n\x15partial_failure_error\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\x12I\n\x07results\x18\x02 \x03(\x0b\x32\x38.google.ads.googleads.v17.services.MutateAdGroupAdResult\"\x9b\x01\n\x15MutateAdGroupAdResult\x12>\n\rresource_name\x18\x01 \x01(\tB\'\xfa\x41$\n\"googleads.googleapis.com/AdGroupAd\x12\x42\n\x0b\x61\x64_group_ad\x18\x02 \x01(\x0b\x32-.google.ads.googleads.v17.resources.AdGroupAd2\xbd\x02\n\x10\x41\x64GroupAdService\x12\xe1\x01\n\x10MutateAdGroupAds\x12:.google.ads.googleads.v17.services.MutateAdGroupAdsRequest\x1a;.google.ads.googleads.v17.services.MutateAdGroupAdsResponse\"T\xda\x41\x16\x63ustomer_id,operations\x82\xd3\xe4\x93\x02\x35\"0/v17/customers/{customer_id=*}/adGroupAds:mutate:\x01*\x1a\x45\xca\x41\x18googleads.googleapis.com\xd2\x41\'https://www.googleapis.com/auth/adwordsB\x81\x02\n%com.google.ads.googleads.v17.servicesB\x15\x41\x64GroupAdServiceProtoP\x01ZIgoogle.golang.org/genproto/googleapis/ads/googleads/v17/services;services\xa2\x02\x03GAA\xaa\x02!Google.Ads.GoogleAds.V17.Services\xca\x02!Google\\Ads\\GoogleAds\\V17\\Services\xea\x02%Google::Ads::GoogleAds::V17::Servicesb\x06proto3"
20
+ descriptor_data = "\n;google/ads/googleads/v17/services/ad_group_ad_service.proto\x12!google.ads.googleads.v17.services\x1a,google/ads/googleads/v17/common/policy.proto\x1a\x35google/ads/googleads/v17/enums/asset_field_type.proto\x1a:google/ads/googleads/v17/enums/response_content_type.proto\x1a\x34google/ads/googleads/v17/resources/ad_group_ad.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x17google/rpc/status.proto\"\x9f\x02\n\x17MutateAdGroupAdsRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12N\n\noperations\x18\x02 \x03(\x0b\x32\x35.google.ads.googleads.v17.services.AdGroupAdOperationB\x03\xe0\x41\x02\x12\x17\n\x0fpartial_failure\x18\x03 \x01(\x08\x12\x15\n\rvalidate_only\x18\x04 \x01(\x08\x12j\n\x15response_content_type\x18\x05 \x01(\x0e\x32K.google.ads.googleads.v17.enums.ResponseContentTypeEnum.ResponseContentType\"\xf0\x02\n\x12\x41\x64GroupAdOperation\x12/\n\x0bupdate_mask\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12_\n\x1bpolicy_validation_parameter\x18\x05 \x01(\x0b\x32:.google.ads.googleads.v17.common.PolicyValidationParameter\x12?\n\x06\x63reate\x18\x01 \x01(\x0b\x32-.google.ads.googleads.v17.resources.AdGroupAdH\x00\x12?\n\x06update\x18\x02 \x01(\x0b\x32-.google.ads.googleads.v17.resources.AdGroupAdH\x00\x12\x39\n\x06remove\x18\x03 \x01(\tB\'\xfa\x41$\n\"googleads.googleapis.com/AdGroupAdH\x00\x42\x0b\n\toperation\"\x98\x01\n\x18MutateAdGroupAdsResponse\x12\x31\n\x15partial_failure_error\x18\x03 \x01(\x0b\x32\x12.google.rpc.Status\x12I\n\x07results\x18\x02 \x03(\x0b\x32\x38.google.ads.googleads.v17.services.MutateAdGroupAdResult\"\x9b\x01\n\x15MutateAdGroupAdResult\x12>\n\rresource_name\x18\x01 \x01(\tB\'\xfa\x41$\n\"googleads.googleapis.com/AdGroupAd\x12\x42\n\x0b\x61\x64_group_ad\x18\x02 \x01(\x0b\x32-.google.ads.googleads.v17.resources.AdGroupAd\"\xc7\x01\n\'RemoveAutomaticallyCreatedAssetsRequest\x12?\n\x0b\x61\x64_group_ad\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"googleads.googleapis.com/AdGroupAd\x12[\n\x16\x61ssets_with_field_type\x18\x02 \x03(\x0b\x32\x36.google.ads.googleads.v17.services.AssetsWithFieldTypeB\x03\xe0\x41\x02\"\xae\x01\n\x13\x41ssetsWithFieldType\x12\x35\n\x05\x61sset\x18\x01 \x01(\tB&\xe0\x41\x02\xfa\x41 \n\x1egoogleads.googleapis.com/Asset\x12`\n\x10\x61sset_field_type\x18\x02 \x01(\x0e\x32\x41.google.ads.googleads.v17.enums.AssetFieldTypeEnum.AssetFieldTypeB\x03\xe0\x41\x02\x32\xc4\x04\n\x10\x41\x64GroupAdService\x12\xe1\x01\n\x10MutateAdGroupAds\x12:.google.ads.googleads.v17.services.MutateAdGroupAdsRequest\x1a;.google.ads.googleads.v17.services.MutateAdGroupAdsResponse\"T\xda\x41\x16\x63ustomer_id,operations\x82\xd3\xe4\x93\x02\x35\"0/v17/customers/{customer_id=*}/adGroupAds:mutate:\x01*\x12\x84\x02\n RemoveAutomaticallyCreatedAssets\x12J.google.ads.googleads.v17.services.RemoveAutomaticallyCreatedAssetsRequest\x1a\x16.google.protobuf.Empty\"|\xda\x41\"ad_group_ad,assets_with_field_type\x82\xd3\xe4\x93\x02Q\"L/v17/{ad_group_ad=customers/*/adGroupAds/*}:removeAutomaticallyCreatedAssets:\x01*\x1a\x45\xca\x41\x18googleads.googleapis.com\xd2\x41\'https://www.googleapis.com/auth/adwordsB\x81\x02\n%com.google.ads.googleads.v17.servicesB\x15\x41\x64GroupAdServiceProtoP\x01ZIgoogle.golang.org/genproto/googleapis/ads/googleads/v17/services;services\xa2\x02\x03GAA\xaa\x02!Google.Ads.GoogleAds.V17.Services\xca\x02!Google\\Ads\\GoogleAds\\V17\\Services\xea\x02%Google::Ads::GoogleAds::V17::Servicesb\x06proto3"
19
21
 
20
22
  pool = Google::Protobuf::DescriptorPool.generated_pool
21
23
 
@@ -54,6 +56,8 @@ module Google
54
56
  AdGroupAdOperation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.AdGroupAdOperation").msgclass
55
57
  MutateAdGroupAdsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.MutateAdGroupAdsResponse").msgclass
56
58
  MutateAdGroupAdResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.MutateAdGroupAdResult").msgclass
59
+ RemoveAutomaticallyCreatedAssetsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.RemoveAutomaticallyCreatedAssetsRequest").msgclass
60
+ AssetsWithFieldType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.AssetsWithFieldType").msgclass
57
61
  end
58
62
  end
59
63
  end
@@ -83,6 +83,19 @@ module Google
83
83
  # [StringLengthError]()
84
84
  # [UrlFieldError]()
85
85
  rpc :MutateAdGroupAds, ::Google::Ads::GoogleAds::V17::Services::MutateAdGroupAdsRequest, ::Google::Ads::GoogleAds::V17::Services::MutateAdGroupAdsResponse
86
+ # Remove automatically created assets from an ad.
87
+ #
88
+ # List of thrown errors:
89
+ # [AdError]()
90
+ # [AuthenticationError]()
91
+ # [AuthorizationError]()
92
+ # [AutomaticallyCreatedAssetRemovalError]()
93
+ # [HeaderError]()
94
+ # [InternalError]()
95
+ # [MutateError]()
96
+ # [QuotaError]()
97
+ # [RequestError]()
98
+ rpc :RemoveAutomaticallyCreatedAssets, ::Google::Ads::GoogleAds::V17::Services::RemoveAutomaticallyCreatedAssetsRequest, ::Google::Protobuf::Empty
86
99
  end
87
100
 
88
101
  Stub = Service.rpc_stub_class
@@ -292,7 +292,7 @@ module Google
292
292
  # @param options [::Gapic::CallOptions, ::Hash]
293
293
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
294
294
  #
295
- # @overload list_audience_insights_attributes(customer_id: nil, dimensions: nil, query_text: nil, customer_insights_group: nil, location_country_filters: nil)
295
+ # @overload list_audience_insights_attributes(customer_id: nil, dimensions: nil, query_text: nil, customer_insights_group: nil, location_country_filters: nil, youtube_reach_location: nil)
296
296
  # Pass arguments to `list_audience_insights_attributes` via keyword arguments. Note that at
297
297
  # least one keyword argument is required. To specify no parameters, or to keep all
298
298
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -315,6 +315,12 @@ module Google
315
315
  # will be located in these countries. If this field is absent, then location
316
316
  # attributes are not filtered by country. Setting this field when
317
317
  # SUB_COUNTRY_LOCATION attributes are not requested will return an error.
318
+ # @param youtube_reach_location [::Google::Ads::GoogleAds::V17::Common::LocationInfo, ::Hash]
319
+ # If present, potential YouTube reach estimates within the specified market
320
+ # will be returned for attributes for which they are available. Reach is
321
+ # only available for the AGE_RANGE, GENDER, AFFINITY_USER_INTEREST and
322
+ # IN_MARKET_USER_INTEREST dimensions, and may not be available for every
323
+ # attribute of those dimensions in every market.
318
324
  #
319
325
  # @yield [response, operation] Access the result along with the RPC operation
320
326
  # @yieldparam response [::Google::Ads::GoogleAds::V17::Services::ListAudienceInsightsAttributesResponse]
@@ -692,6 +698,120 @@ module Google
692
698
  # raise Google::Ads::GoogleAds::Error.new grpc_error.message
693
699
  end
694
700
 
701
+ ##
702
+ # Returns a collection of audience attributes along with estimates of the
703
+ # overlap between their potential YouTube reach and that of a given input
704
+ # attribute.
705
+ #
706
+ # List of thrown errors:
707
+ # [AudienceInsightsError]()
708
+ # [AuthenticationError]()
709
+ # [AuthorizationError]()
710
+ # [FieldError]()
711
+ # [HeaderError]()
712
+ # [InternalError]()
713
+ # [QuotaError]()
714
+ # [RangeError]()
715
+ # [RequestError]()
716
+ #
717
+ # @overload generate_audience_overlap_insights(request, options = nil)
718
+ # Pass arguments to `generate_audience_overlap_insights` via a request object, either of type
719
+ # {::Google::Ads::GoogleAds::V17::Services::GenerateAudienceOverlapInsightsRequest} or an equivalent Hash.
720
+ #
721
+ # @param request [::Google::Ads::GoogleAds::V17::Services::GenerateAudienceOverlapInsightsRequest, ::Hash]
722
+ # A request object representing the call parameters. Required. To specify no
723
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
724
+ # @param options [::Gapic::CallOptions, ::Hash]
725
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
726
+ #
727
+ # @overload generate_audience_overlap_insights(customer_id: nil, country_location: nil, primary_attribute: nil, dimensions: nil, customer_insights_group: nil)
728
+ # Pass arguments to `generate_audience_overlap_insights` via keyword arguments. Note that at
729
+ # least one keyword argument is required. To specify no parameters, or to keep all
730
+ # the default parameter values, pass an empty Hash as a request object (see above).
731
+ #
732
+ # @param customer_id [::String]
733
+ # Required. The ID of the customer.
734
+ # @param country_location [::Google::Ads::GoogleAds::V17::Common::LocationInfo, ::Hash]
735
+ # Required. The country in which to calculate the sizes and overlaps of
736
+ # audiences.
737
+ # @param primary_attribute [::Google::Ads::GoogleAds::V17::Services::AudienceInsightsAttribute, ::Hash]
738
+ # Required. The audience attribute that should be intersected with all other
739
+ # eligible audiences. This must be an Affinity or In-Market UserInterest, an
740
+ # AgeRange or a Gender.
741
+ # @param dimensions [::Array<::Google::Ads::GoogleAds::V17::Enums::AudienceInsightsDimensionEnum::AudienceInsightsDimension>]
742
+ # Required. The types of attributes of which to calculate the overlap with
743
+ # the primary_attribute. The values must be a subset of
744
+ # AFFINITY_USER_INTEREST, IN_MARKET_USER_INTEREST, AGE_RANGE and GENDER.
745
+ # @param customer_insights_group [::String]
746
+ # The name of the customer being planned for. This is a user-defined value.
747
+ #
748
+ # @yield [response, operation] Access the result along with the RPC operation
749
+ # @yieldparam response [::Google::Ads::GoogleAds::V17::Services::GenerateAudienceOverlapInsightsResponse]
750
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
751
+ #
752
+ # @return [::Google::Ads::GoogleAds::V17::Services::GenerateAudienceOverlapInsightsResponse]
753
+ #
754
+ # @raise [Google::Ads::GoogleAds::Error] if the RPC is aborted.
755
+ #
756
+ # @example Basic example
757
+ # require "google/ads/google_ads/v17/services"
758
+ #
759
+ # # Create a client object. The client can be reused for multiple calls.
760
+ # client = Google::Ads::GoogleAds::V17::Services::AudienceInsightsService::Client.new
761
+ #
762
+ # # Create a request. To set request fields, pass in keyword arguments.
763
+ # request = Google::Ads::GoogleAds::V17::Services::GenerateAudienceOverlapInsightsRequest.new
764
+ #
765
+ # # Call the generate_audience_overlap_insights method.
766
+ # result = client.generate_audience_overlap_insights request
767
+ #
768
+ # # The returned object is of type Google::Ads::GoogleAds::V17::Services::GenerateAudienceOverlapInsightsResponse.
769
+ # p result
770
+ #
771
+ def generate_audience_overlap_insights request, options = nil
772
+ raise ::ArgumentError, "request must be provided" if request.nil?
773
+
774
+ request = ::Gapic::Protobuf.coerce request,
775
+ to: ::Google::Ads::GoogleAds::V17::Services::GenerateAudienceOverlapInsightsRequest
776
+
777
+ # Converts hash and nil to an options object
778
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
779
+
780
+ # Customize the options with defaults
781
+ metadata = @config.rpcs.generate_audience_overlap_insights.metadata.to_h
782
+
783
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
784
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
785
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
786
+ gapic_version: ::Google::Ads::GoogleAds::VERSION
787
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
788
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
789
+
790
+ header_params = {}
791
+ if request.customer_id
792
+ header_params["customer_id"] = request.customer_id
793
+ end
794
+
795
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
796
+ metadata[:"x-goog-request-params"] ||= request_params_header
797
+
798
+ options.apply_defaults timeout: @config.rpcs.generate_audience_overlap_insights.timeout,
799
+ metadata: metadata,
800
+ retry_policy: @config.rpcs.generate_audience_overlap_insights.retry_policy
801
+
802
+ options.apply_defaults timeout: @config.timeout,
803
+ metadata: @config.metadata,
804
+ retry_policy: @config.retry_policy
805
+
806
+ @audience_insights_service_stub.call_rpc :generate_audience_overlap_insights, request,
807
+ options: options do |response, operation|
808
+ yield response, operation if block_given?
809
+ return response
810
+ end
811
+ # rescue GRPC::BadStatus => grpc_error
812
+ # raise Google::Ads::GoogleAds::Error.new grpc_error.message
813
+ end
814
+
695
815
  ##
696
816
  # Configuration class for the AudienceInsightsService API.
697
817
  #
@@ -871,6 +991,11 @@ module Google
871
991
  # @return [::Gapic::Config::Method]
872
992
  #
873
993
  attr_reader :generate_suggested_targeting_insights
994
+ ##
995
+ # RPC-specific configuration for `generate_audience_overlap_insights`
996
+ # @return [::Gapic::Config::Method]
997
+ #
998
+ attr_reader :generate_audience_overlap_insights
874
999
 
875
1000
  # @private
876
1001
  def initialize parent_rpcs = nil
@@ -884,6 +1009,8 @@ module Google
884
1009
  @generate_audience_composition_insights = ::Gapic::Config::Method.new generate_audience_composition_insights_config
885
1010
  generate_suggested_targeting_insights_config = parent_rpcs.generate_suggested_targeting_insights if parent_rpcs.respond_to? :generate_suggested_targeting_insights
886
1011
  @generate_suggested_targeting_insights = ::Gapic::Config::Method.new generate_suggested_targeting_insights_config
1012
+ generate_audience_overlap_insights_config = parent_rpcs.generate_audience_overlap_insights if parent_rpcs.respond_to? :generate_audience_overlap_insights
1013
+ @generate_audience_overlap_insights = ::Gapic::Config::Method.new generate_audience_overlap_insights_config
887
1014
 
888
1015
  yield self if block_given?
889
1016
  end
@@ -12,7 +12,7 @@ require 'google/api/client_pb'
12
12
  require 'google/api/field_behavior_pb'
13
13
 
14
14
 
15
- descriptor_data = "\nAgoogle/ads/googleads/v17/services/audience_insights_service.proto\x12!google.ads.googleads.v17.services\x1a.google/ads/googleads/v17/common/criteria.proto\x1a+google/ads/googleads/v17/common/dates.proto\x1a@google/ads/googleads/v17/enums/audience_insights_dimension.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\"\x94\x02\n#GenerateInsightsFinderReportRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12X\n\x11\x62\x61seline_audience\x18\x02 \x01(\x0b\x32\x38.google.ads.googleads.v17.services.BasicInsightsAudienceB\x03\xe0\x41\x02\x12X\n\x11specific_audience\x18\x03 \x01(\x0b\x32\x38.google.ads.googleads.v17.services.BasicInsightsAudienceB\x03\xe0\x41\x02\x12\x1f\n\x17\x63ustomer_insights_group\x18\x04 \x01(\t\"@\n$GenerateInsightsFinderReportResponse\x12\x18\n\x10saved_report_url\x18\x01 \x01(\t\"\x89\x03\n*GenerateAudienceCompositionInsightsRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12J\n\x08\x61udience\x18\x02 \x01(\x0b\x32\x33.google.ads.googleads.v17.services.InsightsAudienceB\x03\xe0\x41\x02\x12N\n\x11\x62\x61seline_audience\x18\x06 \x01(\x0b\x32\x33.google.ads.googleads.v17.services.InsightsAudience\x12\x12\n\ndata_month\x18\x03 \x01(\t\x12p\n\ndimensions\x18\x04 \x03(\x0e\x32W.google.ads.googleads.v17.enums.AudienceInsightsDimensionEnum.AudienceInsightsDimensionB\x03\xe0\x41\x02\x12\x1f\n\x17\x63ustomer_insights_group\x18\x05 \x01(\t\"~\n+GenerateAudienceCompositionInsightsResponse\x12O\n\x08sections\x18\x01 \x03(\x0b\x32=.google.ads.googleads.v17.services.AudienceCompositionSection\"\xa5\x02\n)GenerateSuggestedTargetingInsightsRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12J\n\x08\x61udience\x18\x02 \x01(\x0b\x32\x33.google.ads.googleads.v17.services.InsightsAudienceB\x03\xe0\x41\x02\x12S\n\x11\x62\x61seline_audience\x18\x03 \x01(\x0b\x32\x33.google.ads.googleads.v17.services.InsightsAudienceB\x03\xe0\x41\x01\x12\x17\n\ndata_month\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12$\n\x17\x63ustomer_insights_group\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x80\x01\n*GenerateSuggestedTargetingInsightsResponse\x12R\n\x0bsuggestions\x18\x01 \x03(\x0b\x32=.google.ads.googleads.v17.services.TargetingSuggestionMetrics\"\x95\x03\n\x1aTargetingSuggestionMetrics\x12W\n\tlocations\x18\x01 \x03(\x0b\x32\x44.google.ads.googleads.v17.services.AudienceInsightsAttributeMetadata\x12\x41\n\nage_ranges\x18\x02 \x03(\x0b\x32-.google.ads.googleads.v17.common.AgeRangeInfo\x12;\n\x06gender\x18\x03 \x01(\x0b\x32+.google.ads.googleads.v17.common.GenderInfo\x12\\\n\x0euser_interests\x18\x04 \x03(\x0b\x32\x44.google.ads.googleads.v17.services.AudienceInsightsAttributeMetadata\x12\x10\n\x08\x63overage\x18\x05 \x01(\x01\x12\r\n\x05index\x18\x06 \x01(\x01\x12\x1f\n\x17potential_youtube_reach\x18\x07 \x01(\x03\"\xbe\x02\n%ListAudienceInsightsAttributesRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12p\n\ndimensions\x18\x02 \x03(\x0e\x32W.google.ads.googleads.v17.enums.AudienceInsightsDimensionEnum.AudienceInsightsDimensionB\x03\xe0\x41\x02\x12\x17\n\nquery_text\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x1f\n\x17\x63ustomer_insights_group\x18\x04 \x01(\t\x12O\n\x18location_country_filters\x18\x05 \x03(\x0b\x32-.google.ads.googleads.v17.common.LocationInfo\"\x82\x01\n&ListAudienceInsightsAttributesResponse\x12X\n\nattributes\x18\x01 \x03(\x0b\x32\x44.google.ads.googleads.v17.services.AudienceInsightsAttributeMetadata\"\"\n ListInsightsEligibleDatesRequest\"~\n!ListInsightsEligibleDatesResponse\x12\x13\n\x0b\x64\x61ta_months\x18\x01 \x03(\t\x12\x44\n\x10last_thirty_days\x18\x02 \x01(\x0b\x32*.google.ads.googleads.v17.common.DateRange\"\x9e\x06\n\x19\x41udienceInsightsAttribute\x12\x42\n\tage_range\x18\x01 \x01(\x0b\x32-.google.ads.googleads.v17.common.AgeRangeInfoH\x00\x12=\n\x06gender\x18\x02 \x01(\x0b\x32+.google.ads.googleads.v17.common.GenderInfoH\x00\x12\x41\n\x08location\x18\x03 \x01(\x0b\x32-.google.ads.googleads.v17.common.LocationInfoH\x00\x12J\n\ruser_interest\x18\x04 \x01(\x0b\x32\x31.google.ads.googleads.v17.common.UserInterestInfoH\x00\x12K\n\x06\x65ntity\x18\x05 \x01(\x0b\x32\x39.google.ads.googleads.v17.services.AudienceInsightsEntityH\x00\x12O\n\x08\x63\x61tegory\x18\x06 \x01(\x0b\x32;.google.ads.googleads.v17.services.AudienceInsightsCategoryH\x00\x12Z\n\x0e\x64ynamic_lineup\x18\x07 \x01(\x0b\x32@.google.ads.googleads.v17.services.AudienceInsightsDynamicLineupH\x00\x12N\n\x0fparental_status\x18\x08 \x01(\x0b\x32\x33.google.ads.googleads.v17.common.ParentalStatusInfoH\x00\x12H\n\x0cincome_range\x18\t \x01(\x0b\x32\x30.google.ads.googleads.v17.common.IncomeRangeInfoH\x00\x12N\n\x0fyoutube_channel\x18\n \x01(\x0b\x32\x33.google.ads.googleads.v17.common.YouTubeChannelInfoH\x00\x42\x0b\n\tattribute\"\xbe\x01\n\x15\x41udienceInsightsTopic\x12K\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\x39.google.ads.googleads.v17.services.AudienceInsightsEntityH\x00\x12O\n\x08\x63\x61tegory\x18\x02 \x01(\x0b\x32;.google.ads.googleads.v17.services.AudienceInsightsCategoryH\x00\x42\x07\n\x05topic\"A\n\x16\x41udienceInsightsEntity\x12\'\n\x1aknowledge_graph_machine_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\"4\n\x18\x41udienceInsightsCategory\x12\x18\n\x0b\x63\x61tegory_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\"?\n\x1d\x41udienceInsightsDynamicLineup\x12\x1e\n\x11\x64ynamic_lineup_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\"\xc8\x03\n\x15\x42\x61sicInsightsAudience\x12L\n\x10\x63ountry_location\x18\x01 \x03(\x0b\x32-.google.ads.googleads.v17.common.LocationInfoB\x03\xe0\x41\x02\x12L\n\x15sub_country_locations\x18\x02 \x03(\x0b\x32-.google.ads.googleads.v17.common.LocationInfo\x12;\n\x06gender\x18\x03 \x01(\x0b\x32+.google.ads.googleads.v17.common.GenderInfo\x12\x41\n\nage_ranges\x18\x04 \x03(\x0b\x32-.google.ads.googleads.v17.common.AgeRangeInfo\x12I\n\x0euser_interests\x18\x05 \x03(\x0b\x32\x31.google.ads.googleads.v17.common.UserInterestInfo\x12H\n\x06topics\x18\x06 \x03(\x0b\x32\x38.google.ads.googleads.v17.services.AudienceInsightsTopic\"\xd8\x04\n!AudienceInsightsAttributeMetadata\x12j\n\tdimension\x18\x01 \x01(\x0e\x32W.google.ads.googleads.v17.enums.AudienceInsightsDimensionEnum.AudienceInsightsDimension\x12O\n\tattribute\x18\x02 \x01(\x0b\x32<.google.ads.googleads.v17.services.AudienceInsightsAttribute\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12\x14\n\x0c\x64isplay_info\x18\x05 \x01(\t\x12\x66\n\x18youtube_channel_metadata\x18\x06 \x01(\x0b\x32\x42.google.ads.googleads.v17.services.YouTubeChannelAttributeMetadataH\x00\x12g\n\x1a\x64ynamic_attribute_metadata\x18\x07 \x01(\x0b\x32\x41.google.ads.googleads.v17.services.DynamicLineupAttributeMetadataH\x00\x12\x63\n\x1blocation_attribute_metadata\x18\x08 \x01(\x0b\x32<.google.ads.googleads.v17.services.LocationAttributeMetadataH\x00\x42\x14\n\x12\x64imension_metadata\";\n\x1fYouTubeChannelAttributeMetadata\x12\x18\n\x10subscriber_count\x18\x01 \x01(\x03\"\x80\x05\n\x1e\x44ynamicLineupAttributeMetadata\x12H\n\x11inventory_country\x18\x01 \x01(\x0b\x32-.google.ads.googleads.v17.common.LocationInfo\x12%\n\x18median_monthly_inventory\x18\x02 \x01(\x03H\x00\x88\x01\x01\x12&\n\x19\x63hannel_count_lower_bound\x18\x03 \x01(\x03H\x01\x88\x01\x01\x12&\n\x19\x63hannel_count_upper_bound\x18\x04 \x01(\x03H\x02\x88\x01\x01\x12h\n\x0fsample_channels\x18\x05 \x03(\x0b\x32O.google.ads.googleads.v17.services.DynamicLineupAttributeMetadata.SampleChannel\x1a\xd9\x01\n\rSampleChannel\x12L\n\x0fyoutube_channel\x18\x01 \x01(\x0b\x32\x33.google.ads.googleads.v17.common.YouTubeChannelInfo\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x64\n\x18youtube_channel_metadata\x18\x03 \x01(\x0b\x32\x42.google.ads.googleads.v17.services.YouTubeChannelAttributeMetadataB\x1b\n\x19_median_monthly_inventoryB\x1c\n\x1a_channel_count_lower_boundB\x1c\n\x1a_channel_count_upper_bound\"d\n\x19LocationAttributeMetadata\x12G\n\x10\x63ountry_location\x18\x01 \x01(\x0b\x32-.google.ads.googleads.v17.common.LocationInfo\"\x89\x05\n\x10InsightsAudience\x12M\n\x11\x63ountry_locations\x18\x01 \x03(\x0b\x32-.google.ads.googleads.v17.common.LocationInfoB\x03\xe0\x41\x02\x12L\n\x15sub_country_locations\x18\x02 \x03(\x0b\x32-.google.ads.googleads.v17.common.LocationInfo\x12;\n\x06gender\x18\x03 \x01(\x0b\x32+.google.ads.googleads.v17.common.GenderInfo\x12\x41\n\nage_ranges\x18\x04 \x03(\x0b\x32-.google.ads.googleads.v17.common.AgeRangeInfo\x12L\n\x0fparental_status\x18\x05 \x01(\x0b\x32\x33.google.ads.googleads.v17.common.ParentalStatusInfo\x12G\n\rincome_ranges\x18\x06 \x03(\x0b\x32\x30.google.ads.googleads.v17.common.IncomeRangeInfo\x12Y\n\x0f\x64ynamic_lineups\x18\x07 \x03(\x0b\x32@.google.ads.googleads.v17.services.AudienceInsightsDynamicLineup\x12\x66\n\x1btopic_audience_combinations\x18\x08 \x03(\x0b\x32\x41.google.ads.googleads.v17.services.InsightsAudienceAttributeGroup\"w\n\x1eInsightsAudienceAttributeGroup\x12U\n\nattributes\x18\x01 \x03(\x0b\x32<.google.ads.googleads.v17.services.AudienceInsightsAttributeB\x03\xe0\x41\x02\"\xc7\x02\n\x1a\x41udienceCompositionSection\x12j\n\tdimension\x18\x01 \x01(\x0e\x32W.google.ads.googleads.v17.enums.AudienceInsightsDimensionEnum.AudienceInsightsDimension\x12W\n\x0etop_attributes\x18\x03 \x03(\x0b\x32?.google.ads.googleads.v17.services.AudienceCompositionAttribute\x12\x64\n\x14\x63lustered_attributes\x18\x04 \x03(\x0b\x32\x46.google.ads.googleads.v17.services.AudienceCompositionAttributeCluster\"\xf0\x01\n#AudienceCompositionAttributeCluster\x12\x1c\n\x14\x63luster_display_name\x18\x01 \x01(\t\x12V\n\x0f\x63luster_metrics\x18\x03 \x01(\x0b\x32=.google.ads.googleads.v17.services.AudienceCompositionMetrics\x12S\n\nattributes\x18\x04 \x03(\x0b\x32?.google.ads.googleads.v17.services.AudienceCompositionAttribute\"s\n\x1a\x41udienceCompositionMetrics\x12\x1f\n\x17\x62\x61seline_audience_share\x18\x01 \x01(\x01\x12\x16\n\x0e\x61udience_share\x18\x02 \x01(\x01\x12\r\n\x05index\x18\x03 \x01(\x01\x12\r\n\x05score\x18\x04 \x01(\x01\"\xd0\x01\n\x1c\x41udienceCompositionAttribute\x12`\n\x12\x61ttribute_metadata\x18\x01 \x01(\x0b\x32\x44.google.ads.googleads.v17.services.AudienceInsightsAttributeMetadata\x12N\n\x07metrics\x18\x02 \x01(\x0b\x32=.google.ads.googleads.v17.services.AudienceCompositionMetrics2\xfa\x0b\n\x17\x41udienceInsightsService\x12\xa9\x02\n\x1cGenerateInsightsFinderReport\x12\x46.google.ads.googleads.v17.services.GenerateInsightsFinderReportRequest\x1aG.google.ads.googleads.v17.services.GenerateInsightsFinderReportResponse\"x\xda\x41/customer_id,baseline_audience,specific_audience\x82\xd3\xe4\x93\x02@\";/v17/customers/{customer_id=*}:generateInsightsFinderReport:\x01*\x12\xa5\x02\n\x1eListAudienceInsightsAttributes\x12H.google.ads.googleads.v17.services.ListAudienceInsightsAttributesRequest\x1aI.google.ads.googleads.v17.services.ListAudienceInsightsAttributesResponse\"n\xda\x41!customer_id,dimensions,query_text\x82\xd3\xe4\x93\x02\x44\"?/v17/customers/{customer_id=*}:searchAudienceInsightsAttributes:\x01*\x12\xe2\x01\n\x19ListInsightsEligibleDates\x12\x43.google.ads.googleads.v17.services.ListInsightsEligibleDatesRequest\x1a\x44.google.ads.googleads.v17.services.ListInsightsEligibleDatesResponse\":\x82\xd3\xe4\x93\x02\x34\"//v17/audienceInsights:listInsightsEligibleDates:\x01*\x12\xb5\x02\n#GenerateAudienceCompositionInsights\x12M.google.ads.googleads.v17.services.GenerateAudienceCompositionInsightsRequest\x1aN.google.ads.googleads.v17.services.GenerateAudienceCompositionInsightsResponse\"o\xda\x41\x1f\x63ustomer_id,audience,dimensions\x82\xd3\xe4\x93\x02G\"B/v17/customers/{customer_id=*}:generateAudienceCompositionInsights:\x01*\x12\xa6\x02\n\"GenerateSuggestedTargetingInsights\x12L.google.ads.googleads.v17.services.GenerateSuggestedTargetingInsightsRequest\x1aM.google.ads.googleads.v17.services.GenerateSuggestedTargetingInsightsResponse\"c\xda\x41\x14\x63ustomer_id,audience\x82\xd3\xe4\x93\x02\x46\"A/v17/customers/{customer_id=*}:generateSuggestedTargetingInsights:\x01*\x1a\x45\xca\x41\x18googleads.googleapis.com\xd2\x41\'https://www.googleapis.com/auth/adwordsB\x88\x02\n%com.google.ads.googleads.v17.servicesB\x1c\x41udienceInsightsServiceProtoP\x01ZIgoogle.golang.org/genproto/googleapis/ads/googleads/v17/services;services\xa2\x02\x03GAA\xaa\x02!Google.Ads.GoogleAds.V17.Services\xca\x02!Google\\Ads\\GoogleAds\\V17\\Services\xea\x02%Google::Ads::GoogleAds::V17::Servicesb\x06proto3"
15
+ descriptor_data = "\nAgoogle/ads/googleads/v17/services/audience_insights_service.proto\x12!google.ads.googleads.v17.services\x1a.google/ads/googleads/v17/common/criteria.proto\x1a+google/ads/googleads/v17/common/dates.proto\x1a@google/ads/googleads/v17/enums/audience_insights_dimension.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\"\x94\x02\n#GenerateInsightsFinderReportRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12X\n\x11\x62\x61seline_audience\x18\x02 \x01(\x0b\x32\x38.google.ads.googleads.v17.services.BasicInsightsAudienceB\x03\xe0\x41\x02\x12X\n\x11specific_audience\x18\x03 \x01(\x0b\x32\x38.google.ads.googleads.v17.services.BasicInsightsAudienceB\x03\xe0\x41\x02\x12\x1f\n\x17\x63ustomer_insights_group\x18\x04 \x01(\t\"@\n$GenerateInsightsFinderReportResponse\x12\x18\n\x10saved_report_url\x18\x01 \x01(\t\"\x89\x03\n*GenerateAudienceCompositionInsightsRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12J\n\x08\x61udience\x18\x02 \x01(\x0b\x32\x33.google.ads.googleads.v17.services.InsightsAudienceB\x03\xe0\x41\x02\x12N\n\x11\x62\x61seline_audience\x18\x06 \x01(\x0b\x32\x33.google.ads.googleads.v17.services.InsightsAudience\x12\x12\n\ndata_month\x18\x03 \x01(\t\x12p\n\ndimensions\x18\x04 \x03(\x0e\x32W.google.ads.googleads.v17.enums.AudienceInsightsDimensionEnum.AudienceInsightsDimensionB\x03\xe0\x41\x02\x12\x1f\n\x17\x63ustomer_insights_group\x18\x05 \x01(\t\"~\n+GenerateAudienceCompositionInsightsResponse\x12O\n\x08sections\x18\x01 \x03(\x0b\x32=.google.ads.googleads.v17.services.AudienceCompositionSection\"\xa5\x02\n)GenerateSuggestedTargetingInsightsRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12J\n\x08\x61udience\x18\x02 \x01(\x0b\x32\x33.google.ads.googleads.v17.services.InsightsAudienceB\x03\xe0\x41\x02\x12S\n\x11\x62\x61seline_audience\x18\x03 \x01(\x0b\x32\x33.google.ads.googleads.v17.services.InsightsAudienceB\x03\xe0\x41\x01\x12\x17\n\ndata_month\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12$\n\x17\x63ustomer_insights_group\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x80\x01\n*GenerateSuggestedTargetingInsightsResponse\x12R\n\x0bsuggestions\x18\x01 \x03(\x0b\x32=.google.ads.googleads.v17.services.TargetingSuggestionMetrics\"\x95\x03\n\x1aTargetingSuggestionMetrics\x12W\n\tlocations\x18\x01 \x03(\x0b\x32\x44.google.ads.googleads.v17.services.AudienceInsightsAttributeMetadata\x12\x41\n\nage_ranges\x18\x02 \x03(\x0b\x32-.google.ads.googleads.v17.common.AgeRangeInfo\x12;\n\x06gender\x18\x03 \x01(\x0b\x32+.google.ads.googleads.v17.common.GenderInfo\x12\\\n\x0euser_interests\x18\x04 \x03(\x0b\x32\x44.google.ads.googleads.v17.services.AudienceInsightsAttributeMetadata\x12\x10\n\x08\x63overage\x18\x05 \x01(\x01\x12\r\n\x05index\x18\x06 \x01(\x01\x12\x1f\n\x17potential_youtube_reach\x18\x07 \x01(\x03\"\x8d\x03\n%ListAudienceInsightsAttributesRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12p\n\ndimensions\x18\x02 \x03(\x0e\x32W.google.ads.googleads.v17.enums.AudienceInsightsDimensionEnum.AudienceInsightsDimensionB\x03\xe0\x41\x02\x12\x17\n\nquery_text\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x1f\n\x17\x63ustomer_insights_group\x18\x04 \x01(\t\x12O\n\x18location_country_filters\x18\x05 \x03(\x0b\x32-.google.ads.googleads.v17.common.LocationInfo\x12M\n\x16youtube_reach_location\x18\x06 \x01(\x0b\x32-.google.ads.googleads.v17.common.LocationInfo\"\x82\x01\n&ListAudienceInsightsAttributesResponse\x12X\n\nattributes\x18\x01 \x03(\x0b\x32\x44.google.ads.googleads.v17.services.AudienceInsightsAttributeMetadata\"\"\n ListInsightsEligibleDatesRequest\"~\n!ListInsightsEligibleDatesResponse\x12\x13\n\x0b\x64\x61ta_months\x18\x01 \x03(\t\x12\x44\n\x10last_thirty_days\x18\x02 \x01(\x0b\x32*.google.ads.googleads.v17.common.DateRange\"\x81\x03\n&GenerateAudienceOverlapInsightsRequest\x12\x18\n\x0b\x63ustomer_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12L\n\x10\x63ountry_location\x18\x02 \x01(\x0b\x32-.google.ads.googleads.v17.common.LocationInfoB\x03\xe0\x41\x02\x12\\\n\x11primary_attribute\x18\x03 \x01(\x0b\x32<.google.ads.googleads.v17.services.AudienceInsightsAttributeB\x03\xe0\x41\x02\x12p\n\ndimensions\x18\x04 \x03(\x0e\x32W.google.ads.googleads.v17.enums.AudienceInsightsDimensionEnum.AudienceInsightsDimensionB\x03\xe0\x41\x02\x12\x1f\n\x17\x63ustomer_insights_group\x18\x05 \x01(\t\"\xe9\x01\n\'GenerateAudienceOverlapInsightsResponse\x12h\n\x1aprimary_attribute_metadata\x18\x01 \x01(\x0b\x32\x44.google.ads.googleads.v17.services.AudienceInsightsAttributeMetadata\x12T\n\x11\x64imension_results\x18\x02 \x03(\x0b\x32\x39.google.ads.googleads.v17.services.DimensionOverlapResult\"\xcb\x01\n\x16\x44imensionOverlapResult\x12j\n\tdimension\x18\x01 \x01(\x0e\x32W.google.ads.googleads.v17.enums.AudienceInsightsDimensionEnum.AudienceInsightsDimension\x12\x45\n\x05items\x18\x02 \x03(\x0b\x32\x36.google.ads.googleads.v17.services.AudienceOverlapItem\"\xa5\x01\n\x13\x41udienceOverlapItem\x12`\n\x12\x61ttribute_metadata\x18\x01 \x01(\x0b\x32\x44.google.ads.googleads.v17.services.AudienceInsightsAttributeMetadata\x12,\n$potential_youtube_reach_intersection\x18\x02 \x01(\x03\"\x9e\x06\n\x19\x41udienceInsightsAttribute\x12\x42\n\tage_range\x18\x01 \x01(\x0b\x32-.google.ads.googleads.v17.common.AgeRangeInfoH\x00\x12=\n\x06gender\x18\x02 \x01(\x0b\x32+.google.ads.googleads.v17.common.GenderInfoH\x00\x12\x41\n\x08location\x18\x03 \x01(\x0b\x32-.google.ads.googleads.v17.common.LocationInfoH\x00\x12J\n\ruser_interest\x18\x04 \x01(\x0b\x32\x31.google.ads.googleads.v17.common.UserInterestInfoH\x00\x12K\n\x06\x65ntity\x18\x05 \x01(\x0b\x32\x39.google.ads.googleads.v17.services.AudienceInsightsEntityH\x00\x12O\n\x08\x63\x61tegory\x18\x06 \x01(\x0b\x32;.google.ads.googleads.v17.services.AudienceInsightsCategoryH\x00\x12Z\n\x0e\x64ynamic_lineup\x18\x07 \x01(\x0b\x32@.google.ads.googleads.v17.services.AudienceInsightsDynamicLineupH\x00\x12N\n\x0fparental_status\x18\x08 \x01(\x0b\x32\x33.google.ads.googleads.v17.common.ParentalStatusInfoH\x00\x12H\n\x0cincome_range\x18\t \x01(\x0b\x32\x30.google.ads.googleads.v17.common.IncomeRangeInfoH\x00\x12N\n\x0fyoutube_channel\x18\n \x01(\x0b\x32\x33.google.ads.googleads.v17.common.YouTubeChannelInfoH\x00\x42\x0b\n\tattribute\"\xbe\x01\n\x15\x41udienceInsightsTopic\x12K\n\x06\x65ntity\x18\x01 \x01(\x0b\x32\x39.google.ads.googleads.v17.services.AudienceInsightsEntityH\x00\x12O\n\x08\x63\x61tegory\x18\x02 \x01(\x0b\x32;.google.ads.googleads.v17.services.AudienceInsightsCategoryH\x00\x42\x07\n\x05topic\"A\n\x16\x41udienceInsightsEntity\x12\'\n\x1aknowledge_graph_machine_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\"4\n\x18\x41udienceInsightsCategory\x12\x18\n\x0b\x63\x61tegory_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\"?\n\x1d\x41udienceInsightsDynamicLineup\x12\x1e\n\x11\x64ynamic_lineup_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\"\xc8\x03\n\x15\x42\x61sicInsightsAudience\x12L\n\x10\x63ountry_location\x18\x01 \x03(\x0b\x32-.google.ads.googleads.v17.common.LocationInfoB\x03\xe0\x41\x02\x12L\n\x15sub_country_locations\x18\x02 \x03(\x0b\x32-.google.ads.googleads.v17.common.LocationInfo\x12;\n\x06gender\x18\x03 \x01(\x0b\x32+.google.ads.googleads.v17.common.GenderInfo\x12\x41\n\nage_ranges\x18\x04 \x03(\x0b\x32-.google.ads.googleads.v17.common.AgeRangeInfo\x12I\n\x0euser_interests\x18\x05 \x03(\x0b\x32\x31.google.ads.googleads.v17.common.UserInterestInfo\x12H\n\x06topics\x18\x06 \x03(\x0b\x32\x38.google.ads.googleads.v17.services.AudienceInsightsTopic\"\xf9\x04\n!AudienceInsightsAttributeMetadata\x12j\n\tdimension\x18\x01 \x01(\x0e\x32W.google.ads.googleads.v17.enums.AudienceInsightsDimensionEnum.AudienceInsightsDimension\x12O\n\tattribute\x18\x02 \x01(\x0b\x32<.google.ads.googleads.v17.services.AudienceInsightsAttribute\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12\x14\n\x0c\x64isplay_info\x18\x05 \x01(\t\x12\x1f\n\x17potential_youtube_reach\x18\t \x01(\x03\x12\x66\n\x18youtube_channel_metadata\x18\x06 \x01(\x0b\x32\x42.google.ads.googleads.v17.services.YouTubeChannelAttributeMetadataH\x00\x12g\n\x1a\x64ynamic_attribute_metadata\x18\x07 \x01(\x0b\x32\x41.google.ads.googleads.v17.services.DynamicLineupAttributeMetadataH\x00\x12\x63\n\x1blocation_attribute_metadata\x18\x08 \x01(\x0b\x32<.google.ads.googleads.v17.services.LocationAttributeMetadataH\x00\x42\x14\n\x12\x64imension_metadata\";\n\x1fYouTubeChannelAttributeMetadata\x12\x18\n\x10subscriber_count\x18\x01 \x01(\x03\"\x80\x05\n\x1e\x44ynamicLineupAttributeMetadata\x12H\n\x11inventory_country\x18\x01 \x01(\x0b\x32-.google.ads.googleads.v17.common.LocationInfo\x12%\n\x18median_monthly_inventory\x18\x02 \x01(\x03H\x00\x88\x01\x01\x12&\n\x19\x63hannel_count_lower_bound\x18\x03 \x01(\x03H\x01\x88\x01\x01\x12&\n\x19\x63hannel_count_upper_bound\x18\x04 \x01(\x03H\x02\x88\x01\x01\x12h\n\x0fsample_channels\x18\x05 \x03(\x0b\x32O.google.ads.googleads.v17.services.DynamicLineupAttributeMetadata.SampleChannel\x1a\xd9\x01\n\rSampleChannel\x12L\n\x0fyoutube_channel\x18\x01 \x01(\x0b\x32\x33.google.ads.googleads.v17.common.YouTubeChannelInfo\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x64\n\x18youtube_channel_metadata\x18\x03 \x01(\x0b\x32\x42.google.ads.googleads.v17.services.YouTubeChannelAttributeMetadataB\x1b\n\x19_median_monthly_inventoryB\x1c\n\x1a_channel_count_lower_boundB\x1c\n\x1a_channel_count_upper_bound\"d\n\x19LocationAttributeMetadata\x12G\n\x10\x63ountry_location\x18\x01 \x01(\x0b\x32-.google.ads.googleads.v17.common.LocationInfo\"\x89\x05\n\x10InsightsAudience\x12M\n\x11\x63ountry_locations\x18\x01 \x03(\x0b\x32-.google.ads.googleads.v17.common.LocationInfoB\x03\xe0\x41\x02\x12L\n\x15sub_country_locations\x18\x02 \x03(\x0b\x32-.google.ads.googleads.v17.common.LocationInfo\x12;\n\x06gender\x18\x03 \x01(\x0b\x32+.google.ads.googleads.v17.common.GenderInfo\x12\x41\n\nage_ranges\x18\x04 \x03(\x0b\x32-.google.ads.googleads.v17.common.AgeRangeInfo\x12L\n\x0fparental_status\x18\x05 \x01(\x0b\x32\x33.google.ads.googleads.v17.common.ParentalStatusInfo\x12G\n\rincome_ranges\x18\x06 \x03(\x0b\x32\x30.google.ads.googleads.v17.common.IncomeRangeInfo\x12Y\n\x0f\x64ynamic_lineups\x18\x07 \x03(\x0b\x32@.google.ads.googleads.v17.services.AudienceInsightsDynamicLineup\x12\x66\n\x1btopic_audience_combinations\x18\x08 \x03(\x0b\x32\x41.google.ads.googleads.v17.services.InsightsAudienceAttributeGroup\"w\n\x1eInsightsAudienceAttributeGroup\x12U\n\nattributes\x18\x01 \x03(\x0b\x32<.google.ads.googleads.v17.services.AudienceInsightsAttributeB\x03\xe0\x41\x02\"\xc7\x02\n\x1a\x41udienceCompositionSection\x12j\n\tdimension\x18\x01 \x01(\x0e\x32W.google.ads.googleads.v17.enums.AudienceInsightsDimensionEnum.AudienceInsightsDimension\x12W\n\x0etop_attributes\x18\x03 \x03(\x0b\x32?.google.ads.googleads.v17.services.AudienceCompositionAttribute\x12\x64\n\x14\x63lustered_attributes\x18\x04 \x03(\x0b\x32\x46.google.ads.googleads.v17.services.AudienceCompositionAttributeCluster\"\xf0\x01\n#AudienceCompositionAttributeCluster\x12\x1c\n\x14\x63luster_display_name\x18\x01 \x01(\t\x12V\n\x0f\x63luster_metrics\x18\x03 \x01(\x0b\x32=.google.ads.googleads.v17.services.AudienceCompositionMetrics\x12S\n\nattributes\x18\x04 \x03(\x0b\x32?.google.ads.googleads.v17.services.AudienceCompositionAttribute\"s\n\x1a\x41udienceCompositionMetrics\x12\x1f\n\x17\x62\x61seline_audience_share\x18\x01 \x01(\x01\x12\x16\n\x0e\x61udience_share\x18\x02 \x01(\x01\x12\r\n\x05index\x18\x03 \x01(\x01\x12\r\n\x05score\x18\x04 \x01(\x01\"\xd0\x01\n\x1c\x41udienceCompositionAttribute\x12`\n\x12\x61ttribute_metadata\x18\x01 \x01(\x0b\x32\x44.google.ads.googleads.v17.services.AudienceInsightsAttributeMetadata\x12N\n\x07metrics\x18\x02 \x01(\x0b\x32=.google.ads.googleads.v17.services.AudienceCompositionMetrics2\xbd\x0e\n\x17\x41udienceInsightsService\x12\xa9\x02\n\x1cGenerateInsightsFinderReport\x12\x46.google.ads.googleads.v17.services.GenerateInsightsFinderReportRequest\x1aG.google.ads.googleads.v17.services.GenerateInsightsFinderReportResponse\"x\xda\x41/customer_id,baseline_audience,specific_audience\x82\xd3\xe4\x93\x02@\";/v17/customers/{customer_id=*}:generateInsightsFinderReport:\x01*\x12\xa5\x02\n\x1eListAudienceInsightsAttributes\x12H.google.ads.googleads.v17.services.ListAudienceInsightsAttributesRequest\x1aI.google.ads.googleads.v17.services.ListAudienceInsightsAttributesResponse\"n\xda\x41!customer_id,dimensions,query_text\x82\xd3\xe4\x93\x02\x44\"?/v17/customers/{customer_id=*}:searchAudienceInsightsAttributes:\x01*\x12\xe2\x01\n\x19ListInsightsEligibleDates\x12\x43.google.ads.googleads.v17.services.ListInsightsEligibleDatesRequest\x1a\x44.google.ads.googleads.v17.services.ListInsightsEligibleDatesResponse\":\x82\xd3\xe4\x93\x02\x34\"//v17/audienceInsights:listInsightsEligibleDates:\x01*\x12\xb5\x02\n#GenerateAudienceCompositionInsights\x12M.google.ads.googleads.v17.services.GenerateAudienceCompositionInsightsRequest\x1aN.google.ads.googleads.v17.services.GenerateAudienceCompositionInsightsResponse\"o\xda\x41\x1f\x63ustomer_id,audience,dimensions\x82\xd3\xe4\x93\x02G\"B/v17/customers/{customer_id=*}:generateAudienceCompositionInsights:\x01*\x12\xa6\x02\n\"GenerateSuggestedTargetingInsights\x12L.google.ads.googleads.v17.services.GenerateSuggestedTargetingInsightsRequest\x1aM.google.ads.googleads.v17.services.GenerateSuggestedTargetingInsightsResponse\"c\xda\x41\x14\x63ustomer_id,audience\x82\xd3\xe4\x93\x02\x46\"A/v17/customers/{customer_id=*}:generateSuggestedTargetingInsights:\x01*\x12\xc0\x02\n\x1fGenerateAudienceOverlapInsights\x12I.google.ads.googleads.v17.services.GenerateAudienceOverlapInsightsRequest\x1aJ.google.ads.googleads.v17.services.GenerateAudienceOverlapInsightsResponse\"\x85\x01\xda\x41\x39\x63ustomer_id,country_location,primary_attribute,dimensions\x82\xd3\xe4\x93\x02\x43\">/v17/customers/{customer_id=*}:generateAudienceOverlapInsights:\x01*\x1a\x45\xca\x41\x18googleads.googleapis.com\xd2\x41\'https://www.googleapis.com/auth/adwordsB\x88\x02\n%com.google.ads.googleads.v17.servicesB\x1c\x41udienceInsightsServiceProtoP\x01ZIgoogle.golang.org/genproto/googleapis/ads/googleads/v17/services;services\xa2\x02\x03GAA\xaa\x02!Google.Ads.GoogleAds.V17.Services\xca\x02!Google\\Ads\\GoogleAds\\V17\\Services\xea\x02%Google::Ads::GoogleAds::V17::Servicesb\x06proto3"
16
16
 
17
17
  pool = Google::Protobuf::DescriptorPool.generated_pool
18
18
 
@@ -56,6 +56,10 @@ module Google
56
56
  ListAudienceInsightsAttributesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.ListAudienceInsightsAttributesResponse").msgclass
57
57
  ListInsightsEligibleDatesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.ListInsightsEligibleDatesRequest").msgclass
58
58
  ListInsightsEligibleDatesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.ListInsightsEligibleDatesResponse").msgclass
59
+ GenerateAudienceOverlapInsightsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.GenerateAudienceOverlapInsightsRequest").msgclass
60
+ GenerateAudienceOverlapInsightsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.GenerateAudienceOverlapInsightsResponse").msgclass
61
+ DimensionOverlapResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.DimensionOverlapResult").msgclass
62
+ AudienceOverlapItem = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.AudienceOverlapItem").msgclass
59
63
  AudienceInsightsAttribute = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.AudienceInsightsAttribute").msgclass
60
64
  AudienceInsightsTopic = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.AudienceInsightsTopic").msgclass
61
65
  AudienceInsightsEntity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.ads.googleads.v17.services.AudienceInsightsEntity").msgclass
@@ -103,6 +103,21 @@ module Google
103
103
  # [RangeError]()
104
104
  # [RequestError]()
105
105
  rpc :GenerateSuggestedTargetingInsights, ::Google::Ads::GoogleAds::V17::Services::GenerateSuggestedTargetingInsightsRequest, ::Google::Ads::GoogleAds::V17::Services::GenerateSuggestedTargetingInsightsResponse
106
+ # Returns a collection of audience attributes along with estimates of the
107
+ # overlap between their potential YouTube reach and that of a given input
108
+ # attribute.
109
+ #
110
+ # List of thrown errors:
111
+ # [AudienceInsightsError]()
112
+ # [AuthenticationError]()
113
+ # [AuthorizationError]()
114
+ # [FieldError]()
115
+ # [HeaderError]()
116
+ # [InternalError]()
117
+ # [QuotaError]()
118
+ # [RangeError]()
119
+ # [RequestError]()
120
+ rpc :GenerateAudienceOverlapInsights, ::Google::Ads::GoogleAds::V17::Services::GenerateAudienceOverlapInsightsRequest, ::Google::Ads::GoogleAds::V17::Services::GenerateAudienceOverlapInsightsResponse
106
121
  end
107
122
 
108
123
  Stub = Service.rpc_stub_class
@@ -2750,6 +2750,25 @@ module Google
2750
2750
  "customers/#{customer_id}/offlineConversionUploadClientSummaries/#{client}"
2751
2751
  end
2752
2752
 
2753
+ ##
2754
+ # Create a fully-qualified OfflineConversionUploadConversionActionSummary resource string.
2755
+ #
2756
+ # The resource will be in the following format:
2757
+ #
2758
+ # `customers/{customer_id}/offlineConversionUploadConversionActionSummaries/{conversion_type_id}~{client}`
2759
+ #
2760
+ # @param customer_id [String]
2761
+ # @param conversion_type_id [String]
2762
+ # @param client [String]
2763
+ #
2764
+ # @return [::String]
2765
+ def offline_conversion_upload_conversion_action_summary_path customer_id:, conversion_type_id:, client:
2766
+ raise ::ArgumentError, "customer_id cannot contain /" if customer_id.to_s.include? "/"
2767
+ raise ::ArgumentError, "conversion_type_id cannot contain /" if conversion_type_id.to_s.include? "/"
2768
+
2769
+ "customers/#{customer_id}/offlineConversionUploadConversionActionSummaries/#{conversion_type_id}~#{client}"
2770
+ end
2771
+
2753
2772
  ##
2754
2773
  # Create a fully-qualified OfflineUserDataJob resource string.
2755
2774
  #