Engage Studio's SMS channel lets you send promotional text messages to US customers via short code. The process involves four steps:
- Provision your SMS sender number and connect it to your workspace
- Build your target audience in a Parent Segment with consent filtering
- Create and configure an SMS campaign
- Review delivery results in the events table
Before creating an SMS campaign, the following must be in place:
- A short code has been provisioned by Treasure AI and assigned to your workspace
- Your Parent Segment includes a phone number column in E.164 format (e.g.,
+12125551234) - Consent filtering is applied at the segment or activation level to exclude opted-out recipients
- Quiet Hours settings are configured for your audience's time zones
Provisioning a short code requires lead time. Contact your Treasure AI account team to initiate the request before building your campaign.
- Click Create Campaign
- Select SMS as the channel
- Enter a Campaign Name
- Click Create
- Choose a Parent Segment and Target Segment
- Click Next
Opted-out recipients are not automatically excluded from your segment. You must filter them out at the CDP level (in your Parent Segment or Activation) before launching. Treasure AI records opt-out events to the subscription_events table — use this data to keep your segments current.
Create your message content.
| Field | Description | Notes |
|---|---|---|
| Sender | The send number (short code) assigned to this workspace | Configured by Treasure AI during provisioning |
| Message Body | The text sent to recipients | GSM-7: 160 chars per segment. Unicode: 70 chars per segment. |
| Segment Count | Live indicator of how many SMS segments your message uses | Displayed in the editor. Each additional segment adds cost. |
Engage Studio offers the ability to personalize your messages using profile attributes from your CDP segments.
To personalize, add a liquid template.
Example: Hi {{ profile.first_name }}, your offer is ready.
Allowed Delivery Time settings prevent messages from being sent outside of a pre-defined time window. This allows you to comply with federal quiet hours.
| Field | Description | Example |
|---|---|---|
| Timezone | IANA timezone for the send window | America/New_York |
| Allowed Start | Earliest time messages can be sent | 08:00 |
| Allowed End | Latest time messages can be sent | 20:00 |
| Weekday Overrides (Always On Campaigns only) | Optional per-day restrictions | Disable sends on Sundays |
The send window applies uniformly to all recipients in your segment — it is not resolved per-recipient timezone. If your audience spans multiple US time zones or states with stricter quiet hours than the federal minimum, we recommend splitting your segments by region in the CDP before launching.
Messages blocked by Quiet Hours are logged as quiet_hours_blocked in the delivery events table. They are not retried automatically. Launch a new campaign to re-send to blocked recipients.
US Federal requirement (TCPA): 8:00 AM – 9:00 PM recipient local time. Some states enforce stricter cutoffs (e.g., Florida: 8:00 PM). Treasure AI recommends applying the most restrictive applicable window for your audience.
This section references guidance from the One-off Campaign and Always On Campaign help documentation.
| Option | Description | Typical Use Case |
|---|---|---|
| Send immediately | Sends as soon as you launch the campaign | Flash promotions, time-sensitive alerts |
| Schedule for later | Sends at a specific future date and time | Planned campaigns, coordinated multi-channel sends |
For large campaigns, schedule delivery in advance to allow audience preparation and Quiet Hours validation to complete before send time.
Select the appropriate activation configuration.
| Field | Description | Notes |
|---|---|---|
| Activation Name | System-generated unique identifier | auto-assigned |
| Enable Activation Actions | Toggles whether Activation Actions are used for delivery | If disabled, the campaign will launch without Activation Actions enabled |
| Authentication | Specifies the Engage connector used for delivery | |
| Batch Size | Records processed per batch | 1,000 (default and max), 1 (min) |
| Thread Count | Parallel send threads | 1 (default), 10 (max) |
Map segment data to the SMS delivery pipeline. Engage Studio uses Liquid syntax ({{ profile.column_name }}) to substitute values per recipient at send time.
Required:
phone_number→ recipient's phone number (must be in E.164 format, e.g.,+12125551234)
Optional custom fields (used in message personalization):
- Any additional columns referenced in your Liquid template, e.g.,
first_name,loyalty_points
All columns referenced as Liquid variables in your message body must be covered by output mappings.
UTM parameters are tags appended to every URL in your message body, enabling analytics platforms like Google Analytics or Adobe Analytics to attribute traffic to a specific campaign.
- Available for all campaign types (One-off and Always-on)
- Engage Studio automatically appends parameters to all links when enabled
Toggle:
- On: UTM parameters appended to all links
- Off: Links sent as-is, no parameters appended
When toggled on, Medium, Source, and Campaign are required fields.
UTM fields remain editable when a campaign is in a Paused state, allowing you to adjust tracking parameters before resuming delivery.
| Field | UTM Parameter | Required | Default | Description |
|---|---|---|---|---|
| Campaign ID | utm_id | — | Auto-generated | Read-only unique system identifier |
| Medium | utm_medium | Yes | sms | Marketing channel |
| Source | utm_source | Yes | treasureai | Traffic referrer; supports Liquid syntax e.g., {{profile.segment}} |
| Campaign | utm_campaign | Yes | (user-defined) | Campaign name; e.g., spring_sale, product_launch_2026 |
| Source Platform | utm_source_platform | No | treasureai | Platform directing traffic |
| Marketing Tactic | utm_marketing_tactic | No | (empty) | Targeting criteria; e.g., remarketing, prospecting |
Character Limits:
- Medium, Source, Source Platform: max 100 characters
- Campaign, Marketing Tactic: max 40 characters
Allowed Characters: Letters (a–z, A–Z), numbers (0–9), hyphens (-), underscores (_), periods (.). Source also permits { and } for Liquid syntax. Spaces and special characters are not allowed.
All input is automatically converted to lowercase before being appended to the URL.
A link like https://example.com/offers becomes (shown wrapped here for readability; the actual URL is a single unbroken string with no line breaks):
https://example.com/offers?utm_id=019dacdc-de23-7193-a9a4-4d2eb9a6b514&utm_medium=sms&utm_source=treasureai&utm_campaign=spring_sale&utm_source_platform=treasureai&utm_marketing_tactic=remarketingSMS delivery data is written to event tables in the delivery_sms_ database for your workspace.
| Table | Contents |
|---|---|
events | One row per message — delivery status (sent, delivered, failed) and quiet hours blocks (quiet_hours_blocked) |
subscription_events | Opt-out and opt-in events (STOP / START keywords received) |
error_events | Send failures |
Use subscription_events to keep your CDP segment up to date. Opt-out sync to your Parent Segment is not automatic — you must update your segment manually to exclude opted-out recipients from future campaigns.
Treasure AI uses Twilio's Advanced Opt-Out to process STOP keywords automatically.
Opt-out keywords: STOP, STOPALL, UNSUBSCRIBE, END, QUIT, CANCEL
Opt-in keywords: START, YES, UNSTOP
When a recipient sends a STOP keyword:
- Twilio automatically blocks future outbound messages to that number and sends a confirmation reply
- Engage Studio writes an opt-out event to
subscription_eventsin your delivery database - The recipient remains in your CDP until you update their profile — you are responsible for syncing this data and excluding them from future sends
Re-opt-in requires the recipient to text a keyword (e.g., START). It cannot be triggered via API or website. Do not attempt to re-enroll recipients who have opted out without their explicit re-opt-in action.
Treasure AI provides the tools to enforce compliant sends — but compliance with TCPA and applicable regulations is the responsibility of the sending organization.
| Requirement | Details | How to Meet It in Engage Studio |
|---|---|---|
| Quiet Hours | Send only during 8AM–9PM recipient local time (federal). Some states restrict further. | Configure Quiet Hours. Segment audience by time zone. |
| STOP Compliance | Honor opt-out requests immediately | Sync subscription_events to your Parent Segment after each campaign. |
| Consent | Obtain prior express written consent before sending | Manage consent capture outside Engage Studio (e.g., web forms, checkout flow). |
| Consent Records | Retain records of consent for the regulatory period | Store consent records in your CDP. Treasure AI does not retain consent data on your behalf. |
TCPA violations carry statutory damages of $500–$1,500 per message. Ensure your consent records, opt-out processes, and send windows meet applicable legal standards before sending at scale.