google-ads-data_manager-v1 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/ads/data_manager/v1/partner_link_service/credentials.rb +2 -1
  3. data/lib/google/ads/data_manager/v1/version.rb +1 -1
  4. data/lib/google/ads/datamanager/v1/audience_pb.rb +5 -1
  5. data/lib/google/ads/datamanager/v1/cart_data_pb.rb +2 -1
  6. data/lib/google/ads/datamanager/v1/destination_pb.rb +1 -1
  7. data/lib/google/ads/datamanager/v1/device_info_pb.rb +1 -1
  8. data/lib/google/ads/datamanager/v1/encrypted_user_id_pb.rb +25 -0
  9. data/lib/google/ads/datamanager/v1/error_pb.rb +1 -1
  10. data/lib/google/ads/datamanager/v1/event_pb.rb +3 -1
  11. data/lib/google/ads/datamanager/v1/partner_link_service_pb.rb +1 -1
  12. data/lib/google/ads/datamanager/v1/processing_errors_pb.rb +1 -1
  13. data/lib/google/ads/datamanager/v1/request_status_per_destination_pb.rb +5 -1
  14. data/lib/google/ads/datamanager/v1/user_list_pb.rb +1 -1
  15. data/proto_docs/google/ads/datamanager/v1/audience.rb +43 -5
  16. data/proto_docs/google/ads/datamanager/v1/cart_data.rb +52 -0
  17. data/proto_docs/google/ads/datamanager/v1/destination.rb +3 -0
  18. data/proto_docs/google/ads/datamanager/v1/device_info.rb +31 -0
  19. data/proto_docs/google/ads/datamanager/v1/encrypted_user_id.rb +84 -0
  20. data/proto_docs/google/ads/datamanager/v1/error.rb +69 -1
  21. data/proto_docs/google/ads/datamanager/v1/event.rb +63 -2
  22. data/proto_docs/google/ads/datamanager/v1/processing_errors.rb +53 -1
  23. data/proto_docs/google/ads/datamanager/v1/request_status_per_destination.rb +116 -15
  24. data/proto_docs/google/ads/datamanager/v1/user_list.rb +6 -0
  25. data/proto_docs/google/api/field_info.rb +88 -0
  26. metadata +4 -1
@@ -0,0 +1,84 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Ads
22
+ module DataManager
23
+ module V1
24
+ # A user identifier issued to be used for attribution. All fields are
25
+ # required if this is used.
26
+ # @!attribute [rw] encrypted_id
27
+ # @return [::String]
28
+ # Required. The alphanumeric encrypted id.
29
+ # @!attribute [rw] entity_type
30
+ # @return [::Google::Ads::DataManager::V1::EncryptedUserId::EncryptionEntityType]
31
+ # Required. The encryption entity type. This should match the encryption
32
+ # configuration for ad serving or Data Transfer.
33
+ # @!attribute [rw] entity_id
34
+ # @return [::Integer]
35
+ # Required. The encryption entity ID. This should match the encryption
36
+ # configuration for ad serving or Data Transfer.
37
+ # @!attribute [rw] source
38
+ # @return [::Google::Ads::DataManager::V1::EncryptedUserId::EncryptionSource]
39
+ # Required. Describes whether the encrypted cookie was received from ad
40
+ # serving (the %m macro) or from Data Transfer.
41
+ class EncryptedUserId
42
+ include ::Google::Protobuf::MessageExts
43
+ extend ::Google::Protobuf::MessageExts::ClassMethods
44
+
45
+ # The encryption entity type.
46
+ module EncryptionEntityType
47
+ # Unspecified encryption entity type.
48
+ ENCRYPTION_ENTITY_TYPE_UNSPECIFIED = 0
49
+
50
+ # Campaign Manager 360 account.
51
+ CAMPAIGN_MANAGER_ACCOUNT = 1
52
+
53
+ # Campaign Manager 360 advertiser.
54
+ CAMPAIGN_MANAGER_ADVERTISER = 2
55
+
56
+ # Display & Video 360 partner.
57
+ DISPLAY_VIDEO_PARTNER = 3
58
+
59
+ # Display & Video 360 advertiser.
60
+ DISPLAY_VIDEO_ADVERTISER = 4
61
+
62
+ # Google Ads customer.
63
+ GOOGLE_ADS_CUSTOMER = 5
64
+
65
+ # Google Ad Manager network code.
66
+ GOOGLE_AD_MANAGER_NETWORK_CODE = 6
67
+ end
68
+
69
+ # The encryption source.
70
+ module EncryptionSource
71
+ # Unspecified encryption source.
72
+ ENCRYPTION_SOURCE_UNSPECIFIED = 0
73
+
74
+ # Ad serving encryption source.
75
+ AD_SERVING = 1
76
+
77
+ # Data transfer encryption source.
78
+ DATA_TRANSFER = 2
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
@@ -181,12 +181,18 @@ module Google
181
181
  # An event had 2 or more Google Analytics destinations.
