Class UserEvent.Builder (2.2.0)

public static final class UserEvent.Builder extends GeneratedMessageV3.Builder<UserEvent.Builder> 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.v2beta.UserEvent

Implements

UserEventOrBuilder

Static Methods

getDescriptor()

public static final Descriptors.Descriptor getDescriptor()
Returns
TypeDescription
Descriptor

Methods

addAllExperimentIds(Iterable<String> values)

public UserEvent.Builder addAllExperimentIds(Iterable<String> values)

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;

Parameter
NameDescription
valuesIterable<String>

The experimentIds to add.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

addAllPageCategories(Iterable<String> values)

public UserEvent.Builder addAllPageCategories(Iterable<String> values)

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 category-page-view events. At least one of search_query or 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;

Parameter
NameDescription
valuesIterable<String>

The pageCategories to add.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

addAllProductDetails(Iterable<? extends ProductDetail> values)

public UserEvent.Builder addAllProductDetails(Iterable<? extends ProductDetail> values)

The main product details related to the event. This field is required for the following event types:

  • add-to-cart
  • detail-page-view
  • purchase-complete
  • search 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 is desired. The end user may have not finished browsing the whole page yet.

repeated .google.cloud.retail.v2beta.ProductDetail product_details = 6;

Parameter
NameDescription
valuesIterable<? extends com.google.cloud.retail.v2beta.ProductDetail>
Returns
TypeDescription
UserEvent.Builder

addExperimentIds(String value)

public UserEvent.Builder addExperimentIds(String value)

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;

Parameter
NameDescription
valueString

The experimentIds to add.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

addExperimentIdsBytes(ByteString value)

public UserEvent.Builder addExperimentIdsBytes(ByteString value)

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;

Parameter
NameDescription
valueByteString

The bytes of the experimentIds to add.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

addPageCategories(String value)

public UserEvent.Builder addPageCategories(String value)

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 category-page-view events. At least one of search_query or 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;

Parameter
NameDescription
valueString

The pageCategories to add.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

addPageCategoriesBytes(ByteString value)

public UserEvent.Builder addPageCategoriesBytes(ByteString value)

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 category-page-view events. At least one of search_query or 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;

Parameter
NameDescription
valueByteString

The bytes of the pageCategories to add.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

addProductDetails(ProductDetail value)

public UserEvent.Builder addProductDetails(ProductDetail value)

The main product details related to the event. This field is required for the following event types:

  • add-to-cart
  • detail-page-view
  • purchase-complete
  • search 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 is desired. The end user may have not finished browsing the whole page yet.

repeated .google.cloud.retail.v2beta.ProductDetail product_details = 6;

Parameter
NameDescription
valueProductDetail
Returns
TypeDescription
UserEvent.Builder

addProductDetails(ProductDetail.Builder builderForValue)

public UserEvent.Builder addProductDetails(ProductDetail.Builder builderForValue)

The main product details related to the event. This field is required for the following event types:

  • add-to-cart
  • detail-page-view
  • purchase-complete
  • search 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 is desired. The end user may have not finished browsing the whole page yet.

repeated .google.cloud.retail.v2beta.ProductDetail product_details = 6;

Parameter
NameDescription
builderForValueProductDetail.Builder
Returns
TypeDescription
UserEvent.Builder

addProductDetails(int index, ProductDetail value)

public UserEvent.Builder addProductDetails(int index, ProductDetail value)

The main product details related to the event. This field is required for the following event types:

  • add-to-cart
  • detail-page-view
  • purchase-complete
  • search 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 is desired. The end user may have not finished browsing the whole page yet.

repeated .google.cloud.retail.v2beta.ProductDetail product_details = 6;

Parameters
NameDescription
indexint
valueProductDetail
Returns
TypeDescription
UserEvent.Builder

addProductDetails(int index, ProductDetail.Builder builderForValue)

public UserEvent.Builder addProductDetails(int index, ProductDetail.Builder builderForValue)

The main product details related to the event. This field is required for the following event types:

  • add-to-cart
  • detail-page-view
  • purchase-complete
  • search 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 is desired. The end user may have not finished browsing the whole page yet.

repeated .google.cloud.retail.v2beta.ProductDetail product_details = 6;

Parameters
NameDescription
indexint
builderForValueProductDetail.Builder
Returns
TypeDescription
UserEvent.Builder

addProductDetailsBuilder()

public ProductDetail.Builder addProductDetailsBuilder()

The main product details related to the event. This field is required for the following event types:

  • add-to-cart
  • detail-page-view
  • purchase-complete
  • search 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 is desired. The end user may have not finished browsing the whole page yet.

