--- v14/common/offline_user_data.proto 2023-06-07 21:43:48.000000000 +0000 +++ v15/common/offline_user_data.proto 2023-10-18 20:10:59.000000000 +0000 @@ -1,336 +1,344 @@ // Copyright 2023 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; -package google.ads.googleads.v14.common; +package google.ads.googleads.v15.common; -import "google/ads/googleads/v14/enums/user_identifier_source.proto"; +import "google/ads/googleads/v15/common/consent.proto"; +import "google/ads/googleads/v15/enums/user_identifier_source.proto"; import "google/api/field_behavior.proto"; -option csharp_namespace = "Google.Ads.GoogleAds.V14.Common"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v14/common;common"; +option csharp_namespace = "Google.Ads.GoogleAds.V15.Common"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v15/common;common"; option java_multiple_files = true; option java_outer_classname = "OfflineUserDataProto"; -option java_package = "com.google.ads.googleads.v14.common"; +option java_package = "com.google.ads.googleads.v15.common"; option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V14\\Common"; -option ruby_package = "Google::Ads::GoogleAds::V14::Common"; +option php_namespace = "Google\\Ads\\GoogleAds\\V15\\Common"; +option ruby_package = "Google::Ads::GoogleAds::V15::Common"; // Proto file describing offline user data. // Address identifier of offline data. message OfflineUserAddressInfo { // First name of the user, which is hashed as SHA-256 after normalized // (Lowercase all characters; Remove any extra spaces before, after, and in // between). optional string hashed_first_name = 7; // Last name of the user, which is hashed as SHA-256 after normalized (lower // case only and no punctuation). optional string hashed_last_name = 8; // City of the address. Only accepted for Store Sales and // ConversionAdjustmentUploadService. optional string city = 9; // State code of the address. Only accepted for Store Sales and // ConversionAdjustmentUploadService. optional string state = 10; // 2-letter country code in ISO-3166-1 alpha-2 of the user's address. optional string country_code = 11; // Postal code of the user's address. optional string postal_code = 12; // The street address of the user hashed using SHA-256 hash function after // normalization (lower case only). Only accepted for // ConversionAdjustmentUploadService. optional string hashed_street_address = 13; } // User identifying information. message UserIdentifier { // Source of the user identifier when the upload is from Store Sales, // ConversionUploadService, or ConversionAdjustmentUploadService. - google.ads.googleads.v14.enums.UserIdentifierSourceEnum.UserIdentifierSource + google.ads.googleads.v15.enums.UserIdentifierSourceEnum.UserIdentifierSource user_identifier_source = 6; // Exactly one must be specified. For OfflineUserDataJobService, Customer // Match accepts hashed_email, hashed_phone_number, mobile_id, // third_party_user_id, and address_info; Store Sales accepts hashed_email, // hashed_phone_number, third_party_user_id, and address_info. // ConversionUploadService accepts hashed_email and hashed_phone_number. // ConversionAdjustmentUploadService accepts hashed_email, // hashed_phone_number, and address_info. oneof identifier { // Hashed email address using SHA-256 hash function after normalization. // Accepted for Customer Match, Store Sales, ConversionUploadService, and // ConversionAdjustmentUploadService. string hashed_email = 7; // Hashed phone number using SHA-256 hash function after normalization // (E164 standard). Accepted for Customer Match, Store Sales, // ConversionUploadService, and ConversionAdjustmentUploadService. string hashed_phone_number = 8; // Mobile device ID (advertising ID/IDFA). Accepted only for Customer Match. string mobile_id = 9; // Advertiser-assigned user ID for Customer Match upload, or // third-party-assigned user ID for Store Sales. Accepted only for Customer // Match and Store Sales. string third_party_user_id = 10; // Address information. Accepted only for Customer Match, Store Sales, and // ConversionAdjustmentUploadService. OfflineUserAddressInfo address_info = 5; } } // Attribute of the store sales transaction. message TransactionAttribute { // Timestamp when transaction occurred. Required. // The format is "YYYY-MM-DD HH:MM:SS[+/-HH:MM]", where [+/-HH:MM] is an // optional timezone offset from UTC. If the offset is absent, the API will // use the account's timezone as default. // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30+03:00" optional string transaction_date_time = 8; // Transaction amount in micros. Required. // Transaction amount in micros needs to be greater than 1000. // If item Attributes are provided, it represents the total value of the // items, after multiplying the unit price per item by the quantity provided // in the ItemAttributes. optional double transaction_amount_micros = 9; // Transaction currency code. ISO 4217 three-letter code is used. Required. optional string currency_code = 10; // The resource name of conversion action to report conversions to. // Required. optional string conversion_action = 11; // Transaction order id. // Accessible only to customers on the allow-list. optional string order_id = 12; // Store attributes of the transaction. // Accessible only to customers on the allow-list. StoreAttribute store_attribute = 6; // Value of the custom variable for each transaction. // Accessible only to customers on the allow-list. optional string custom_value = 13; // Item attributes of the transaction. ItemAttribute item_attribute = 14; } // Store attributes of the transaction. message StoreAttribute { // Store code from // https://support.google.com/business/answer/3370250#storecode optional string store_code = 2; } // Item attributes of the transaction. message ItemAttribute { // A unique identifier of a product. It can be either the Merchant Center Item // ID or GTIN (Global Trade Item Number). string item_id = 1; // ID of the Merchant Center Account. optional int64 merchant_id = 2; // Common Locale Data Repository (CLDR) territory code of the country // associated with the feed where your items are uploaded. See // https://developers.google.com/google-ads/api/reference/data/codes-formats#country-codes // for more information. string country_code = 3; // ISO 639-1 code of the language associated with the feed where your items // are uploaded string language_code = 4; // The number of items sold. Defaults to 1 if not set. int64 quantity = 5; } // User data holding user identifiers and attributes. message UserData { // User identification info. Required. repeated UserIdentifier user_identifiers = 1; // Additional transactions/attributes associated with the user. // Required when updating store sales data. TransactionAttribute transaction_attribute = 2; // Additional attributes associated with the user. Required when updating // customer match attributes. These have an expiration of 540 days. UserAttribute user_attribute = 3; + + // The consent setting for the user. Customer match will ignore this field + // and return a warning. + optional Consent consent = 4; } // User attribute, can only be used with CUSTOMER_MATCH_WITH_ATTRIBUTES job // type. message UserAttribute { // Advertiser defined lifetime value for the user. optional int64 lifetime_value_micros = 1; // Advertiser defined lifetime value bucket for the user. The valid range for // a lifetime value bucket is from 1 (low) to 10 (high), except for remove // operation where 0 will also be accepted. optional int32 lifetime_value_bucket = 2; // Timestamp of the last purchase made by the user. // The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an // optional timezone offset from UTC. If the offset is absent, the API will // use the account's timezone as default. string last_purchase_date_time = 3; // Advertiser defined average number of purchases that are made by the user in // a 30 day period. int32 average_purchase_count = 4; // Advertiser defined average purchase value in micros for the user. int64 average_purchase_value_micros = 5; // Timestamp when the user was acquired. // The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an // optional timezone offset from UTC. If the offset is absent, the API will // use the account's timezone as default. string acquisition_date_time = 6; // The shopping loyalty related data. Shopping utilizes this data to provide // users with a better experience. Accessible only to merchants on the // allow-list with the user's consent. optional ShoppingLoyalty shopping_loyalty = 7; // Optional. Advertiser defined lifecycle stage for the user. The accepted // values are "Lead", "Active" and "Churned". string lifecycle_stage = 8 [(google.api.field_behavior) = OPTIONAL]; // Optional. Timestamp of the first purchase made by the user. // The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an // optional timezone offset from UTC. If the offset is absent, the API will // use the account's timezone as default. string first_purchase_date_time = 9 [(google.api.field_behavior) = OPTIONAL]; // Optional. Advertiser defined events and their attributes. All the values in // the nested fields are required. Currently this field is in beta. repeated EventAttribute event_attribute = 10 [(google.api.field_behavior) = OPTIONAL]; } // Advertiser defined events and their attributes. All the values in the // nested fields are required. message EventAttribute { // Required. Advertiser defined event to be used for remarketing. The accepted // values are "Viewed", "Cart", "Purchased" and "Recommended". string event = 1 [(google.api.field_behavior) = REQUIRED]; // Required. Timestamp at which the event happened. // The format is YYYY-MM-DD HH:MM:SS[+/-HH:MM], where [+/-HH:MM] is an // optional timezone offset from UTC. If the offset is absent, the API will // use the account's timezone as default. string event_date_time = 2 [(google.api.field_behavior) = REQUIRED]; // Required. Item attributes of the event. repeated EventItemAttribute item_attribute = 3 [(google.api.field_behavior) = REQUIRED]; } // Event Item attributes of the Customer Match. message EventItemAttribute { // Optional. A unique identifier of a product. It can be either the Merchant // Center Item ID or GTIN (Global Trade Item Number). string item_id = 1 [(google.api.field_behavior) = OPTIONAL]; } // The shopping loyalty related data. Shopping utilizes this data to provide // users with a better experience. // Accessible only to merchants on the allow-list. message ShoppingLoyalty { // The membership tier. It is a free-form string as each merchant may have // their own loyalty system. For example, it could be a number from 1 to 10, // or a string such as "Golden" or "Silver", or even empty string "". optional string loyalty_tier = 1; } // Metadata for customer match user list. message CustomerMatchUserListMetadata { // The resource name of remarketing list to update data. // Required for job of CUSTOMER_MATCH_USER_LIST type. optional string user_list = 2; + + // The consent setting for all the users in this job. + optional Consent consent = 3; } // Metadata for Store Sales Direct. message StoreSalesMetadata { // This is the fraction of all transactions that are identifiable (for // example, associated with any form of customer information). Required. The // fraction needs to be between 0 and 1 (excluding 0). optional double loyalty_fraction = 5; // This is the ratio of sales being uploaded compared to the overall sales // that can be associated with a customer. Required. // The fraction needs to be between 0 and 1 (excluding 0). For example, if you // upload half the sales that you are able to associate with a customer, this // would be 0.5. optional double transaction_upload_fraction = 6; // Name of the store sales custom variable key. A predefined key that // can be applied to the transaction and then later used for custom // segmentation in reporting. // Accessible only to customers on the allow-list. optional string custom_key = 7; // Metadata for a third party Store Sales upload. StoreSalesThirdPartyMetadata third_party_metadata = 3; } // Metadata for a third party Store Sales. // This product is only for customers on the allow-list. Contact your // Google business development representative for details on the upload // configuration. message StoreSalesThirdPartyMetadata { // Time the advertiser uploaded the data to the partner. Required. // The format is "YYYY-MM-DD HH:MM:SS". // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30" optional string advertiser_upload_date_time = 7; // The fraction of transactions that are valid. Invalid transactions may // include invalid formats or values. // Required. // The fraction needs to be between 0 and 1 (excluding 0). optional double valid_transaction_fraction = 8; // The fraction of valid transactions that are matched to a third party // assigned user ID on the partner side. // Required. // The fraction needs to be between 0 and 1 (excluding 0). optional double partner_match_fraction = 9; // The fraction of valid transactions that are uploaded by the partner to // Google. // Required. // The fraction needs to be between 0 and 1 (excluding 0). optional double partner_upload_fraction = 10; // Version of partner IDs to be used for uploads. Required. optional string bridge_map_version_id = 11; // ID of the third party partner updating the transaction feed. optional int64 partner_id = 12; }
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2023-10-19 UTC.
[]
[]