view_item_list is a recommended GA4 ecommerce event that your site sends when a visitor is shown a list of products, such as a category page, internal search results or a “you might also like” carousel. Its companion, select_item, is sent when the visitor clicks a product in that list. Together they show which lists earn attention and which products within them get chosen.
How view_item_list works
When a list appears, your site pushes the event with a name and ID for the list, plus an items array describing the products shown:
- item_list_name and item_list_id: a readable label and a stable code, for example “Women’s raincoats” and “cat_womens_raincoats”, or “Related products” for a carousel on product pages.
- index on each item: its position in the list, starting at 1 or 0 as long as you are consistent.
- The usual product fields: item_id, item_name, price, item_brand and item_category.
When a shopper clicks a product, select_item sends the same list name and ID with the single product chosen. The product page then fires view_item. That chain lets GA4 report items viewed in a list, items clicked and the click-through rate for each list and position.
GA4 limits how many items a single event can carry, and long lists with infinite scroll or “load more” buttons can exceed it. Sending items in batches as they come into view is more accurate than dumping a whole category at page load.
Why it matters
For most online shops, category pages are the pages that win organic search traffic for broad product terms, and internal search serves the visitors who already know what they want. view_item_list tells you how those pages perform once people arrive. A category that gets plenty of list views but few clicks is often sorted badly, shows thin product information on its cards, or puts out-of-stock items at the top.
Position data answers a recurring merchandising question: whether products near the top sell because they are good, or only because they are near the top. It also shows whether a recommendations carousel earns its space or just slows the page down.
Common mistakes
- Vague list names such as “list” or “products”, which make the report unreadable.
- Naming the same list differently on different templates, so one category appears as three lists.
- Sending every product in a 300-item category the moment the page loads, which overstates what people actually saw.
- Leaving out index, so position analysis is impossible.
- Sending view_item_list without select_item, which means you can count impressions but not clicks.
- Forgetting internal search results, often the list with the clearest buying intent on the site.
How to act on it
Write down every product list on the site, including homepage blocks, filtered category views, search results and carousels, and give each a fixed name and ID. Ask your developer or shop app to send view_item_list and select_item with those names and the index of each product, then check them in Tag Manager preview mode.
After a month of data, compare list click-through rates by category and by position, and test one change at a time: a new default sort order, better product card information or fewer items above the fold. Category performance sits at the centre of ecommerce SEO, so this is data I want before recommending changes to category structure or content.
