Skip to main content

Interaction segmentation

A new property addToSegmentation is available when you build your interaction schema. By adding this to one of your schema's properties with a value of "true”, that property will then show up in the filtering tool and you'll be able to segment for contacts with a certain value of that property.

If a property is not to be segmentable, you can either include addToSegmentation with a value of "false" or just leave it out entirely for that property.

For a general introduction to interaction segmentation, see this article on the Engage Help Center.

Interaction schema set-up

Segmentable types of properties:

  • Boolean

  • String (date is stored as a string but formatted as described here)

  • Integer

  • Number

These are actually the only types allowed in the schema definitions.

Example of schema:

interaction-segmentation-01.png

Limitations

Some limitations are imposed on the use of interaction schemas and segmentable properties:

  1. An Engage environment can have a maximum of 15 interaction schemas

  2. Every schema can contain a maximum of 6 segmentable propties denoted by the addToSegmentationproperty. A validation exists in the API to enforce these limits.

Caution

The limit of 6 segmentable properties is the total, independent of type. So, for example, you can't have an interaction with 6 segmentable properties of type "Number", then 6 more of type "String". The addToSegmentation property can only appear 6 times in any one interaction schema.

In the example above, every property has the addToSegmentation property added, but it is only set to "true" for 6 of them. Only these ones will be segmentable.

No change to create interactions endpoints

The endpoint to which new interactions are sent (with POST) has not changed because of this upgrade. For example, using the example schema above, all four properties in the following interaction payload will be segmentable in the Filtering Tool.

interaction-segmentation-02.png

Where the createdDate can be explicitly set or just letting Engage use the date time when getting the interaction.

Upgrading existing schemas and their corresponding interactions

There is no direct way to update an existing interaction schema to use the new addToSegmentation functionality while still keeping the same schema name / ID. And when an interaction schema is deleted, all interactions associated with it are also removed, as well as all data displayed in the contact card or available for segmentation. This happens automatically.

So if you want to leverage addToSegmentation and retain old interactions for a certain interaction schema, there are two ways forward:

1 - Create a new schema using the same interaction structure

You'll create a new schema that is identical to the existing one, the only difference being that some properties will now have the addToSegmentation property with a value of "true". It will need a different name, and it's good if this name is connected to the original schema's name.

For example, if the original schema is called "Repairs", create a new scheme with a name such as "Repairs-segmentable" with exactly the same structure and properties, the only difference being that some of the properties will now have the property addToSegmentationset to "true". Now segmentation will be possible for the new schema ("Repairs-segmentable").

The segmentation UI in Engage will display all the properties you've marked as filtering options / fields for that schema. Segmentation for the old schema ("Repairs") will just allow you to access the number of interactions received for a specified date range (which is the original behavior).

2 - Delete the original schema and re-import all interactions (while pausing related automations)

If the source system retains historical interactions OR if you are able to fetch all the interactions from Engage prior to deletion of that schema using the relevant API endpoints, you have the option to delete all interactions and re-import them into an upgraded schema. Follow these steps:

  1. Confirmed that the interactions have been saved somewhere

  2. Delete the old schema, which will delete all of those interactions from Engage

  3. Recreate the schema you deleted with addToSegmentation (with a value of "true") added to the properties you want to be able to segment on

  4. Save that schema with the same name as the one you deleted.

  5. Import the old interactions into the new schema, giving you a single schema that "owns" all the historical interactions as well as the new, all of which can be segmented on

Note

You will need to pause all automations that are triggered by new interactions, so that customer who have already passed through an interaction automation won't re-enter it.