repeated .google.cloud.retail.v2beta.ProductDetail product_details = 6;

Returns
TypeDescription
ProductDetail.Builder

addProductDetailsBuilder(int index)

public ProductDetail.Builder addProductDetailsBuilder(int index)

The main product details related to the event. This field is required for the following event types:

  • add-to-cart
  • detail-page-view
  • purchase-complete
  • search 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 is desired. The end user may have not finished browsing the whole page yet.

repeated .google.cloud.retail.v2beta.ProductDetail product_details = 6;

Parameter
NameDescription
indexint
Returns
TypeDescription
ProductDetail.Builder

addRepeatedField(Descriptors.FieldDescriptor field, Object value)

public UserEvent.Builder addRepeatedField(Descriptors.FieldDescriptor field, Object value)
Parameters
NameDescription
fieldFieldDescriptor
valueObject
Returns
TypeDescription
UserEvent.Builder
Overrides

build()

public UserEvent build()
Returns
TypeDescription
UserEvent

buildPartial()

public UserEvent buildPartial()
Returns
TypeDescription
UserEvent

clear()

public UserEvent.Builder clear()
Returns
TypeDescription
UserEvent.Builder
Overrides

clearAttributes()

public UserEvent.Builder clearAttributes()
Returns
TypeDescription
UserEvent.Builder

clearAttributionToken()

public UserEvent.Builder clearAttributionToken()

Highly recommended for user events that are the result of PredictionService.Predict. This field enables accurate attribution of recommendation model performance. The value must be a valid PredictResponse.attribution_token for user events that are the result of PredictionService.Predict. The value must be a valid SearchResponse.attribution_token for user events that are the result of 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 as a URL parameter to product K's page. When recording events on product K's page, log the PredictResponse.attribution_token to this field.

string attribution_token = 5;

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

clearCartId()

public UserEvent.Builder clearCartId()

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;

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

clearCompletionDetail()

public UserEvent.Builder clearCompletionDetail()

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.v2beta.CompletionDetail completion_detail = 22;

Returns
TypeDescription
UserEvent.Builder

clearEventTime()

public UserEvent.Builder clearEventTime()

Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened.

.google.protobuf.Timestamp event_time = 3;

Returns
TypeDescription
UserEvent.Builder

clearEventType()

public UserEvent.Builder clearEventType()

Required. User event type. Allowed values are:

  • add-to-cart: Products being added to 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.
  • promotion-offered: Promotion is offered to a user.
  • promotion-not-offered: Promotion is not offered to a user.
  • 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];

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

clearExperimentIds()

public UserEvent.Builder clearExperimentIds()

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;

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

clearField(Descriptors.FieldDescriptor field)

public UserEvent.Builder clearField(Descriptors.FieldDescriptor field)
Parameter
NameDescription
fieldFieldDescriptor
Returns
TypeDescription
UserEvent.Builder
Overrides

clearFilter()

public UserEvent.Builder clearFilter()

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 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;

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

clearOffset()

public UserEvent.Builder clearOffset()

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 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;

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

clearOneof(Descriptors.OneofDescriptor oneof)

public UserEvent.Builder clearOneof(Descriptors.OneofDescriptor oneof)
Parameter
NameDescription
oneofOneofDescriptor
Returns
TypeDescription
UserEvent.Builder
Overrides

clearOrderBy()

public UserEvent.Builder clearOrderBy()

The order in which products are returned. See 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;

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

clearPageCategories()

public UserEvent.Builder clearPageCategories()

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 category-page-view events. At least one of search_query or 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;

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

clearPageViewId()

public UserEvent.Builder clearPageViewId()

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;

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

clearProductDetails()

public UserEvent.Builder clearProductDetails()

The main product details related to the event. This field is required for the following event types:

  • add-to-cart
  • detail-page-view
  • purchase-complete
  • search 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 is desired. The end user may have not finished browsing the whole page yet.

repeated .google.cloud.retail.v2beta.ProductDetail product_details = 6;

Returns
TypeDescription
UserEvent.Builder

clearPurchaseTransaction()

public UserEvent.Builder clearPurchaseTransaction()

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.v2beta.PurchaseTransaction purchase_transaction = 9;

Returns
TypeDescription
UserEvent.Builder

clearReferrerUri()

public UserEvent.Builder clearReferrerUri()

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;

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

clearSearchQuery()

public UserEvent.Builder clearSearchQuery()

The user's search query. See 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 or 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;

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

clearSessionId()

public UserEvent.Builder clearSessionId()

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;

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

clearUri()

