Visitors to a website have different intentions, desires, and values, but most websites display the same static content to all. Personalized content offers digital marketers the ability to custom tailor the content on their site to their visitors, whether this just entails simple a/b testing, or more elaborate visitor profiling.
When it comes to introducing this functionality into a drupal website, drupal panels has a new kid on the block, the Personalize module. Personalize is an extensible framework that allows module developers to swap content on websites based on criteria that they define by writing their own decision agents.
Out of the box, the 'Personalize' drupal panel allows customization of drupal blocks, fields, and elements (html/jQuery replacements). Personalize is excellent in its own right, but recently, on a client project, we needed to extend it to support Panels.
This client's website didn't make much use of drupal blocks (it was all in panels), and the marketing team needed a GUI to make changes to the variants so DOM replacement was out. To remedy this need we created Personalize Panels.
Personalize Panels provides a new ctools custom content type that allows an editor to group existing panes on a drupal panel page into Personalize option sets. These option sets can then become the basis for any personalize campaign. In our case, we needed to use panel panes as variants in campaigns running on Acquia lift.
Personalize Panels is easy to use. Once installed, an editor can use the Page Manager to go to the content section of any panels page on which they wish to create a variation set and add a Personalization Pane.
A Personalization Pane represents a Personalize option set. Any of the existing panes on the page are eligible to be used as variations. Please note that once selected as part of a Personalization Pane, they will no longer appear on the page where they are placed. Instead, they will appear where the Personalization Pane is placed, and they will only show according to the rules defined by your personalization agent. An explanation of how to use personalize agents is beyond the scope of this blog post, but there is excellent documentation here.
In our case we needed to do an A/B test at the top of the page. Using Personalize Panels, all we needed to do was add the five panes we wanted to alternate among to the page, and then add a Personalization Pane to the top of the page where we wanted the test to appear.
Using this drupal module, and with a little help from the magic of Personalize and Acquia Lift, the client now has the power to create fully editable drupal panels pages on their website that interact with their users and provide data on conversions.