Background: We have a Journey that is triggered by data extension called CustomerWelcomeDE which has cust_id as contactkey and two other fields service_id and email_id.

Journey Entry source DE: CustomerWelcomeDE Fields: cust_id, service_id, email_id cust_id is the contact key here.

MasterDE: ServiceDE Fields: cust_id, service_id, status

Our Problem: Once the customer enters the journey and is a particular step we need update ServiceDE, status field corresponding to the same cust_id, service_id that has entered the journey.

Here is the contact builder design using Attribute group.

Contact <--linked on cust_id-->CustomerWelcomeDE<--linked on cust_id,service_id-->ServiceDE

Problem is the ServiceDE contains multiple entries for the same cust_id and the journey is randomly picking and updating wrong records.

The journey should only update a record in ServiceDE when cust_id and service_id matches with Entry data.

This is such a simple thing but we are not finding any way to update the correct record. Would high appreciate if anyone can help solve this issue.


This is a major limitation in the 'Update Contact' activity in Journey Builder that works only with 1-1 relationships. There are two solutions to this issue :

  • Create a Custom Activity in order to update the correct field based on a matching criteria on cust_id and service_id. Go for this solution if you are looking for a clean approach
  • Use 'Update Contact' activity to flag customers that go into your journey and schedule an automation that runs every hour with a SQL to update your second DE based on records that have been flag-ed.
  • Hi @zeljazouli, I have never done a custom activity before. Do you have any link to examples that I can refer to? Dec 9 '17 at 5:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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