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\u003eThis document outlines the \u003ccode\u003eProductDetail\u003c/code\u003e class, which is used to provide detailed information about a product associated with a user event in the Google Cloud Retail V2 API.\u003c/p\u003e\n"],["\u003cp\u003eThe latest version of the Google Cloud Retail V2 API is 2.12.0, and multiple past versions are also documented, ranging down to 1.0.0.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eProductDetail\u003c/code\u003e can be constructed either as a new object with no arguments or with an existing \u003ccode\u003eProductDetail\u003c/code\u003e object.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eProduct\u003c/code\u003e property within \u003ccode\u003eProductDetail\u003c/code\u003e is required, necessitating a product ID, and the \u003ccode\u003eQuantity\u003c/code\u003e property, representing the product count, is needed for 'add-to-cart' and 'purchase-complete' events.\u003c/p\u003e\n"],["\u003cp\u003eThe class \u003ccode\u003eProductDetail\u003c/code\u003e implements several interfaces, such as \u003ccode\u003eIMessage\u003c/code\u003e, \u003ccode\u003eIEquatable\u003c/code\u003e, and \u003ccode\u003eIDeepCloneable\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,[]]