public UserEvent.Builder clearUri()

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;

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

clearUserInfo()

public UserEvent.Builder clearUserInfo()

User information.

.google.cloud.retail.v2beta.UserInfo user_info = 12;

Returns
TypeDescription
UserEvent.Builder

clearVisitorId()

public UserEvent.Builder clearVisitorId()

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. The field should not contain PII or user-data. We recommend to use Google Analystics Client ID for this field.

string visitor_id = 2 [(.google.api.field_behavior) = REQUIRED];

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

clone()

public UserEvent.Builder clone()
Returns
TypeDescription
UserEvent.Builder
Overrides

containsAttributes(String key)

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.v2beta.CustomAttribute> attributes = 7;

Parameter
NameDescription
keyString
Returns
TypeDescription
boolean

getAttributes()

public Map<String,CustomAttribute> getAttributes()

Use #getAttributesMap() instead.

Returns
TypeDescription
Map<String,CustomAttribute>

getAttributesCount()

public int getAttributesCount()

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.v2beta.CustomAttribute> attributes = 7;

Returns
TypeDescription
int

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.v2beta.CustomAttribute> attributes = 7;

Returns
TypeDescription
Map<String,CustomAttribute>

getAttributesOrDefault(String key, CustomAttribute defaultValue)

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.v2beta.CustomAttribute> attributes = 7;

Parameters
NameDescription
keyString
defaultValueCustomAttribute
Returns
TypeDescription
CustomAttribute

getAttributesOrThrow(String key)

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.v2beta.CustomAttribute> attributes = 7;

Parameter
NameDescription
keyString
Returns
TypeDescription
CustomAttribute

getAttributionToken()

public String getAttributionToken()

Highly recommended for user events that are the result of PredictionService.Predict. This field enables accurate attribution of recommendation model performance. The value must be a valid PredictResponse.attribution_token for user events that are the result of PredictionService.Predict. The value must be a valid SearchResponse.attribution_token for user events that are the result of 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 as a URL parameter to product K's page. When recording events on product K's page, log the PredictResponse.attribution_token to this field.

string attribution_token = 5;

Returns
TypeDescription
String

The attributionToken.

getAttributionTokenBytes()

public ByteString getAttributionTokenBytes()

Highly recommended for user events that are the result of PredictionService.Predict. This field enables accurate attribution of recommendation model performance. The value must be a valid PredictResponse.attribution_token for user events that are the result of PredictionService.Predict. The value must be a valid SearchResponse.attribution_token for user events that are the result of 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 as a URL parameter to product K's page. When recording events on product K's page, log the PredictResponse.attribution_token to this field.

string attribution_token = 5;

Returns
TypeDescription
ByteString

The bytes for attributionToken.

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;

Returns
TypeDescription
String

The cartId.

getCartIdBytes()

public 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;

Returns
TypeDescription
ByteString

The bytes for cartId.

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.v2beta.CompletionDetail completion_detail = 22;

Returns
TypeDescription
CompletionDetail

The completionDetail.

getCompletionDetailBuilder()

public CompletionDetail.Builder getCompletionDetailBuilder()

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.v2beta.CompletionDetail completion_detail = 22;

Returns
TypeDescription
CompletionDetail.Builder

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.v2beta.CompletionDetail completion_detail = 22;

Returns
TypeDescription
CompletionDetailOrBuilder

getDefaultInstanceForType()

public UserEvent getDefaultInstanceForType()
Returns
TypeDescription
UserEvent

getDescriptorForType()

public Descriptors.Descriptor getDescriptorForType()
Returns
TypeDescription
Descriptor
Overrides

getEventTime()

public Timestamp getEventTime()

Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened.

.google.protobuf.Timestamp event_time = 3;

Returns
TypeDescription
Timestamp

The eventTime.

getEventTimeBuilder()

public Timestamp.Builder getEventTimeBuilder()

Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened.

.google.protobuf.Timestamp event_time = 3;

Returns
TypeDescription
Builder

getEventTimeOrBuilder()

public TimestampOrBuilder getEventTimeOrBuilder()

Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened.

.google.protobuf.Timestamp event_time = 3;

Returns
TypeDescription
TimestampOrBuilder

getEventType()

public String getEventType()

Required. User event type. Allowed values are:

  • add-to-cart: Products being added to 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.
  • promotion-offered: Promotion is offered to a user.
  • promotion-not-offered: Promotion is not offered to a user.
  • 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];

Returns
TypeDescription
String

The eventType.

getEventTypeBytes()

public ByteString getEventTypeBytes()

