Approaches for Implementing Personalization

Personalization is a key tool in Marketer’s toolkit, and therefore Personalization Engines are now key components of any MarTech Stack.

To be honest, personalization isn’t new. But with evolving usage of Machine Learning (ML) techniques, there’s a renewed interest in implementing Personalization. Rules-based Personalization is giving way to Machine Learning-based techniques to personalise. 

Rules-based Personalization

Personalization has always been a key aspect in almost all kinds of digital experiences. Use case such as allowing users to customise their dashboards or user interfaces, showing content based on explicit user-defined criteria, showing content based on implicit criteria or even that based on user behaviour are not new.

Traditional Personalization systems were rules-based.  So implementing such use cases required complex personalization systems, with processing and rules engines for creating and managing personalization rules. As a result, it has always been a non-trivial exercise to implement personalization in a resource effective way.

Consider this common use case: You want your user to consumer content that is relevant and specific to her. For example, let’s say you run an events site and want to show events that are happening in a user’s location or user’s interests. To do this, you could create multiple rules such as rules that match a user’s and event’s locations, or show events based on user interests and so on. This works great, with may be 5 rules. But consider a scenario where your users have 100os of profile and behavioural attributes and your events also have similar large number of attributes. So as you come up with more criteria, this rules-based business becomes really messy and difficult to manage.

Approaches for Implementing Personalization

As with many other capabilities, there are multiple approaches for implementing Personalization. Of course, there is no single right answer and you could mix and match different strategies for different use cases. Each alternative has its pros and cons.

  1. With the end system or channel that users interact with. This would mean as part of the “channel or application”, which could be your website, mobile app or marketing automation system. This is how Personalization has been implemented traditionally. There have been a number of Web Content Management Systems (WCM or CMS) and Portal systems that offered some sort of rule-based Personalization. This approach offers tightest integration with functionality. For example, your personalization logic could directly integrate with your website content.  This approach is also easier in terms of initial implementation. However,  this requires channel- or platform-specific rules as well as decision logic. You would need different Personalization systems for different end-user channels (mobile, web etc). So you have a set of personalization rules for your marketing automation or email marketing. And then you have another set of personalization rules in your site management or CMS or WCM tool. There is no easy way to standardize or even align those and so your delivery logic is now trapped in individual delivery channels. As a result, your customers and prospects don’t enjoy an  integrated consistent experience. Of course, you can now use ML-based personalization instead of rules-based even in this approach, but the approach still remains very channel-specific.
  2. Part of an omni-channel data platform, such as Customer Data Platform (CDP) or a Journey Orchestration System (JOE). This approach allows you to abstract functionality away from channels and brings it closer to customer data. If you have unified customer data, you can apply consistent personalization strategies across different channels. But weaker integration with channels could lead to issues such as duplication of personalized content blocks between your WCM and this system.
  3. On its own, as a dedicated personalization engine. This approach allows a cleaner architecture with “Separation of concerns” but could be relatively light in terms of integrations with channels. Personalization works best when you have unified customer data, and so this approach will need some way to have access to unified, cleaned customer profiles.

These 4 parameters shown in above graphic can be useful in understanding pros and cons of each approach:

  1. Architectural Elegance: Having its own dedicated layer, vs being part of another application can have architectural implications. If you consider separation of concerns an important factor, think hard about this.
  2. Proximity to End Users: Having it as part of channel or platform such as WCM or Email marketing will bring it closer to end users (because they interact with those channels) but it also means you will need to have separate set of rules and logic for each of those channels.
  3. Ease of Initial Implementation: If it’s part of other applications, it will be easier to implement initially. But may not be a scalable model if you have too many channels.
  4. Omnichannel Experience: Direct consequence of all of the above.

What do you think of this model and where do you prefer Personalization to reside?


If you would like to get short takes directly in your mailbox, please do consider subscribing to my newsletter. I won’t spam you and your information will be safe. I usually send it like once a week (or once in 15 days).

If you would like to get short takes directly in your mailbox, please do consider subscribing to my newsletter. I won’t spam you and your information will be safe. I usually send it like once a week (or once in 15 days).