I had the same question and finally came to a solution.
To access the attributes of the source DE you should use the following syntax :
{{Event."DEAudience-8f8575fe-2e87-d24b-3e7b-e82f4320ff24"."Email"}}
To find the right id you should go on your JB with chrome, open the inspector and in the source code you can find it (just search "DEAudience"):
You can now use any attribute from your source DE.
NB: If you change the source DE the DEAudience id will also change.
Hope it'll help.
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
Kind of. It's a bit tricky.
Journey Builder does not detect existing record changes in the Data Extension, nor does it detect replacing a record in your Data Extension. This is known as the High Water Mark issue.
If an import or SQL activity is updating records in the event source data extension, they will not be assigned a new row in the data extension. This means that for contacts who may now meet filter criteria for the trigger, but who did not on previous runs of the entry event, they will still not be injected since they fall below the High Water Mark.
In short, the last row in your DE is under the High Water Mark and if an event is fired, only records added after that are injected to the Journey.
If you want customers to be re-evaluated each time the Event is fired, then you will need to create a SQL activity or Data Filter (with Automation) to target the Journey source Data Extension and overwrite the Data Extension totally, which then essentially resets the Water Mark.