Required. User event type. Allowed values are:

  • add-to-cart: Products being added to 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.
  • promotion-offered: Promotion is offered to a user.
  • promotion-not-offered: Promotion is not offered to a user.
  • 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];

Returns
TypeDescription
ByteString

The bytes for eventType.

getExperimentIds(int index)

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;

Parameter
NameDescription
indexint

The index of the element to return.

Returns
TypeDescription
String

The experimentIds at the given index.

getExperimentIdsBytes(int index)

public 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;

Parameter
NameDescription
indexint

The index of the value to return.

Returns
TypeDescription
ByteString

The bytes of the experimentIds at the given index.

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;

Returns
TypeDescription
int

The count of experimentIds.

getExperimentIdsList()

public 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;

Returns
TypeDescription
ProtocolStringList

A list containing the experimentIds.

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 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;

Returns
TypeDescription
String

The filter.

getFilterBytes()

public 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 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;

Returns
TypeDescription
ByteString

The bytes for filter.

getMutableAttributes()

public Map<String,CustomAttribute> getMutableAttributes()

Use alternate mutation accessors instead.

Returns
TypeDescription
Map<String,CustomAttribute>

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 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;

Returns
TypeDescription
int

The offset.

getOrderBy()

public String getOrderBy()

The order in which products are returned. See 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;

Returns
TypeDescription
String

The orderBy.

getOrderByBytes()

public ByteString getOrderByBytes()

The order in which products are returned. See 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;

Returns
TypeDescription
ByteString

The bytes for orderBy.

getPageCategories(int index)

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, 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 category-page-view events. At least one of search_query or 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;

Parameter
NameDescription
indexint

The index of the element to return.

Returns
TypeDescription
String

The pageCategories at the given index.

getPageCategoriesBytes(int index)

public 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, 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 category-page-view events. At least one of search_query or 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;

Parameter
NameDescription
indexint

The index of the value to return.

Returns
TypeDescription
ByteString

The bytes of the pageCategories at the given index.

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, 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 category-page-view events. At least one of search_query or 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;

Returns
TypeDescription
int

The count of pageCategories.

getPageCategoriesList()

public 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, 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 category-page-view events. At least one of search_query or 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;

Returns
TypeDescription
ProtocolStringList

A list containing the pageCategories.

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;

Returns
TypeDescription
String

The pageViewId.

getPageViewIdBytes()

public 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;

Returns
TypeDescription
ByteString

The bytes for pageViewId.

getProductDetails(int index)

public ProductDetail getProductDetails(int index)

The main product details related to the event. This field is required for the following event types:

  • add-to-cart
  • detail-page-view
  • purchase-complete
  • search 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 is desired. The end user may have not finished browsing the whole page yet.

repeated .google.cloud.retail.v2beta.ProductDetail product_details = 6;

Parameter
NameDescription
indexint
Returns
TypeDescription
ProductDetail

getProductDetailsBuilder(int index)

public ProductDetail.Builder getProductDetailsBuilder(int index)

The main product details related to the event. This field is required for the following event types:

  • add-to-cart
  • detail-page-view
  • purchase-complete
  • search 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 is desired. The end user may have not finished browsing the whole page yet.

repeated .google.cloud.retail.v2beta.ProductDetail product_details = 6;

Parameter
NameDescription
indexint
Returns
TypeDescription
ProductDetail.Builder

getProductDetailsBuilderList()

public List<ProductDetail.Builder> getProductDetailsBuilderList()

The main product details related to the event. This field is required for the following event types:

  • add-to-cart
  • detail-page-view
  • purchase-complete
  • search 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 is desired. The end user may have not finished browsing the whole page yet.

repeated .google.cloud.retail.v2beta.ProductDetail product_details = 6;

Returns
TypeDescription
List<Builder>

getProductDetailsCount()

public int getProductDetailsCount()

The main product details related to the event. This field is required for the following event types:

  • add-to-cart
  • detail-page-view
  • purchase-complete
  • search 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 is desired. The end user may have not finished browsing the whole page yet.

repeated .google.cloud.retail.v2beta.ProductDetail product_details = 6;

Returns
TypeDescription
int

getProductDetailsList()

public List<ProductDetail> getProductDetailsList()

The main product details related to the event. This field is required for the following event types:

  • add-to-cart
  • detail-page-view
  • purchase-complete
  • search 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 is desired. The end user may have not finished browsing the whole page yet.

repeated .google.cloud.retail.v2beta.ProductDetail product_details = 6;

Returns
TypeDescription
List<ProductDetail>

getProductDetailsOrBuilder(int index)

public ProductDetailOrBuilder getProductDetailsOrBuilder(int index)

