Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions packages/google-ads-datamanager/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,25 @@ Samples are in the [`samples/`][homepage_samples] directory. Each sample's `READ
| ingest events | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ads-datamanager/samples/generated/v1/ingestion_service.ingest_events.js) |
| remove audience members | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ads-datamanager/samples/generated/v1/ingestion_service.remove_audience_members.js) |
| retrieve request status | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ads-datamanager/samples/generated/v1/ingestion_service.retrieve_request_status.js) |
| retrieve insights | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ads-datamanager/samples/generated/v1/marketing_data_insights_service.retrieve_insights.js) |
| create partner link | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ads-datamanager/samples/generated/v1/partner_link_service.create_partner_link.js) |
| delete partner link | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ads-datamanager/samples/generated/v1/partner_link_service.delete_partner_link.js) |
| search partner links | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ads-datamanager/samples/generated/v1/partner_link_service.search_partner_links.js) |
| ads | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ads-datamanager/samples/generated/v1/snippet_metadata_google.ads.datamanager.v1.json) |
| create user list direct license | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ads-datamanager/samples/generated/v1/user_list_direct_license_service.create_user_list_direct_license.js) |
| get user list direct license | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ads-datamanager/samples/generated/v1/user_list_direct_license_service.get_user_list_direct_license.js) |
| list user list direct licenses | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ads-datamanager/samples/generated/v1/user_list_direct_license_service.list_user_list_direct_licenses.js) |
| update user list direct license | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ads-datamanager/samples/generated/v1/user_list_direct_license_service.update_user_list_direct_license.js) |
| create user list global license | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ads-datamanager/samples/generated/v1/user_list_global_license_service.create_user_list_global_license.js) |
| get user list global license | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ads-datamanager/samples/generated/v1/user_list_global_license_service.get_user_list_global_license.js) |
| list user list global license customer infos | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ads-datamanager/samples/generated/v1/user_list_global_license_service.list_user_list_global_license_customer_infos.js) |
| list user list global licenses | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ads-datamanager/samples/generated/v1/user_list_global_license_service.list_user_list_global_licenses.js) |
| update user list global license | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ads-datamanager/samples/generated/v1/user_list_global_license_service.update_user_list_global_license.js) |
| create user list | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ads-datamanager/samples/generated/v1/user_list_service.create_user_list.js) |
| delete user list | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ads-datamanager/samples/generated/v1/user_list_service.delete_user_list.js) |
| get user list | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ads-datamanager/samples/generated/v1/user_list_service.get_user_list.js) |
| list user lists | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ads-datamanager/samples/generated/v1/user_list_service.list_user_lists.js) |
| update user list | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-ads-datamanager/samples/generated/v1/user_list_service.update_user_list.js) |


## Supported Node.js Versions
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
// Copyright 2026 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

syntax = "proto3";

package google.ads.datamanager.v1;

option csharp_namespace = "Google.Ads.DataManager.V1";
option go_package = "cloud.google.com/go/datamanager/apiv1/datamanagerpb;datamanagerpb";
option java_multiple_files = true;
option java_outer_classname = "AgeRangeProto";
option java_package = "com.google.ads.datamanager.v1";
option php_namespace = "Google\\Ads\\DataManager\\V1";
option ruby_package = "Google::Ads::DataManager::V1";

// The demographic age ranges
enum AgeRange {
// Not specified.
AGE_RANGE_UNSPECIFIED = 0;

// Unknown.
AGE_RANGE_UNKNOWN = 1;

// Between 18 and 24 years old.
AGE_RANGE_18_24 = 2;

// Between 25 and 34 years old.
AGE_RANGE_25_34 = 3;

// Between 35 and 44 years old.
AGE_RANGE_35_44 = 4;

// Between 45 and 54 years old.
AGE_RANGE_45_54 = 5;

// Between 55 and 64 years old.
AGE_RANGE_55_64 = 6;

// 65 years old and beyond.
AGE_RANGE_65_UP = 7;
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,21 @@ message AudienceMember {

// [Publisher Advertiser Identity Reconciliation (PAIR)
// IDs](//support.google.com/admanager/answer/15067908).
//
// This feature is only available to data partners.
PairData pair_data = 4;

// Data identifying the user's mobile devices.
MobileData mobile_data = 5;

// Data related to unique identifiers for a user, as defined by the
// advertiser.
UserIdData user_id_data = 6;

// Data related to publisher provided identifiers.
//
// This feature is only available to data partners.
PpidData ppid_data = 7;
}

// Optional. The consent setting for the user.
Expand All @@ -55,6 +66,8 @@ message AudienceMember {

// [PAIR](//support.google.com/admanager/answer/15067908) IDs for the audience.
// At least one PAIR ID is required.
//
// This feature is only available to data partners.
message PairData {
// Required. Cleanroom-provided PII data, hashed with SHA256, and encrypted
// with an EC commutative cipher using publisher key for the
Expand All @@ -71,3 +84,19 @@ message MobileData {
// [AudienceMember][google.ads.datamanager.v1.AudienceMember].
repeated string mobile_ids = 1 [(google.api.field_behavior) = REQUIRED];
}

// User id data holding the user id.
message UserIdData {
// Required. A unique identifier for a user, as defined by the
// advertiser.
string user_id = 1 [(google.api.field_behavior) = REQUIRED];
}

// Publisher provided identifiers data holding the ppids. At least one ppid is
// required.
//
// This feature is only available to data partners.
message PpidData {
// Required. The list of publisher provided identifiers for a user.
repeated string ppids = 1 [(google.api.field_behavior) = REQUIRED];
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ syntax = "proto3";
package google.ads.datamanager.v1;

import "google/api/field_behavior.proto";
import "google/api/resource.proto";

option csharp_namespace = "Google.Ads.DataManager.V1";
option go_package = "cloud.google.com/go/datamanager/apiv1/datamanagerpb;datamanagerpb";
Expand All @@ -25,6 +26,10 @@ option java_outer_classname = "DestinationProto";
option java_package = "com.google.ads.datamanager.v1";
option php_namespace = "Google\\Ads\\DataManager\\V1";
option ruby_package = "Google::Ads::DataManager::V1";
option (google.api.resource_definition) = {
type: "datamanager.googleapis.com/Account"
pattern: "accountTypes/{account_type}/accounts/{account}"
};

// The Google product you're sending data to. For example, a Google
// Ads account.
Expand Down Expand Up @@ -83,6 +88,9 @@ message ProductAccount {

// Google Analytics.
GOOGLE_ANALYTICS_PROPERTY = 5;

// Google Ad Manager audience link.
GOOGLE_AD_MANAGER_AUDIENCE_LINK = 6;
}

// Deprecated. Use
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ option php_namespace = "Google\\Ads\\DataManager\\V1";
option ruby_package = "Google::Ads::DataManager::V1";

// Error reasons for Data Manager API.
// NOTE: This enum is not frozen and new values may be added in the future.
enum ErrorReason {
// Do not use this default value.
ERROR_REASON_UNSPECIFIED = 0;
Expand Down Expand Up @@ -188,4 +189,151 @@ enum ErrorReason {

// Too many elements in a list in the request.
TOO_MANY_ELEMENTS = 51;

// The resource already exists.
ALREADY_EXISTS = 52;

// Attempted to set an immutable field for an update request.
IMMUTABLE_FIELD_FOR_UPDATE = 53;

// The resource name is invalid.
INVALID_RESOURCE_NAME = 54;

// The query filter is invalid.
INVALID_FILTER = 55;

// The update mask is invalid.
INVALID_UPDATE_MASK = 56;

// The page token is invalid.
INVALID_PAGE_TOKEN = 57;

// Cannot update a license that has been disabled.
CANNOT_UPDATE_DISABLED_LICENSE = 58;

// Sensitive user lists cannot be licensed to this client.
CANNOT_CREATE_LICENSE_FOR_SENSITIVE_USERLIST = 59;

// Cost too low for this license.
INSUFFICIENT_COST = 60;

// Reseller license cannot be disabled since it is in use.
CANNOT_DISABLE_LICENSE = 61;

// Invalid client account id.
INVALID_CLIENT_ACCOUNT_ID = 62;

// Non-zero cost not allowed for this client account.
PRICING_ONLY_ZERO_COST_ALLOWED = 63;

// Cost too high for this license.
PRICE_TOO_HIGH = 64;

// Customer not allowed to create license.
CUSTOMER_NOT_ALLOWED_TO_CREATE_LICENSE = 65;

// Pricing end date is invalid for this license.
INVALID_PRICING_END_DATE = 66;

// Logical user list with shared or licensed segment cannot be licensed.
CANNOT_LICENSE_LOGICAL_LIST_WITH_LICENSED_OR_SHARED_SEGMENT = 67;

// Client customer's account type in the request does not match the customer's
// actual account type.
MISMATCHED_ACCOUNT_TYPE = 68;

// License type does not support media share cost.
MEDIA_SHARE_COST_NOT_ALLOWED_FOR_LICENSE_TYPE = 69;

// Client customer type does not support media share cost.
MEDIA_SHARE_COST_NOT_ALLOWED_FOR_CLIENT_CUSTOMER = 70;

// Invalid media share cost.
INVALID_MEDIA_SHARE_COST = 71;

// Invalid cost type.
INVALID_COST_TYPE = 72;

// UserList type does not support media share cost.
MEDIA_SHARE_COST_NOT_ALLOWED_FOR_NON_COMMERCE_USER_LIST = 73;

// Max cost is only allowed for cost_type MEDIA_SHARE.
MAX_COST_NOT_ALLOWED = 74;

// Commerce audience can only be directly licensed.
COMMERCE_AUDIENCE_CAN_ONLY_BE_DIRECTLY_LICENSED = 75;

// The description is not valid.
INVALID_DESCRIPTION = 76;

// The display name is not valid.
INVALID_DISPLAY_NAME = 77;

// The display name is already being used for another user list for the
// account.
DISPLAY_NAME_ALREADY_USED = 78;

// Ownership is required to modify the user list.
OWNERSHIP_REQUIRED_FOR_UPDATE = 79;

// The user list type is read-only and does not support mutation.
USER_LIST_MUTATION_NOT_SUPPORTED = 80;

// A user list which is privacy sensitive or legal rejected cannot be mutated
// by external users.
SENSITIVE_USER_LIST_IMMUTABLE = 81;

// The remarketing user list's billable record field cannot be modified once
// it is set.
BILLABLE_RECORD_COUNT_IMMUTABLE = 82;

// The user list name is reserved for system lists.
USER_LIST_NAME_RESERVED = 83;

// The advertiser needs to be allowlisted to use remarketing lists created
// from advertiser uploaded data.
ADVERTISER_NOT_ALLOWLISTED_FOR_UPLOADED_DATA = 84;

// The partner audience source is not supported for the user list type.
UNSUPPORTED_PARTNER_AUDIENCE_SOURCE = 85;

// Setting the `commerce_partner` field is only supported if the
// `partner_audience_source` is `COMMERCE_AUDIENCE`.
COMMERCE_PARTNER_NOT_ALLOWED = 86;

// The `partner_audience_info` field is not supported for the user list type.
UNSUPPORTED_PARTNER_AUDIENCE_INFO = 87;

// Partner Match user lists cannot be created by manager accounts.
PARTNER_MATCH_FOR_MANAGER_ACCOUNT_DISALLOWED = 88;

// The data partner is not allowlisted for THIRD_PARTY_PARTNER_DATA.
DATA_PARTNER_NOT_ALLOWLISTED_FOR_THIRD_PARTY_PARTNER_DATA = 89;

// The advertiser has not accepted the partner's terms of service.
ADVERTISER_TOS_NOT_ACCEPTED = 90;

// The advertiser is not allowlisted for THIRD_PARTY_PARTNER_DATA.
ADVERTISER_NOT_ALLOWLISTED_FOR_THIRD_PARTY_PARTNER_DATA = 91;

// This user list type is not supported for this account.
USER_LIST_TYPE_NOT_SUPPORTED_FOR_ACCOUNT = 92;

// The `commerce_partner` field is invalid.
INVALID_COMMERCE_PARTNER = 93;

// The data provider is not allowlisted to create commerce audiences.
CUSTOMER_NOT_ALLOWLISTED_FOR_COMMERCE_AUDIENCE = 94;

// The user list upload key types are not supported.
UNSUPPORTED_USER_LIST_UPLOAD_KEY_TYPES = 95;

// The ingested user list info config is not supported.
UNSUPPORTED_INGESTED_USER_LIST_INFO_CONFIG = 96;

// The account types are not supported for the user list type.
UNSUPPORTED_ACCOUNT_TYPES_FOR_USER_LIST_TYPE = 97;

// The account types are not supported for the partner link.
UNSUPPORTED_ACCOUNT_TYPE_FOR_PARTNER_LINK = 98;
}
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ message Event {

// Optional. The conversion value associated with the event, for value-based
// conversions.
double conversion_value = 9 [(google.api.field_behavior) = OPTIONAL];
optional double conversion_value = 9 [(google.api.field_behavior) = OPTIONAL];

// Optional. Signal for where the event happened (web, app, in-store, etc.).
EventSource event_source = 10 [(google.api.field_behavior) = OPTIONAL];
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
// Copyright 2026 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

syntax = "proto3";

package google.ads.datamanager.v1;

option csharp_namespace = "Google.Ads.DataManager.V1";
option go_package = "cloud.google.com/go/datamanager/apiv1/datamanagerpb;datamanagerpb";
option java_multiple_files = true;
option java_outer_classname = "GenderProto";
option java_package = "com.google.ads.datamanager.v1";
option php_namespace = "Google\\Ads\\DataManager\\V1";
option ruby_package = "Google::Ads::DataManager::V1";

// The type of demographic genders (for example, female).
enum Gender {
// Not specified.
GENDER_UNSPECIFIED = 0;

// Unknown.
GENDER_UNKNOWN = 1;

// Male.
GENDER_MALE = 2;

// Female.
GENDER_FEMALE = 3;
}
Loading