import type { BinaryWriteOptions } from "@protobuf-ts/runtime"; import type { IBinaryWriter } from "@protobuf-ts/runtime"; import type { BinaryReadOptions } from "@protobuf-ts/runtime"; import type { IBinaryReader } from "@protobuf-ts/runtime"; import type { PartialMessage } from "@protobuf-ts/runtime"; import { MessageType } from "@protobuf-ts/runtime"; import { UserIdentifierSourceEnum_UserIdentifierSource } from "../enums/user_identifier_source"; /** * Address identifier of offline data. * * @generated from protobuf message google.ads.googleads.v11.common.OfflineUserAddressInfo */ export interface 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). * * @generated from protobuf field: optional string hashed_first_name = 7; */ hashedFirstName?: string; /** * Last name of the user, which is hashed as SHA-256 after normalized (lower * case only and no punctuation). * * @generated from protobuf field: optional string hashed_last_name = 8; */ hashedLastName?: string; /** * City of the address. Only accepted for Store Sales and * ConversionAdjustmentUploadService. * * @generated from protobuf field: optional string city = 9; */ city?: string; /** * State code of the address. Only accepted for Store Sales and * ConversionAdjustmentUploadService. * * @generated from protobuf field: optional string state = 10; */ state?: string; /** * 2-letter country code in ISO-3166-1 alpha-2 of the user's address. * * @generated from protobuf field: optional string country_code = 11; */ countryCode?: string; /** * Postal code of the user's address. * * @generated from protobuf field: optional string postal_code = 12; */ postalCode?: string; /** * The street address of the user hashed using SHA-256 hash function after * normalization (lower case only). Only accepted for * ConversionAdjustmentUploadService. * * @generated from protobuf field: optional string hashed_street_address = 13; */ hashedStreetAddress?: string; } /** * User identifying information. * * @generated from protobuf message google.ads.googleads.v11.common.UserIdentifier */ export interface UserIdentifier { /** * Source of the user identifier when the upload is from Store Sales, * ConversionUploadService, or ConversionAdjustmentUploadService. * * @generated from protobuf field: google.ads.googleads.v11.enums.UserIdentifierSourceEnum.UserIdentifierSource user_identifier_source = 6; */ userIdentifierSource: UserIdentifierSourceEnum_UserIdentifierSource; /** * @generated from protobuf oneof: identifier */ identifier: { oneofKind: "hashedEmail"; /** * Hashed email address using SHA-256 hash function after normalization. * Accepted for Customer Match, Store Sales, ConversionUploadService, and * ConversionAdjustmentUploadService. * * @generated from protobuf field: string hashed_email = 7; */ hashedEmail: string; } | { oneofKind: "hashedPhoneNumber"; /** * Hashed phone number using SHA-256 hash function after normalization * (E164 standard). Accepted for Customer Match, Store Sales, * ConversionUploadService, and ConversionAdjustmentUploadService. * * @generated from protobuf field: string hashed_phone_number = 8; */ hashedPhoneNumber: string; } | { oneofKind: "mobileId"; /** * Mobile device ID (advertising ID/IDFA). Accepted only for Customer Match. * * @generated from protobuf field: string mobile_id = 9; */ mobileId: string; } | { oneofKind: "thirdPartyUserId"; /** * 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. * * @generated from protobuf field: string third_party_user_id = 10; */ thirdPartyUserId: string; } | { oneofKind: "addressInfo"; /** * Address information. Accepted only for Customer Match, Store Sales, and * ConversionAdjustmentUploadService. * * @generated from protobuf field: google.ads.googleads.v11.common.OfflineUserAddressInfo address_info = 5; */ addressInfo: OfflineUserAddressInfo; } | { oneofKind: undefined; }; } /** * Attribute of the store sales transaction. * * @generated from protobuf message google.ads.googleads.v11.common.TransactionAttribute */ export interface 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" * * @generated from protobuf field: optional string transaction_date_time = 8; */ transactionDateTime?: string; /** * 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. * * @generated from protobuf field: optional double transaction_amount_micros = 9; */ transactionAmountMicros?: number; /** * Transaction currency code. ISO 4217 three-letter code is used. Required. * * @generated from protobuf field: optional string currency_code = 10; */ currencyCode?: string; /** * The resource name of conversion action to report conversions to. * Required. * * @generated from protobuf field: optional string conversion_action = 11; */ conversionAction?: string; /** * Transaction order id. * Accessible only to customers on the allow-list. * * @generated from protobuf field: optional string order_id = 12; */ orderId?: string; /** * Store attributes of the transaction. * Accessible only to customers on the allow-list. * * @generated from protobuf field: google.ads.googleads.v11.common.StoreAttribute store_attribute = 6; */ storeAttribute?: StoreAttribute; /** * Value of the custom variable for each transaction. * Accessible only to customers on the allow-list. * * @generated from protobuf field: optional string custom_value = 13; */ customValue?: string; /** * Item attributes of the transaction. * * @generated from protobuf field: google.ads.googleads.v11.common.ItemAttribute item_attribute = 14; */ itemAttribute?: ItemAttribute; } /** * Store attributes of the transaction. * * @generated from protobuf message google.ads.googleads.v11.common.StoreAttribute */ export interface StoreAttribute { /** * Store code from * https://support.google.com/business/answer/3370250#storecode * * @generated from protobuf field: optional string store_code = 2; */ storeCode?: string; } /** * Item attributes of the transaction. * * @generated from protobuf message google.ads.googleads.v11.common.ItemAttribute */ export interface ItemAttribute { /** * A unique identifier of a product. It can be either the Merchant Center Item * ID or GTIN (Global Trade Item Number). * * @generated from protobuf field: string item_id = 1; */ itemId: string; /** * ID of the Merchant Center Account. * * @generated from protobuf field: optional int64 merchant_id = 2; */ merchantId?: bigint; /** * 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. * * @generated from protobuf field: string country_code = 3; */ countryCode: string; /** * ISO 639-1 code of the language associated with the feed where your items * are uploaded * * @generated from protobuf field: string language_code = 4; */ languageCode: string; /** * The number of items sold. Defaults to 1 if not set. * * @generated from protobuf field: int64 quantity = 5; */ quantity: bigint; } /** * User data holding user identifiers and attributes. * * @generated from protobuf message google.ads.googleads.v11.common.UserData */ export interface UserData { /** * User identification info. Required. * * @generated from protobuf field: repeated google.ads.googleads.v11.common.UserIdentifier user_identifiers = 1; */ userIdentifiers: UserIdentifier[]; /** * Additional transactions/attributes associated with the user. * Required when updating store sales data. * * @generated from protobuf field: google.ads.googleads.v11.common.TransactionAttribute transaction_attribute = 2; */ transactionAttribute?: TransactionAttribute; /** * Additional attributes associated with the user. Required when updating * customer match attributes. These have an expiration of 540 days. * * @generated from protobuf field: google.ads.googleads.v11.common.UserAttribute user_attribute = 3; */ userAttribute?: UserAttribute; } /** * User attribute, can only be used with CUSTOMER_MATCH_WITH_ATTRIBUTES job * type. * * @generated from protobuf message google.ads.googleads.v11.common.UserAttribute */ export interface UserAttribute { /** * Advertiser defined lifetime value for the user. * * @generated from protobuf field: optional int64 lifetime_value_micros = 1; */ lifetimeValueMicros?: bigint; /** * 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. * * @generated from protobuf field: optional int32 lifetime_value_bucket = 2; */ lifetimeValueBucket?: number; /** * 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. * * @generated from protobuf field: string last_purchase_date_time = 3; */ lastPurchaseDateTime: string; /** * Advertiser defined average number of purchases that are made by the user in * a 30 day period. * * @generated from protobuf field: int32 average_purchase_count = 4; */ averagePurchaseCount: number; /** * Advertiser defined average purchase value in micros for the user. * * @generated from protobuf field: int64 average_purchase_value_micros = 5; */ averagePurchaseValueMicros: bigint; /** * 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. * * @generated from protobuf field: string acquisition_date_time = 6; */ acquisitionDateTime: string; /** * 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. * * @generated from protobuf field: optional google.ads.googleads.v11.common.ShoppingLoyalty shopping_loyalty = 7; */ shoppingLoyalty?: ShoppingLoyalty; /** * Optional. Advertiser defined lifecycle stage for the user. The accepted values are * “Lead”, “Active” and “Churned”. * * @generated from protobuf field: string lifecycle_stage = 8; */ lifecycleStage: string; /** * 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. * * @generated from protobuf field: string first_purchase_date_time = 9; */ firstPurchaseDateTime: string; /** * Optional. Advertiser defined events and their attributes. All the values in the * nested fields are required. Currently this field is in beta. * * @generated from protobuf field: repeated google.ads.googleads.v11.common.EventAttribute event_attribute = 10; */ eventAttribute: EventAttribute[]; } /** * Advertiser defined events and their attributes. All the values in the * nested fields are required. * * @generated from protobuf message google.ads.googleads.v11.common.EventAttribute */ export interface EventAttribute { /** * Required. Advertiser defined event to be used for remarketing. The accepted values * are “Viewed”, “Cart”, “Purchased” and “Recommended”. * * @generated from protobuf field: string event = 1; */ event: string; /** * 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. * * @generated from protobuf field: string event_date_time = 2; */ eventDateTime: string; /** * Required. Item attributes of the event. * * @generated from protobuf field: repeated google.ads.googleads.v11.common.EventItemAttribute item_attribute = 3; */ itemAttribute: EventItemAttribute[]; } /** * Event Item attributes of the Customer Match. * * @generated from protobuf message google.ads.googleads.v11.common.EventItemAttribute */ export interface EventItemAttribute { /** * Optional. A unique identifier of a product. It can be either the Merchant Center Item * ID or GTIN (Global Trade Item Number). * * @generated from protobuf field: string item_id = 1; */ itemId: string; } /** * The shopping loyalty related data. Shopping utilizes this data to provide * users with a better experience. * Accessible only to merchants on the allow-list. * * @generated from protobuf message google.ads.googleads.v11.common.ShoppingLoyalty */ export interface 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 "". * * @generated from protobuf field: optional string loyalty_tier = 1; */ loyaltyTier?: string; } /** * Metadata for customer match user list. * * @generated from protobuf message google.ads.googleads.v11.common.CustomerMatchUserListMetadata */ export interface CustomerMatchUserListMetadata { /** * The resource name of remarketing list to update data. * Required for job of CUSTOMER_MATCH_USER_LIST type. * * @generated from protobuf field: optional string user_list = 2; */ userList?: string; } /** * Metadata for Store Sales Direct. * * @generated from protobuf message google.ads.googleads.v11.common.StoreSalesMetadata */ export interface 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). * * @generated from protobuf field: optional double loyalty_fraction = 5; */ loyaltyFraction?: number; /** * 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. * * @generated from protobuf field: optional double transaction_upload_fraction = 6; */ transactionUploadFraction?: number; /** * 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. * * @generated from protobuf field: optional string custom_key = 7; */ customKey?: string; /** * Metadata for a third party Store Sales upload. * * @generated from protobuf field: google.ads.googleads.v11.common.StoreSalesThirdPartyMetadata third_party_metadata = 3; */ thirdPartyMetadata?: StoreSalesThirdPartyMetadata; } /** * 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. * * @generated from protobuf message google.ads.googleads.v11.common.StoreSalesThirdPartyMetadata */ export interface 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" * * @generated from protobuf field: optional string advertiser_upload_date_time = 7; */ advertiserUploadDateTime?: string; /** * 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). * * @generated from protobuf field: optional double valid_transaction_fraction = 8; */ validTransactionFraction?: number; /** * 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). * * @generated from protobuf field: optional double partner_match_fraction = 9; */ partnerMatchFraction?: number; /** * 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). * * @generated from protobuf field: optional double partner_upload_fraction = 10; */ partnerUploadFraction?: number; /** * Version of partner IDs to be used for uploads. Required. * * @generated from protobuf field: optional string bridge_map_version_id = 11; */ bridgeMapVersionId?: string; /** * ID of the third party partner updating the transaction feed. * * @generated from protobuf field: optional int64 partner_id = 12; */ partnerId?: bigint; } declare class OfflineUserAddressInfo$Type extends MessageType { constructor(); create(value?: PartialMessage): OfflineUserAddressInfo; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: OfflineUserAddressInfo): OfflineUserAddressInfo; internalBinaryWrite(message: OfflineUserAddressInfo, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.ads.googleads.v11.common.OfflineUserAddressInfo */ export declare const OfflineUserAddressInfo: OfflineUserAddressInfo$Type; declare class UserIdentifier$Type extends MessageType { constructor(); create(value?: PartialMessage): UserIdentifier; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UserIdentifier): UserIdentifier; internalBinaryWrite(message: UserIdentifier, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.ads.googleads.v11.common.UserIdentifier */ export declare const UserIdentifier: UserIdentifier$Type; declare class TransactionAttribute$Type extends MessageType { constructor(); create(value?: PartialMessage): TransactionAttribute; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TransactionAttribute): TransactionAttribute; internalBinaryWrite(message: TransactionAttribute, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.ads.googleads.v11.common.TransactionAttribute */ export declare const TransactionAttribute: TransactionAttribute$Type; declare class StoreAttribute$Type extends MessageType { constructor(); create(value?: PartialMessage): StoreAttribute; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: StoreAttribute): StoreAttribute; internalBinaryWrite(message: StoreAttribute, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.ads.googleads.v11.common.StoreAttribute */ export declare const StoreAttribute: StoreAttribute$Type; declare class ItemAttribute$Type extends MessageType { constructor(); create(value?: PartialMessage): ItemAttribute; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ItemAttribute): ItemAttribute; internalBinaryWrite(message: ItemAttribute, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.ads.googleads.v11.common.ItemAttribute */ export declare const ItemAttribute: ItemAttribute$Type; declare class UserData$Type extends MessageType { constructor(); create(value?: PartialMessage): UserData; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UserData): UserData; internalBinaryWrite(message: UserData, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.ads.googleads.v11.common.UserData */ export declare const UserData: UserData$Type; declare class UserAttribute$Type extends MessageType { constructor(); create(value?: PartialMessage): UserAttribute; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UserAttribute): UserAttribute; internalBinaryWrite(message: UserAttribute, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.ads.googleads.v11.common.UserAttribute */ export declare const UserAttribute: UserAttribute$Type; declare class EventAttribute$Type extends MessageType { constructor(); create(value?: PartialMessage): EventAttribute; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: EventAttribute): EventAttribute; internalBinaryWrite(message: EventAttribute, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.ads.googleads.v11.common.EventAttribute */ export declare const EventAttribute: EventAttribute$Type; declare class EventItemAttribute$Type extends MessageType { constructor(); create(value?: PartialMessage): EventItemAttribute; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: EventItemAttribute): EventItemAttribute; internalBinaryWrite(message: EventItemAttribute, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.ads.googleads.v11.common.EventItemAttribute */ export declare const EventItemAttribute: EventItemAttribute$Type; declare class ShoppingLoyalty$Type extends MessageType { constructor(); create(value?: PartialMessage): ShoppingLoyalty; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ShoppingLoyalty): ShoppingLoyalty; internalBinaryWrite(message: ShoppingLoyalty, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.ads.googleads.v11.common.ShoppingLoyalty */ export declare const ShoppingLoyalty: ShoppingLoyalty$Type; declare class CustomerMatchUserListMetadata$Type extends MessageType { constructor(); create(value?: PartialMessage): CustomerMatchUserListMetadata; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CustomerMatchUserListMetadata): CustomerMatchUserListMetadata; internalBinaryWrite(message: CustomerMatchUserListMetadata, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.ads.googleads.v11.common.CustomerMatchUserListMetadata */ export declare const CustomerMatchUserListMetadata: CustomerMatchUserListMetadata$Type; declare class StoreSalesMetadata$Type extends MessageType { constructor(); create(value?: PartialMessage): StoreSalesMetadata; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: StoreSalesMetadata): StoreSalesMetadata; internalBinaryWrite(message: StoreSalesMetadata, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.ads.googleads.v11.common.StoreSalesMetadata */ export declare const StoreSalesMetadata: StoreSalesMetadata$Type; declare class StoreSalesThirdPartyMetadata$Type extends MessageType { constructor(); create(value?: PartialMessage): StoreSalesThirdPartyMetadata; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: StoreSalesThirdPartyMetadata): StoreSalesThirdPartyMetadata; internalBinaryWrite(message: StoreSalesThirdPartyMetadata, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.ads.googleads.v11.common.StoreSalesThirdPartyMetadata */ export declare const StoreSalesThirdPartyMetadata: StoreSalesThirdPartyMetadata$Type; export {};