In this series of articles, we are considering how your organisation can implement a successful marketing automation strategy and in particular, using Unica Campaign. Today we turn our attention to building the campaign, enabling you to quickly set up your campaign and help minimise disruption when things don’t work out quite as planned.
Strategic segments are a key starting point for your campaign selections. They provide a way to centralise the (sometimes complex) logic behind your campaign definitions so that users can simply refer by name without running the risk of making an error. Additionally, you need only run a lengthy CreateSeg process once to then reap the benefit of multiple fast reads. For regularly running campaigns you can use them to pass your audience ID’s between flowcharts, if you do not require the overhead of storing contact history or snapshotting to files or tables. One interesting use of Strategic Segments is the ability to generate further delta segments. Immediately before running the CreateSeg to generate the new content you can retrieve the results of the previous iteration in a Select. Then using Merge processes, you can get:
These in turn can be written as new strategic segments and used to trigger further processing or campaigns.
Templates allow the storage of reusable sections of flowchart logic. Potential uses include:
As with a lot of the component creation in Unica, having a well-defined storage approach will make life a lot easier for other users, particularly during handover or onboarding new starters. Using templates means that most campaigns will be able to be rapidly developed.
Take care as templates do carry around their own version of table mappings that can overwrite definitions already existing in the destination flowchart – many of us have seen the datasource authentication pop-up!
Derived Fields also help with definition standardisation. This does not just have to be for calculation of new data but can be used for example to store banks of SMS message templates in a pseudo content library. When importing a stored derived field into a flowchart the original definition remains untouched so the final output can be easily adapted. The name of a derived field, as already mentioned, can be assigned the form UserVar.NAME which will dynamically populate the content of the user variable called NAME.
The Segment process can be used to create decision points within a flowchart. Normally this process will be used to split your ID list based on some property, calculation or field value. As an example, you could construct a derived field that is independent of customer attributes such as “IsWeekend”. Create two segments, Weekend and Weekday using the result of this derived field, make the segments mutually exclusive if necessary and even prevent downstream processes from running if a segment contains no IDs. The end result is that depending on the type of day, the entire set of IDs will pass down the required flowchart branch.
Segment processes can also be useful for error trapping. If you know that there are a finite number of exclusive conditions at any point, you can put a mutually exclusive segment process in place with a “Remainder” (All remaining records) cell. Anyone appearing in this segment might indicate some sort of error which could be written to error tables or used to notify users via a trigger (see below).
User Variables allow for definition a single value flowcharts attribute (compared to a derived field which is usually set for every individual in an audience). You can assign values via derived field calculations, change the entire focus of a flowchart by changing one value (want to run your flowchart on a particular sales region for example) and can be used to change the process flow within the flowchart (see above Switch example). You can even change the value of user variables when setting up a schedule definition meaning that one flowchart can be called more than once by different schedules to do very different things (but not simultaneously – that’s what Unica Distributed Marketing is/was for!).
They can even be referenced in output file names (todays date for example) or passed as parameters to batch triggers as anyone who has run the accelerator scripts to integrate to Acoustic (previously WCA/Silverpop) will attest to.
Stored (Batch) Triggers are not to be confused with the scheduling trigger tokens set up in the Marketing Platform Scheduler. You can set up scripting files to run external processing such as email alerts, adding entries to database files, file housekeeping, moving files to an SFTP server etc. They can be called from within a MailList or Schedule process or on flowchart Success or Fail in the Admin > Advanced Settings functionality of a flowchart. You can even pass parameters into the script via user variables. We will be covering Scheduler (Email) notifications later.
On any Unica implementation I am involved with, I like to put in place a simple flowchart processing audit table. This will contain fields such as Who, Start/End Date-Time, What Process, Which Campaign or session and flowchart etc. I would then template a snapshot process to append to this table and use at the end of every important flowchart I run. Auditing capability within Unica Campaign is improving all the time but I find it useful to be able to see exactly when a process was run. Importantly though you can set up a custom macro to retrieve the last run date-time of a particular process and then use this to filter only new transactions to be processed for an input table or file (via Extract) in the next selection cycle.
Another interesting bi-product of the table is that you use End – Start to calculate the run time for a flowchart and then view over time. In providing support we often hear that the system is slowing down – this provides the evidence!
Finally, it makes good sense to ensure that your flowchart or campaign build caters for two special cases:
Runs that do not happen. This could be because of a Schedule failure, system outage or key data being unavailable. Try to look at date-dependent qualifying criteria for your campaign being over a range. The length of the date range will be dependent on the situation but for example, if instead of looking for a transaction that happened yesterday, look for transactions that happened in the last 7 days. Secondly, ensure that you are excluding from your campaign, anyone who has already been selected. This now means that you will only pick up the genuine new individuals but if processing is delayed for up to 7 days, you’ll not have to make any further changes and just simply run at the first available opportunity.
Runs that happen too frequently. We will be looking at test runs vs production runs later but sometimes a campaign will be run more than once in a given schedule cycle. This usually happens when you are debugging a flowchart and accidentally run a second time. To prevent any recovery effort required, as with the previous case, always make sure that your flowcharts are excluding people already processed by those flowcharts. Of course, if you do accidentally put contacts into your Contact History you can always clear down in the MailList process itself. Sending out a repeating file to a channel partner might need some bespoke recovery though!
Putting all the above together, you should be able to quickly create flowcharts that are robust, quick to run and versatile. Building your campaign flowcharts is just part of the processes though. Applying the brief, sequencing the schedules and interacting with internal teams and external partners all need to be successfully negotiated to deliver the automation process. If you wish to learn more about Unica Campaign, Marketing automation or help on how to optimise your campaign flowchart build, please get in touch.
Define, Operationalise and Automate. Understanding marketing data is a tricky task. I could write a ...
Over the last couple of months, we have been looking at Marketing Automation and in particular, from...