Class UserEvent

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
com.google.cloud.retail.v2alpha.UserEvent
All Implemented Interfaces:
UserEventOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

@Generated public final class UserEvent extends com.google.protobuf.GeneratedMessage implements UserEventOrBuilder
 UserEvent captures all metadata information Retail API needs to know about
 how end users interact with customers' website.
 
Protobuf type google.cloud.retail.v2alpha.UserEvent
See Also:
  • Field Details

    • EVENT_TYPE_FIELD_NUMBER

      public static final int EVENT_TYPE_FIELD_NUMBER
      See Also:
    • VISITOR_ID_FIELD_NUMBER

      public static final int VISITOR_ID_FIELD_NUMBER
      See Also:
    • SESSION_ID_FIELD_NUMBER

      public static final int SESSION_ID_FIELD_NUMBER
      See Also:
    • EVENT_TIME_FIELD_NUMBER

      public static final int EVENT_TIME_FIELD_NUMBER
      See Also:
    • EXPERIMENT_IDS_FIELD_NUMBER

      public static final int EXPERIMENT_IDS_FIELD_NUMBER
      See Also:
    • ATTRIBUTION_TOKEN_FIELD_NUMBER

      public static final int ATTRIBUTION_TOKEN_FIELD_NUMBER
      See Also:
    • PRODUCT_DETAILS_FIELD_NUMBER

      public static final int PRODUCT_DETAILS_FIELD_NUMBER
      See Also:
    • COMPLETION_DETAIL_FIELD_NUMBER

      public static final int COMPLETION_DETAIL_FIELD_NUMBER
      See Also:
    • ATTRIBUTES_FIELD_NUMBER

      public static final int ATTRIBUTES_FIELD_NUMBER
      See Also:
    • CART_ID_FIELD_NUMBER

      public static final int CART_ID_FIELD_NUMBER
      See Also:
    • PURCHASE_TRANSACTION_FIELD_NUMBER

      public static final int PURCHASE_TRANSACTION_FIELD_NUMBER
      See Also:
    • SEARCH_QUERY_FIELD_NUMBER

      public static final int SEARCH_QUERY_FIELD_NUMBER
      See Also:
    • FILTER_FIELD_NUMBER

      public static final int FILTER_FIELD_NUMBER
      See Also:
    • ORDER_BY_FIELD_NUMBER

      public static final int ORDER_BY_FIELD_NUMBER
      See Also:
    • OFFSET_FIELD_NUMBER

      public static final int OFFSET_FIELD_NUMBER
      See Also:
    • PAGE_CATEGORIES_FIELD_NUMBER

      public static final int PAGE_CATEGORIES_FIELD_NUMBER
      See Also:
    • USER_INFO_FIELD_NUMBER

      public static final int USER_INFO_FIELD_NUMBER
      See Also:
    • URI_FIELD_NUMBER

      public static final int URI_FIELD_NUMBER
      See Also:
    • REFERRER_URI_FIELD_NUMBER

      public static final int REFERRER_URI_FIELD_NUMBER
      See Also:
    • PAGE_VIEW_ID_FIELD_NUMBER

      public static final int PAGE_VIEW_ID_FIELD_NUMBER
      See Also:
    • ENTITY_FIELD_NUMBER

      public static final int ENTITY_FIELD_NUMBER
      See Also:
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetMapFieldReflection

      protected com.google.protobuf.MapFieldReflectionAccessor internalGetMapFieldReflection(int number)
      Overrides:
      internalGetMapFieldReflection in class com.google.protobuf.GeneratedMessage
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
    • getEventType

      public String getEventType()
       Required. User event type. Allowed values are:
      
       * `add-to-cart`: Products being added to cart.
       * `remove-from-cart`: Products being removed from cart.
       * `category-page-view`: Special pages such as sale or promotion pages
       viewed.
       * `detail-page-view`: Products detail page viewed.
       * `home-page-view`: Homepage viewed.
       * `purchase-complete`: User finishing a purchase.
       * `search`: Product search.
       * `shopping-cart-page-view`: User viewing a shopping cart.
       
      string event_type = 1 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getEventType in interface UserEventOrBuilder
      Returns:
      The eventType.
    • getEventTypeBytes

      public com.google.protobuf.ByteString getEventTypeBytes()
       Required. User event type. Allowed values are:
      
       * `add-to-cart`: Products being added to cart.
       * `remove-from-cart`: Products being removed from cart.
       * `category-page-view`: Special pages such as sale or promotion pages
       viewed.
       * `detail-page-view`: Products detail page viewed.
       * `home-page-view`: Homepage viewed.
       * `purchase-complete`: User finishing a purchase.
       * `search`: Product search.
       * `shopping-cart-page-view`: User viewing a shopping cart.
       
      string event_type = 1 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getEventTypeBytes in interface UserEventOrBuilder
      Returns:
      The bytes for eventType.
    • getVisitorId

      public String getVisitorId()
       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.
      
       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.
      
       The field should not contain PII or user-data. We recommend to use Google
       Analytics [Client
       ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId)
       for this field.
       
      string visitor_id = 2 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getVisitorId in interface UserEventOrBuilder
      Returns:
      The visitorId.
    • getVisitorIdBytes

      public com.google.protobuf.ByteString getVisitorIdBytes()
       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.
      
       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.
      
       The field should not contain PII or user-data. We recommend to use Google
       Analytics [Client
       ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId)
       for this field.
       
      string visitor_id = 2 [(.google.api.field_behavior) = REQUIRED];
      Specified by:
      getVisitorIdBytes in interface UserEventOrBuilder
      Returns:
      The bytes for visitorId.
    • getSessionId

      public String getSessionId()
       A unique identifier for tracking a visitor session with a length limit of
       128 bytes. A session is an aggregation of an end user behavior in a time
       span.
      
       A general guideline to populate the sesion_id:
       1. If user has no activity for 30 min, a new session_id should be assigned.
       2. The session_id should be unique across users, suggest use uuid or add
       visitor_id as prefix.
       
      string session_id = 21;
      Specified by:
      getSessionId in interface UserEventOrBuilder
      Returns:
      The sessionId.
    • getSessionIdBytes

      public com.google.protobuf.ByteString getSessionIdBytes()
       A unique identifier for tracking a visitor session with a length limit of
       128 bytes. A session is an aggregation of an end user behavior in a time
       span.
      
       A general guideline to populate the sesion_id:
       1. If user has no activity for 30 min, a new session_id should be assigned.
       2. The session_id should be unique across users, suggest use uuid or add
       visitor_id as prefix.
       
      string session_id = 21;
      Specified by:
      getSessionIdBytes in interface UserEventOrBuilder
      Returns:
      The bytes for sessionId.
    • hasEventTime

      public boolean hasEventTime()
       Only required for
       [UserEventService.ImportUserEvents][google.cloud.retail.v2alpha.UserEventService.ImportUserEvents]
       method. Timestamp of when the user event happened.
       
      .google.protobuf.Timestamp event_time = 3;
      Specified by:
      hasEventTime in interface UserEventOrBuilder
      Returns:
      Whether the eventTime field is set.
    • getEventTime

      public com.google.protobuf.Timestamp getEventTime()
       Only required for
       [UserEventService.ImportUserEvents][google.cloud.retail.v2alpha.UserEventService.ImportUserEvents]
       method. Timestamp of when the user event happened.
       
      .google.protobuf.Timestamp event_time = 3;
      Specified by:
      getEventTime in interface UserEventOrBuilder
      Returns:
      The eventTime.
    • getEventTimeOrBuilder

      public com.google.protobuf.TimestampOrBuilder getEventTimeOrBuilder()
       Only required for
       [UserEventService.ImportUserEvents][google.cloud.retail.v2alpha.UserEventService.ImportUserEvents]
       method. Timestamp of when the user event happened.
       
      .google.protobuf.Timestamp event_time = 3;
      Specified by:
      getEventTimeOrBuilder in interface UserEventOrBuilder
    • getExperimentIdsList

      public com.google.protobuf.ProtocolStringList getExperimentIdsList()
       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).
       
      repeated string experiment_ids = 4;
      Specified by:
      getExperimentIdsList in interface UserEventOrBuilder
      Returns:
      A list containing the experimentIds.
    • getExperimentIdsCount

      public int getExperimentIdsCount()
       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).
       
      repeated string experiment_ids = 4;
      Specified by:
      getExperimentIdsCount in interface UserEventOrBuilder
      Returns:
      The count of experimentIds.
    • getExperimentIds

      public String getExperimentIds(int index)
       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).
       
      repeated string experiment_ids = 4;
      Specified by:
      getExperimentIds in interface UserEventOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The experimentIds at the given index.
    • getExperimentIdsBytes

      public com.google.protobuf.ByteString getExperimentIdsBytes(int index)
       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).
       
      repeated string experiment_ids = 4;
      Specified by:
      getExperimentIdsBytes in interface UserEventOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the experimentIds at the given index.
    • getAttributionToken

      public String getAttributionToken()
       Highly recommended for user events that are the result of
       [PredictionService.Predict][google.cloud.retail.v2alpha.PredictionService.Predict].
       This field enables accurate attribution of recommendation model
       performance.
      
       The value must be a valid
       [PredictResponse.attribution_token][google.cloud.retail.v2alpha.PredictResponse.attribution_token]
       for user events that are the result of
       [PredictionService.Predict][google.cloud.retail.v2alpha.PredictionService.Predict].
       The value must be a valid
       [SearchResponse.attribution_token][google.cloud.retail.v2alpha.SearchResponse.attribution_token]
       for user events that are the result of
       [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
      
       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
       [PredictResponse.attribution_token][google.cloud.retail.v2alpha.PredictResponse.attribution_token]
       as a URL parameter to product K's page. When recording events on product
       K's page, log the
       [PredictResponse.attribution_token][google.cloud.retail.v2alpha.PredictResponse.attribution_token]
       to this field.
       
      string attribution_token = 5;
      Specified by:
      getAttributionToken in interface UserEventOrBuilder
      Returns:
      The attributionToken.
    • getAttributionTokenBytes

      public com.google.protobuf.ByteString getAttributionTokenBytes()
       Highly recommended for user events that are the result of
       [PredictionService.Predict][google.cloud.retail.v2alpha.PredictionService.Predict].
       This field enables accurate attribution of recommendation model
       performance.
      
       The value must be a valid
       [PredictResponse.attribution_token][google.cloud.retail.v2alpha.PredictResponse.attribution_token]
       for user events that are the result of
       [PredictionService.Predict][google.cloud.retail.v2alpha.PredictionService.Predict].
       The value must be a valid
       [SearchResponse.attribution_token][google.cloud.retail.v2alpha.SearchResponse.attribution_token]
       for user events that are the result of
       [SearchService.Search][google.cloud.retail.v2alpha.SearchService.Search].
      
       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
       [PredictResponse.attribution_token][google.cloud.retail.v2alpha.PredictResponse.attribution_token]
       as a URL parameter to product K's page. When recording events on product
       K's page, log the
       [PredictResponse.attribution_token][google.cloud.retail.v2alpha.PredictResponse.attribution_token]
       to this field.
       
      string attribution_token = 5;
      Specified by:
      getAttributionTokenBytes in interface UserEventOrBuilder
      Returns:
      The bytes for attributionToken.
    • getProductDetailsList

      public List<ProductDetail> getProductDetailsList()
       The main product details related to the event.
      
       This field is optional except for the following event types:
      
       * `add-to-cart`
       * `detail-page-view`
       * `purchase-complete`
      
       In a `search` event, this field represents the products returned to the end
       user on the current page (the end user may have not finished browsing the
       whole page yet). When a new page is returned to the end user, after
       pagination/filtering/ordering even for the same query, a new `search` event
       with different
       [product_details][google.cloud.retail.v2alpha.UserEvent.product_details] is
       desired. The end user may have not finished browsing the whole page yet.
       
      repeated .google.cloud.retail.v2alpha.ProductDetail product_details = 6;
      Specified by:
      getProductDetailsList in interface UserEventOrBuilder
    • getProductDetailsOrBuilderList

      public List<? extends ProductDetailOrBuilder> getProductDetailsOrBuilderList()
       The main product details related to the event.
      
       This field is optional except for the following event types:
      
       * `add-to-cart`
       * `detail-page-view`
       * `purchase-complete`
      
       In a `search` event, this field represents the products returned to the end
       user on the current page (the end user may have not finished browsing the
       whole page yet). When a new page is returned to the end user, after
       pagination/filtering/ordering even for the same query, a new `search` event
       with different
       [product_details][google.cloud.retail.v2alpha.UserEvent.product_details] is
       desired. The end user may have not finished browsing the whole page yet.
       
      repeated .google.cloud.retail.v2alpha.ProductDetail product_details = 6;
      Specified by:
      getProductDetailsOrBuilderList in interface UserEventOrBuilder
    • getProductDetailsCount

      public int getProductDetailsCount()
       The main product details related to the event.
      
       This field is optional except for the following event types:
      
       * `add-to-cart`
       * `detail-page-view`
       * `purchase-complete`
      
       In a `search` event, this field represents the products returned to the end
       user on the current page (the end user may have not finished browsing the
       whole page yet). When a new page is returned to the end user, after
       pagination/filtering/ordering even for the same query, a new `search` event
       with different
       [product_details][google.cloud.retail.v2alpha.UserEvent.product_details] is
       desired. The end user may have not finished browsing the whole page yet.
       
      repeated .google.cloud.retail.v2alpha.ProductDetail product_details = 6;
      Specified by:
      getProductDetailsCount in interface UserEventOrBuilder
    • getProductDetails

      public ProductDetail getProductDetails(int index)
       The main product details related to the event.
      
       This field is optional except for the following event types:
      
       * `add-to-cart`
       * `detail-page-view`
       * `purchase-complete`
      
       In a `search` event, this field represents the products returned to the end
       user on the current page (the end user may have not finished browsing the
       whole page yet). When a new page is returned to the end user, after
       pagination/filtering/ordering even for the same query, a new `search` event
       with different
       [product_details][google.cloud.retail.v2alpha.UserEvent.product_details] is
       desired. The end user may have not finished browsing the whole page yet.
       
      repeated .google.cloud.retail.v2alpha.ProductDetail product_details = 6;
      Specified by:
      getProductDetails in interface UserEventOrBuilder
    • getProductDetailsOrBuilder

      public ProductDetailOrBuilder getProductDetailsOrBuilder(int index)
       The main product details related to the event.
      
       This field is optional except for the following event types:
      
       * `add-to-cart`
       * `detail-page-view`
       * `purchase-complete`
      
       In a `search` event, this field represents the products returned to the end
       user on the current page (the end user may have not finished browsing the
       whole page yet). When a new page is returned to the end user, after
       pagination/filtering/ordering even for the same query, a new `search` event
       with different
       [product_details][google.cloud.retail.v2alpha.UserEvent.product_details] is
       desired. The end user may have not finished browsing the whole page yet.
       
      repeated .google.cloud.retail.v2alpha.ProductDetail product_details = 6;
      Specified by:
      getProductDetailsOrBuilder in interface UserEventOrBuilder
    • hasCompletionDetail

      public boolean hasCompletionDetail()
       The main auto-completion details related to the event.
      
       This field should be set for `search` event when autocomplete function is
       enabled and the user clicks a suggestion for search.
       
      .google.cloud.retail.v2alpha.CompletionDetail completion_detail = 22;
      Specified by:
      hasCompletionDetail in interface UserEventOrBuilder
      Returns:
      Whether the completionDetail field is set.
    • getCompletionDetail

      public CompletionDetail getCompletionDetail()
       The main auto-completion details related to the event.
      
       This field should be set for `search` event when autocomplete function is
       enabled and the user clicks a suggestion for search.
       
      .google.cloud.retail.v2alpha.CompletionDetail completion_detail = 22;
      Specified by:
      getCompletionDetail in interface UserEventOrBuilder
      Returns:
      The completionDetail.
    • getCompletionDetailOrBuilder

      public CompletionDetailOrBuilder getCompletionDetailOrBuilder()
       The main auto-completion details related to the event.
      
       This field should be set for `search` event when autocomplete function is
       enabled and the user clicks a suggestion for search.
       
      .google.cloud.retail.v2alpha.CompletionDetail completion_detail = 22;
      Specified by:
      getCompletionDetailOrBuilder in interface UserEventOrBuilder
    • getAttributesCount

      public int getAttributesCount()
      Description copied from interface: UserEventOrBuilder
       Extra user event features to include in the recommendation model.
      
       If you provide custom attributes for ingested user events, also include
       them in the user events that you associate with prediction requests. Custom
       attribute formatting must be consistent between imported events and events
       provided with prediction requests. This lets the Retail API use
       those custom attributes when training models and serving predictions, which
       helps improve recommendation quality.
      
       This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
       error is returned:
      
       * The key must be a UTF-8 encoded string with a length limit of 5,000
       characters.
       * For text attributes, 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.
       * For number attributes, at most 400 values are allowed.
      
       For product recommendations, an example of extra user information is
       traffic_channel, which is how a user arrives at the site. Users can arrive
       at the site by coming to the site directly, coming through Google
       search, or in other ways.
       
      map<string, .google.cloud.retail.v2alpha.CustomAttribute> attributes = 7;
      Specified by:
      getAttributesCount in interface UserEventOrBuilder
    • containsAttributes

      public boolean containsAttributes(String key)
       Extra user event features to include in the recommendation model.
      
       If you provide custom attributes for ingested user events, also include
       them in the user events that you associate with prediction requests. Custom
       attribute formatting must be consistent between imported events and events
       provided with prediction requests. This lets the Retail API use
       those custom attributes when training models and serving predictions, which
       helps improve recommendation quality.
      
       This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
       error is returned:
      
       * The key must be a UTF-8 encoded string with a length limit of 5,000
       characters.
       * For text attributes, 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.
       * For number attributes, at most 400 values are allowed.
      
       For product recommendations, an example of extra user information is
       traffic_channel, which is how a user arrives at the site. Users can arrive
       at the site by coming to the site directly, coming through Google
       search, or in other ways.
       
      map<string, .google.cloud.retail.v2alpha.CustomAttribute> attributes = 7;
      Specified by:
      containsAttributes in interface UserEventOrBuilder
    • getAttributes

      @Deprecated public Map<String,CustomAttribute> getAttributes()
      Deprecated.
      Use getAttributesMap() instead.
      Specified by:
      getAttributes in interface UserEventOrBuilder
    • getAttributesMap

      public Map<String,CustomAttribute> getAttributesMap()
       Extra user event features to include in the recommendation model.
      
       If you provide custom attributes for ingested user events, also include
       them in the user events that you associate with prediction requests. Custom
       attribute formatting must be consistent between imported events and events
       provided with prediction requests. This lets the Retail API use
       those custom attributes when training models and serving predictions, which
       helps improve recommendation quality.
      
       This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
       error is returned:
      
       * The key must be a UTF-8 encoded string with a length limit of 5,000
       characters.
       * For text attributes, 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.
       * For number attributes, at most 400 values are allowed.
      
       For product recommendations, an example of extra user information is
       traffic_channel, which is how a user arrives at the site. Users can arrive
       at the site by coming to the site directly, coming through Google
       search, or in other ways.
       
      map<string, .google.cloud.retail.v2alpha.CustomAttribute> attributes = 7;
      Specified by:
      getAttributesMap in interface UserEventOrBuilder
    • getAttributesOrDefault

      public CustomAttribute getAttributesOrDefault(String key, CustomAttribute defaultValue)
       Extra user event features to include in the recommendation model.
      
       If you provide custom attributes for ingested user events, also include
       them in the user events that you associate with prediction requests. Custom
       attribute formatting must be consistent between imported events and events
       provided with prediction requests. This lets the Retail API use
       those custom attributes when training models and serving predictions, which
       helps improve recommendation quality.
      
       This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
       error is returned:
      
       * The key must be a UTF-8 encoded string with a length limit of 5,000
       characters.
       * For text attributes, 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.
       * For number attributes, at most 400 values are allowed.
      
       For product recommendations, an example of extra user information is
       traffic_channel, which is how a user arrives at the site. Users can arrive
       at the site by coming to the site directly, coming through Google
       search, or in other ways.
       
      map<string, .google.cloud.retail.v2alpha.CustomAttribute> attributes = 7;
      Specified by:
      getAttributesOrDefault in interface UserEventOrBuilder
    • getAttributesOrThrow

      public CustomAttribute getAttributesOrThrow(String key)
       Extra user event features to include in the recommendation model.
      
       If you provide custom attributes for ingested user events, also include
       them in the user events that you associate with prediction requests. Custom
       attribute formatting must be consistent between imported events and events
       provided with prediction requests. This lets the Retail API use
       those custom attributes when training models and serving predictions, which
       helps improve recommendation quality.
      
       This field needs to pass all below criteria, otherwise an INVALID_ARGUMENT
       error is returned:
      
       * The key must be a UTF-8 encoded string with a length limit of 5,000
       characters.
       * For text attributes, 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.
       * For number attributes, at most 400 values are allowed.
      
       For product recommendations, an example of extra user information is
       traffic_channel, which is how a user arrives at the site. Users can arrive
       at the site by coming to the site directly, coming through Google
       search, or in other ways.
       
      map<string, .google.cloud.retail.v2alpha.CustomAttribute> attributes = 7;
      Specified by:
      getAttributesOrThrow in interface UserEventOrBuilder
    • getCartId

      public String getCartId()
       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 `add-to-cart`, `purchase-complete`, or
       `shopping-cart-page-view` events.
       
      string cart_id = 8;
      Specified by:
      getCartId in interface UserEventOrBuilder
      Returns:
      The cartId.
    • getCartIdBytes

      public com.google.protobuf.ByteString getCartIdBytes()
       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 `add-to-cart`, `purchase-complete`, or
       `shopping-cart-page-view` events.
       
      string cart_id = 8;
      Specified by:
      getCartIdBytes in interface UserEventOrBuilder
      Returns:
      The bytes for cartId.
    • hasPurchaseTransaction

      public boolean hasPurchaseTransaction()
       A transaction represents the entire purchase transaction.
      
       Required for `purchase-complete` events. Other event types should not set
       this field. Otherwise, an INVALID_ARGUMENT error is returned.
       
      .google.cloud.retail.v2alpha.PurchaseTransaction purchase_transaction = 9;
      Specified by:
      hasPurchaseTransaction in interface UserEventOrBuilder
      Returns:
      Whether the purchaseTransaction field is set.
    • getPurchaseTransaction

      public PurchaseTransaction getPurchaseTransaction()
       A transaction represents the entire purchase transaction.
      
       Required for `purchase-complete` events. Other event types should not set
       this field. Otherwise, an INVALID_ARGUMENT error is returned.
       
      .google.cloud.retail.v2alpha.PurchaseTransaction purchase_transaction = 9;
      Specified by:
      getPurchaseTransaction in interface UserEventOrBuilder
      Returns:
      The purchaseTransaction.
    • getPurchaseTransactionOrBuilder

      public PurchaseTransactionOrBuilder getPurchaseTransactionOrBuilder()
       A transaction represents the entire purchase transaction.
      
       Required for `purchase-complete` events. Other event types should not set
       this field. Otherwise, an INVALID_ARGUMENT error is returned.
       
      .google.cloud.retail.v2alpha.PurchaseTransaction purchase_transaction = 9;
      Specified by:
      getPurchaseTransactionOrBuilder in interface UserEventOrBuilder
    • getSearchQuery

      public String getSearchQuery()
       The user's search query.
      
       See [SearchRequest.query][google.cloud.retail.v2alpha.SearchRequest.query]
       for definition.
      
       The value must be a UTF-8 encoded string with a length limit of 5,000
       characters. Otherwise, an INVALID_ARGUMENT error is returned.
      
       At least one of
       [search_query][google.cloud.retail.v2alpha.UserEvent.search_query] or
       [page_categories][google.cloud.retail.v2alpha.UserEvent.page_categories] is
       required for `search` events. Other event types should not set this field.
       Otherwise, an INVALID_ARGUMENT error is returned.
       
      string search_query = 10;
      Specified by:
      getSearchQuery in interface UserEventOrBuilder
      Returns:
      The searchQuery.
    • getSearchQueryBytes

      public com.google.protobuf.ByteString getSearchQueryBytes()
       The user's search query.
      
       See [SearchRequest.query][google.cloud.retail.v2alpha.SearchRequest.query]
       for definition.
      
       The value must be a UTF-8 encoded string with a length limit of 5,000
       characters. Otherwise, an INVALID_ARGUMENT error is returned.
      
       At least one of
       [search_query][google.cloud.retail.v2alpha.UserEvent.search_query] or
       [page_categories][google.cloud.retail.v2alpha.UserEvent.page_categories] is
       required for `search` events. Other event types should not set this field.
       Otherwise, an INVALID_ARGUMENT error is returned.
       
      string search_query = 10;
      Specified by:
      getSearchQueryBytes in interface UserEventOrBuilder
      Returns:
      The bytes for searchQuery.
    • getFilter

      public String getFilter()
       The filter syntax consists of an expression language for constructing a
       predicate from one or more fields of the products being filtered.
      
       See
       [SearchRequest.filter][google.cloud.retail.v2alpha.SearchRequest.filter]
       for definition and syntax.
      
       The value must be a UTF-8 encoded string with a length limit of 1,000
       characters. Otherwise, an INVALID_ARGUMENT error is returned.
       
      string filter = 16;
      Specified by:
      getFilter in interface UserEventOrBuilder
      Returns:
      The filter.
    • getFilterBytes

      public com.google.protobuf.ByteString getFilterBytes()
       The filter syntax consists of an expression language for constructing a
       predicate from one or more fields of the products being filtered.
      
       See
       [SearchRequest.filter][google.cloud.retail.v2alpha.SearchRequest.filter]
       for definition and syntax.
      
       The value must be a UTF-8 encoded string with a length limit of 1,000
       characters. Otherwise, an INVALID_ARGUMENT error is returned.
       
      string filter = 16;
      Specified by:
      getFilterBytes in interface UserEventOrBuilder
      Returns:
      The bytes for filter.
    • getOrderBy

      public String getOrderBy()
       The order in which products are returned.
      
       See
       [SearchRequest.order_by][google.cloud.retail.v2alpha.SearchRequest.order_by]
       for definition and syntax.
      
       The value must be a UTF-8 encoded string with a length limit of 1,000
       characters. Otherwise, an INVALID_ARGUMENT error is returned.
      
       This can only be set for `search` events. Other event types should not set
       this field. Otherwise, an INVALID_ARGUMENT error is returned.
       
      string order_by = 17;
      Specified by:
      getOrderBy in interface UserEventOrBuilder
      Returns:
      The orderBy.
    • getOrderByBytes

      public com.google.protobuf.ByteString getOrderByBytes()
       The order in which products are returned.
      
       See
       [SearchRequest.order_by][google.cloud.retail.v2alpha.SearchRequest.order_by]
       for definition and syntax.
      
       The value must be a UTF-8 encoded string with a length limit of 1,000
       characters. Otherwise, an INVALID_ARGUMENT error is returned.
      
       This can only be set for `search` events. Other event types should not set
       this field. Otherwise, an INVALID_ARGUMENT error is returned.
       
      string order_by = 17;
      Specified by:
      getOrderByBytes in interface UserEventOrBuilder
      Returns:
      The bytes for orderBy.
    • getOffset

      public int getOffset()
       An integer that specifies the current offset for pagination (the 0-indexed
       starting location, amongst the products deemed by the API as relevant).
      
       See
       [SearchRequest.offset][google.cloud.retail.v2alpha.SearchRequest.offset]
       for definition.
      
       If this field is negative, an INVALID_ARGUMENT is returned.
      
       This can only be set for `search` events. Other event types should not set
       this field. Otherwise, an INVALID_ARGUMENT error is returned.
       
      int32 offset = 18;
      Specified by:
      getOffset in interface UserEventOrBuilder
      Returns:
      The offset.
    • getPageCategoriesList

      public com.google.protobuf.ProtocolStringList getPageCategoriesList()
       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, 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 `category-page-view` events. At least one of
       [search_query][google.cloud.retail.v2alpha.UserEvent.search_query] or
       [page_categories][google.cloud.retail.v2alpha.UserEvent.page_categories] is
       required for `search` events. Other event types should not set this field.
       Otherwise, an INVALID_ARGUMENT error is returned.
       
      repeated string page_categories = 11;
      Specified by:
      getPageCategoriesList in interface UserEventOrBuilder
      Returns:
      A list containing the pageCategories.
    • getPageCategoriesCount

      public int getPageCategoriesCount()
       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, 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 `category-page-view` events. At least one of
       [search_query][google.cloud.retail.v2alpha.UserEvent.search_query] or
       [page_categories][google.cloud.retail.v2alpha.UserEvent.page_categories] is
       required for `search` events. Other event types should not set this field.
       Otherwise, an INVALID_ARGUMENT error is returned.
       
      repeated string page_categories = 11;
      Specified by:
      getPageCategoriesCount in interface UserEventOrBuilder
      Returns:
      The count of pageCategories.
    • getPageCategories

      public String getPageCategories(int index)
       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, 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 `category-page-view` events. At least one of
       [search_query][google.cloud.retail.v2alpha.UserEvent.search_query] or
       [page_categories][google.cloud.retail.v2alpha.UserEvent.page_categories] is
       required for `search` events. Other event types should not set this field.
       Otherwise, an INVALID_ARGUMENT error is returned.
       
      repeated string page_categories = 11;
      Specified by:
      getPageCategories in interface UserEventOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The pageCategories at the given index.
    • getPageCategoriesBytes

      public com.google.protobuf.ByteString getPageCategoriesBytes(int index)
       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, 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 `category-page-view` events. At least one of
       [search_query][google.cloud.retail.v2alpha.UserEvent.search_query] or
       [page_categories][google.cloud.retail.v2alpha.UserEvent.page_categories] is
       required for `search` events. Other event types should not set this field.
       Otherwise, an INVALID_ARGUMENT error is returned.
       
      repeated string page_categories = 11;
      Specified by:
      getPageCategoriesBytes in interface UserEventOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the pageCategories at the given index.
    • hasUserInfo

      public boolean hasUserInfo()
       User information.
       
      .google.cloud.retail.v2alpha.UserInfo user_info = 12;
      Specified by:
      hasUserInfo in interface UserEventOrBuilder
      Returns:
      Whether the userInfo field is set.
    • getUserInfo

      public UserInfo getUserInfo()
       User information.
       
      .google.cloud.retail.v2alpha.UserInfo user_info = 12;
      Specified by:
      getUserInfo in interface UserEventOrBuilder
      Returns:
      The userInfo.
    • getUserInfoOrBuilder

      public UserInfoOrBuilder getUserInfoOrBuilder()
       User information.
       
      .google.cloud.retail.v2alpha.UserInfo user_info = 12;
      Specified by:
      getUserInfoOrBuilder in interface UserEventOrBuilder
    • getUri

      public String getUri()
       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.
       
      string uri = 13;
      Specified by:
      getUri in interface UserEventOrBuilder
      Returns:
      The uri.
    • getUriBytes

      public com.google.protobuf.ByteString getUriBytes()
       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.
       
      string uri = 13;
      Specified by:
      getUriBytes in interface UserEventOrBuilder
      Returns:
      The bytes for uri.
    • getReferrerUri

      public String getReferrerUri()
       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.
       
      string referrer_uri = 14;
      Specified by:
      getReferrerUri in interface UserEventOrBuilder
      Returns:
      The referrerUri.
    • getReferrerUriBytes

      public com.google.protobuf.ByteString getReferrerUriBytes()
       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.
       
      string referrer_uri = 14;
      Specified by:
      getReferrerUriBytes in interface UserEventOrBuilder
      Returns:
      The bytes for referrerUri.
    • getPageViewId

      public String getPageViewId()
       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 `pageViewId` property should
       be kept the same for all these events so that they can be grouped together
       properly.
      
       When using the client side event reporting with JavaScript pixel and Google
       Tag Manager, this value is filled in automatically.
       
      string page_view_id = 15;
      Specified by:
      getPageViewId in interface UserEventOrBuilder
      Returns:
      The pageViewId.
    • getPageViewIdBytes

      public com.google.protobuf.ByteString getPageViewIdBytes()
       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 `pageViewId` property should
       be kept the same for all these events so that they can be grouped together
       properly.
      
       When using the client side event reporting with JavaScript pixel and Google
       Tag Manager, this value is filled in automatically.
       
      string page_view_id = 15;
      Specified by:
      getPageViewIdBytes in interface UserEventOrBuilder
      Returns:
      The bytes for pageViewId.
    • getEntity

      public String getEntity()
       The entity for customers that may run multiple different entities, domains,
       sites or regions, for example, `Google US`, `Google Ads`, `Waymo`,
       `google.com`, `youtube.com`, etc.
       We recommend that you set this field to get better per-entity search,
       completion, and prediction results.
       
      string entity = 23;
      Specified by:
      getEntity in interface UserEventOrBuilder
      Returns:
      The entity.
    • getEntityBytes

      public com.google.protobuf.ByteString getEntityBytes()
       The entity for customers that may run multiple different entities, domains,
       sites or regions, for example, `Google US`, `Google Ads`, `Waymo`,
       `google.com`, `youtube.com`, etc.
       We recommend that you set this field to get better per-entity search,
       completion, and prediction results.
       
      string entity = 23;
      Specified by:
      getEntityBytes in interface UserEventOrBuilder
      Returns:
      The bytes for entity.
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static UserEvent parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static UserEvent parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static UserEvent parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static UserEvent parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static UserEvent parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static UserEvent parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static UserEvent parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static UserEvent parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static UserEvent parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static UserEvent parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static UserEvent parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static UserEvent parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public UserEvent.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static UserEvent.Builder newBuilder()
    • newBuilder

      public static UserEvent.Builder newBuilder(UserEvent prototype)
    • toBuilder

      public UserEvent.Builder toBuilder()
      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected UserEvent.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • getDefaultInstance

      public static UserEvent getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<UserEvent> parser()
    • getParserForType

      public com.google.protobuf.Parser<UserEvent> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessage
    • getDefaultInstanceForType

      public UserEvent getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder