Using programs to update contact data fields and marketing preferences


The Update contact node is used to update contact data fields and marketing preferences when a program action is performed.

Provided the program action happens, such as a contact clicking a specific link for instance, then a contact data field or a marketing preference can be directly updated or created as a result. 

As an example of how to use this node, we'll look at a scenario in which interest in an event can be stored against a contact when they click on a specific link within a campaign. 


Using and configuring the Update contact node

In this example, updating a contact will be used in conjunction with a decision node relating to clicking a specific link in a campaign about an upcoming conference. A contact's behaviour - clicking on the link (which says Click here to register your interest in our spring conference and receive future communications about it) - indicates their interest in the conference and therefore records it.

To configure this, drag in and drop the Update contact node from the side panel onto the canvas and attach it to the 'Yes' outcome, then click on the node.

A panel will slide in from the right side of the screen with a choice to either select an existing contact data field to update, or create a brand new one.


When clicking Select data field, you'll need to choose the contact data field you wish to update from the list provided.


When clicking Create data field, you'll be taken through the contact data field creation process.

Boolean (yes/no) fields

As this particular example is a Boolean (yes/no) data type, you'll next need to select either 'is yes' or 'is no' from the dropdown. In this case, 'is yes' needs to be selected. 


Once happy with the setting here, click Apply. The node will be set and, when activated, your program will update this contact data field upon completion of the required action by contacts.

In this example case, 'INTERESTED_IN_CONF' will be set to 'Yes' against contacts as soon as they click the link to register their interest, and this data can then be used in the creation of segments, etc., in future.

Numeric fields

For numeric fields, you can select whether you want to set a fixed value, or increment or decrement the value.


For example, you may have several links in a campaign that a contact can click to request a number of places for a conference, talk or training course (thus links for one, two, three or four places). By clicking on the link for four places, this value is stored against a contact for future use.

Date fields

For date fields, you can set a contact data field to a specific value (e.g. 24 December 2019) using either the date picker or by entering it manually.

You can also set it to update to the date that a contact reached that node in a program.


Text fields

For text fields, enter the new text under 'Set value to' that you'd like the chosen contact data field to update to.



This node doesn't just have to be used in conjunction with a decision. It could be used after a campaign node, for instance, so that a contact data field gets updated after a contact is sent a particular campaign.

Have more questions? Submit a request


  • Avatar

    When you're using the Salesforce integration, will Dotmailer populate/increment/decrement the Lead Score field in Salesforce as well as in Dotmailer?

  • Avatar

    Hi Sarah,

    Thanks for your question. Unfortunately the short answer is 'no'; this is because the platform doesn't send any such data to Salesforce, it's only the other way round - Salesforce sends data to dotmailer for synchronisation

    However, our API could be used to achieve something like this. If you’re interested in taking this route, then we recommend contacting your account manager to discuss the possibility further.

  • Avatar

    Can you update one data field with information from another data field?  

  • Avatar

    Hi Leslie,

    You can't use this feature for updating one data field with data from another. There are workarounds you can do, but they do involve some code and use of Channel Extensions which aren't available to all accounts yet, and don't work for very large numbers of contacts.

    Do add a feature request over in our forum though, And it's something we may look at in the future.

    One thing we might need to think about is whether you are just overwriting with data from another field, or if you want to do maths like "increment FIELD1 with the value from FIELD2"?


  • Avatar


    Has there been any update on this at all? Is it possible to create a program that changes one data field to another?

  • Avatar

    Hi Christopher,

    There are no current plans to modify how the 'Update contact' node works: you're able to update a contact data field to a desired value (or increment/decrement numeric fields) and it will be applied to all contacts reaching the node.

    However, you might be interested in using our API to do something more sophisticated. Some custom coding could allow for the updating of a contact data field for an individual contact, or in bulk.

    Edited by Neal Goldsmith