Reference documentation and code samples for the Google Cloud Retail V2 Client class UserInfo.
Information of an end user.
Generated from protobuf messagegoogle.cloud.retail.v2.UserInfo
Namespace
Google \ Cloud \ Retail \ V2
Methods
__construct
Constructor.
Parameters
Name
Description
data
array
Optional. Data for populating the Message object.
↳ user_id
string
Highly recommended for logged-in users. Unique identifier for logged-in user, such as a user name. Don't set for anonymous users. Always use a hashed value for this ID. Don't set the field to the same fixed ID for different users. This mixes the event history of those users together, which results in degraded model quality. The field must be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
↳ ip_address
string
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: * * settingSearchRequest.user_info. * * using the JavaScript tag inUserEventService.CollectUserEventor ifdirect_user_requestis set.
↳ user_agent
string
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 inUserEventService.CollectUserEventor ifdirect_user_requestis set.
↳ direct_user_request
bool
True if the request is made directly from the end user, in which case theip_addressanduser_agentcan be populated from the HTTP request. 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). This should not be set when using the JavaScript tag inUserEventService.CollectUserEvent.
getUserId
Highly recommended for logged-in users. Unique identifier for logged-in
user, such as a user name. Don't set for anonymous users.
Always use a hashed value for this ID.
Don't set the field to the same fixed ID for different users. This mixes
the event history of those users together, which results in degraded
model quality.
The field must be a UTF-8 encoded string with a length limit of 128
characters. Otherwise, an INVALID_ARGUMENT error is returned.
Returns
Type
Description
string
setUserId
Highly recommended for logged-in users. Unique identifier for logged-in
user, such as a user name. Don't set for anonymous users.
Always use a hashed value for this ID.
Don't set the field to the same fixed ID for different users. This mixes
the event history of those users together, which results in degraded
model quality.
The field must be a UTF-8 encoded string with a length limit of 128
characters. Otherwise, an INVALID_ARGUMENT error is returned.
Parameter
Name
Description
var
string
Returns
Type
Description
$this
getIpAddress
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:
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:
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 inUserEventService.CollectUserEventor ifdirect_user_requestis set.
Returns
Type
Description
string
setUserAgent
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 inUserEventService.CollectUserEventor ifdirect_user_requestis set.
Parameter
Name
Description
var
string
Returns
Type
Description
$this
getDirectUserRequest
True if the request is made directly from the end user, in which case theip_addressanduser_agentcan be populated
from the HTTP request. 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).
True if the request is made directly from the end user, in which case theip_addressanduser_agentcan be populated
from the HTTP request. 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).
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Google Cloud Retail V2 Client - Class UserInfo (2.3.1)\n\nVersion latestkeyboard_arrow_down\n\n- [2.3.1 (latest)](/php/docs/reference/cloud-retail/latest/V2.UserInfo)\n- [2.3.0](/php/docs/reference/cloud-retail/2.3.0/V2.UserInfo)\n- [2.2.1](/php/docs/reference/cloud-retail/2.2.1/V2.UserInfo)\n- [2.1.3](/php/docs/reference/cloud-retail/2.1.3/V2.UserInfo)\n- [2.0.0](/php/docs/reference/cloud-retail/2.0.0/V2.UserInfo)\n- [1.7.0](/php/docs/reference/cloud-retail/1.7.0/V2.UserInfo)\n- [1.6.4](/php/docs/reference/cloud-retail/1.6.4/V2.UserInfo)\n- [1.5.0](/php/docs/reference/cloud-retail/1.5.0/V2.UserInfo)\n- [1.4.2](/php/docs/reference/cloud-retail/1.4.2/V2.UserInfo)\n- [1.3.1](/php/docs/reference/cloud-retail/1.3.1/V2.UserInfo)\n- [1.2.1](/php/docs/reference/cloud-retail/1.2.1/V2.UserInfo)\n- [1.1.1](/php/docs/reference/cloud-retail/1.1.1/V2.UserInfo)\n- [1.0.1](/php/docs/reference/cloud-retail/1.0.1/V2.UserInfo) \nReference documentation and code samples for the Google Cloud Retail V2 Client class UserInfo.\n\nInformation of an end user.\n\nGenerated from protobuf message `google.cloud.retail.v2.UserInfo`\n\nNamespace\n---------\n\nGoogle \\\\ Cloud \\\\ Retail \\\\ V2\n\nMethods\n-------\n\n### __construct\n\nConstructor.\n\n### getUserId\n\nHighly recommended for logged-in users. Unique identifier for logged-in\nuser, such as a user name. Don't set for anonymous users.\n\nAlways use a hashed value for this ID.\nDon't set the field to the same fixed ID for different users. This mixes\nthe event history of those users together, which results in degraded\nmodel quality.\nThe field must be a UTF-8 encoded string with a length limit of 128\ncharacters. Otherwise, an INVALID_ARGUMENT error is returned.\n\n### setUserId\n\nHighly recommended for logged-in users. Unique identifier for logged-in\nuser, such as a user name. Don't set for anonymous users.\n\nAlways use a hashed value for this ID.\nDon't set the field to the same fixed ID for different users. This mixes\nthe event history of those users together, which results in degraded\nmodel quality.\nThe field must be a UTF-8 encoded string with a length limit of 128\ncharacters. Otherwise, an INVALID_ARGUMENT error is returned.\n\n### getIpAddress\n\nThe end user's IP address. This field is used to extract location\ninformation for personalization.\n\nThis field must be either an IPv4 address (e.g. \"104.133.9.80\") or an IPv6\naddress (e.g. \"2001:0db8:85a3:0000:0000:8a2e:0370:7334\"). Otherwise, an\nINVALID_ARGUMENT error is returned.\nThis should not be set when:\n\n- setting [SearchRequest.user_info](/php/docs/reference/cloud-retail/latest/V2.SearchRequest#_Google_Cloud_Retail_V2_SearchRequest__getUserInfo__).\n- using the JavaScript tag in [UserEventService.CollectUserEvent](/php/docs/reference/cloud-retail/latest/V2.Client.UserEventServiceClient#_Google_Cloud_Retail_V2_Client_UserEventServiceClient__collectUserEvent__) or if [direct_user_request](/php/docs/reference/cloud-retail/latest/V2.UserInfo#_Google_Cloud_Retail_V2_UserInfo__getDirectUserRequest__) is set.\n\n### setIpAddress\n\nThe end user's IP address. This field is used to extract location\ninformation for personalization.\n\nThis field must be either an IPv4 address (e.g. \"104.133.9.80\") or an IPv6\naddress (e.g. \"2001:0db8:85a3:0000:0000:8a2e:0370:7334\"). Otherwise, an\nINVALID_ARGUMENT error is returned.\nThis should not be set when:\n\n- setting [SearchRequest.user_info](/php/docs/reference/cloud-retail/latest/V2.SearchRequest#_Google_Cloud_Retail_V2_SearchRequest__getUserInfo__).\n- using the JavaScript tag in [UserEventService.CollectUserEvent](/php/docs/reference/cloud-retail/latest/V2.Client.UserEventServiceClient#_Google_Cloud_Retail_V2_Client_UserEventServiceClient__collectUserEvent__) or if [direct_user_request](/php/docs/reference/cloud-retail/latest/V2.UserInfo#_Google_Cloud_Retail_V2_UserInfo__getDirectUserRequest__) is set.\n\n### getUserAgent\n\nUser agent as included in the HTTP header.\n\nThe field must be a UTF-8 encoded string with a length limit of 1,000\ncharacters. Otherwise, an INVALID_ARGUMENT error is returned.\nThis should not be set when using the client side event reporting with\nGTM or JavaScript tag in\n[UserEventService.CollectUserEvent](/php/docs/reference/cloud-retail/latest/V2.Client.UserEventServiceClient#_Google_Cloud_Retail_V2_Client_UserEventServiceClient__collectUserEvent__)\nor if\n[direct_user_request](/php/docs/reference/cloud-retail/latest/V2.UserInfo#_Google_Cloud_Retail_V2_UserInfo__getDirectUserRequest__)\nis set.\n\n### setUserAgent\n\nUser agent as included in the HTTP header.\n\nThe field must be a UTF-8 encoded string with a length limit of 1,000\ncharacters. Otherwise, an INVALID_ARGUMENT error is returned.\nThis should not be set when using the client side event reporting with\nGTM or JavaScript tag in\n[UserEventService.CollectUserEvent](/php/docs/reference/cloud-retail/latest/V2.Client.UserEventServiceClient#_Google_Cloud_Retail_V2_Client_UserEventServiceClient__collectUserEvent__)\nor if\n[direct_user_request](/php/docs/reference/cloud-retail/latest/V2.UserInfo#_Google_Cloud_Retail_V2_UserInfo__getDirectUserRequest__)\nis set.\n\n### getDirectUserRequest\n\nTrue if the request is made directly from the end user, in which case the\n[ip_address](/php/docs/reference/cloud-retail/latest/V2.UserInfo#_Google_Cloud_Retail_V2_UserInfo__getIpAddress__) and\n[user_agent](/php/docs/reference/cloud-retail/latest/V2.UserInfo#_Google_Cloud_Retail_V2_UserInfo__getUserAgent__) can be populated\nfrom the HTTP request. This flag should be set only if the API request is\nmade directly from the end user such as a mobile app (and not if a gateway\nor a server is processing and pushing the user events).\n\nThis should not be set when using the JavaScript tag in\n[UserEventService.CollectUserEvent](/php/docs/reference/cloud-retail/latest/V2.Client.UserEventServiceClient#_Google_Cloud_Retail_V2_Client_UserEventServiceClient__collectUserEvent__).\n\n### setDirectUserRequest\n\nTrue if the request is made directly from the end user, in which case the\n[ip_address](/php/docs/reference/cloud-retail/latest/V2.UserInfo#_Google_Cloud_Retail_V2_UserInfo__getIpAddress__) and\n[user_agent](/php/docs/reference/cloud-retail/latest/V2.UserInfo#_Google_Cloud_Retail_V2_UserInfo__getUserAgent__) can be populated\nfrom the HTTP request. This flag should be set only if the API request is\nmade directly from the end user such as a mobile app (and not if a gateway\nor a server is processing and pushing the user events).\n\nThis should not be set when using the JavaScript tag in\n[UserEventService.CollectUserEvent](/php/docs/reference/cloud-retail/latest/V2.Client.UserEventServiceClient#_Google_Cloud_Retail_V2_Client_UserEventServiceClient__collectUserEvent__)."]]