One-Time creatives may contain plain text without links. Automated and Welcome creatives, and CSV imports, require link placeholders. Write numbered placeholders in lowercase (
{{link1}}, {{link2}}, etc.); the creative editor and API reject uppercase or mixed-case forms such as {{LINK1}}.What is a Creative?
A Creative contains:- Message text, with optional placeholders
- Offer or custom-link bindings, when used
- Performance metrics
Creating a Creative
- Go to Creatives
- Click New Creative
- Enter your message
- Bind offers to link placeholders
- Save

Bulk import with a list per creative
Open Import Creatives from CSV from the creatives page. Upload a CSV or TSV file, map its columns, and validate the rows before importing. Each file can contain up to 500 creatives. Include an optionallist_id or list_name column to associate each creative with one sending list:
A populated list column sets that creative’s List Controls to Only Send To Selected Lists
with the resolved list. Both the creative’s and its offers’ list controls still apply when content
is selected for sending. Importing creates reusable creatives; it does not start a blast.
- Leave both list columns blank to use the upload-wide List Controls setting.
- If you supply both columns, they must identify the same list.
- If more than one list has the specified name, use
list_idto identify the list. - Unknown, deleted, or inaccessible lists produce a row error. Those rows are skipped during import.
- Review the resolved list for each valid row before importing.
Message Structure
Text Content
Write your message in the text area:Character Count
The editor shows:- Characters: Total character count
- Segments: SMS segment count
Standard SMS: 160 characters = 1 segment. Unicode messages: 70 characters = 1 segment. Longer messages are split and reassembled.
{{linkN}} placeholder resolves to a short tracking URL that adds approximately 23 characters to your message. Additionally, compliance text (prepend + append) adds roughly 34 characters of overhead. Factor both into your character budget when estimating segment count. See Templates & Placeholders for detailed segment calculation guidance.
Content Validation
The system validates message content against blocked content patterns before a creative can be saved. Messages that match blocked patterns will be rejected. This helps ensure compliance with carrier and regulatory requirements.Link Placeholders
Use{{link1}}, {{link2}}, etc. for tracked links:
Offer Bindings
Link placeholders to offers:
When sent, links become trackable short URLs.
Creative Types
Creatives have types that determine where they can be used:Save and reuse a blast’s creative through the API
You can create a blast with inline text; an existing creative is optional. Setsave_as_creative: true on a variant to also save its
text and offer/custom-link mappings as an active One-Time creative. The default is
false. The response’s saved_creatives array provides each saved creative’s ID and name.
Schedule creation requires a key without a daily cap or send-approval requirement; any
list restrictions still apply, including when creating a draft.
To use the asset in a later blast, select Use existing creative in the blast editor.
Choose its offer, or Creatives without offers for plain-text and custom-link-only
creatives. Selecting a creative copies its message and links into the new blast. Subsequent
edits to either record do not change the other. Saved assets inherit the original schedule’s
source lists as List Controls; with no source lists they use all lists. MMS images stay
on the schedule and are not included in the saved asset.
The public creative API also accepts plain text
for creative_type: "one_time". Automated and welcome assets require link placeholders.
Every link placeholder must map to an offer from your account or a public HTTPS custom URL.
The CSV import flow above continues to require offer-linked messages.
Check creative_save_errors even after a successful HTTP 201 blast response. An optional
asset-save failure leaves the schedule in place. Use the documented
asset-only recovery request
to save that creative separately; recreating the schedule would create another blast.
Creative Status
Performance Tracking
Each creative tracks:- Sends: Total times sent
- Clicks: Total link clicks
- Click Rate: Clicks / Sends
- Revenue: Revenue attributed to this creative
- Identify top performers
- Retire underperformers
- Inform A/B tests
Message Compliance
Required Elements
All messages should include:- Clear opt-out instructions (STOP to unsubscribe)
- Sender identification (your brand)
Account Settings
Your account can configure:- Prepend text: Added to start of every message
- Append text: Added to end of every message
Best Practices
Keep messages concise
Keep messages concise
Shorter messages = fewer segments = lower cost. Get to the point quickly.
Front-load the value
Front-load the value
Put the most important information first. Some phones truncate previews.
Use clear CTAs
Use clear CTAs
“Shop now” or “Claim your discount” beats “Click here.”
Test variations
Test variations
Create multiple creatives and A/B test to find winners.
Next Steps
Templates & Placeholders
Advanced templating
ML Selection
Automated creative selection