Keep the identity
Use the same item_id when a product moves from the list to the detail page and then to the cart. If the name changes, the identifier must still represent the same entity.
Check the values
Quantity, price and currency should be verified together. As a simple exercise, compute the total as the sum of price times quantity and compare it with what the interface shows. State how you treat discounts and shipping.
Verify the purchase only once
A confirmation page can be reloaded. Design a stable transaction_id for the demo order and a strategy that avoids emitting purchase again on refresh.
THINK IT THROUGH
From the concept to a concrete case
Pick a page of the laboratory. Which interaction do you want to observe? Write the event name, two parameters and one case where it should not fire.
Download the checklist ↗