Optional. Indicates if the request is made directly from the end user
in which case the user_agent and ip_address fields can be populated
from the HTTP request. This should not be set when using the javascript
pixel. This flag should be set only if the API request is made directly
from the end user such as a mobile app (and not if a gateway or a server is
processing and pushing the user events).
Optional. IP address of the user. This could be either IPv4 (e.g. 104.133.9.80) or
IPv6 (e.g. 2001:0db8:85a3:0000:0000:8a2e:0370:7334). This should not be
set when using the javascript pixel or if direct_user_request is set.
Used to extract location information for personalization.
Required. A unique identifier for tracking visitors with a length limit of
128 bytes.
For example, this could be implemented with a 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.
Maximum length 128 bytes. Cannot be empty.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe \u003ccode\u003eUserInfo\u003c/code\u003e class represents information about end users and is part of the \u003ccode\u003eGoogle.Cloud.RecommendationEngine.V1Beta1\u003c/code\u003e namespace.\u003c/p\u003e\n"],["\u003cp\u003eIt implements several interfaces including \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, offering various functionalities such as message handling, equality comparison, deep cloning, and buffer message support.\u003c/p\u003e\n"],["\u003cp\u003eKey properties of the \u003ccode\u003eUserInfo\u003c/code\u003e class include \u003ccode\u003eDirectUserRequest\u003c/code\u003e, \u003ccode\u003eIpAddress\u003c/code\u003e, \u003ccode\u003eUserAgent\u003c/code\u003e, \u003ccode\u003eUserId\u003c/code\u003e, and \u003ccode\u003eVisitorId\u003c/code\u003e, which capture different aspects of user interaction and identification.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eVisitorId\u003c/code\u003e is a mandatory property for tracking visitors, while \u003ccode\u003eUserId\u003c/code\u003e is optional and used to identify logged-in users, each with a length limit of 128 bytes.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eDirectUserRequest\u003c/code\u003e, \u003ccode\u003eIpAddress\u003c/code\u003e, and \u003ccode\u003eUserAgent\u003c/code\u003e should not be set when using the javascript pixel, with \u003ccode\u003eDirectUserRequest\u003c/code\u003e being set only if the request is directly from the end user.\u003c/p\u003e\n"]]],[],null,[]]