Why does this metric feel obvious?
“Items per order” sounds like school-level math. I’ve seen it calculated in five minutes — and questioned for months after.
Where the trap hides?
GA4 stores items at the item level.
- One order = many rows
- One product = many events
- One mistake = inflated averages
If you skip order reconstruction, the number lies.
What needs to happen first? You must rebuild the order.
- Group by transaction_id
- Count items inside the order
- Remove duplicates
Only then do you touch averages.
How I keep it clean?
I never aggregate items globally. Orders first, metrics later. This single rule saved me from countless “why is this number so high?” meetings.
Want all my best GA4-BQ queries in one place? I turned them into a Chrome extension — top SQL queries you can search and copy in seconds.
Go here to install it for FREE.
Prefer the web version? It's here.

