Edit Your User Management Page – HTML

When building a User Management page (i.e. opt-down page) or modifying the Opt-out page, you’ll want to incorporate these options into your HTML.


  1. The form must have method=post. For example:
<form method="post">
  1. There must be a submit button.  <input type="submit" value="Button text goes here"/>
  2. f you are using zephyr variables in a hosted page it is best practice to escape any potential HTML characters. You can easily achieve this by wrapping any variable names in the h() function to html encode the values. For example, {h(brandName)}.

List Management

Allow subscribers to opt-down by adding and removing them from specific lists that you will send mass mail newsletters to.

This is different than an opt-out status, which will opt the user out from all email. (Note that you are required by CAN-SPAM law to also include either .optout_basic or .optout_all in your opt-out page.)


You may include two types of inputs on your form: radio buttons and checkboxes. Radio buttons will not allow a user to select multiple lists within a group; checkboxes will.

1. Radio buttons must have name="listgroup[]" and value="".

value=" " is the list the subscriber will be added to. In the example below, DailySports is a list name.

name="listgroup[ ]" determines whether or not the radio buttons are related. In the example below, if the sports daily and weekly lists are both a part of listgroup[A], then the subscriber can select either daily or weekly (since only one radio button in a group can be selected at a time). But the subscriber can select a daily or weekly for both sports and fashion, since sports and fashion are in different listgroups.

<p>How often do you want to receive the Sports newsletter?</p> 
<form method="post">
   <label><input type="radio" name="listgroup[A]" value="DailySports" />Every day</label> 

   <label><input type="radio" name="listgroup[A]" value="WeeklySports"/>Once a week</label> 

   <label><input type="radio" name="listgroup[A]" value="" />Do not send me the Sports newsletter</label>  

<p>How often do you want to receive the Fashion newsletter?</p> 
<form method="post">
   <label><input type="radio" name="listgroup[B]" value="DailyFashion" /> Every day</label> 

   <label><input type="radio" name="listgroup[B]" value="WeeklyFashion"/>Once a week</label> 

   <label><input type="radio" name="listgroup[B]" value="" />Do not send me the Fashion newsletter</label>

2. Checkboxes add or remove a user from a particular list; they do not belong to groups and need only contain name="lists[]". So if you wanted to give people the option to subscribe to any or all of the choices, you could do:

<p>Which newsletters would you like to receive?</p> 
<form method="post">
   <label><input type="checkbox" name="lists[DailySports]" />Daily Sports newsletter</label> 

   <label><input type="checkbox" name="lists[WeeklySports]" />Weekly Sports newsletter</label> 

   <label><input type="checkbox" name="lists[DailyFashion]" />Daily Fashion newsletter</label> 

   <label><input type="checkbox" name="lists[WeeklyFashion]" />Weekly Fashion newsletter</label>

If you want to pass an additional list addition or removal that is not visible to the subscriber as a checkbox, you can include the following:

<input type="hidden" name ="lists[List Name]" value="0" />

3. You also must include a button that submits the form and applies the user’s changes, like so:

<input type="submit" value="Button text goes here"/> 

Transactional Opt-outs

The above applies to campaign emails (users are managed through lists). For transactional emails, such as social notifications, the user is opted out of a specific template.

In the Sailthru default optout page, .optout_template is used to unsubscribe a user from the transactional email that they clicked to reach the opt-out page.

To allow a user to optout from a specific transactional email (ie notification or alert) without clicking through it, you can include a checkbox on your opt-out page:

<label for="notifications"><input type="checkbox" id="notifications" name="templates[mytemplatename]">My Template Name</label>

The items in bold can be changed to your preference. The template name is case-sensitive. Also note that it must be coded as name="templates[ ]" not “template.”

Note that this does not apply to campaigns built off a template — it is only for transactional email.

Opt-out Status

There are three special values that represent opt-outs:

  1. .optout_all – This opts the user out of all messages
  2. .optout_basic – This opts the user out of all messages except transactionals given a special status of “basic.” The basic status can be set only by your account manager and should be used only for password resets, purchase receipts and shipping confirmations.
  3. .optout_blast – This opts the user out of campaign emails; they will still receive all transactional emails

In order to comply with spam laws and treat your users nicely, each optdown page MUST include either the .optout_all or the .optout_basic option. We recommend having this as a button. The code could look something like this:

<form action="" method="post">
  <input type="hidden" name =".optout_basic" value="1" />
  <input name="action" value="Do Not Email" type="submit" />