Spreadings

Overview

A Spreading Transformation flattens data within an object or array by traversing the various elements contained within it, and then follows the configuration options you have set.

How It Works

A Spreading contains three required fields to be entered, with an optional fourth configuration available via the download/upload functionality within a playbook:

  • Input. This tells the system which input key (an objector or array) to look for.
  • Prefix. This will begin each new parameter.
  • Separator. This will separate the prefix from the following keys.
  • Depth. This tells the system how far to flatten the object or array.
  • (Optional) arrayStartIndex. This will provide a number for each flattened parameter, typically helpful for e-commerce cart events where there might be multiple products within the cart and they do not already contain some kind of numerical counting system (Product 1, Product 2, etc.).

InputSeparatorPrefixDepthOutput
{"context": {
"os": "iOS",
"device": "iPhone",
"traits": {
"repeat_customer": true,
"age_group": "18-25"}}}
"_""context"5{"context_os": "iOS",
"context_device": "iPhone",
"context_traits_repeat_customer": true,
"context_traits_age_group": "18-25"}

Default behavior without arrayStartIndex is included in the below example.

InputSeparatorPrefixDeptharrayStartIndexOutput
{"products":
sformation flattens data within an obje}
"."products50{"products.0.name": "Monopoly",
"products.1.name": "Uno"}

Default behavior with arrayStartIndex is included in the below example.

InputSeparatorPrefixDeptharrayStartIndexOutput
{"products":
sformation flattens data within an obje}
"."products51{"products.1.name": "Monopoly",
"products.2.name": "Uno"}