182
182
  MULTIPLE_DESTINATIONS_FOR_GOOGLE_ANALYTICS_EVENT = 49
183
183
 
184
- # The field value is too long.
184
+ # Length of the field value is too long.
185
185
  FIELD_VALUE_TOO_LONG = 50
186
186
 
187
+ # Length of the field value is too short.
188
+ FIELD_VALUE_TOO_SHORT = 106
189
+
187
190
  # Too many elements in a list in the request.
188
191
  TOO_MANY_ELEMENTS = 51
189
192
 
193
+ # Too few elements in a list in the request.
194
+ TOO_FEW_ELEMENTS = 105
195
+
190
196
  # The resource already exists.
191
197
  ALREADY_EXISTS = 52
192
198
 
@@ -343,6 +349,68 @@ module Google
343
349
  # The customer contains non-exempt campaigns without the EU political
344
350
  # advertising declaration.
345
351
  EU_POLITICAL_ADVERTISING_DECLARATION_REQUIRED = 101
352
+
353
+ # Account is not eligible for Store Sales.
354
+ ACCOUNT_INELIGIBLE_FOR_STORE_SALES = 102
355
+
356
+ # The merchant feed language code is not valid.
357
+ INVALID_MERCHANT_FEED_LANGUAGE_CODE = 103
358
+
359
+ # The region code is not valid.
360
+ INVALID_REGION_CODE = 104
361
+
362
+ # The subdivision code is not valid.
363
+ INVALID_SUBDIVISION_CODE = 107
364
+
365
+ # The subcontinent code is not valid.
366
+ INVALID_SUBCONTINENT_CODE = 108
367
+
368
+ # The continent code is not valid.
369
+ INVALID_CONTINENT_CODE = 109
370
+
371
+ # The device category is not valid.
372
+ INVALID_DEVICE_CATEGORY = 110
373
+
374
+ # Both app_instance_id and client_id are set.
375
+ BOTH_CLIENT_ID_AND_APP_INSTANCE_ID_NOT_ALLOWED = 111
376
+
377
+ # The Google Analytics property is a subproperty or rollup property.
378
+ GOOGLE_ANALYTICS_SUBPROPERTY_OR_ROLLUP_PROPERTY_NOT_ALLOWED = 112
379
+
380
+ # Third party user data can only be set by data partners.
381
+ THIRD_PARTY_USER_DATA_NOT_ALLOWED = 113
382
+
383
+ # The coupon code is not valid.
384
+ INVALID_COUPON_CODE = 114
385
+
386
+ # The event source type does not match the destination type.
387
+ EVENT_SOURCE_AND_DESTINATION_MISMATCH = 115
388
+
389
+ # The destination account type does not match the specified account id.
390
+ DESTINATION_ACCOUNT_TYPE_MISMATCH = 116
391
+
392
+ # The custom variable value contains personally identifiable information
393
+ # (PII).
394
+ CUSTOM_VARIABLE_VALUE_CONTAINS_PII = 117
395
+
396
+ # The custom variable is not enabled.
397
+ CUSTOM_VARIABLE_NOT_ENABLED = 118
398
+
399
+ # The custom variable's value is invalid.
400
+ INVALID_CUSTOM_VARIABLE_VALUE = 119
401
+
402
+ # The destination does not have a custom variable with a name that matches
403
+ # the specified `variable`.
404
+ CUSTOM_VARIABLE_NOT_FOUND = 120
405
+
406
+ # The
407
+ # {::Google::Ads::DataManager::V1::Baseline#location_auto_detection_enabled location_auto_detection_enabled}
408
+ # field of the request was set to `true`, but auto detection of baseline
409
+ # location failed.
410
+ BASELINE_LOCATION_AUTO_DETECTION_FAILED = 122
411
+
412
+ # Insights missing for this dimension.
413
+ INSIGHTS_MISSING_FOR_DIMENSION = 123
346
414
  end
347
415
  end
348
416
  end
@@ -30,8 +30,8 @@ module Google
30
30
  # in the request.
31
31
  # @!attribute [rw] transaction_id
32
32
  # @return [::String]
