You can achieve this using the AMPscript function UpdateDE(1,2,3,4,5,6)
. You can find the full documentation including an example in the marketing cloud documentation on UpdateDE
Example:
UpdateDE("YourDataExtension",1,"_SubscriberKey",_SubscriberKey,"YourBoolean", "True")
Not directly.
What it sounds like you would want to do is to have an update contact activity right after the interaction split for click. Have this update a field inside of the DE with a 'flag' of some sort to show the link was clicked. (e.g. have a field named 'Click' and update to 'Yes')
You then will want to create a SQL Query on that DE that will pull all the appropriate fields and then have a conditional (WHERE statement) that only pulls those that have 'Click' equal to 'Yes'. This will then be pushed to your new DE.
Sample SQL: SELECT SubKey, EmailAddress, etc... FROM yourJourneyDE WHERE Click = 'Yes'
I would recommend setting the action to UPDATE (which allows for Add & Update options)
Then add this Query into a scheduled automation that runs hourly to add the new subscribers to your DE.
You can then have this be an 'automation entry event' inside your new journey if you want, or you can otherwise use this as your contact model for the second journey.
Alternatively if you are having issues with the interaction split (e.g. due to dynamic links) you can remove the need to edit the current Journey from this altogether and instead add a sql query to the automation.
- I would recommend adding a unique alias to your URL. e.g.
<a href="" alias="newJourneyLink1">
or some other unique flag.
- Next I would query the _Click Dataview. e.g.
SELECT SubscriberKey FROM _Click Where LinkName = 'newJourneyLink1'
- I would then set a time limit on the query to help reduce turn time and to prevent potential duplicate records. Something like
AND EventDate >= DATEADD(HOUR, -1, GETDATE())
- I would then ensure that it only pulls in the unique records with something like:
AND IsUnique = True
As the query would run hourly, this would always add the most recent records only to your new DE. To ensure the rest of the above automation can function as it would with the interaction split and query mentioned above, you may need to either add a join to your original Journey DE or add a second query to bring those fields over. The run time of the automation may increase when using this method though.
Best Answer
Yes, as long as your contact model is set up correctly, you can use the 'Update Contact' activity in Journey Builder to update an associated data extension.
For most of my journeys, I have a 'Log' DE that I store every contact who enters into, and use the 'Update Contact' activity to create an audit trail of every contact that's gone through the journey so I can see who is currently active, who received which emails, etc. This was the recommended approach from SFMC Pro Services when I engaged them a while back.
So my steps are basically:
1) Run query to grab all contacts that should enter the journey today, ADD to Journey_Log DE.
2) Run same query, and OVERWRITE Journey_Live DE. This will be the Journey entry source.
3) Journey triggers when Journey_Live DE is changed via automation studio.
As contacts progress through the journey, I am constantly updating boolean flags on their record in my log with things like:
Hope that helps a bit in answering your question.