Skip to content

Guide 34 · Ecommerce · GA4 + Tag Manager

Send the select_item event: the click on a product in a list

Checked 11 November 2026 · Verification: reference file checked in Python (figures recomputed from the worked example) · Steps traced to Google's developer docs and Analytics Help, opened 11 November 2026 · 5-minute read

View_item_list says what was shown; select_item says what was chosen. Send it on the click, with the clicked item and its position, so list click-through is measured per product.

Expected signal

After step 3, DebugView shows a select_item event with item_list_id related_products and the tee at index 0, fired once per click. After about 24 hours, the Ecommerce purchases report can compare selections against list views for the same list.

Download the reference: the select-item-event reference (JSON) (1062 bytes, MD5 c3b7b5edb34967578d6cbc536bba5b1d). It holds the event parameters, the worked example, and the recomputed figures.

What you need

  • The Google tag on the site. The event is sent through the Google tag; the install guide covers it.
  • Access to the website source code, or a Tag Manager container. The event fires from the click on a product in a list.
  • The list the click came from. The worked list is Google's own: ID related_products, name Related Products. The clicked item is the Stan and Friends Tee at index 0.

The trace

  1. Fire the event on the click, not on the list view. The select_item event measures choosing an item from a list, so it belongs in the click handler for the product link or card. Send gtag("event", "select_item", { currency: "USD", item_list_id: "related_products", item_list_name: "Related Products", items: [{ item_id: "SKU_12345", item_name: "Stan and Friends Tee", index: 0, price: 10.01, quantity: 3 }] }). The item's line is 10.01 × 3 = 30.03.
  2. Send the list ID with the item. The list ID is what ties the selection back to the list that was shown. The same product in two lists is two different selections; without the list ID, the report cannot tell which list earned the click.
  3. Keep the index from the list view. The clicked tee sat at index 0 in the related-products list. The same index must appear in the view_item_list event and in the select_item event, or the position analysis breaks: a click on the first item would read as a click on an unknown position.
  4. Check it in DebugView. Turn on debug mode, click the product in the list, and open DebugView (Admin, then Data display, then DebugView). Select the select_item event and check the item_list_id reads related_products and the items array holds the tee at index 0. One click must produce one event.
  5. Confirm the reports after about 24 hours. Selections divided by list views give the list click-through rate. The view_item_list guide covers the views side; this event covers the clicks side, and the two only join up when the list ID matches.

Dead ends

DEAD END — SELECT_ITEM WITHOUT VIEW_ITEM_LIST. Selections with no list views produce a click-through rate with no denominator. If the list page never sends view_item_list, the select_item events arrive but there is nothing to divide them by. Send both events, with the same list ID.

DEAD END — THE CLICK THAT ALSO FIRES VIEW_ITEM. The click on the product in the list should send select_item; the product page it lands on sends view_item. Firing view_item on the click as well double-counts the product view and muddles the funnel. One action, one event.

DEAD END — INDEX THAT DOES NOT MATCH THE LIST. A list that reorders between the view and the click, for example after a sort, makes the stored index wrong. Capture the index at click time from the position the visitor actually saw, not from the order the page loaded with.

End state

Every click on a product in a list sends one select_item event with the list ID and name and the clicked item at its list position. The worked click is the Stan and Friends Tee at index 0 in related_products, worth 10.01 × 3 = 30.03. DebugView shows the event the same minute, and after about 24 hours the report can compare selections with list views for the same list.

Sources

Checked 11 November 2026. The event definition above is the one in Google's ecommerce developer guide and the recommended events reference, both opened 11 November 2026. No step was run inside a live Analytics property, because that needs a Google sign-in and this site does not sign in as anyone. The figures were recomputed in Python: 10.01 × 3 = 30.03. The reference file was checked the same way.