33
- # Optional. The unique identifier for this event. Required for conversions
34
- # using multiple data sources.
33
+ # Optional. The unique identifier for this event. Required for events sent as
34
+ # an additional data source for tag conversions.
35
35
  # @!attribute [rw] event_timestamp
36
36
  # @return [::Google::Protobuf::Timestamp]
37
37
  # Required. The time the event occurred.
@@ -58,6 +58,10 @@ module Google
58
58
  # @return [::Float]
59
59
  # Optional. The conversion value associated with the event, for value-based
60
60
  # conversions.
61
+ # @!attribute [rw] conversion_count
62
+ # @return [::Float]
63
+ # Optional. The conversion quantity associated with the event, for
64
+ # counting-based conversions.
61
65
  # @!attribute [rw] event_source
62
66
  # @return [::Google::Ads::DataManager::V1::EventSource]
63
67
  # Optional. Signal for where the event happened (web, app, in-store, etc.).
@@ -97,6 +101,19 @@ module Google
97
101
  # parameters](https://developers.google.com/analytics/devguides/collection/protocol/ga4/reference/events)
98
102
  # to be included within the event that were not already specified using other
99
103
  # structured fields.
104
+ # @!attribute [rw] third_party_user_data
105
+ # @return [::Google::Ads::DataManager::V1::UserData]
106
+ # Optional. The same type of data provided in user_data, but explicitly
107
+ # flagged as being provided as owned by a third-party and not first-party
108
+ # advertiser data.
109
+ # @!attribute [rw] event_location
110
+ # @return [::Google::Ads::DataManager::V1::EventLocation]
111
+ # Optional. Information gathered about the location of the user when this
112
+ # event occurred.
113
+ # @!attribute [rw] app_instance_id
114
+ # @return [::String]
115
+ # Optional. A unique identifier for the user instance of an app client for
116
+ # this GA4 app stream.
100
117
  class Event
101
118
  include ::Google::Protobuf::MessageExts
102
119
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -122,6 +139,22 @@ module Google
122
139
  # @return [::Google::Ads::DataManager::V1::DeviceInfo]
123
140
  # Optional. Information gathered about the device being used (if any) at the
124
141
  # time of landing onto the advertiser’s site after interacting with the ad.
142
+ # @!attribute [rw] mobile_device_id
143
+ # @return [::String]
144
+ # Optional. The mobile identifier for advertisers. This would be IDFA on iOS,
145
+ # AdID on Android, or other platforms’ identifiers for advertisers.
146
+ # @!attribute [rw] dclid
147
+ # @return [::String]
148
+ # Optional. The display click ID associated with this event.
149
+ # @!attribute [rw] impression_id
150
+ # @return [::String]
151
+ # Optional. The impression ID associated with this event.
152
+ # @!attribute [rw] match_id
153
+ # @return [::String]
154
+ # Optional. The match ID field used to join this event with a previous event.
155
+ # @!attribute [rw] encrypted_user_ids
156
+ # @return [::Array<::Google::Ads::DataManager::V1::EncryptedUserId>]
157
+ # Optional. Any number of encrypted user IDs.
125
158
  class AdIdentifiers
126
159
  include ::Google::Protobuf::MessageExts
127
160
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -159,6 +192,31 @@ module Google
159
192
  extend ::Google::Protobuf::MessageExts::ClassMethods
160
193
  end
161
194
 
195
+ # The location where the event occurred.
196
+ # @!attribute [rw] store_id
197
+ # @return [::String]
198
+ # Optional. Required for Store Sales. The identifier to represent a physical
199
+ # store where the event happened.
200
+ # @!attribute [rw] city
201
+ # @return [::String]
202
+ # Optional. The name of the city where the event occurred.
203
+ # @!attribute [rw] subdivision_code
204
+ # @return [::String]
205
+ # Optional. The ISO 3166-2 subdivision code where the event occurred.
206
+ # @!attribute [rw] region_code
207
+ # @return [::String]
208
+ # Optional. The 2-letter CLDR region code of the user's address.
209
+ # @!attribute [rw] subcontinent_code
210
+ # @return [::String]
211
+ # Optional. The subcontinent code in UN M49 format where the event occurred.
212
+ # @!attribute [rw] continent_code
213
+ # @return [::String]
214
+ # Optional. The continent code in UN M49 format where the event occurred.
215
+ class EventLocation
216
+ include ::Google::Protobuf::MessageExts
217
+ extend ::Google::Protobuf::MessageExts::ClassMethods
218
+ end
219
+
162
220
  # The source of the event.
