The most outstanding quality of Unless is that it can be implemented on any existing website. It is a "client-side" plugin, so it is agnostic when it comes to backend systems.

The rule of thumb is; if your website works in a browser, it works with Unless.

Decoupled approach & keys

Unless is so easy to implement because it uses a decoupled approach ("coupling" is a term that describes the relationship between two entities in a software system). Meaning that it doesn't interfere with your code base as it is very loosely coupled with it.

It basically works like an additional layer of information that is sent to your website's visitors. This layer consists of keys. Keys are hashed content that gets injected into your pages. Every time you adjust content through Unless, you either create or change a key.

Once a user visits your website, Unless sends out the keys and places them as content on your site. A key basically replaces the original content.

How keys impact functionality:

Technically speaking, a variation is just a group of keys on top of your original page. It is not a separate, new page. This is also why variations execute the same scripts (e.g. Google Analytics) as the original page. 

Now, changing the original page will not break your variation, however you might lose certain keys in the process. If you change the content of a variation and later change the same content on the original page, you lose the key. 


Let's say the headline of your original page is "Unique Bouquets for Mother's Day". Next, you create an Unless variation and change the headline to "Buy a gift for Mother's Days". So far, everything will work smoothly. 

However, your colleague decides to change the headline of your original page to "Classic Bouquets for Mother's Day".

Now, the following happens: The original headline "Unique Bouquets for Mother's Day" got deleted when your colleague changed the page. So, Unless "lost" the information about where to put the headline "Buy a gift for Mother's Days". 

As a consequence, your variation will now display the headline your colleague chose. He basically overwrote the key. All other changes (aka keys) you made to the variation, will remain intact.

Why keys behave this way:

Unless works under the assumption that the latest update is always the most relevant one. This is supposed to make your life easier as it means that important changes only need to be made once (on the original page). The variations will pick it up automatically. However, it can also cause errors, so whenever you edit your original page, keep in mind how it might affect your variations.

To learn more, here's an in-depth article about the tech behind Unless. 

For a more developer-focused explanation of Unless, take a look at this article.

Did this answer your question?