Journey Logging using Update Contact

One of the appeals of Journey Builder is that it’s visual — you can see subscribers flow through the branches and channels.

What if you need more information about those decision splits and messages across channels? Your options are limited to what’s in the built-in tracking pages. The _Journey and _JourneyBuilderActivity data views offer some insights on email-related activities, but there’s not much beyond that.

The Update Contact activity in Journey Builder might just be the go-to solution. You can supplement the base reporting using Update Contact activities to log activity by subscriber as they traverse your journey.

NOTE: Once you start writing rows to Data Extensions using Update Contact you might not realize that it doesn’t respect the primary keys of your Data Extension. Update Contact will update any row that has a Subscriber Key match, even if the primary key is Subscriber Key plus something else.  There’s hope, however — even with this limitation of the Update Contact activity.

Here’s a simple solution utilizes an Automation to sweep events to a centralized Journey logging Data Extension.
Simply create these two Data Extensions, add one in Contact Builder and then create a Query in an Automation that runs every hour.

Journey_Builder_Status Data Extension

The Update Contact activity writes to this Data Extension.

  • SubscriberKey, Text (254), Primary Key
  • Journey, Text (100), nullable
  • Event, Text (100), nullable
  • EventDate, Date, nullable, defaulted to the current date

It will need to be mapped Subscriber Key to Contact Key in Contact Builder — one-to-one.

Journey_Builder_Log Data Extension

This is the final destination of the Journey log data.

  • SubscriberKey, Text (254), Primary Key
  • EventDate, Date, Primary Key
  • Journey, Text (100), nullable
  • Event, Text (100), nullable

Journey_Builder_Log Query Activity

This sweeps rows from Journey_Builder_Status to Journey_Builder_Log.

Journey_Builder_Log Automation

Runs hourly, ends never.

  • Step 1, Query Activity: Journey_Builder_Log

Once that’s done, drag as many Update Contact Activities that you need to your Journey canvas for recording events. In those activities, specify these field values: Event, EventDate and Journey.

This works for tracking entry and exit, depending on where you place the Update Contact activities.