163
221
  module EventSource
164
222
  # Unspecified EventSource. Should never be used.
@@ -176,6 +234,9 @@ module Google
176
234
  # The event was generated from a phone call.
177
235
  PHONE = 4
178
236
 
237
+ # The event was generated from a message.
238
+ MESSAGE = 6
239
+
179
240
  # The event was generated from other sources.
180
241
  OTHER = 5
181
242
  end
@@ -65,6 +65,7 @@ module Google
65
65
  end
66
66
 
67
67
  # The processing error reason.
68
+ # New reasons may be added in the future.
68
69
  module ProcessingErrorReason
69
70
  # The processing error reason is unknown.
70
71
  PROCESSING_ERROR_REASON_UNSPECIFIED = 0
@@ -158,6 +159,57 @@ module Google
158
159
  # The user attempted to ingest events with an ad identifier that isn't
159
160
  # from the operating account's ads.
160
161
  PROCESSING_ERROR_OPERATING_ACCOUNT_MISMATCH_FOR_AD_IDENTIFIER = 26
162
+
163
+ # One-per-click conversion actions cannot be used with BRAIDs.
164
+ PROCESSING_ERROR_REASON_ONE_PER_CLICK_CONVERSION_ACTION_NOT_PERMITTED_WITH_BRAID = 28
165
+
166
+ # The match ID can not be found.
167
+ PROCESSING_ERROR_REASON_MATCH_ID_NOT_FOUND = 29
168
+
169
+ # The user ID can not be found for the match ID.
170
+ PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND_FOR_MATCH_ID = 30
171
+
172
+ # The user ID can not be found for the GCLID.
173
+ PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND_FOR_GCLID = 31
174
+
175
+ # The user ID can not be found for the DCLID.
176
+ PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND_FOR_DCLID = 32
177
+
178
+ # There are ad identifiers that are invalid.
179
+ PROCESSING_ERROR_REASON_INVALID_AD_IDENTIFIERS = 33
180
+
181
+ # The mobile ID format is invalid.
182
+ PROCESSING_ERROR_REASON_INVALID_MOBILE_ID_FORMAT = 34
183
+
184
+ # The original conversions can't be found.
185
+ PROCESSING_ERROR_REASON_ORIGINAL_CONVERSIONS_NOT_FOUND = 35
186
+
187
+ # The event ID (dclid or impression ID) cannot be decoded.
188
+ PROCESSING_ERROR_REASON_EVENT_ID_DECODE_ERROR = 36
189
+
190
+ # The user ID cannot be found for the given impression ID.
191
+ PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND_FOR_IMPRESSION_ID = 37
192
+
193
+ # The user ID cannot be found.
194
+ PROCESSING_ERROR_REASON_USER_ID_NOT_FOUND = 38
195
+
196
+ # The event timestamp on the event was earlier than the associated click.
197
+ PROCESSING_ERROR_REASON_CONVERSION_PRECEDES_CLICK = 39
198
+
199
+ # The click occurred too recently.
200
+ PROCESSING_ERROR_REASON_TOO_RECENT_CLICK = 40
201
+
202
+ # The event can't be attributed to a click (GCLID). This may be because the
203
+ # click did not come from a Google Ads campaign, for example.
204
+ PROCESSING_ERROR_REASON_INVALID_CLICK = 41
205
+
206
+ # The click from the event isn't associated with the
207
+ # {::Google::Ads::DataManager::V1::Destination#operating_account `operating_account`}
208
+ # of the destination.
209
+ PROCESSING_ERROR_REASON_INVALID_OPERATING_ACCOUNT_FOR_CLICK = 42
210
+
211
+ # A corresponding click can't be found that matches the provided attributes.
212
+ PROCESSING_ERROR_REASON_CLICK_NOT_FOUND = 43
161
213
  end
162
214
 
163
215
  # The processing warning reason.
@@ -185,7 +237,7 @@ module Google
185
237
  # exist.
186
238
  PROCESSING_WARNING_REASON_INVALID_KEK = 6
187
239
 
188
- # Failed to decrypt th
240
+ # Failed to decrypt the
189
241
  # {::Google::Ads::DataManager::V1::UserIdentifier UserIdentifier} data using the
190
242
  # DEK.
191
243
  PROCESSING_WARNING_REASON_USER_IDENTIFIER_DECRYPTION_ERROR = 7
@@ -31,11 +31,23 @@ module Google
31
31
  # @!attribute [rw] error_info
