Filter contacts based on action data

Imagine you want to send out 2 cross- or up-sell emails after the contact purchased a product. An external system creates the 2 action records immediately after the purchase. But you don't want to send both emails at once, because this would be too 'pushy' for the contact.  
So you don't want to pick up the action records immediately when they are created and the scheduled journey is executed, but only after a certain time. When the action records are created the CREATED_DT is also set on the action records.

Or maybe you only want to pick up action records where a certain field (e.g. BASKETCONTENT) is not empty because you use it in the action mail.

In those cases you can filter the action records in the journey, processing only action records with a certain value. Created an hour ago, or basket content is not empty for instance. In this example we will filter on the action record's CREATED_DT. It must be at least 1 hour later.

  • In the action journey, open the properties of the audience component. Make sure that the action list and action code are selected and click the "Design" button to design an additional filter on the audience

  • In the filter designer, an extra type "Action" is available because the action list is selected on the audience. Select the type "Action" and click on "Edit constraint".

  • A second filter designer window appears, this time on the action list .Here you can define the required constraint on the action record. CREATED_DT < NOW-1H

If you use a lookup filter in the filter designer to define a constraint on the action records (the audience list and action list are linked 1:N), you will only change the selected contacts and not the selected action records of those contacts! So if a contact, who falls in the selection, has 2 action records, both action records will still be sent instead of one.