The main product details related to the event. This field is required for the following event types:

  • add-to-cart
  • detail-page-view
  • purchase-complete
  • search 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 is desired. The end user may have not finished browsing the whole page yet.

repeated .google.cloud.retail.v2beta.ProductDetail product_details = 6;

Parameter
NameDescription
indexint
Returns
TypeDescription
ProductDetailOrBuilder

getProductDetailsOrBuilderList()

public List<? extends ProductDetailOrBuilder> getProductDetailsOrBuilderList()

The main product details related to the event. This field is required for the following event types:

  • add-to-cart
  • detail-page-view
  • purchase-complete
  • search 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 is desired. The end user may have not finished browsing the whole page yet.

repeated .google.cloud.retail.v2beta.ProductDetail product_details = 6;

Returns
TypeDescription
List<? extends com.google.cloud.retail.v2beta.ProductDetailOrBuilder>

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.v2beta.PurchaseTransaction purchase_transaction = 9;

Returns
TypeDescription
PurchaseTransaction

The purchaseTransaction.

getPurchaseTransactionBuilder()

public PurchaseTransaction.Builder getPurchaseTransactionBuilder()

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.v2beta.PurchaseTransaction purchase_transaction = 9;

Returns
TypeDescription
PurchaseTransaction.Builder

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.v2beta.PurchaseTransaction purchase_transaction = 9;

Returns
TypeDescription
PurchaseTransactionOrBuilder

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;

Returns
TypeDescription
String

The referrerUri.

getReferrerUriBytes()

public 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;

Returns
TypeDescription
ByteString

The bytes for referrerUri.

getSearchQuery()

public String getSearchQuery()

The user's search query. See 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 or 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;

Returns
TypeDescription
String

The searchQuery.

getSearchQueryBytes()

public ByteString getSearchQueryBytes()

The user's search query. See 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 or 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;

Returns
TypeDescription
ByteString

The bytes for searchQuery.

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;

Returns
TypeDescription
String

The sessionId.

getSessionIdBytes()

public 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;

Returns
TypeDescription
ByteString

The bytes for sessionId.

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;

Returns
TypeDescription
String

The uri.

getUriBytes()

public 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;

Returns
TypeDescription
ByteString

The bytes for uri.

getUserInfo()

public UserInfo getUserInfo()

User information.

.google.cloud.retail.v2beta.UserInfo user_info = 12;

Returns
TypeDescription
UserInfo

The userInfo.

getUserInfoBuilder()

public UserInfo.Builder getUserInfoBuilder()

User information.

.google.cloud.retail.v2beta.UserInfo user_info = 12;

Returns
TypeDescription
UserInfo.Builder

getUserInfoOrBuilder()

public UserInfoOrBuilder getUserInfoOrBuilder()

User information.

.google.cloud.retail.v2beta.UserInfo user_info = 12;

Returns
TypeDescription
UserInfoOrBuilder

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. 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 Analystics Client ID for this field.

string visitor_id = 2 [(.google.api.field_behavior) = REQUIRED];

Returns
TypeDescription
String

The visitorId.

getVisitorIdBytes()

public 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. 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 Analystics Client ID for this field.

string visitor_id = 2 [(.google.api.field_behavior) = REQUIRED];

Returns
TypeDescription
ByteString

The bytes for visitorId.

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.v2beta.CompletionDetail completion_detail = 22;

Returns
TypeDescription
boolean

Whether the completionDetail field is set.

hasEventTime()

public boolean hasEventTime()

Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened.

.google.protobuf.Timestamp event_time = 3;

Returns
TypeDescription
boolean

Whether the eventTime field is set.

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.v2beta.PurchaseTransaction purchase_transaction = 9;

Returns
TypeDescription
boolean

Whether the purchaseTransaction field is set.

hasUserInfo()

public boolean hasUserInfo()

User information.

.google.cloud.retail.v2beta.UserInfo user_info = 12;

Returns
TypeDescription
boolean

Whether the userInfo field is set.

internalGetFieldAccessorTable()

protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Returns
TypeDescription
FieldAccessorTable
Overrides

internalGetMapField(int number)

protected MapField internalGetMapField(int number)
Parameter
NameDescription
numberint
Returns
TypeDescription
MapField
Overrides

internalGetMutableMapField(int number)

protected MapField internalGetMutableMapField(int number)
Parameter
NameDescription
numberint
Returns
TypeDescription
MapField
Overrides

isInitialized()

public final boolean isInitialized()
Returns
TypeDescription
boolean
Overrides

mergeCompletionDetail(CompletionDetail value)

