All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.api.services.retail.v2.model.GoogleCloudRetailV2UserEvent Maven / Gradle / Ivy

There is a newer version: v2-rev20241220-2.0.0
Show newest version
/*
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */
/*
 * This code was generated by https://github.com/googleapis/google-api-java-client-services/
 * Modify at your own risk.
 */

package com.google.api.services.retail.v2.model;

/**
 * UserEvent captures all metadata information Retail API needs to know about how end users interact
 * with customers' website.
 *
 * 

This is the Java data model class that specifies how to parse/serialize into the JSON that is * transmitted over HTTP when working with the Vertex AI Search for Retail API. For a detailed * explanation see: * https://developers.google.com/api-client-library/java/google-http-java-client/json *

* * @author Google, Inc. */ @SuppressWarnings("javadoc") public final class GoogleCloudRetailV2UserEvent extends com.google.api.client.json.GenericJson { /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.Map attributes; static { // hack to force ProGuard to consider GoogleCloudRetailV2CustomAttribute used, since otherwise it would be stripped out // see https://github.com/google/google-api-java-client/issues/543 com.google.api.client.util.Data.nullOf(GoogleCloudRetailV2CustomAttribute.class); } /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String attributionToken; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String cartId; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private GoogleCloudRetailV2CompletionDetail completionDetail; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String entity; /** * Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event * happened. * The value may be {@code null}. */ @com.google.api.client.util.Key private String eventTime; /** * 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. * `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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String eventType; /** * 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). * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List experimentIds; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String filter; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer offset; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String orderBy; /** * 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 or page_categories is required for `search` events. Other event types should not * set this field. Otherwise, an INVALID_ARGUMENT error is returned. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List pageCategories; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String pageViewId; /** * 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 is desired. The end user may have not finished browsing the whole * page yet. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List productDetails; static { // hack to force ProGuard to consider GoogleCloudRetailV2ProductDetail used, since otherwise it would be stripped out // see https://github.com/google/google-api-java-client/issues/543 com.google.api.client.util.Data.nullOf(GoogleCloudRetailV2ProductDetail.class); } /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private GoogleCloudRetailV2PurchaseTransaction purchaseTransaction; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String referrerUri; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String searchQuery; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String sessionId; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String uri; /** * User information. * The value may be {@code null}. */ @com.google.api.client.util.Key private GoogleCloudRetailV2UserInfo userInfo; /** * 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. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String visitorId; /** * 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. * @return value or {@code null} for none */ public java.util.Map getAttributes() { return attributes; } /** * 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. * @param attributes attributes or {@code null} for none */ public GoogleCloudRetailV2UserEvent setAttributes(java.util.Map attributes) { this.attributes = attributes; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.String getAttributionToken() { return attributionToken; } /** * 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. * @param attributionToken attributionToken or {@code null} for none */ public GoogleCloudRetailV2UserEvent setAttributionToken(java.lang.String attributionToken) { this.attributionToken = attributionToken; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.String getCartId() { return cartId; } /** * The ID or name of the associated shopping cart. This ID is used to associate multiple items * added or present in the cart before purchase. This can only be set for `add-to-cart`, * `purchase-complete`, or `shopping-cart-page-view` events. * @param cartId cartId or {@code null} for none */ public GoogleCloudRetailV2UserEvent setCartId(java.lang.String cartId) { this.cartId = cartId; return this; } /** * 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. * @return value or {@code null} for none */ public GoogleCloudRetailV2CompletionDetail getCompletionDetail() { return completionDetail; } /** * 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. * @param completionDetail completionDetail or {@code null} for none */ public GoogleCloudRetailV2UserEvent setCompletionDetail(GoogleCloudRetailV2CompletionDetail completionDetail) { this.completionDetail = completionDetail; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.String getEntity() { return entity; } /** * 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. * @param entity entity or {@code null} for none */ public GoogleCloudRetailV2UserEvent setEntity(java.lang.String entity) { this.entity = entity; return this; } /** * Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event * happened. * @return value or {@code null} for none */ public String getEventTime() { return eventTime; } /** * Only required for UserEventService.ImportUserEvents method. Timestamp of when the user event * happened. * @param eventTime eventTime or {@code null} for none */ public GoogleCloudRetailV2UserEvent setEventTime(String eventTime) { this.eventTime = eventTime; return this; } /** * 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. * `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. * @return value or {@code null} for none */ public java.lang.String getEventType() { return eventType; } /** * 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. * `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. * @param eventType eventType or {@code null} for none */ public GoogleCloudRetailV2UserEvent setEventType(java.lang.String eventType) { this.eventType = eventType; return this; } /** * 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). * @return value or {@code null} for none */ public java.util.List getExperimentIds() { return experimentIds; } /** * A list of identifiers for the independent experiment groups this user event belongs to. This is * used to distinguish between user events associated with different experiment setups (e.g. using * Retail API, using different recommendation models). * @param experimentIds experimentIds or {@code null} for none */ public GoogleCloudRetailV2UserEvent setExperimentIds(java.util.List experimentIds) { this.experimentIds = experimentIds; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.String getFilter() { return filter; } /** * 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. * @param filter filter or {@code null} for none */ public GoogleCloudRetailV2UserEvent setFilter(java.lang.String filter) { this.filter = filter; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.Integer getOffset() { return offset; } /** * 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. * @param offset offset or {@code null} for none */ public GoogleCloudRetailV2UserEvent setOffset(java.lang.Integer offset) { this.offset = offset; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.String getOrderBy() { return orderBy; } /** * 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. * @param orderBy orderBy or {@code null} for none */ public GoogleCloudRetailV2UserEvent setOrderBy(java.lang.String orderBy) { this.orderBy = orderBy; return this; } /** * 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 or page_categories is required for `search` events. Other event types should not * set this field. Otherwise, an INVALID_ARGUMENT error is returned. * @return value or {@code null} for none */ public java.util.List getPageCategories() { return pageCategories; } /** * The categories associated with a category page. To represent full path of category, use '>' * sign to separate different hierarchies. If '>' is part of the category name, 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. * @param pageCategories pageCategories or {@code null} for none */ public GoogleCloudRetailV2UserEvent setPageCategories(java.util.List pageCategories) { this.pageCategories = pageCategories; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.String getPageViewId() { return pageViewId; } /** * A unique ID of a web page view. This should be kept the same for all user events triggered from * the same pageview. For example, an item detail page view could trigger multiple events as the * user is browsing the page. The `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. * @param pageViewId pageViewId or {@code null} for none */ public GoogleCloudRetailV2UserEvent setPageViewId(java.lang.String pageViewId) { this.pageViewId = pageViewId; return this; } /** * 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 is desired. The end user may have not finished browsing the whole * page yet. * @return value or {@code null} for none */ public java.util.List getProductDetails() { return productDetails; } /** * 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 is desired. The end user may have not finished browsing the whole * page yet. * @param productDetails productDetails or {@code null} for none */ public GoogleCloudRetailV2UserEvent setProductDetails(java.util.List productDetails) { this.productDetails = productDetails; return this; } /** * 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. * @return value or {@code null} for none */ public GoogleCloudRetailV2PurchaseTransaction getPurchaseTransaction() { return purchaseTransaction; } /** * 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. * @param purchaseTransaction purchaseTransaction or {@code null} for none */ public GoogleCloudRetailV2UserEvent setPurchaseTransaction(GoogleCloudRetailV2PurchaseTransaction purchaseTransaction) { this.purchaseTransaction = purchaseTransaction; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.String getReferrerUri() { return referrerUri; } /** * The referrer URL of the current page. When using the client side event reporting with * JavaScript pixel and Google Tag Manager, this value is filled in automatically. * @param referrerUri referrerUri or {@code null} for none */ public GoogleCloudRetailV2UserEvent setReferrerUri(java.lang.String referrerUri) { this.referrerUri = referrerUri; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.String getSearchQuery() { return searchQuery; } /** * 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. * @param searchQuery searchQuery or {@code null} for none */ public GoogleCloudRetailV2UserEvent setSearchQuery(java.lang.String searchQuery) { this.searchQuery = searchQuery; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.String getSessionId() { return sessionId; } /** * 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. * @param sessionId sessionId or {@code null} for none */ public GoogleCloudRetailV2UserEvent setSessionId(java.lang.String sessionId) { this.sessionId = sessionId; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.String getUri() { return uri; } /** * Complete URL (window.location.href) of the user's current page. When using the client side * event reporting with JavaScript pixel and Google Tag Manager, this value is filled in * automatically. Maximum length 5,000 characters. * @param uri uri or {@code null} for none */ public GoogleCloudRetailV2UserEvent setUri(java.lang.String uri) { this.uri = uri; return this; } /** * User information. * @return value or {@code null} for none */ public GoogleCloudRetailV2UserInfo getUserInfo() { return userInfo; } /** * User information. * @param userInfo userInfo or {@code null} for none */ public GoogleCloudRetailV2UserEvent setUserInfo(GoogleCloudRetailV2UserInfo userInfo) { this.userInfo = userInfo; return this; } /** * 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. * @return value or {@code null} for none */ public java.lang.String getVisitorId() { return visitorId; } /** * Required. A unique identifier for tracking visitors. For example, this could be implemented * with an HTTP cookie, which should be able to uniquely identify a visitor on a single device. * This unique identifier should not change if the visitor log in/out of the website. 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. * @param visitorId visitorId or {@code null} for none */ public GoogleCloudRetailV2UserEvent setVisitorId(java.lang.String visitorId) { this.visitorId = visitorId; return this; } @Override public GoogleCloudRetailV2UserEvent set(String fieldName, Object value) { return (GoogleCloudRetailV2UserEvent) super.set(fieldName, value); } @Override public GoogleCloudRetailV2UserEvent clone() { return (GoogleCloudRetailV2UserEvent) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy