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.

1 Answer 1


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, 2017 at 5:02

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .