Skip to main content

SMS Templates

SMS templates are built using a text editor in the campaign wizard's Template step. This page covers the editor, variables, character limits, opt-out text, and the message preview.

The Text Editor

The SMS template editor is a single text field where you compose your message. It supports plain text and dynamic variables; no HTML or rich formatting.

The editor toolbar provides quick access to:

  • Insert Variable: opens a dropdown of available variables mapped from your CSV
  • Quick Insert: pre-written text snippets for common compliance needs

Variables

Variables are dynamic placeholders that are replaced with real contact data for each recipient when the campaign is sent. They correspond to the columns you mapped as Custom Variables during the Add Contacts step.

Inserting Variables

  1. Place your cursor in the text editor where you want the variable to appear.
  2. Click the Variable icon in the toolbar.
  3. Select a variable from the dropdown (e.g. first_name, amount_due).
  4. The variable is inserted at the cursor position.

How Variables Render

  • In the editor, variables display as tagged placeholders.
  • In the phone preview, variables resolve to example values if you have entered them, or show the variable name (e.g. {{first_name}}) if no example value is provided.
  • When the campaign is sent, each variable is replaced with the actual value from that recipient's row in the CSV.
info

If a recipient's data is missing a value for a variable, the variable name appears as-is in the delivered message (e.g. {{first_name}}). Ensure your CSV data is complete for all mapped variables.

Character Count and Limits

The editor displays a live character count as you type. SMS messages are subject to character limits based on encoding:

EncodingCharacters per segmentWhen used
GSM-7160 charactersStandard Latin characters, numbers, and common symbols
UCS-270 charactersMessages containing special characters, emoji, or non-Latin scripts

Messages that exceed a single segment are split into multiple segments. Each segment counts as one message for delivery purposes.

warning

Variables contribute to the character count based on the actual value at send time, not the placeholder length. A variable like {{full_address}} may expand to a much longer string per recipient. Factor this into your template length.

You cannot save or finish the campaign if the template exceeds the maximum character limit.

Quick Insert

Quick Insert provides pre-written text snippets that can be added to your message with one click. These are designed for common compliance and operational needs.

Available Options

  • Opt-out text: standard opt-out instructions such as "Reply STOP to opt out". This is a regulatory best practice for bulk SMS campaigns.

How to Use Quick Insert

  1. Place your cursor where you want the text to appear.
  2. Click the Quick Insert button in the toolbar.
  3. Select a snippet from the menu.
  4. The text is inserted at the cursor position and can be edited further if needed.
tip

Always include opt-out instructions in your SMS campaigns. Many jurisdictions require recipients to have a clear way to stop receiving messages.

Phone Preview

The phone preview panel shows a live rendering of your message as it would appear on a recipient's device. It updates in real-time as you type.

Using the Preview

  • The preview displays your message text with variables resolved to their example values.
  • Enter example values for variables in the preview panel to see how the final message will look for a real recipient.
  • The preview also shows the sender information (phone number / region) based on your Twilio configuration.

What to Check in Preview

  • Message reads naturally with variable values filled in
  • Total length is appropriate (considering variable expansion)
  • Opt-out or compliance text is present and clear
  • No unintended variable placeholders are visible

Best Practices

  • Keep messages concise: SMS is a short-form channel. Aim for a single segment (160 characters) where possible.
  • Always include opt-out text: use Quick Insert to add standard opt-out instructions.
  • Test variable expansion: enter realistic example values in the preview to verify the message length and readability with real data.
  • Check for special characters: emoji or non-Latin characters switch encoding to UCS-2, which significantly reduces the characters-per-segment limit.
  • Front-load important content: put the key information at the beginning of the message in case it gets truncated on the recipient's device.