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 the Retail v2 API's ProductDetail class is 2.12.0, with multiple previous versions, including 2.7.0, accessible for reference.\u003c/p\u003e\n"],["\u003cp\u003eThe ProductDetail class is part of the Google.Cloud.Retail.V2 namespace and is used to provide detailed information about a product in relation to a user event.\u003c/p\u003e\n"],["\u003cp\u003eThe ProductDetail class implements several interfaces, including IMessage, IEquatable, IDeepCloneable, and IBufferMessage, and inherits from the base object class.\u003c/p\u003e\n"],["\u003cp\u003eThe class includes properties such as Product, which is required and represents the detailed product information, and Quantity, which is optional and represents the number of products related to a user event.\u003c/p\u003e\n"],["\u003cp\u003eThe available constructors are a default, empty constructor and a constructor which takes in an existing ProductDetail object.\u003c/p\u003e\n"]]],[],null,[]]