Check a GA4 items array before publishing an e-commerce tag. Errors, review notes and optional fields are distinguished. This is a local structural check, not proof that Google has received or processed an event.
Processing stays in this browser tab. No Google login or upload. Tracking, session recording and chat are disabled on this tool page. Normal page-access logs remain. Downloads are saved locally.
The sum excludes tax and shipping. price is the discounted unit price; discount is not subtracted again. Missing quantity defaults to 1. A missing price is optional here, but prevents a complete value calculation. currency, transaction_id, event-level value, duplicate JSON keys, event delivery and all event-specific rules are outside this array check. Custom parameter names receive a basic format check, not a complete reserved-name check. Repeated item IDs are review notes because variants can share an ID.