0

My goal is to send an invitation email via journey to all records who qualifies for certain event. Sending DE "ContactToOnlineEvents" has got two primary keys; Subscriber ID linked to Contact Key and Event ID. It is populated with two records which has got the same subscriber key, but first record has event id 33796 second 33814. Automation studio starts the journey and all records from ContactToOnlineEvents events enters the journey. Then decision split is coming up in the journey, where only records with right event id 33814 should obtain the email. In email I am using AMPscript to personalize the data in it.

The problem is that I am unsure how journey builder treats the contacts. After decision split only one record should proceed and obtain the email with event id 33814, so the upcoming email should be populated with data from event 33814. What happens is that with no re-entry option user will receive one email populated with credential from event 33796 and with re-entry anytime two emails will arrive populated with data from both events.

Even though only one records should be able to proceed in the journey to get the email it seems that journey builder does not treat records as records, but as contacts since both records has got the same subscriber key. I was googling and trying to search in the documentation, but I am unable to solve the problem how to send just one email with populated with correct data from event 33814.

marked as duplicate by Markus Slabina, battery.cord, Santanu Boral, martin, Ratan Paul Jul 26 '17 at 2:50

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

0

To make sure the correct entry is evaluated at the decision split you need to use a custom entry event using a transaction key, which in your case would be the the (unique) event id.

A full code example for a Contact Data (API) Entry Event using a Transaction Key including documentation regarding the required configuration can be found on my github account. There is also some official documentation available:

Note: Transaction Key is available with Custom Events only.

Transaction keys combine an ID value that Journey Builder generates with a unique contact attribute value to create a wholly unique identifier. All contact filters in the journey observe this unique identifier, including filters in the entry event and decision split activities. This prevents contacts in the journey from following the unintended path when their ContactID still matches current entry or decision split criteria due to a previous transaction.

The contact attributes available for creating a transaction key are ContactID and ContactKey. Transaction keys are commonly used when a journey's entry event is initiated via API.

(Source: Marketing Cloud documentation: Journey Settings)

EDIT: If this isn't suitable for your use case the problem remains the same and evaluation of multiple records isn't possible without a workaround. The other possible workaround is creating a custom decision split activity that handles the decision via the custom backend. Therefore you can build your underlying queries and evaluation will take your ids into account. An example that could be used as a reference (however you will need to modify it to suit your needs) is also available on my github account: Salesforce Marketing Cloud - Service Cloud Custom Split Activity.

Useful links:

  • Thank you for your answer, but I do not want to use API event as an entry source. In my case I would like a marketeer to schedule the start of the journey with Automation Studio Audience, so I do not think the custom created journey would help me. – V.Pastor Jul 27 '17 at 8:57
  • I added another workaround as I'm afraid this isn't possible out of the box currently. – Markus Slabina Jul 27 '17 at 9:22

Not the answer you're looking for? Browse other questions tagged or ask your own question.