32
32
  # @return [::Google::Ads::DataManager::V1::ErrorInfo]
33
33
  # An error info error containing the error reason and error counts related to
34
- # the upload.
34
+ # the upload. Only populated if the
35
+ # {::Google::Ads::DataManager::V1::RequestStatusPerDestination#request_status `request_status`}
36
+ # is
37
+ # {::Google::Ads::DataManager::V1::RequestStatusPerDestination::RequestStatus::FAILED `FAILED`}
38
+ # or
39
+ # {::Google::Ads::DataManager::V1::RequestStatusPerDestination::RequestStatus::PARTIAL_SUCCESS `PARTIAL_SUCCESS`}.
40
+ # This field isn't populated while the request has
41
+ # {::Google::Ads::DataManager::V1::RequestStatusPerDestination#request_status `request_status`}
42
+ # of
43
+ # {::Google::Ads::DataManager::V1::RequestStatusPerDestination::RequestStatus::PROCESSING `PROCESSING`}.
35
44
  # @!attribute [rw] warning_info
36
45
  # @return [::Google::Ads::DataManager::V1::WarningInfo]
37
46
  # A warning info containing the warning reason and warning counts related to
38
- # the upload.
47
+ # the upload. This field isn't populated while the request has
48
+ # {::Google::Ads::DataManager::V1::RequestStatusPerDestination#request_status `request_status`}
49
+ # of
50
+ # {::Google::Ads::DataManager::V1::RequestStatusPerDestination::RequestStatus::PROCESSING `PROCESSING`}.
39
51
  # @!attribute [rw] audience_members_ingestion_status
40
52
  # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::IngestAudienceMembersStatus]
41
53
  # The status of the ingest audience members request.
@@ -60,27 +72,32 @@ module Google
60
72
  # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::IngestUserDataStatus]
61
73
  # The status of the user data ingestion to the destination.
62
74
  #
63
- # Note: The following fields are mutually exclusive: `user_data_ingestion_status`, `mobile_data_ingestion_status`, `pair_data_ingestion_status`, `user_id_data_ingestion_status`, `ppid_data_ingestion_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
75
+ # Note: The following fields are mutually exclusive: `user_data_ingestion_status`, `mobile_data_ingestion_status`, `pair_data_ingestion_status`, `user_id_data_ingestion_status`, `ppid_data_ingestion_status`, `composite_data_ingestion_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
64
76
  # @!attribute [rw] mobile_data_ingestion_status
65
77
  # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::IngestMobileDataStatus]
66
78
  # The status of the mobile data ingestion to the destination.
67
79
  #
68
- # Note: The following fields are mutually exclusive: `mobile_data_ingestion_status`, `user_data_ingestion_status`, `pair_data_ingestion_status`, `user_id_data_ingestion_status`, `ppid_data_ingestion_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
80
+ # Note: The following fields are mutually exclusive: `mobile_data_ingestion_status`, `user_data_ingestion_status`, `pair_data_ingestion_status`, `user_id_data_ingestion_status`, `ppid_data_ingestion_status`, `composite_data_ingestion_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
69
81
  # @!attribute [rw] pair_data_ingestion_status
70
82
  # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::IngestPairDataStatus]
71
83
  # The status of the pair data ingestion to the destination.
72
84
  #
73
- # Note: The following fields are mutually exclusive: `pair_data_ingestion_status`, `user_data_ingestion_status`, `mobile_data_ingestion_status`, `user_id_data_ingestion_status`, `ppid_data_ingestion_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
85
+ # Note: The following fields are mutually exclusive: `pair_data_ingestion_status`, `user_data_ingestion_status`, `mobile_data_ingestion_status`, `user_id_data_ingestion_status`, `ppid_data_ingestion_status`, `composite_data_ingestion_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
74
86
  # @!attribute [rw] user_id_data_ingestion_status
75
87
  # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::IngestUserIdDataStatus]
76
88
  # The status of the user id data ingestion to the destination.
77
89
  #
78
- # Note: The following fields are mutually exclusive: `user_id_data_ingestion_status`, `user_data_ingestion_status`, `mobile_data_ingestion_status`, `pair_data_ingestion_status`, `ppid_data_ingestion_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
90
+ # Note: The following fields are mutually exclusive: `user_id_data_ingestion_status`, `user_data_ingestion_status`, `mobile_data_ingestion_status`, `pair_data_ingestion_status`, `ppid_data_ingestion_status`, `composite_data_ingestion_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
79
91
  # @!attribute [rw] ppid_data_ingestion_status
80
92
  # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::IngestPpidDataStatus]
