Expand my Community achievements bar.

Tracking of s.products in Dynamic Tag Manager


Level 4


Dynamic Tag Manager is great, but it seems to lack an interface for tracking s.products.

It is possible to do it through JavaScript, but it would be nice to have a graphical interface like there already is for most of the s_code configurations.



Level 1


We are definitely aware that this particular variable is missing from the UI. The reason why is because typically the products variable gets programmatically set using dynamic values rather than static values that might get set in a rule, so it's a bit tricky to build a UI for it. That said, we're still discussing ways of making this happen. If you have any suggestions for a way to represent s.products in the UI that would allow for both static and dynamic values, we'd love to hear your thoughts. Thanks! Shawn Reed Product Manager, DTM


Level 4


Thank you for the answer!


Theese suggestions may not solve the problem entirely, but they may help:

It is possible to find elements on a page through CSS selectors in data elements. For instance a CSS selector could be: .product-name. This selector would find every product name on the page. So if a customer has bought two products it would return an array of two strings:


Apple iPhone 5C 16GB

Samsung Galaxy S4 16GB


This requires that data elements can return an array of data. (I am not sure if it already does that.) So by letting data elements return an array of data it could be possible to handle multiple products on the page.


Another issue could be that there exists an internal mapping for categories (or other fields). So for instance purchases of tablets/smartphones maps to mobile and purchases of laptops/desktop maps to computer. In order to handle this issue a mapping table could be applied to a data element.


I hope that I express my ideas clearly. Smiley Happy


Level 9


As a heads up, this is how you use the "Custom Code" section of DTM to enable s.products:



Remember that if you're calling s.products in a Link (s.tl) tag then you'll want to set s.linkTrackVars!