Detailed product information associated with a user event.
Optional override field(s):
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