81
93
  # The status of the ppid data ingestion to the destination.
82
94
  #
83
- # Note: The following fields are mutually exclusive: `ppid_data_ingestion_status`, `user_data_ingestion_status`, `mobile_data_ingestion_status`, `pair_data_ingestion_status`, `user_id_data_ingestion_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
95
+ # Note: The following fields are mutually exclusive: `ppid_data_ingestion_status`, `user_data_ingestion_status`, `mobile_data_ingestion_status`, `pair_data_ingestion_status`, `user_id_data_ingestion_status`, `composite_data_ingestion_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
96
+ # @!attribute [rw] composite_data_ingestion_status
97
+ # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::IngestCompositeDataStatus]
98
+ # The status of the composite data ingestion to the destination.
99
+ #
100
+ # Note: The following fields are mutually exclusive: `composite_data_ingestion_status`, `user_data_ingestion_status`, `mobile_data_ingestion_status`, `pair_data_ingestion_status`, `user_id_data_ingestion_status`, `ppid_data_ingestion_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
84
101
  class IngestAudienceMembersStatus
85
102
  include ::Google::Protobuf::MessageExts
86
103
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -91,27 +108,32 @@ module Google
91
108
  # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::RemoveUserDataStatus]
92
109
  # The status of the user data removal from the destination.
93
110
  #
94
- # Note: The following fields are mutually exclusive: `user_data_removal_status`, `mobile_data_removal_status`, `pair_data_removal_status`, `user_id_data_removal_status`, `ppid_data_removal_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
111
+ # Note: The following fields are mutually exclusive: `user_data_removal_status`, `mobile_data_removal_status`, `pair_data_removal_status`, `user_id_data_removal_status`, `ppid_data_removal_status`, `composite_data_removal_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
95
112
  # @!attribute [rw] mobile_data_removal_status
96
113
  # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::RemoveMobileDataStatus]
97
114
  # The status of the mobile data removal from the destination.
98
115
  #
99
- # Note: The following fields are mutually exclusive: `mobile_data_removal_status`, `user_data_removal_status`, `pair_data_removal_status`, `user_id_data_removal_status`, `ppid_data_removal_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
116
+ # Note: The following fields are mutually exclusive: `mobile_data_removal_status`, `user_data_removal_status`, `pair_data_removal_status`, `user_id_data_removal_status`, `ppid_data_removal_status`, `composite_data_removal_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
100
117
  # @!attribute [rw] pair_data_removal_status
101
118
  # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::RemovePairDataStatus]
102
119
  # The status of the pair data removal from the destination.
103
120
  #
104
- # Note: The following fields are mutually exclusive: `pair_data_removal_status`, `user_data_removal_status`, `mobile_data_removal_status`, `user_id_data_removal_status`, `ppid_data_removal_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
121
+ # Note: The following fields are mutually exclusive: `pair_data_removal_status`, `user_data_removal_status`, `mobile_data_removal_status`, `user_id_data_removal_status`, `ppid_data_removal_status`, `composite_data_removal_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
105
122
  # @!attribute [rw] user_id_data_removal_status
106
123
  # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::RemoveUserIdDataStatus]
107
124
  # The status of the user id data removal from the destination.
108
125
  #
109
- # Note: The following fields are mutually exclusive: `user_id_data_removal_status`, `user_data_removal_status`, `mobile_data_removal_status`, `pair_data_removal_status`, `ppid_data_removal_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
126
+ # Note: The following fields are mutually exclusive: `user_id_data_removal_status`, `user_data_removal_status`, `mobile_data_removal_status`, `pair_data_removal_status`, `ppid_data_removal_status`, `composite_data_removal_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
110
127
  # @!attribute [rw] ppid_data_removal_status
111
128
  # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::RemovePpidDataStatus]
112
129
  # The status of the ppid data removal from the destination.
113
130
  #
114
- # Note: The following fields are mutually exclusive: `ppid_data_removal_status`, `user_data_removal_status`, `mobile_data_removal_status`, `pair_data_removal_status`, `user_id_data_removal_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
131
+ # Note: The following fields are mutually exclusive: `ppid_data_removal_status`, `user_data_removal_status`, `mobile_data_removal_status`, `pair_data_removal_status`, `user_id_data_removal_status`, `composite_data_removal_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
132
+ # @!attribute [rw] composite_data_removal_status
133
+ # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::RemoveCompositeDataStatus]
134
+ # The status of the composite data removal from the destination.
135
+ #
136
+ # Note: The following fields are mutually exclusive: `composite_data_removal_status`, `user_data_removal_status`, `mobile_data_removal_status`, `pair_data_removal_status`, `user_id_data_removal_status`, `ppid_data_removal_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
115
137
  class RemoveAudienceMembersStatus
