summaryrefslogtreecommitdiff
path: root/third_party/googleapis/google/cloud/retail/v2/user_event.proto
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/googleapis/google/cloud/retail/v2/user_event.proto')
-rw-r--r--third_party/googleapis/google/cloud/retail/v2/user_event.proto343
1 files changed, 0 insertions, 343 deletions
diff --git a/third_party/googleapis/google/cloud/retail/v2/user_event.proto b/third_party/googleapis/google/cloud/retail/v2/user_event.proto
deleted file mode 100644
index fc315f8..0000000
--- a/third_party/googleapis/google/cloud/retail/v2/user_event.proto
+++ /dev/null
@@ -1,343 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// 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.
-
-syntax = "proto3";
-
-package google.cloud.retail.v2;
-
-import "google/api/field_behavior.proto";
-import "google/cloud/retail/v2/common.proto";
-import "google/cloud/retail/v2/product.proto";
-import "google/protobuf/timestamp.proto";
-import "google/protobuf/wrappers.proto";
-
-option csharp_namespace = "Google.Cloud.Retail.V2";
-option go_package = "google.golang.org/genproto/googleapis/cloud/retail/v2;retail";
-option java_multiple_files = true;
-option java_outer_classname = "UserEventProto";
-option java_package = "com.google.cloud.retail.v2";
-option objc_class_prefix = "RETAIL";
-option php_namespace = "Google\\Cloud\\Retail\\V2";
-option ruby_package = "Google::Cloud::Retail::V2";
-
-// UserEvent captures all metadata information Retail API needs to know about
-// how end users interact with customers' website.
-message UserEvent {
- // 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];
-
- // Required. A unique identifier for tracking visitors.
- //
- // For example, this could be implemented with an HTTP cookie, which should be
- // able to uniquely identify a visitor on a single device. This unique
- // identifier should not change if the visitor log in/out of the website.
- //
- // Don't set the field to the same fixed ID for different users. This mixes
- // the event history of those users together, which results in degraded model
- // quality.
- //
- // The field must be a UTF-8 encoded string with a length limit of 128
- // characters. Otherwise, an INVALID_ARGUMENT error is returned.
- //
- // The field should not contain PII or user-data. We recommend to use Google
- // Analytics [Client
- // ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId)
- // for this field.
- string visitor_id = 2 [(google.api.field_behavior) = REQUIRED];
-
- // 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;
-
- // Only required for
- // [UserEventService.ImportUserEvents][google.cloud.retail.v2.UserEventService.ImportUserEvents]
- // method. Timestamp of when the user event happened.
- google.protobuf.Timestamp event_time = 3;
-
- // 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;
-
- // Highly recommended for user events that are the result of
- // [PredictionService.Predict][google.cloud.retail.v2.PredictionService.Predict].
- // This field enables accurate attribution of recommendation model
- // performance.
- //
- // The value must be a valid
- // [PredictResponse.attribution_token][google.cloud.retail.v2.PredictResponse.attribution_token]
- // for user events that are the result of
- // [PredictionService.Predict][google.cloud.retail.v2.PredictionService.Predict].
- // The value must be a valid
- // [SearchResponse.attribution_token][google.cloud.retail.v2.SearchResponse.attribution_token]
- // for user events that are the result of
- // [SearchService.Search][google.cloud.retail.v2.SearchService.Search].
- //
- // This token enables us to accurately attribute page view or purchase back to
- // the event and the particular predict response containing this
- // clicked/purchased product. If user clicks on product K in the
- // recommendation results, pass
- // [PredictResponse.attribution_token][google.cloud.retail.v2.PredictResponse.attribution_token]
- // as a URL parameter to product K's page. When recording events on product
- // K's page, log the
- // [PredictResponse.attribution_token][google.cloud.retail.v2.PredictResponse.attribution_token]
- // to this field.
- string attribution_token = 5;
-
- // The main product details related to the event.
- //
- // This field is optional except for the following event types:
- //
- // * `add-to-cart`
- // * `detail-page-view`
- // * `purchase-complete`
- //
- // In a `search` event, this field represents the products returned to the end
- // user on the current page (the end user may have not finished browsing the
- // whole page yet). When a new page is returned to the end user, after
- // pagination/filtering/ordering even for the same query, a new `search` event
- // with different
- // [product_details][google.cloud.retail.v2.UserEvent.product_details] is
- // desired. The end user may have not finished browsing the whole page yet.
- repeated ProductDetail product_details = 6;
-
- // 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.
- CompletionDetail completion_detail = 22;
-
- // 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, CustomAttribute> attributes = 7;
-
- // 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;
-
- // 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.
- PurchaseTransaction purchase_transaction = 9;
-
- // The user's search query.
- //
- // See [SearchRequest.query][google.cloud.retail.v2.SearchRequest.query] for
- // definition.
- //
- // The value must be a UTF-8 encoded string with a length limit of 5,000
- // characters. Otherwise, an INVALID_ARGUMENT error is returned.
- //
- // At least one of
- // [search_query][google.cloud.retail.v2.UserEvent.search_query] or
- // [page_categories][google.cloud.retail.v2.UserEvent.page_categories] is
- // required for `search` events. Other event types should not set this field.
- // Otherwise, an INVALID_ARGUMENT error is returned.
- string search_query = 10;
-
- // The filter syntax consists of an expression language for constructing a
- // predicate from one or more fields of the products being filtered.
- //
- // See [SearchRequest.filter][google.cloud.retail.v2.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;
-
- // The order in which products are returned.
- //
- // See [SearchRequest.order_by][google.cloud.retail.v2.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;
-
- // An integer that specifies the current offset for pagination (the 0-indexed
- // starting location, amongst the products deemed by the API as relevant).
- //
- // See [SearchRequest.offset][google.cloud.retail.v2.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;
-
- // 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][google.cloud.retail.v2.UserEvent.search_query] or
- // [page_categories][google.cloud.retail.v2.UserEvent.page_categories] is
- // required for `search` events. Other event types should not set this field.
- // Otherwise, an INVALID_ARGUMENT error is returned.
- repeated string page_categories = 11;
-
- // User information.
- UserInfo user_info = 12;
-
- // 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;
-
- // 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;
-
- // 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;
-}
-
-// Detailed product information associated with a user event.
-message ProductDetail {
- // Required. [Product][google.cloud.retail.v2.Product] information.
- //
- // Required field(s):
- //
- // * [Product.id][google.cloud.retail.v2.Product.id]
- //
- // Optional override field(s):
- //
- // * [Product.price_info][google.cloud.retail.v2.Product.price_info]
- //
- // If any supported optional fields are provided, we will treat them as a full
- // override when looking up product information from the catalog. Thus, it is
- // important to ensure that the overriding fields are accurate and
- // complete.
- //
- // All other product fields are ignored and instead populated via catalog
- // lookup after event ingestion.
- Product product = 1 [(google.api.field_behavior) = REQUIRED];
-
- // Quantity of the product associated with the user event.
- //
- // For example, this field will be 2 if two products are added to the shopping
- // cart for `purchase-complete` event. Required for `add-to-cart` and
- // `purchase-complete` event types.
- google.protobuf.Int32Value quantity = 2;
-}
-
-// Detailed completion information including completion attribution token and
-// clicked completion info.
-message CompletionDetail {
- // Completion attribution token in
- // [CompleteQueryResponse.attribution_token][google.cloud.retail.v2.CompleteQueryResponse.attribution_token].
- string completion_attribution_token = 1;
-
- // End user selected
- // [CompleteQueryResponse.CompletionResult.suggestion][google.cloud.retail.v2.CompleteQueryResponse.CompletionResult.suggestion].
- string selected_suggestion = 2;
-
- // End user selected
- // [CompleteQueryResponse.CompletionResult.suggestion][google.cloud.retail.v2.CompleteQueryResponse.CompletionResult.suggestion]
- // position, starting from 0.
- int32 selected_position = 3;
-}
-
-// A transaction represents the entire purchase transaction.
-message PurchaseTransaction {
- // The transaction ID with a length limit of 128 characters.
- string id = 1;
-
- // Required. Total non-zero revenue or grand total associated with the
- // transaction. This value include shipping, tax, or other adjustments to
- // total revenue that you want to include as part of your revenue
- // calculations.
- float revenue = 2 [(google.api.field_behavior) = REQUIRED];
-
- // All the taxes associated with the transaction.
- float tax = 3;
-
- // All the costs associated with the products. These can be manufacturing
- // costs, shipping expenses not borne by the end user, or any other costs,
- // such that:
- //
- // * Profit = [revenue][google.cloud.retail.v2.PurchaseTransaction.revenue] -
- // [tax][google.cloud.retail.v2.PurchaseTransaction.tax] -
- // [cost][google.cloud.retail.v2.PurchaseTransaction.cost]
- float cost = 4;
-
- // Required. Currency code. Use three-character ISO-4217 code.
- string currency_code = 5 [(google.api.field_behavior) = REQUIRED];
-}