Using conditional functions in communication templates

Conditional functions perform calculations on properties or a range of properties, only if those properties meet a certain condition. These functions test a given range and determine if the condition is true or false before continuing.

You can use conditional functions with the following:

  • Alerts
  • Communication templates
  • Data Showcase content item
  • Query Template Display content item

In This Article 

Available conditional functions with examples

Syntax of conditional functions

To insert a conditional function in the HTML body of one of the supported areas, use the syntax:

{if (conditions)}
     Text or HTML to appear if condition is true
{/endif}

If the conditions evaluate to FALSE, then the text or HTML is not shown.

Available conditional functions

This section covers the specific conditional functions supported in alerts, communication templates, Data Showcase, and Query Template Display.

Important! All conditional functions are case sensitive and must be upper case.

COUNT

Counts the number of items in a collection and returns an integer value.

    Example:

    {if (COUNT(#party.AdditionalAttributes) GT 0 AND #party.AdditionalAttributes[1].Name EQ
    'IsMemberRecord' AND #party.AdditionalAttributes[1].Value EQ true)}
    Is a member.
    {/endif}

LENGTH

Determines the length of the value and returns it as an integer.

    Example:

    {if (LENGTH(#query.TAX_EXEMPT) GT 0)}
    Contact is tax exempt.
    {/endif}

ISTRUE

Tests whether the specified parameter is true.

    Example:

    {if (COUNT(#party.AdditionalAttributes) GT 0 AND #party.AdditionalAttributes[3].Name EQ 'IsMember' 
          AND ISTRUE(#party.AdditionalAttributes[3].Value))}
    Contact is a member.
    {/endif}

ISFALSE

Tests whether the specified condition is false.

    Example:

    {if (ISFALSE(#query.IsMember))}
    Contact is not a member.
    {/endif}

ISNULLOREMPTY

Indicates whether the specified string is null or empty. Returns true if the value parameter is null or an empty string; otherwise, false.

    Example:

    {if (ISNULLOREMPTY(#query.Website))}
    Please add your website!
    {/endif}

ISNOTNULLOREMPTY

Indicates whether the specified string is not null or empty. Returns true if the value is not null or empty; otherwise, false.

    Example:

    {if (ISNOTNULLOREMPTY(#query.PaidThrough) AND #query.PaidThrough LT Now)}
    Contact is not yet expired.
    {/endif}

DAYSBETWEEN

Returns the number of days between two dates as an integer value.

    Example:

    {if (DAYSBETWEEN(#query.RenewedThrough, #query.PaidThrough) GT 90)}
    Member is due for renewal.
    {/endif}

DATE

Makes sure date or literal date value is culture safe.

    Example:

    {if (ISNOTNULL(#query.JoinDate) AND (#query.JoinDate GTE DATE('12/31/2021')))}
    2022 MEMBER
    {/endif}

CONTAINS

Checks whether a particular sequence of characters is part of a given string. Case is ignored and true or false is returned.

    Example:

    {if (CONTAINS(#query.JoinDate, '2022'))}
    New member in 2022.
    {/endif}

NOTCONTAINS

Checks whether a particular sequence of characters is not part of a given string. Case is ignored and true or false is returned.

    Example:

    {if (NOTCONTAINS(#query.City, 'Austin'))}
    Member is not an Austin resident.
    {/endif}

STARTSWITH

Check whether the beginning of the current string instance matches with a specified string or not. Case is ignored and true or false is returned.

    Example:

    {if (STARTSWITH(#query.City, 'Aus') OR STARTSWITH(#query.City, 'Dal') )}
    Member may live in Austin or Dallas.
    {/endif}

ENDSWITH

Check whether the end of the current string instance matches with a specified string or not. Case is ignored and true or false is returned.

    Example:

    {if (ENDSWITH(#query.FullName, 'Smith') OR ENDSWITH(#query.FullName, 'Richards') )}
    Last name ends with Smith or Richards.
    {/endif}

Acceptable conditional operators

The letter expressions are case sensitive and must be upper case. The following are acceptable condition operators:

  • GT - Greater than
  • GTE - Greater than equal to
  • LT - Less than
  • LTE - Less than equal to
  • EQ - Is equal
  • EQUALS - Is equal
  • NEQ - Not equal
  • OR - Logical Or
  • AND - Logical And
  • == - Is Equal, but preferred syntax is EQ
  • != - Not equal, but preferred syntax is NEQ
  • || - Logical Or, but preferred syntax is OR

Example: Adding party data values when they exist for the recipient and hiding the values when they do not exist

Example: A marketing blast is being sent soon. The Marketing Lead wants to send an email with the recipient's first, middle, and last names, plus their suffix and designation separated by commas. They do not want the commas to appear if the recipient does not have suffix or designation values defined.

Do the following to create the above example:

  1. Go to Marketing > Communication templates.
  2. Open the communication template.
  3. Click the Body tab, then click the HTML tab.
  4. The HTML tab appears below the design preview on the Body tab of a communication.

  5. Find the location where you want the message to go, then paste the following:
  6. Copy
    <h3>
      <strong>
    {if (ISNOTNULLOREMPTY (#query.FirstName))}{#query.FirstName} {/endif}
    {if (ISNOTNULLOREMPTY (#query.MiddleName))}{#query.MiddleName} {/endif}
    {if (ISNOTNULLOREMPTY (#query.LastName))}{#query.LastName}, {/endif}
    {if (ISNOTNULLOREMPTY (#query.Suffix))}{#query.Suffix}, {/endif}
    {if (ISNOTNULLOREMPTY (#query.Designation))}{#recipient.Designation}{/endif}
      </strong>
    </h3>

  7. Save the template.

The properties and associated commas will only appear if the recipient has the value populated on their account page.

Example: Adding a unique message to the email based on the recipient's location

Example: The Annual Conference is this weekend in Austin, Texas. The city’s South by Southwest festival is also happening this weekend. The association is sending out their conference reminders and wants to send a special message to the members who live in Austin to recommend a rideshare company before traveling to the conference.

Do the following to add a conditional statement to a communication template based on the recipient’s location:

  1. Go to Marketing > Communication templates.
  2. Open the communication template.
  3. Click the Body tab, then click the HTML tab.
  4. The HTML tab appears below the design preview on the Body tab of a communication.

  5. Find the location where you want the message to go, then paste the following:
  6. <p>{if (#party.City EQ 'Austin')}
     <strong>Reminder</strong>: Austin's SXSW festival is happening the same weekend as our Annual Conference! 
    Since you already live in Austin, it is highly recommended that you use a rideshare company when traveling to the conference!
    {/endif}</p>

    HTML for an email template which includes the HTML from step four.

  7. Save the template.
  8. Only members attending the event with Austin defined as their primary city will see the extra note in their email.
  9. Preview of the communciation where the information entered in the HTML during step four appears in the body of the communication.

Example: Adding address information for a contact when the information exists and hiding the extra line when the information does not exist

Example: An email is being sent that contains all potential address lines (Address 1, Address 2, and Address 3), plus the city, state, and zip code. Some contacts may not have an Address 2 or Address 3 defined, so the additional lines for those properties should not appear for those contacts.

Use the following to accomplish the above example:

Copy
{if (ISNOTNULLOREMPTY (#recipient.Address1))} {#recipient.Address1} <br>
{/endif}
{if (ISNOTNULLOREMPTY (#recipient.Address2))} {#recipient.Address2}<br>
{/endif}
{if (ISNOTNULLOREMPTY (#recipient.Address3))} {#recipient.Address3}<br>
{/endif}
{if (ISNOTNULLOREMPTY (#recipient.City))} {#recipient.City},{/endif}{if (ISNOTNULLOREMPTY (#recipient.StateProvince))} {#recipient.StateProvince}{/endif}{if (ISNOTNULLOREMPTY (#recipient.Zip))} {#recipient.Zip}{/endif}

Split-screen image comparing two communication previews with conditional functions. On the left, the preview shows a complete address with the Address 3 line included for the recipient. On the right, the address for a different recipient excludes the Address 3 line and there's no additional space where the line would be, demonstrating the conditional formatting in action.