When a new commerce item is added or removed or the quantity is changed due to gift with purchase selections, the following events are used to convey the change information:
ItemAddedToOrder
ItemRemovedFromOrder
ItemQuantityChanged
For each event, the giftWithPurchase
Boolean flag is set to true when the event fires due to gift with purchase actions.