116
138
  include ::Google::Protobuf::MessageExts
117
139
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -296,23 +318,102 @@ module Google
296
318
  extend ::Google::Protobuf::MessageExts::ClassMethods
297
319
  end
298
320
 
321
+ # The status of the composite data ingestion to the destination containing
322
+ # stats related to the ingestion.
323
+ # @!attribute [rw] record_count
324
+ # @return [::Integer]
325
+ # The total count of audience members sent in the upload request for the
326
+ # destination. Includes all audience members in the request, regardless of
327
+ # whether they were successfully ingested or not.
328
+ # @!attribute [rw] data_type_counts
329
+ # @return [::Array<::Google::Ads::DataManager::V1::RequestStatusPerDestination::DataTypeCount>]
330
+ # The total count of data types sent in the upload request for the
331
+ # destination, broken down by data type. Includes all data types in
332
+ # the request, regardless of whether they were successfully ingested or
333
+ # not.
334
+ # @!attribute [rw] upload_match_rate_range
335
+ # @return [::Google::Ads::DataManager::V1::MatchRateRange]
336
+ # The match rate range of the upload.
337
+ class IngestCompositeDataStatus
338
+ include ::Google::Protobuf::MessageExts
339
+ extend ::Google::Protobuf::MessageExts::ClassMethods
340
+ end
341
+
342
+ # The status of the composite data removal from the destination.
343
+ # @!attribute [rw] record_count
344
+ # @return [::Integer]
345
+ # The total count of audience members sent in the removal request. Includes
346
+ # all audience members in the request, regardless of whether they were
347
+ # successfully removed or not.
348
+ # @!attribute [rw] data_type_counts
349
+ # @return [::Array<::Google::Ads::DataManager::V1::RequestStatusPerDestination::DataTypeCount>]
350
+ # The total count of data types sent in the removal request, broken down
351
+ # by data type. Includes all data types in the request, regardless
352
+ # of whether they were successfully removed or not.
353
+ class RemoveCompositeDataStatus
354
+ include ::Google::Protobuf::MessageExts
355
+ extend ::Google::Protobuf::MessageExts::ClassMethods
356
+ end
357
+
358
+ # The count for a specific data type.
359
+ # @!attribute [rw] type
360
+ # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::DataType]
361
+ # The type of data.
362
+ # @!attribute [rw] count
363
+ # @return [::Integer]
364
+ # The count for this data type.
365
+ class DataTypeCount
366
+ include ::Google::Protobuf::MessageExts
367
+ extend ::Google::Protobuf::MessageExts::ClassMethods
368
+ end
369
+
299
370
  # The request status.
300
371
  module RequestStatus
301
372
  # The request status is unknown.
302
373
  REQUEST_STATUS_UNKNOWN = 0
303
374
 
304
- # The request succeeded.
375
+ # Processing succeeded for all records without any errors. However, there
376
+ # may be warnings in the
377
+ # {::Google::Ads::DataManager::V1::RequestStatusPerDestination#warning_info `warning_info`}
378
+ # field.
305
379
  SUCCESS = 1
306
380
 
307
381
  # The request is processing.
308
382
  PROCESSING = 2
309
383
 
310
- # The request failed.
384
+ # Processing failed for all records. Check the
385
+ # {::Google::Ads::DataManager::V1::RequestStatusPerDestination#error_info `error_info`}
386
+ # field for error details, and check the
387
+ # {::Google::Ads::DataManager::V1::RequestStatusPerDestination#warning_info `warning_info`}
388
+ # field for warning details.
311
389
  FAILED = 3
312
390
 
313
- # The request partially succeeded.
391
+ # Processing completed successfully without errors for some records, but
392
+ # failed with errors for other records. Check the
393
+ # {::Google::Ads::DataManager::V1::RequestStatusPerDestination#error_info `error_info`}
394
+ # field for error details, and check the
395
+ # {::Google::Ads::DataManager::V1::RequestStatusPerDestination#warning_info `warning_info`}
396
+ # field for warning details.
314
397
  PARTIAL_SUCCESS = 4
315
398
  end
