The Update Contact activity has a limit of 5 fields that can be selected in the interface and updated in a data extension. To overcome this I tried to use two activities that insert/update a row and update it in the second block to write more data.

Example configuration:

Update contact 1:

  • PrimaryKey = A
  • Value_A = "Update 1"

Update contact 2:

  • PrimaryKey = A
  • Value_B = "Update 2"


This in theory should give me the a data extension row where both Value_A and Value_B are not null, but it does not work this way - only the first Update Contact block is being executed (which leaves the Value_B = null) - changing the order of the activities confirms that.

Is there some way of overcoming this?

I tried adding joins between the two update activities to see if this somehow could affect the case, but that does not help - still only one Update Contact activity is writing to the data extension.

Additional detail:

  • The journey is API triggered (for the sake of testing), but would normally be using SF data as a source.
  • Not all values written to the DE by the Update Contact activity are static. The PrimaryKey is taken dynamically from the Journey Data with syntax like {{Event."APIEvent-a3e1f543-4352-4a5f-9df0-8a28e450ac3a"."ContactKey"}}.
  • In this test journey Value_A and Value_B are static
  • All values mentioned are strings that should be written to corresponding text columns of a data extension

A possible hack could be: update a single field with a json object:

PrimaryKey = A Values = { "Value_A": "Update 1", "Value_B": "Update 2", etc etc }

Then, via a SSJS script activity deserialize the object and impact the specific columns.

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.