public UserEvent.Builder mergeCompletionDetail(CompletionDetail value)

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.v2beta.CompletionDetail completion_detail = 22;

Parameter
NameDescription
valueCompletionDetail
Returns
TypeDescription
UserEvent.Builder

mergeEventTime(Timestamp value)

public UserEvent.Builder mergeEventTime(Timestamp value)

Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened.

.google.protobuf.Timestamp event_time = 3;

Parameter
NameDescription
valueTimestamp
Returns
TypeDescription
UserEvent.Builder

mergeFrom(UserEvent other)

public UserEvent.Builder mergeFrom(UserEvent other)
Parameter
NameDescription
otherUserEvent
Returns
TypeDescription
UserEvent.Builder

mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)

public UserEvent.Builder mergeFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
NameDescription
inputCodedInputStream
extensionRegistryExtensionRegistryLite
Returns
TypeDescription
UserEvent.Builder
Overrides Exceptions
TypeDescription
IOException

mergeFrom(Message other)

public UserEvent.Builder mergeFrom(Message other)
Parameter
NameDescription
otherMessage
Returns
TypeDescription
UserEvent.Builder
Overrides

mergePurchaseTransaction(PurchaseTransaction value)

public UserEvent.Builder mergePurchaseTransaction(PurchaseTransaction value)

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.v2beta.PurchaseTransaction purchase_transaction = 9;

Parameter
NameDescription
valuePurchaseTransaction
Returns
TypeDescription
UserEvent.Builder

mergeUnknownFields(UnknownFieldSet unknownFields)

public final UserEvent.Builder mergeUnknownFields(UnknownFieldSet unknownFields)
Parameter
NameDescription
unknownFieldsUnknownFieldSet
Returns
TypeDescription
UserEvent.Builder
Overrides

mergeUserInfo(UserInfo value)

public UserEvent.Builder mergeUserInfo(UserInfo value)

User information.

.google.cloud.retail.v2beta.UserInfo user_info = 12;

Parameter
NameDescription
valueUserInfo
Returns
TypeDescription
UserEvent.Builder

putAllAttributes(Map<String,CustomAttribute> values)

public UserEvent.Builder putAllAttributes(Map<String,CustomAttribute> values)

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.v2beta.CustomAttribute> attributes = 7;

Parameter
NameDescription
valuesMap<String,CustomAttribute>
Returns
TypeDescription
UserEvent.Builder

putAttributes(String key, CustomAttribute value)

public UserEvent.Builder putAttributes(String key, CustomAttribute value)

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.v2beta.CustomAttribute> attributes = 7;

Parameters
NameDescription
keyString
valueCustomAttribute
Returns
TypeDescription
UserEvent.Builder

removeAttributes(String key)

public UserEvent.Builder removeAttributes(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.v2beta.CustomAttribute> attributes = 7;

Parameter
NameDescription
keyString
Returns
TypeDescription
UserEvent.Builder

removeProductDetails(int index)

public UserEvent.Builder removeProductDetails(int index)

The main product details related to the event. This field is required for the following event types:

  • add-to-cart
  • detail-page-view
  • purchase-complete
  • search 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 is desired. The end user may have not finished browsing the whole page yet.

repeated .google.cloud.retail.v2beta.ProductDetail product_details = 6;

Parameter
NameDescription
indexint
Returns
TypeDescription
UserEvent.Builder

setAttributionToken(String value)

public UserEvent.Builder setAttributionToken(String value)

Highly recommended for user events that are the result of PredictionService.Predict. This field enables accurate attribution of recommendation model performance. The value must be a valid PredictResponse.attribution_token for user events that are the result of PredictionService.Predict. The value must be a valid SearchResponse.attribution_token for user events that are the result of 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 as a URL parameter to product K's page. When recording events on product K's page, log the PredictResponse.attribution_token to this field.

string attribution_token = 5;

Parameter
NameDescription
valueString

The attributionToken to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setAttributionTokenBytes(ByteString value)

public UserEvent.Builder setAttributionTokenBytes(ByteString value)

Highly recommended for user events that are the result of PredictionService.Predict. This field enables accurate attribution of recommendation model performance. The value must be a valid PredictResponse.attribution_token for user events that are the result of PredictionService.Predict. The value must be a valid SearchResponse.attribution_token for user events that are the result of 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 as a URL parameter to product K's page. When recording events on product K's page, log the PredictResponse.attribution_token to this field.

string attribution_token = 5;

Parameter
NameDescription
valueByteString

The bytes for attributionToken to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setCartId(String value)

public UserEvent.Builder setCartId(String value)

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;

Parameter
NameDescription
valueString

The cartId to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setCartIdBytes(ByteString value)

public UserEvent.Builder setCartIdBytes(ByteString value)

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;

Parameter
NameDescription
valueByteString

The bytes for cartId to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setCompletionDetail(CompletionDetail value)

public UserEvent.Builder setCompletionDetail(CompletionDetail value)

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.v2beta.CompletionDetail completion_detail = 22;

Parameter
NameDescription
valueCompletionDetail
Returns
TypeDescription
UserEvent.Builder

setCompletionDetail(CompletionDetail.Builder builderForValue)

public UserEvent.Builder setCompletionDetail(CompletionDetail.Builder builderForValue)

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.v2beta.CompletionDetail completion_detail = 22;

Parameter
NameDescription
builderForValueCompletionDetail.Builder
Returns
TypeDescription
UserEvent.Builder

setEventTime(Timestamp value)

public UserEvent.Builder setEventTime(Timestamp value)

Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened.

.google.protobuf.Timestamp event_time = 3;

Parameter
NameDescription
valueTimestamp
Returns
TypeDescription
UserEvent.Builder

setEventTime(Timestamp.Builder builderForValue)

public UserEvent.Builder setEventTime(Timestamp.Builder builderForValue)

Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event happened.

.google.protobuf.Timestamp event_time = 3;

Parameter
NameDescription
builderForValueBuilder
Returns
TypeDescription
UserEvent.Builder

setEventType(String value)

public UserEvent.Builder setEventType(String value)

Required. User event type. Allowed values are:

  • add-to-cart: Products being added to 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.
  • promotion-offered: Promotion is offered to a user.
  • promotion-not-offered: Promotion is not offered to a user.
  • 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];

