Passing Lists of Values with a Universal Pixel
Universal pixels accept variables as key-value pairs, but what if you want to pass through a list (for example, a list of SKUs from a customer’s order)?
To pass a list of values for a single key, you can concatenate all the values together using a non-interfering separator (the pipe character here). Place the separator at the start and end:
<script>
var orderSkus = [41449, 28410, 1920];
var cntrData = {
'event': 'orderCompleted',
'skus': '|' + orderSkus.join('|') + '|',
'cntr_revenue': 39.52
};
</script>
<!-- Universal Pixel Script Goes Here -->
This sends the string ‘|41449|28410|1920|’ to the skus key.
You can then use it in a rule set where the first rule is
- Rule Type: Key/String
- Operator: Contains
- Key: skus
- Value: |41449|
and the second rule is
- Rule Type: Key/String
- Operator: Matches
- Key: event
- Value:orderCompleted
Because the first rule uses the contains
operator, it will match if any of the SKUs in the list match.