399
+
400
+ # The type of data.
401
+ module DataType
402
+ # The data type is unspecified.
403
+ DATA_TYPE_UNSPECIFIED = 0
404
+
405
+ # The data is an email address.
406
+ EMAIL = 1
407
+
408
+ # The data is a phone number.
409
+ PHONE_NUMBER = 2
410
+
411
+ # The data is a physical address.
412
+ ADDRESS = 3
413
+
414
+ # The data is an IP address.
415
+ IP_ADDRESS = 4
416
+ end
316
417
  end
317
418
  end
318
419
  end
@@ -145,6 +145,12 @@ module Google
145
145
  # Output only. Estimated number of members in this user list in the
146
146
  # google.com domain. These are the members available for targeting in Search
147
147
  # campaigns.
148
+ # @!attribute [r] youtube_members_count
149
+ # @return [::Integer]
150
+ # Output only. Estimated number of members in this user list on YouTube.
151
+ # @!attribute [r] gmail_members_count
152
+ # @return [::Integer]
153
+ # Output only. Estimated number of members in this user list on Gmail.
148
154
  class SizeInfo
149
155
  include ::Google::Protobuf::MessageExts
150
156
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -0,0 +1,88 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # Rich semantic information of an API field beyond basic typing.
23
+ # @!attribute [rw] format
24
+ # @return [::Google::Api::FieldInfo::Format]
25
+ # The standard format of a field value. This does not explicitly configure
26
+ # any API consumer, just documents the API's format for the field it is
27
+ # applied to.
28
+ # @!attribute [rw] referenced_types
29
+ # @return [::Array<::Google::Api::TypeReference>]
30
+ # The type(s) that the annotated, generic field may represent.
31
+ #
32
+ # Currently, this must only be used on fields of type `google.protobuf.Any`.
33
+ # Supporting other generic types may be considered in the future.
34
+ class FieldInfo
35
+ include ::Google::Protobuf::MessageExts
36
+ extend ::Google::Protobuf::MessageExts::ClassMethods
37
+
38
+ # The standard format of a field value. The supported formats are all backed
39
+ # by either an RFC defined by the IETF or a Google-defined AIP.
40
+ module Format
41
+ # Default, unspecified value.
42
+ FORMAT_UNSPECIFIED = 0
43
+
44
+ # Universally Unique Identifier, version 4, value as defined by
45
+ # https://datatracker.ietf.org/doc/html/rfc4122. The value may be
46
+ # normalized to entirely lowercase letters. For example, the value
47
+ # `F47AC10B-58CC-0372-8567-0E02B2C3D479` would be normalized to
48
+ # `f47ac10b-58cc-0372-8567-0e02b2c3d479`.
49
+ UUID4 = 1
50
+
51
+ # Internet Protocol v4 value as defined by [RFC
52
+ # 791](https://datatracker.ietf.org/doc/html/rfc791). The value may be
53
+ # condensed, with leading zeros in each octet stripped. For example,
54
+ # `001.022.233.040` would be condensed to `1.22.233.40`.
55
+ IPV4 = 2
56
+
57
+ # Internet Protocol v6 value as defined by [RFC
58
+ # 2460](https://datatracker.ietf.org/doc/html/rfc2460). The value may be
59
+ # normalized to entirely lowercase letters with zeros compressed, following
60
+ # [RFC 5952](https://datatracker.ietf.org/doc/html/rfc5952). For example,
61
+ # the value `2001:0DB8:0::0` would be normalized to `2001:db8::`.
62
+ IPV6 = 3
63
+
64
+ # An IP address in either v4 or v6 format as described by the individual
65
+ # values defined herein. See the comments on the IPV4 and IPV6 types for
66
+ # allowed normalizations of each.
67
+ IPV4_OR_IPV6 = 4
68
+ end
69
+ end
70
+
71
+ # A reference to a message type, for use in {::Google::Api::FieldInfo FieldInfo}.
72
+ # @!attribute [rw] type_name
73
+ # @return [::String]
74
+ # The name of the type that the annotated, generic field may represent.
75
+ # If the type is in the same protobuf package, the value can be the simple
76
+ # message name e.g., `"MyMessage"`. Otherwise, the value must be the
77
+ # fully-qualified message name e.g., `"google.library.v1.Book"`.
78
+ #
79
+ # If the type(s) are unknown to the service (e.g. the field accepts generic
80
+ # user input), use the wildcard `"*"` to denote this behavior.
81
+ #
82
+ # See [AIP-202](https://google.aip.dev/202#type-references) for more details.
83
+ class TypeReference
84
+ include ::Google::Protobuf::MessageExts
85
+ extend ::Google::Protobuf::MessageExts::ClassMethods
86
+ end
87
+ end
88
+ end