Parameter
NameDescription
valueString

The eventType to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setEventTypeBytes(ByteString value)

public UserEvent.Builder setEventTypeBytes(ByteString value)

Required. User event type. Allowed values are:

  • add-to-cart: Products being added to 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.
  • promotion-offered: Promotion is offered to a user.
  • promotion-not-offered: Promotion is not offered to a user.
  • 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];

Parameter
NameDescription
valueByteString

The bytes for eventType to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setExperimentIds(int index, String value)

public UserEvent.Builder setExperimentIds(int index, String value)

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;

Parameters
NameDescription
indexint

The index to set the value at.

valueString

The experimentIds to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setField(Descriptors.FieldDescriptor field, Object value)

public UserEvent.Builder setField(Descriptors.FieldDescriptor field, Object value)
Parameters
NameDescription
fieldFieldDescriptor
valueObject
Returns
TypeDescription
UserEvent.Builder
Overrides

setFilter(String value)

public UserEvent.Builder setFilter(String value)

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 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;

Parameter
NameDescription
valueString

The filter to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setFilterBytes(ByteString value)

public UserEvent.Builder setFilterBytes(ByteString value)

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 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;

Parameter
NameDescription
valueByteString

The bytes for filter to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setOffset(int value)

public UserEvent.Builder setOffset(int value)

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 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;

Parameter
NameDescription
valueint

The offset to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setOrderBy(String value)

public UserEvent.Builder setOrderBy(String value)

The order in which products are returned. See 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;

Parameter
NameDescription
valueString

The orderBy to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setOrderByBytes(ByteString value)

public UserEvent.Builder setOrderByBytes(ByteString value)

The order in which products are returned. See 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;

Parameter
NameDescription
valueByteString

The bytes for orderBy to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setPageCategories(int index, String value)

public UserEvent.Builder setPageCategories(int index, String value)

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 category-page-view events. At least one of search_query or 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;

Parameters
NameDescription
indexint

The index to set the value at.

valueString

The pageCategories to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setPageViewId(String value)

public UserEvent.Builder setPageViewId(String value)

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;

Parameter
NameDescription
valueString

The pageViewId to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setPageViewIdBytes(ByteString value)

public UserEvent.Builder setPageViewIdBytes(ByteString value)

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;

Parameter
NameDescription
valueByteString

The bytes for pageViewId to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setProductDetails(int index, ProductDetail value)

public UserEvent.Builder setProductDetails(int index, ProductDetail value)

The main product details related to the event. This field is required for the following event types:

  • add-to-cart
  • detail-page-view
  • purchase-complete
  • search 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 is desired. The end user may have not finished browsing the whole page yet.

repeated .google.cloud.retail.v2beta.ProductDetail product_details = 6;

Parameters
NameDescription
indexint
valueProductDetail
Returns
TypeDescription
UserEvent.Builder

setProductDetails(int index, ProductDetail.Builder builderForValue)

