Confirmed Opt-Ins (Email)
There are various scenarios where you will want to prompt a user to confirm their intent to be added to a particular list or multiple lists by clicking a link in a confirmation message.
This process ensures that the email address exists as submitted and that the owner of the address has consented to receiving your messages.
The typical process:
- A user submits their email address to subscribe to a list or multiple lists.
- Engage by Sailthru sends the user an email using your selected confirmed-opt-in template, containing a confirmation link. The template can be uniquely tailored to the requested list or can dynamically handle confirmation for a variety of lists.
- The user clicks the link, which automatically adds them to the intended list.
The specific configuration will depend on the type of form/method you are using to acquire the email address and your preferred method for including the confirmation link in your confirmed opt-in template.
Ways to Initiate Opt-In Confirmation
All of the above methods will send a transactional message to users with a template that contains your confirmation link. In other cases, you may choose to configure a campaign to send confirmation links to a group of users, for example, to re-confirm membership. |
Ways to Generate Confirmed-Opt-In Link
Either of these methods may be configured to add the user to a single pre-selected list, a set of multiple pre-selected lists, or to handle a dynamic set of submitted lists. |
You can select a different confirmed opt-in template for each user-acquisition method, or reuse the same confirmed opt-in template for all user-acquisition methods, if properly configured to handle dynamic list names for all subscriptions.
Note that there may be other cases where you'll want to display a link that, when clicked, immediately adds the user to a list. For example, in a daily campaign, you can promote other newsletters the user may not be part of, allowing them to subscribe with one click. With this method, you can choose to add the user to an intermediary opt-in-confirmation list, then use LO to send the confirmed opt-in template when the user joins that list.
Scenarios
Hardcode Lists to Add Users on Link Click
Send an email with a template that contains a link that must be clicked before a specific list or set of lists is joined. This can be used either in triggered or campaign messages.
In this example, regardless of how the message is sent, each user will be added to the same main list(s) when they click the included link.
There are two methods to produce the link:
- Include the signup_confirm Zephyr function.
- On click, the user is added to the list and redirected to your Hosted Page called signup_confirm. (This is a Hosted Page of type 'Other'.)
- Create a custom link with the sailthru_lists query string parameter. This method allows you to link to any URL on your site. When the user clicks the link to your site, the user is added to the specified list.
Here are examples for each of these methods.
Include confirmation link(s) using signup_confirm
Single List:
<a href="{signup_confirm('main_list')}">Click to confirm your subscription</a>
Multiple Lists:
<a href="{signup_confirm(['List 1','List 2'])}">Click to confirm your subscriptions</a>
Include link with the sailthru_lists parameter
Single List:
<a href="http://example.com?sailthru_lists[main_list]=1">Click to confirm your subscription</a>
Multiple Lists:
<a href="http://example.com?sailthru_lists[List Name 1]=1&sailthru_lists[List Name 2]=1">Click to confirm your subscriptions</a>
Dynamically Populate List Names
When sending a triggered message through an API call, you may wish to create a single confirmed opt-in template that can accept any set of lists and dynamically produce a confirmation link that will automatically add the users to that set of lists.
- If using Overlays, the list or lists to which the user has signed up is automatically sent to the selected template as an array named signup_lists.
- If using the API to send the confirmed opt-in template as a transactional, you must code the call to include the list name(s) as an array.
- If you send list names as vars on a triggered send, you can retrieve these list names to populate the confirmation link with the lists. In your template code, you can choose which of the methods to use to generate the link based on these lists: the signup_confirm function or sailthru_lists query parameter.
Example API Call:
{"email":"user@example.com",
"vars":
{"signup_lists":["List 1","List 2","List 3"]},
"template":"COI Template"}
The signup_confirm function
<a href="{signup_confirm(signup_lists)}">Click here</a>
The sailthru_lists parameter
{listsArray = []}
{foreach slice(lists,1,length(signup_lists)-1) as c}
{push("listsArray","&sailthru_lists["+c+"]=1")}
{/foreach}
{if length(signup_lists) == 1}
One List:
<a href="http://example.com?sailthru_lists[{signup_lists[0]}]=1">Click here</a>{else if length(signup_lists) > 1}
Multiple Lists:
<a href="http://example.com?sailthru_lists[{signup_lists[0]}]=1{foreach listsArray as c}{c}{/foreach}">Click here</a>{/if}