Product Data Transposition
Product Data Transposition in the JENTIS Data Layer
When working with products or other repeatable data elements in JENTIS (such as multiple items in a shopping cart), you may have noticed that products are pushed one by one into the JENTIS Data Layer. However, in the JENTIS Tag Manager (JTM) interface, you interact with product properties like Product ID
, Product Name
, etc.—which are accessible as arrays.
This article explains how this transposition from objects to arrays works, and how to use it effectively in tags, triggers, and custom setups.
Example: Multiple Products in Data Layer
Let’s start with a basic example where two products are pushed to the data layer:
_jts.push({
track: "product",
type: "order",
id: "123",
name: "Baby Oil",
group: ["Small Sortiment", "Baby"],
brutto: 123.90
});
_jts.push({
track: "product",
type: "order",
id: "456",
name: "Baby Shampoo",
group: ["Small Sortiment", "Baby"],
brutto: 123.90
});
Each product is an individual object. But in the JENTIS Tag Manager, their attributes are transposed into arrays:
Product ID →
["123", "456"]
Product Name →
["Baby Oil", "Baby Shampoo"]
This makes it easy to handle multiple product values using a single variable.
How Transposition Works
Each property pushed in the
product
object becomes part of an array of values.These arrays are created per state and made accessible in JTM Variables.
You can use them directly in tag configurations or trigger conditions.
Using Arrays in Triggers
When using these variables in triggers, you must choose the correct operator for evaluating arrays.
For example:
Trigger: Product Name contains
"Baby Oil"
This will match against:
["Baby Oil", "Baby Shampoo"]
✅ Use the “contains” operator for array-safe matching.
Custom Properties
You can extend product objects with custom keys. For example:
_jts.push({
track: "product",
type: "order",
id: "123",
name: "Baby Oil",
variant: "Lotion"
});
To access this new variant
property in JTM:
Go to Variables → New Variable
Choose JTM Data Layer Value (client-side)
Set the property name (e.g.,
variant
)Under Merge Option, select:
Join to Array (use Default Value)

This ensures that:
All values are returned in array form
The array length is consistent, even if a value is missing from some objects
Summary
Each product is pushed separately, but their properties are automatically grouped into arrays
Use array-aware logic in triggers and tag setups
Extend product objects freely with custom keys
Always select proper merge options in JTM to ensure consistent behavior
For more on product schemas, refer to the E-Commerce Tracking.
Last updated
Was this helpful?