public UserEvent.Builder setProductDetails(int index, ProductDetail.Builder builderForValue)

The main product details related to the event. This field is required for the following event types:

  • add-to-cart
  • detail-page-view
  • purchase-complete
  • search 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 is desired. The end user may have not finished browsing the whole page yet.

repeated .google.cloud.retail.v2beta.ProductDetail product_details = 6;

Parameters
NameDescription
indexint
builderForValueProductDetail.Builder
Returns
TypeDescription
UserEvent.Builder

setPurchaseTransaction(PurchaseTransaction value)

public UserEvent.Builder setPurchaseTransaction(PurchaseTransaction value)

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.v2beta.PurchaseTransaction purchase_transaction = 9;

Parameter
NameDescription
valuePurchaseTransaction
Returns
TypeDescription
UserEvent.Builder

setPurchaseTransaction(PurchaseTransaction.Builder builderForValue)

public UserEvent.Builder setPurchaseTransaction(PurchaseTransaction.Builder builderForValue)

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.v2beta.PurchaseTransaction purchase_transaction = 9;

Parameter
NameDescription
builderForValuePurchaseTransaction.Builder
Returns
TypeDescription
UserEvent.Builder

setReferrerUri(String value)

public UserEvent.Builder setReferrerUri(String value)

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;

Parameter
NameDescription
valueString

The referrerUri to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setReferrerUriBytes(ByteString value)

public UserEvent.Builder setReferrerUriBytes(ByteString value)

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;

Parameter
NameDescription
valueByteString

The bytes for referrerUri to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setRepeatedField(Descriptors.FieldDescriptor field, int index, Object value)

public UserEvent.Builder setRepeatedField(Descriptors.FieldDescriptor field, int index, Object value)
Parameters
NameDescription
fieldFieldDescriptor
indexint
valueObject
Returns
TypeDescription
UserEvent.Builder
Overrides

setSearchQuery(String value)

public UserEvent.Builder setSearchQuery(String value)

The user's search query. See 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 or 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;

Parameter
NameDescription
valueString

The searchQuery to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setSearchQueryBytes(ByteString value)

public UserEvent.Builder setSearchQueryBytes(ByteString value)

The user's search query. See 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 or 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;

Parameter
NameDescription
valueByteString

The bytes for searchQuery to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setSessionId(String value)

public UserEvent.Builder setSessionId(String value)

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;

Parameter
NameDescription
valueString

The sessionId to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setSessionIdBytes(ByteString value)

public UserEvent.Builder setSessionIdBytes(ByteString value)

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;

Parameter
NameDescription
valueByteString

The bytes for sessionId to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setUnknownFields(UnknownFieldSet unknownFields)

public final UserEvent.Builder setUnknownFields(UnknownFieldSet unknownFields)
Parameter
NameDescription
unknownFieldsUnknownFieldSet
Returns
TypeDescription
UserEvent.Builder
Overrides

setUri(String value)

public UserEvent.Builder setUri(String value)

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;

Parameter
NameDescription
valueString

The uri to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setUriBytes(ByteString value)

public UserEvent.Builder setUriBytes(ByteString value)

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;

Parameter
NameDescription
valueByteString

The bytes for uri to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setUserInfo(UserInfo value)

public UserEvent.Builder setUserInfo(UserInfo value)

User information.

.google.cloud.retail.v2beta.UserInfo user_info = 12;

Parameter
NameDescription
valueUserInfo
Returns
TypeDescription
UserEvent.Builder

setUserInfo(UserInfo.Builder builderForValue)

public UserEvent.Builder setUserInfo(UserInfo.Builder builderForValue)

User information.

.google.cloud.retail.v2beta.UserInfo user_info = 12;

Parameter
NameDescription
builderForValueUserInfo.Builder
Returns
TypeDescription
UserEvent.Builder

setVisitorId(String value)

public UserEvent.Builder setVisitorId(String value)

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. The field should not contain PII or user-data. We recommend to use Google Analystics Client ID for this field.

string visitor_id = 2 [(.google.api.field_behavior) = REQUIRED];

Parameter
NameDescription
valueString

The visitorId to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.

setVisitorIdBytes(ByteString value)

public UserEvent.Builder setVisitorIdBytes(ByteString value)

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. The field should not contain PII or user-data. We recommend to use Google Analystics Client ID for this field.

string visitor_id = 2 [(.google.api.field_behavior) = REQUIRED];

Parameter
NameDescription
valueByteString

The bytes for visitorId to set.

Returns
TypeDescription
UserEvent.Builder

This builder for chaining.