Version 1.5 of our Website Interaction Engine, TriggerNote, is ready for download.

Along with a few bug fixes, this version gives you an additional way to control which TriggerSets are loaded on each page. Changes include:

  • Added a new Selector option that requires the Selector Group to be explicitly loaded on the page (more on that below).
  • Added two new functions for specifying Selector Groups: TriggerNoteUseSelectorGroup to specify one Group at a time, and TriggerNoteUseSelectorGroups to specify multiple Groups at once. Groups are specified using the optional Selector Group name.
  • Updated the WordPress plugin to enable specifying of Selector Groups (both globally and at the post/page level).
  • Fixed a conflict in the WordPress plugin's page editor between the options for "none", "default" and "auto-select"
  • Added a blank option at the top of the Selectors drop down list to make it more clear that a Selector must be added to the Selector Set by clicking the "Add Selector" button. (Without the blank option, it may have looked as if the first option were already part of the Selector Set without having been added to the Set.)
  • Updated the README with additional information about how to select which Trigger Sets to use on a page.

How to Upgrade

To upgrade, upload the following files, overwriting the old files (or, for simplicity, simply upload all the files):

  • core.php
  • TriggerNote.php
  • admin/
    • admin-js.php.php
    • controlpanel.php
  • TriggerNoteWP/
    • TriggerNoteWP.php.php
    • inc/
      • admin.php
      • post.php

How to Select Which Trigger Sets to Use on a Page

TriggerNote offers several powerful options for controlling what it injects into a webpage. Let's run through the different options. But first...

What is a Trigger Set?

A Trigger Set specifies two things:

  • What content to display on a webpage, or how to alter the content of a webpage. For example, a lightbox subscription form, a floating stripe, a banner ad ... pretty much anything.
  • What user actions or other conditions to watch for to Trigger the display or alteration of content. For example, it might wait 30 seconds after the page loads, watch for clicks on particular parts of the page, or watch for the mouse to move out the top edge of the browser window.

Once you've created a Trigger Set, you can easily use it on any number of pages on your website. So let's go over the different ways you can control which Trigger Sets are used on which webpages.

Manually load a particular Trigger Set or Sets

The most straightforward method is to simply include a line of code in your webpage source that specifies the TriggerSet you want to load. On a WordPress-powered site, you can easily select TriggerSets using checkboxes in the post editor.

On a PHP website, you load a single Trigger Set using code like this (you'll find the number for each Trigger Set in your TriggerNote Control Panel):


You can also load multiple Trigger Sets at a time:


Automatically choose Trigger Sets using Selectors

Another way to select Trigger Sets is using "Selectors", which specify which Trigger Sets to load under what conditions. For example:

  • If it's Friday afternoon, load an ad for a movie.
  • If the visitor has viewed more than 3 pages on your site today, load a subscription form in a floating stripe at the bottom of the page and an exit popup subscription form.
  • If the visitor has already subscribed to your email list (and you've cookied them to indicate that), display a banner for an affiliate product.
  • etc.

You can create as many Selector Sets as you want. Then, on a WordPress site, you tell TriggerNote to use them by checking the "Auto-select" checkbox. On a PHP website, you just add this line of code:


Mutually exclusive Selectors

Sometimes, you'll have, for example, a single ad slot on your page, and five different TriggerSets that inject an ad into. So, how do you control which ad gets displayed in that slot?

You can use Selectors, as described above to weed out any that, for one reason or another, you don't want displayed to a particular visitor. But what if your Selectors can't narrow it down to just one?

That's where Selector Groups come in. For each Selector Set, you can specify a Selector Group name. If more than one Set's criteria match a particular page view, TriggerNote will ensure that only on Set from the Group is used.

If you set priorities for your Selector Sets, then the one with the highest priority (whose criteria matched) will be used. If the criteria for more than one of the same priority matches, or if you don't specify priorities, one will be selected at random.

Manually limiting Selectors to specific pages

A new feature added today is the ability to create Selector Sets that are ignored except on pages where you load them explicitly. This feature can be used in two ways.

First, you can put the same restriction on all of the Selector Sets in a Selector Group. On pages where that Selector Group hasn't been loaded, none of the Selector Sets in the Group will be displayed. You might use this method to, for example, randomly select one of three floating stripe ads to display at the bottom of certain pages (but only those pages).

Second, you can put the restriction on only some of the Selector Sets in a Group. In that case, the restricted Sets will be ignored on pages where the Group hasn't been explicitly loaded, ensuring that one of the unrestricted options is used. You might use this method to include extra ad options in a Selector Group when it's used on certain pages.

This same functionality could be implemented using Selectors alone, but that would require creating a duplicate Selector Set for each and every page on which you want the Set to be potentially be used, and then specifying the page URL as an additional Selector criterion. Needless to say, that would get cumbersome fast.

Using this new feature, restricted Selector Sets can be used on a page by, in WordPress, checking the checkbox next to the name of the desired Selector Group, or in PHP, using code like this:


Or, to specify multiple Groups on the same page at once:

TriggerNoteUseSelectorGroups(array('first_group_name', 'second_group_name', 'third_group_name'));

Split Testing

The final method of choosing Trigger Sets is split testing. Split Test are like Selector Groups with a few extra features. In fact, to set up a Split Test, you first create a Selector Group. Then, you create a Split Test record, specifying the Group name and priority.

When a visitor first loads a page where a Split Test is running, just like with any other Selector Group, an alternative is randomly chosen for them (from amongst any alternatives whose Selector criteria were met). After that, unlike a simple Selector Group, the same alternative is displayed to them if they visit the page again, or on any other page they visit where the same Split Test is running. (This is to prevent the influence of one alternative from affecting the conversion rate of another alternative.)

Google Analytics is used to collect Split Test data, which can be analyzed to choose the winning alternative inside the TriggerNote control panel.

To run a Split Test in WordPress, simply check it's checkbox in the post or page editor (or in the plugin settings panel, to use the same Split Test throughout the blog.) On a PHP page, a Split Test is loaded using this code:


Mix and Match

As you can see, TriggerNote offers a variety of powerful methods of controlling what content is displayed on which webpages. Better yet, you can use all of these methods together to load any number of Trigger Sets on the same page.

For more information about ways to enhance your website, visit the TriggerNote homepage.