This project is not covered by Drupal’s security advisory policy.

Backstory is a contextual website optimization service. It allows you to modify the content or HTML on any given page request, display messages across the top or bottom of the page, or request specific actions from visitors based on any number of criteria if known - the referring site or social network, the specific page being viewed, or even the visitor's device type (desktop vs. mobile), gender, or location.

All actions and filters are configured through Backstory's own interface, and they are evaluated and executed client-side through a small bit of JavaScript inserted to the footer of your page. The interface for configuring these actions is a akin to a simplified version of the Rules interface, allowing only a single action per rule and presenting all known filters on a single form instead of letting you add conditions one by one.

Backstory provides a simple reporting interface where you can view the aggregated criteria for all visitors to your site (e.g. how many users were referred from Facebook vs. Twitter). It also provides a count on the number of times any given rule has been activated and how many times that has resulted in some user action, such as a click on a banner message.

Backstory limits the number of active rules you can enable on any given domain based on your subscription level, but it does provide a free subscription level that lets you configure two active rules on one domain.

Installation and configuration

  1. Download and install the latest version of the module.
  2. Register for an account at Backstory and add your domain to it.
  3. Copy and paste the integration code for the domain to the Backstory settings form at Administer > Configuration > Web services > Backstory.
  4. Adjust the default settings for role exemptions or path matching on the same form. For example, when used with Drupal Commerce, you might disable distracting Backstory rules on the cart and checkout* paths.

When you use the site after saving the form, you should now be able to find the integration code near the end of your page's HTML. Note that since Backstory is tied to your domain, you must be browsing the site on that domain to test the integration.

Developer notes

This integration is pretty straightforward and ultimately lightweight, as most of the work happens client-side. Several hooks have been exposed by the module to allow you to alter or add to the validation criteria for whether or not Backstory should be included on any given page request. These are all documented in backstory.api.php.

Project information

Releases