Everyone talks about the need for personalization and many tools offer various personalization capabilities but how do these tools actually deliver on their promise of custom content and experiences?
What goes on behind-the-scenes to make sure that the right content is being served to the right person at the right time? For Acquia Lift, the heavy lifting is done by the Decision API.
In the Acquia Lift’s user interface (UI) the Decision API is the place that rules are built. A/B test for rules are then stored in the Decision API so when a visitor comes to a website, what you want them to see, per the rules you’ve built, is displayed.
The Decision API is the primary connection point between content and data within this system. Its primary requirements are to be incredibly fast and scalable for real time decision making and to have tie-ins to all of the systems that are used for making decisions about what content to show and being able to retrieve the content in the correct format for rendering.
The Decision API is also responsible for maintaining an index all of the Rules that are required to determine what should be shown where and to whom. A number of different services for making the actual decisions can be behind this.
These services are tied to different types of Rules indexed in the Decision API including simple targeting, A/B testing engines and over time we will be introducing various recommender systems as well. This is a pluggable system so that a variety of back-end technologies can be used.
A typical decision request to the API will look something like the following:
- Host Application sends a request that includes available information about the users context.
- The Decision API requests additional context from the Lift Profile Manager
- The Decision API determines what Rules are applicable based on all available context.
- The Decision API executes the applicable Rule, running any additional algorithms necessary to determine which content should be shown.
- The Decision API then retrieves a cached version of the correct content from Content Hub.
- Finally, the Decision API returns all of the rendered content along with any applicable instructions about how or where to display it within the page.
The Decision API process takes the identifier and then retrieves content associated with the rule via Profile Manager’s segmentation and sends the content back. Simply put, the user ID and context from the current event goes in, the right content comes out.
The Decision API is a reasonably straight forward REST API that you can use to extend your personalization efforts beyond your website, for example you could set a decision on a piece of content to also be displayed on a mobile app, or digital signage etc. based on the rule. Taking this a step further, the PHP SDK that uses the API makes it easy to extend personalization capabilities inside of Drupal or other PHP apps. For example, , you can use this to decide which URL to route someone to.
By digging into the Drupal page routing system, you can show a particular user a different page layout or different content or even personalize which page they would be shown entirely, depending on what happens in code. The personalization will happen without any manual configuration --- once it’s coded.
The Decision API helps differentiate Acquia Lift from other personalization tools by being API- first, which will extend Lift into additional features including automated recommendations and machine learning. Lift’s Decision API can continue to grow in complexity without becoming overly complicated for developers.
For all the details of the Decision API, check out http://docs.lift.acquia.com/decision/.