Introduction
Used by Priocept as part of the international Behavioural Support Programme (BSP) undertaken for GlaxoSmithKline, Alterian Dynamic Messenger is an email marketing platform that harnesses advanced automation analytics, social and dynamic content to deliver greater customer engagement and ROI.
At Priocept, we work with Dynamic Messenger to orchestrate many of the communication channels between the BSP platform and its users. This includes regular rule-driven emails to update a user on their use of the BSP, as well as more routine registration and account administration emails (confirming change of personal details, handling password resets etc).
One important aspect for any subscription emailing system is handling users’ mailing preferences and handling unsubscribe requests. As part of this we recently needed to re-implement the existing unsubscribe capabilities to add support for internationalisation and market-specific branding. Dynamic Messenger provides various options for implementing unsubscribe, but each of these have some gotchas requiring subtle workarounds. This article describes our investigation and the route we chose for the BSP application.
Handling Unsubscribe Requests
When dealing with email unsubscribe requests in Dynamic Messenger, there are two main implementation options that are available. One option is to use suppression lists, and the other option is to use Alterian Dynamic Messenger’s global unsubscribe feature. There are good arguments for and against using each approach, so it is important that the correct configuration is used.
Option 1: Suppression Lists
Suppression lists are lists of email addresses used by Dynamic Messenger to filter unsubscribed users from those who still wish to remain subscribed. This is done to adhere to regulatory controls that require the senders of commercial emails to provide a functioning unsubscribe mechanism whereby email recipients can unsubscribe their email address from any further communication. The unsubscribed email addresses are inserted into a suppression list which blocks further emails.
The main benefit of using suppression lists rather than Dynamic Messenger’s global unsubscribe feature is that a single user can choose to opt-out of individual email lists, as opposed to having to unsubscribe from all email types (or bulk emails). This level of segregation allows users to stay informed with the specific information that they require from the web application in question, instead of having to either accept all channels of communication or none at all.
Option 2: Global Unsubscribe
On the other hand, Dynamic Messenger’s global unsubscribe feature is a much simpler implementation to use; but only if it is acceptable for the users to become unsubscribed from all email lists. This is because the global unsubscribe request option in Alterian Dynamic Messenger can be easily called upon via a form ‘post’ within the unsubscribe page markup, making it especially easy to implement across multiple websites.
The downside of using suppression lists is that for each individual email type, a separate suppression list must be set-up and maintained in order to keep the correlation between the users and their selected email types. This is, quite expectedly, a little more complex than a simple form calling Dynamic Messenger’s global unsubscribe function.
In our case, we found that using Dynamic Messenger’s global unsubscribe feature was the best route to pursue as its functionality was adequate for the task at hand.
Branding Unsubscribe Templates
At first, the implementation was challenging as there was little information available to us to help us configure Alterian Dynamic Messenger and integrate it with our current markup, which in turn brought to light new problems.
The first of these issues was raised when the initial markup was processed by Dynamic Messenger. Looking at the resultant unsubscribe page, it was clear to see that it was not structured anything like what was initially projected. This, it turned out, was because Dynamic Messenger uses curly braces ({ and }) as its default variable delimiters used to substitute dynamic content into each individual email. These curly braces interfered with the inline CSS used to format and brand the emails, as CSS also uses curly braces. This interference caused a raft of formatting issues in the HTML that was generated.
Dynamic Messenger seems to provide a mechanism to override the default delimiters used for substituting variables, so in an attempt to work around the CSS problems, we changed the delimiters to a different character so that Dynamic Messenger’s processing phase would not format our styling. This didn’t work as intended, as Dynamic Messenger still formatted our CSS, rather sporadically, without showing much reason or intention.
Further pursuing the issue, we found an additional problem when a line of CSS styling contained a link to an image hosted on an external server. Dynamic Messenger would try to replace the default image path with its own variable path (i.e. www.example.com/example.gif would be replaced by {imagepath}/example.gif). Dynamic Messenger would continue to format CSS past the defined image styling, breaking the structure of the unsubscribe page and outputting badly formed HTML.
One way of resolving this problem was to manually upload each image into Alterian Dynamic Messenger, as opposed to the images being uploaded at the processing phase, and change the CSS in tandem. This method did work, as the {imagepath}/example.gif URLs would then resolve to the images. However, duplicating images in this way wasn’t really feasible or easily maintainable for multiple websites and many images.
To get around the issue we had to remove all of the inline CSS within each of the new international BSP unsubscribe pages, and link to the relative style sheets externally for each BSP website. This way there was no contention between Dynamic Messenger’s variables and our CSS and each new unsubscribe page was rendered as originally intended.
Conclusion
Overall, Alterian Dynamic Messenger is a powerful tool, focusing its attention very well on email templating and list management, but the various approaches to managing unsubscribes and the variable delimiter issues can make it challenging to configure correctly and use with inline CSS.