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.
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[[["\u003cp\u003eThe latest version available for \u003ccode\u003eProductDetail\u003c/code\u003e in the Google.Cloud.Retail.V2 namespace is version 2.12.0, with a range of prior versions down to 1.0.0 being available.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eProductDetail\u003c/code\u003e is a class that provides detailed information about a product associated with a user event, implementing interfaces like \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eProductDetail\u003c/code\u003e objects can be constructed with a default constructor or by providing another \u003ccode\u003eProductDetail\u003c/code\u003e object as a parameter.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eProduct\u003c/code\u003e property of the \u003ccode\u003eProductDetail\u003c/code\u003e class is a required field that contains product information and allows optional field overrides like price.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eQuantity\u003c/code\u003e property within \u003ccode\u003eProductDetail\u003c/code\u003e represents the number of products associated with a user event, which is required for \u003ccode\u003eadd-to-cart\u003c/code\u003e and \u003ccode\u003epurchase-complete\u003c/code\u003e events.\u003c/p\u003e\n"]]],[],null,[]]