{"debug_checkpoints":[{"checkpoint":1,"if_no":"The trigger did not match. Check the custom event trigger name equals purchase exactly, and that the data layer push ran before the trigger was evaluated.","question":"Is the GA4 purchase tag under Tags Fired on the purchase event?","tool":"Tag Assistant Preview"},{"checkpoint":2,"if_no":"Check debug_mode is set (Preview adds it), and that consent mode or client-side privacy controls are not blocking Analytics.","question":"Does the purchase event appear with its parameters when debug mode is on?","tool":"GA4 DebugView"},{"checkpoint":3,"if_no":"Data is going to another property or nowhere. Copy the ID from the stream, not from memory.","question":"Does the Measurement ID in the tag match the web stream in Admin, Data Streams?","tool":"Measurement ID"},{"checkpoint":4,"if_no":"Standard reports can take 24 to 48 hours to process data. A custom parameter only becomes reportable after you register it under Admin, Data display, Custom definitions, and only for events after registration.","question":"Has it been 24 to 48 hours, and is any custom parameter registered as a custom dimension?","tool":"Standard reports and custom dimensions"}],"event":"purchase","event_parameters":[{"name":"transaction_id","note":"Unique identifier of the transaction. Required for purchases and refunds.","required":true,"type":"string"},{"name":"value","note":"Sum of (price * quantity) for all items. Do not include shipping or tax.","required":true,"type":"number"},{"name":"currency","note":"3-letter ISO 4217 code, for example USD. Required if value is set, or revenue metrics are computed wrong.","required":true,"type":"string"},{"name":"tax","note":"Tax amount for the transaction, separate from value.","required":false,"type":"number"},{"name":"shipping","note":"Shipping amount for the transaction, separate from value.","required":false,"type":"number"},{"name":"coupon","note":"Coupon code applied to the transaction.","required":false,"type":"string"},{"name":"items","note":"Array of purchased items, up to 200 per event. Each item needs item_id or item_name; both is recommended.","required":true,"type":"array"}],"item_parameters":[{"name":"item_id","note":"SKU or product ID.","required":"one of item_id or item_name","type":"string"},{"name":"item_name","note":"Product name as it should appear in reports.","required":"one of item_id or item_name","type":"string"},{"name":"price","note":"Discounted unit price as a number, not a string.","required":false,"type":"number"},{"name":"quantity","note":"Defaults to 1 when not set.","required":false,"type":"number"},{"name":"item_brand","note":"Brand of the item.","required":false,"type":"string"},{"name":"item_category","note":"Category of the item.","required":false,"type":"string"},{"name":"item_variant","note":"Variant of the item, for example green.","required":false,"type":"string"},{"name":"coupon","note":"Coupon code applied to this item.","required":false,"type":"string"},{"name":"discount","note":"Discount applied to this item.","required":false,"type":"number"}],"rules":["Event names are case-sensitive: purchase and Purchase are different events.","Setting debug_mode to false does not turn debug mode off; remove the field.","value is the sum of price times quantity for all items, without shipping or tax.","currency must be set at the event level when value is sent.","A custom dimension's scope and event parameter cannot be changed after saving."],"source":"Google Analytics developer documentation, Measure ecommerce (developers.google.com/analytics/devguides/collection/ga4/ecommerce), opened 11 November 2026","verified_example":{"arithmetic_check":{"checked_with":"Python 3.12.3, run 11 November 2026","computation":"10.01 * 3 + 21.01 * 2","matches_value_field":true,"result":72.05},"data_layer":{"ecommerce":{"coupon":"SUMMER_SALE","currency":"USD","items":[{"item_id":"SKU_12345","item_name":"Stan and Friends Tee","price":10.01,"quantity":3},{"item_id":"SKU_12346","item_name":"Google Grey Women's Tee","price":21.01,"quantity":2}],"shipping":5.99,"tax":3.6,"transaction_id":"T_12345","value":72.05},"event":"purchase"},"source":"Google's worked purchase example in the same developer page, transaction T_12345"}}