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 is 2.12.0, with various other versions ranging from 2.11.0 to 1.0.0 also accessible.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eProductDetail\u003c/code\u003e provides detailed product information associated with a user event and is part of the \u003ccode\u003eGoogle.Cloud.Retail.V2\u003c/code\u003e namespace.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eProductDetail\u003c/code\u003e class implements interfaces such as \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, \u003ccode\u003eIDeepCloneable\u003c/code\u003e, and \u003ccode\u003eIBufferMessage\u003c/code\u003e, inheriting members from \u003ccode\u003eObject\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eIt has properties like \u003ccode\u003eProduct\u003c/code\u003e, which allows access to product information and \u003ccode\u003eQuantity\u003c/code\u003e, which is used to display the quantity of the product in the event.\u003c/p\u003e\n"],["\u003cp\u003eThe ProductDetail class has two constructors \u003ccode\u003eProductDetail()\u003c/code\u003e and \u003ccode\u003eProductDetail(ProductDetail other)\u003c/code\u003e, where other is a parameter of type \u003ccode\u003eProductDetail\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,[]]