1. Personalization tags (S1)
- [[S1:first_name:Friend]]
- First name with fallback (no conditional needed)
- [[S1:last_name]]
- Last name
- [[S1:cons_title]]
- Title (Mr., Dr., etc.)
- [[S1:home_city]]
- City
- [[S1:home_stateprov]]
- State / Province
- [[S1:home_zip]]
- Postal / Zip code
- [[S1:home_country]]
- Country
- [[S1:home_primary_email]]
- Home email
- [[S1:largest_trans_amount]]
- Largest ever gift amount
2. Conditional syntax
Four parts, double-colon separators:
[[?VALUE::COMPARISON::IF_TRUE::IF_FALSE]]Gotcha: comparison is CONTAINS, not equals. Wrap both sides in a delimiter (x or z) for exact matches:
[[?x[[S1:home_stateprov]]x::xONx::
Ontario content.
::
General content.
]]Group membership returns TRUE / FALSE:
[[S45:GROUP_ID]]3. Common patterns
Monthly vs one-time donors
[[?[[S45:MONTHLY_GROUP_ID]]::TRUE::
Monthly donor content.
::
One-time donor content.
]]OR logic — either group (the “T” technique)
[[?
[[?[[S45:GROUP_A_ID]]::TRUE::T::]]
[[?[[S45:GROUP_B_ID]]::TRUE::T::]]
::T::
Content for either group.
::
Everyone else.
]]Autoresponder: recurring vs one-time (S120:dc — autoresponders only)
[[?[[S120:dc:recurringFrequencyLabel]]::Monthly::
Monthly gift of [[S120:dc:giftAmount]].
::
Gift of [[S120:dc:giftAmount]].
]]4. Workflow reminder
⚠️ Paste S-tag code into the HTML/source view only. Switching to the WYSIWYG visual editor after pasting will corrupt the syntax.
5. Official Blackbaud documentation