Resource: UserEvent
UserEvent captures all metadata information Retail API needs to know about how end users interact with customers' website.
JSON representation | |
---|---|
{ "eventType": string, "visitorId": string, "eventTime": string, "experimentIds": [ string ], "attributionToken": string, "productDetails": [ { object ( |
Fields | |
---|---|
eventType |
Required. User event type. Allowed values are:
|
visitorId |
Required. A unique identifier for tracking visitors. For example, this could be implemented with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. This unique identifier should not change if the visitor log in/out of the website. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. |
eventTime |
Only required for A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: |
experimentIds[] |
A list of identifiers for the independent experiment groups this user event belongs to. This is used to distinguish between user events associated with different experiment setups (e.g. using Retail API, using different recommendation models). |
attributionToken |
Highly recommended for user events that are the result of The value must be a valid This token enables us to accurately attribute page view or purchase back to the event and the particular predict response containing this clicked/purchased product. If user clicks on product K in the recommendation results, pass |
productDetails[] |
The main product details related to the event. This field is required for the following event types:
In a |
attributes[] |
Extra user event features to include in the recommendation model. The key must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. For product recommendation, an example of extra user information is traffic_channel, i.e. how user arrives at the site. Users can arrive at the site by coming to the site directly, or coming through Google search, and etc. |
attributes[].text[] |
The textual values of this custom attribute. For example, At most 400 values are allowed. Empty values are not allowed. Each value must be a UTF-8 encoded string with a length limit of 256 characters. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of |
attributes[].numbers[] |
The numerical values of this custom attribute. For example, At most 400 values are allowed.Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of |
cartId |
The id or name of the associated shopping cart. This id is used to associate multiple items added or present in the cart before purchase. This can only be set for |
purchaseTransaction |
A transaction represents the entire purchase transaction. Required for |
searchQuery |
The user's search query. The value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. Required for |
pageCategories[] |
The categories associated with a category page. To represent full path of category, use '>' sign to separate different hierarchies. If '>' is part of the category name, please replace it with other character(s). Category pages include special pages such as sales or promotions. For instance, a special sale page may have the category hierarchy: "pageCategories" : ["Sales > 2017 Black Friday Deals"]. Required for |
userInfo |
User information. |
uri |
Complete URL (window.location.href) of the user's current page. When using the client side event reporting with JavaScript pixel and Google Tag Manager, this value is filled in automatically. Maximum length 5,000 characters. |
referrerUri |
The referrer URL of the current page. When using the client side event reporting with JavaScript pixel and Google Tag Manager, this value is filled in automatically. |
pageViewId |
A unique id of a web page view. This should be kept the same for all user events triggered from the same pageview. For example, an item detail page view could trigger multiple events as the user is browsing the page. The When using the client side event reporting with JavaScript pixel and Google Tag Manager, this value is filled in automatically. |
ProductDetail
Detailed product information associated with a user event.
JSON representation | |
---|---|
{
"product": {
object ( |
Fields | |
---|---|
product |
Required. Only |
quantity |
Quantity of the product associated with the user event. For example, this field will be 2 if two products are added to the shopping cart for |
PurchaseTransaction
A transaction represents the entire purchase transaction.
JSON representation | |
---|---|
{ "id": string, "revenue": number, "tax": number, "cost": number, "currencyCode": string } |
Fields | |
---|---|
id |
The transaction ID with a length limit of 128 characters. |
revenue |
Required. Total non-zero revenue or grand total associated with the transaction. This value include shipping, tax, or other adjustments to total revenue that you want to include as part of your revenue calculations. |
tax |
All the taxes associated with the transaction. |
cost |
All the costs associated with the products. These can be manufacturing costs, shipping expenses not borne by the end user, or any other costs, such that: |
currencyCode |
Required. Currency code. Use three-character ISO-4217 code. |
UserInfo
Information of an end user.
JSON representation | |
---|---|
{ "userId": string, "ipAddress": string, "userAgent": string, "directUserRequest": boolean } |
Fields | |
---|---|
userId |
Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned. |
ipAddress |
The end user's IP address. This field is used to extract location information for personalization. This field must be either an IPv4 address (e.g. "104.133.9.80") or an IPv6 address (e.g. "2001:0db8:85a3:0000:0000:8a2e:0370:7334"). Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the JavaScript tag in |
userAgent |
User agent as included in the HTTP header. The field must be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when using the client side event reporting with GTM or JavaScript tag in |
directUserRequest |
True if the request is made directly from the end user, in which case the This should not be set when using the JavaScript tag in |
Methods |
|
---|---|
|
Writes a single user event from the browser. |
|
Bulk import of User events. |
|
Deletes permanently all user events specified by the filter provided. |
|
Triggers a user event rejoin operation with latest product catalog. |
|
Writes a single user event. |