How can we help?

Welcome series


A welcome series is a stream of automated messages initiated by a trigger. These messages can be as simple as a series of weekly touchpoints over two to four weeks. Or they can be more complex, like a dynamic message based on observed behaviors over time. We'll start with a simple series that adjusts based on a purchase.

The initial welcome message uses the event triggered sending method. The subsequent welcome series messages use the recurring message sending method.

In the example below, the system will send a message every day to contacts that subscribed to a designated list seven days in the past. We'll then add another rule that removes them from the series if they make a purchase.

Implement the trigger

In order for the welcome message to send, there needs to be data sent to the system that triggers the automation. In the case of a welcome series, we'll use the trigger of when a contact is added to a list and then filter that with an order event.

This strategy utilizes two primary pieces of data:

1. List attribute

  • Purpose: Used to flag a contact as in or out of a specific segment. For example, a customer joins our list (a newsletter subscription, loyalty program, rewards program, interest group, etc.). The date tracking feature should be enabled on the list in order to capture the date each contact was added.
  • Data type: A list is a type of contact attribute. This value is passed as a boolean true/false value.

2. Order

  • Purpose: An order can act as a filter to remove customers from the current series. It can also shift them into a new series or append content to the series they're currently on.
  • Data type: An order is an object that describes a purchase and is stored in an order collection.

The order collection is the most robust way to store purchase data. You can also achieve the same result using a custom event to represent an order, or with a simple date attribute to represent the last_purchase_date.

Send data to Cordial

There are two ways you can send the data to Cordial:

JavaScript Listener method

Add contact to a list

When the customer provides their email address and expresses interest in receiving promotional messages in a form or checkout process, run the following function.

This article assumes you have implemented the JavaScript Listener v2. We have included examples applicable to JavaScript Listener v1 in case you're not using version v2 at this time.

  • var auth_data = {
    	email: ''
    var contact_data = {
        'channels': {
            'email': {
                'subscribeStatus': 'subscribed',
        'list_name': true
    crdl('contact', auth_data, contact_data);
  • In JS listener v1, the cordial.identify sets the cookie and the adds or updates the contact record.

    	'$list_name': true,
    	'channels': {'email': {'subscribeStatus': 'subscribed'}}

Update order info for a contact

In order to filter the message series based on order activity, you need to pass the order data to Cordial.

REST API method (server-side alternative to JavaScript)

The REST API implementation is an alternative to the embedded JavaScript Listener. This is a server-side approach to sending the same data.

Method to call when subscribing a contact to a list:

  • POST v2/contacts (adds a new contact record or updates an existing contact record)
  "channels": {
    "email": {
      "address": "",
      "subscribeStatus": "subscribed"
  "$list_name": true

Method to call when passing order data to Cordial:

  "email": "",
  "orderID": "33451",
  "purchaseDate": "2015-01-09 17:47:43",
  "items": [{
    "sku": "ssd-2344-15",
    "category": "Shirts",
    "name": "Red Flannel"

Create the automated message

Once you've set up the initial welcome message trigger, you can automate a simple recurring email. In this example, our trigger is a customer joining a specific list.

1. Log in to Cordial and navigate to Automations > Create New Automation. Provide the necessary information and click Continue.

2. In the left panel under Sending Methods, click Recurring.

3. For Schedule, set the message to Send every day at the preferred time.

4. Click Edit in the Audience pane to create an audience rule that targets customers who joined the initiating list exactly x days in the past. For this example, we'll use seven days in the past.

5. Once this is saved and the message content published, you can click to Enable the recurring message. As soon as a message is enabled, the automation will run every day and look for people who joined the list exactly seven days ago, which is also seven days since they received the initial trigger.

6. Repeat this process for as many messages as you would like in your welcome series. Make sure to change the number of days in each audience rule to match the desired cadence.

Adjust based on a purchase

You can extend the logic above to adjust for purchase behavior (or any behavior) during the series. Below is an example of removing customers from subsequent messages if an order has occurred since the welcome series started.

The following is an example of a continuation of the series for people who've made a purchase since the series began.

In the next article, you can learn how to set up an abandoned cart message.



Please sign in to leave a comment.