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.