I wrote up this GA4 Item Parameter list as I was debugging some GA4 item changes today using one of my favorite Chrome extensions today – Omnibug – to see what data was being sent. The problem though is that my nice parameters
As you may know, the items
array gets sent for MANY GA4 events (ie. add_to_cart
, select_item
, etc.) and if the data doesn’t match extremely closely, then the reports in GA4 result in being less than reliable…

You’ll notice that the item data gets put into a serialized array (GA4’s custom format…) with parameter names that are shortened and not quite as recognizable.
Example:
1 | "id12345~nmAwesome Product Name~lihome_page~lnHome Page~lp2~brAwesome Brand~pr99.99~qt1" |
GA4 Item Array Code Chart
Item Array Name | Serialized Array Key |
---|---|
item_id | id |
item_name | nm |
affiliation | af |
coupon | cp |
discount | ds |
index | lp |
item_brand | br |
item_category | ca |
item_category2 | c2 |
item_category3 | c3 |
item_category4 | c4 |
item_category5 | c5 |
item_list_id | li |
item_list_name | ln |
item_variant | va |
location_id | lo |
price | pr |
quantity | qt |
Custom Parameters
Custom parameters can be sent in the GA4 items array. Since GA4 doesn’t know what the parameter names are, custom key value parameters are passed. The key is passed via a k{index_number}
parameter and the value is passed via a v{index_number}
parameter.
Example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | gtag("event", "add_to_cart", { currency: "USD", value: 99.99, items: [ { item_id: "12345", item_name: "Awesome Product Name", index: 2, item_brand: "Awesome Brand", item_list_id: "home_page", item_list_name: "Home Page", price: 99.99, quantity: 1, custom_one: "hello world", custom_two: "foo bar" } ] }); |
The resulting string that will be sent to GA4 will look like this:
1 | "id12345~nmAwesome Product Name~lihome_page~lnHome Page~lp2~brAwesome Brand~pr99.99~qt1</code>~k0custom_one~v0hello world~k1custom_two~v1foo bar |
Notice k0
and v0
for the custom parameter at index_number
0
and k1
and v1
for the custom parameter at index_number
1
.