Something that you won't find in the UDH (Collect Tag) documentation (at least we didn't find it back then) is that all variables are limited to a length of 1000 characters.

That is generous for string variables, as we all know about limitations by Adobe (100 for props, 255 for eVars) and similar tools to custom variables.

But it is devastating for Arrayswhere it is quite common to have many elements inside that quickly outgrow 1000 characters.

And this is also why neither Adobe (list vars, product vars, exception list props) nor Google limits its Arrays in such a way (Google only by the total request length which is not a problem for UDH's post requests). They sensibly limit the length of each array ELEMENT (e.g. <255 characters for product eVars, list vars in Adobe), but they do NOT limit the total length of all Array elements together.

Tealium seems to have forgotten that Arrays are the blood and life of E-Commerce Tracking and such a limit makes no sense at all and creates a multitude of problems (and unpleasant surprises when you find out).

where you need to track a search result list with 50 products, each with a name, a brand and a category array. You would have to restrict the length per element to 20 characters (and actually less because the commas between the arrays count as characters too because in essence Audience Stream does not understand what an Array is truly) to not get over the 1000 limit which is impossible.

Imagine trying to do server-side tracking with UDH and trying to build the products variable in Adobe which even on a simple Product Detail page already exceeds 1000 characters.

Or variables that contain the cart content in an online supermarket where people easily buy 30 and more different products in one purchase.

And and and and... The "solution" that Tealium describes requires slicing such arrays apart (e.g. prod_cat becomes prod_cat0, prod_cat1, prod_cat2 etc... until all characters are filled). Then in Audience Stream, if you want to do anything with that, you have to work with all prod_catX variables separately.

There are more limitations than that, but in general, I BEG Tealium to reconsider this fatal flaw in the UDH architecture. For an E-Commerce site like us it makes everything 123492304 times more complicated.