An item array is the list of products attached to an ecommerce event in Google Analytics 4, with each product described by fields such as its ID, name, price and quantity. When a shopper adds two of the same candle and a gift box to their basket, the add_to_cart event carries an item array with two entries: the candle with a quantity of 2 and the gift box with a quantity of 1. GA4 builds every product report from what those entries contain.
How an item array works
GA4 measures a shop as a sequence of ecommerce events: view_item when a product page loads, add_to_cart, begin_checkout and finally purchase. Each of these sends a parameter called items, which is a list holding one entry per product. Alongside the list, the event carries order-level details such as the currency, the total value and, for a purchase, the transaction ID.
Each entry needs at least an item_id or an item_name. In practice a useful entry looks like this:
| Field | Example | What it is for |
|---|---|---|
| item_id | CND-ORG-200 | Your SKU, and the most reliable way to match a product across reports and platforms |
| item_name | Orange and Clove Candle | The readable name shown in product reports |
| item_brand | Your brand or the maker’s | Comparing brands in a shop that stocks several |
| item_category | Home fragrance | Grouping products; GA4 accepts up to five category levels |
| item_variant | 200g | Size, colour or other option |
| price | 18.00 | Unit price as a number, after any item discount |
| quantity | 2 | How many of that item |
On most sites the shop pushes this information into the data layer and a GA4 tag in Google Tag Manager reads it from there. Shopify, WooCommerce and Magento integrations build the array for you, although how complete it is varies a great deal from one plugin to the next.
Why it matters
Every product figure in GA4 comes from the item array: items viewed, items added to basket, items purchased and item revenue. If the array is thin or inconsistent, you cannot see which products people look at but do not buy, which categories bring in the most revenue or which variants sell fastest. That is exactly the information that should decide what you promote, discount or stop stocking.
For a UK shop, two details are worth settling early. Send the currency as GBP on every ecommerce event, because without a currency code GA4 may not record the revenue at all. And decide whether price includes VAT. Consumer prices in the UK normally do, but your accountant may report net sales, and GA4 should match whichever figure the business is actually managed by.
The same product IDs are used beyond GA4. Google Ads dynamic remarketing matches item IDs against the products in your Google Merchant Center feed, so an item_id that differs from the feed ID breaks the link between what someone viewed and the ad they are later shown.
Common mistakes
- Describing the same product differently on different events, for example by name on view_item and by SKU on purchase, so GA4 treats it as two products.
- Sending price as text with a pound sign (“£18.00”) instead of the number 18.00.
- Leaving out quantity or price, which leaves item revenue empty or wrong even when the order total is correct.
- An empty items list on purchase, often because the order confirmation page cannot read the basket after the customer returns from an external payment page such as PayPal.
- Putting customer details, such as an email address or the text of a personalised engraving, into an item field. Google’s analytics terms prohibit sending personally identifiable information, and it creates a UK GDPR problem you do not need.
- Variant names that drift over time (“Large”, “L”, “large”), splitting one product’s sales across several rows.
How to act on it
Run a test order and watch what is sent. Open GA4 DebugView or Tag Manager’s preview mode, view a product, add two of it to the basket, start the checkout and complete the order with a test payment or a full-discount code. At each step, open the items parameter and check that the ID, name, price and quantity are present and identical to the previous step.
Then compare a week of item revenue in GA4 with the same week in your shop’s own sales report. A modest gap is normal, because some visitors decline analytics cookies and some block tags altogether. A large gap, or products missing entirely, means the array needs fixing. Write the field rules into your measurement plan so that a theme update or a new plugin does not quietly undo them.
Checking the item array is one of the first jobs when I set up tracking for performance marketing, because return on ad spend by product is only as reliable as the product data behind it. The entry on ecommerce tracking covers the rest of the set-up.
