Skip to main content

Creating Dynamic Content for Flash Sale Emails

What is Dynamic Content?

Dynamic Content is a section (row) of content that can be shown to a contact or hidden from a contact based on if they meet a set of criteria. You can show or hide a row based on independent criteria (e.g.: show row A if contact has profile value 123) or create a series of rows that create a cascade of logic (e.g. show row A if X, show B if Y, or show row C to everyone else).

A contact can receive an email with multiple rows of dynamic content as long as they meet the criteria for the individual row or each cascade of logic.



📖 New to Flash Sales? Check out other Flash Sale Documentation



Dynamic Content Basics

  1. Fully design and link your creative elements prior to setting up the dynamic content logic. You can include one type of content (e.g.: an image) or multiple pieces of content (e.g.: text, image, and button).

  2. Click on the white space outside the row content to access the row properties.

  3. Locate the Dynamic Content section in the properties sidebar.

  4. Click Add Condition.

  5. In the popup, you will be able to set the following types of criteria:

    1. Name: This is a required field that provides an easy way to identify the type of content.

    2. Description: This is a required field that explains the content, for example the audience used.

    3. Before: The start of a liquid conditional statement that identifies who will see the content. For row-only or the first in a cascade-series of content this field is required.

    4. After: The closing of a liquid conditional statement. For row-only or the final row in a cascade-series of content this field is required.

  6. Click Add to finalize the logic.

  7. Repeat steps 1-6 for any other dynamic content components of the email.

Creating Single Row Dynamic Content

Single row dynamic content will show the content to those who meet the set of criteria and hide it to anyone who does not meet the criteria. The criteria is not linked to any additional pieces of content.

  1. Fully design and link your creative elements in a row prior to setting up the dynamic content logic.

  2. Click on the white space outside the row content to access the row properties.

  3. Locate the Dynamic Content section in the properties sidebar.

  4. Click Add Condition.

  5. Enter a name and description based on the goal.

  6. In the Before input:

    1. The input must begin with {% if

    2. The input must end with %}

    3. You can evaluate a single or multiple criteria in the before section.

    4. You can include any criteria available in your profile fields.

  7. In the After input paste: {% endif %}. This will stop the content from linking to additional pieces of content.

Creating Cascading Dynamic Content

Cascading dynamic content allows you to reference criteria between rows so that contacts only see one of the rows in the cascade. Contacts will see the first of the rows where they meet the criteria.

The key to creating this type of dynamic content is using the before and after conditions in different combinations. Use the chart below for a quick reference.

⚠️ You can add up to 3 rows of cascading content.

Row Position

Before Criteria

After Criteria

Beginning

✅

⛔

Middle

✅

⛔

End

✅/⛔ (goal based)

✅

Creating the Beginning Row

  1. Fully design and link your creative elements in a row prior to setting up the dynamic content logic.

  2. Click on the white space outside the row content to access the row properties.

  3. Locate the Dynamic Content section in the properties sidebar.

  4. Click Add Condition.

  5. Enter a name and description based on the goal.

  6. In the Before input:

    1. The input must begin with {% if

    2. The input must end with %}

    3. You can evaluate a single or multiple criteria. Input the rest of the content between a and b based on your goal.

      💡 New to creating liquid logic? Learn how to craft criteria.

    4. You can include any criteria available in your profile fields.

  7. Leave the After input blank.

Creating the Middle Row(s)

  1. Fully design and link your creative elements in a row prior to setting up the dynamic content logic.

  2. Click on the white space outside the row content to access the row properties.

  3. Locate the Dynamic Content section in the properties sidebar.

  4. Click Add Condition.

  5. Enter a name and description based on the goal.

  6. In the Before input:

    1. The input must begin with {% elsif

    2. The input must end with %}

    3. You can evaluate a single or multiple criteria. Input the rest of the content between the inputs for a and b based on your goal.

      💡 New to creating liquid logic? Learn how to craft criteria.

    4. You can include any criteria available in your profile fields.

  7. Leave the After blank.

  8. Repeat the steps above for any additional middle rows.

Creating the End Row

  1. Fully design and link your creative elements in a row prior to setting up the dynamic content logic.

    💡 This is the row contacts will see if they do not qualify for other rows.

  2. Click on the white space outside the row content to access the row properties.

  3. Locate the Dynamic Content section in the properties sidebar.

  4. Click Add Condition.

  5. Enter a name and description based on the goal.

  6. Depending on your goal, your Before input will differ.

    1. If you want to have a default fallback where users who do not meet the criteria, paste: {% else %}. This will establish it as a default

    2. If you want content to only show those who meet the criteria:

    3. The input must begin with {% elsif %}

    4. The input must end with %}

    5. Add the specific profile criteria between inputs c and d.

      💡 New to creating liquid logic? Learn how to craft criteria.

  7. In the After input paste: {% endif %}. This will stop the content from linking to additional pieces of content.



Single Row Dynamic Content Example

Evaluating a single row is a great way to personalize an email based on a contact's selected preference when they may select more than one preference. For example, a skincare company may allow contacts to select the components of a product they are interested in, for example selecting from SPF, Anti-aging, Moisturizing, or Oil Control.

These two examples show display conditions for contacts who are interested in products with SPF and products that help with oil control.

  • Contacts who are interested in both products will see the content in both rows

  • The oil control naming convention contains an underscore instead of a space

  • The profile field is a text field so the filter value "yes" is used in quotation marks

Cascading Row Dynamic Content Example #1

This example of a cascade will only show content to contacts who meet one of the three criteria 1) email contains Listrak 2) email contains gmail or 3) email contains hotmail or Listrak.

  • Contacts will only receive the content from one row

  • Contacts with a Listrak email will receive the content in row #1 even though they are also included in the criteria for row #3

  • Email addresses are stored as a text field so the filter value is used in used in quotation marks

  • The before filter for row #2 begins with ifels

  • Including criteria in the before and after for row #3 indicates some contacts may not see any of the rows

Cascading Row Dynamic Content Example #2

In this example of a cascade, you may want to display a row of content to loyalty members that displays their points and other information while showing a fallback row to those who are not members encouraging them to sign up.

  • Contacts will only receive content from one of the rows

  • Loyalty membership is stored as a checkbox which can be indicated by the number 1

  • Including an else in the before criteria of row #2 indicates all contacts will see one of the rows included

Did this answer your question?