Skip to content

Creating Campaigns

Create targeted SMS marketing campaigns with TextFlow’s intuitive 4-step campaign builder. This guide walks you through each step of the campaign creation process.

Prerequisites:

  • ✅ At least one contact list or tag with contacts
  • ✅ At least one phone number configured in your account
  • ✅ Sufficient message credits in your plan

What You’ll Need:

  • Campaign name and description
  • Target audience (lists or tags)
  • Message content
  • Sending schedule (immediate or scheduled)

TextFlow’s campaign builder consists of 4 steps:

  1. Basics - Campaign name, type, and phone number
  2. Audience - Select target lists or tags
  3. Message & Compliance - Compose message and configure CASL settings
  4. Review - Final review before sending

Each step validates your inputs before allowing you to proceed.

Campaign Basics Step

  1. Click Campaigns in the left navigation
  2. Click New Campaign button

You’ll see the campaign builder with 4 progress steps at the top.

Campaign Name (Required)

  • Internal identifier for your campaign
  • Examples: “Spring Sale 2024”, “VIP Customer Update”, “New Product Launch”
  • Best Practice: Use descriptive names that indicate purpose and date

Description (Optional)

  • Internal notes about the campaign purpose
  • Examples: “Announcing spring collection with 25% discount for VIP customers”
  • Not visible to recipients

Campaign Type (Required)

Choose when to send your campaign:

TypeDescriptionUse When
Send ImmediatelySends as soon as campaign is createdTime-sensitive announcements, immediate follow-ups
Schedule for LaterChoose specific date and timePlanning ahead, optimal timing, multi-timezone coordination

From Phone Number (Required)

  • Select which phone number will appear as the sender
  • Recipients will see this number
  • Choose a number that matches your campaign purpose:
    • Dedicated numbers: For department-specific campaigns
    • Pool numbers: For general marketing campaigns

If you select “Schedule for Later”, additional fields appear:

Send Date

  • Calendar picker for selecting the date
  • Cannot schedule in the past

Send Time

  • Time picker (24-hour format)
  • Timezone: EST (your organization’s timezone)

Quiet Hours Handling

  • If scheduled during quiet hours (9pm-9am), messages will queue until 9am
  • Applies per-recipient timezone

Click Next to proceed to Audience Selection.

Validation:

  • Campaign name must not be empty
  • Phone number must be selected

Campaign Audience Step

Choose which contact lists will receive your campaign.

List Selection:

  1. Click on list buttons to select/deselect
  2. Selected lists show with colored background
  3. Multiple lists can be selected

Contact Count Summary:

Once you select lists, you’ll see:

MetricDescription
Selected ListsNumber of lists selected
Total ContactsAll contacts in selected lists (including duplicates)
Opted OutContacts who have unsubscribed (will not receive messages)
Will ReceiveFinal recipient count after removing opt-outs and duplicates

If you’re using Tags View:

Single Tag:

  • Select one tag to target all contacts with that tag

Multiple Tags (AND/OR logic):

  • All of these (AND): Contacts must have ALL selected tags
  • Any of these (OR): Contacts must have AT LEAST ONE selected tag

Example:

  • Tags: “toronto” AND “vip” → Only VIP customers in Toronto
  • Tags: “toronto” OR “vancouver” → Customers in either city
  1. Start small: Test with a small list before sending to thousands
  2. Segment carefully: More targeted = higher engagement
  3. Review opt-outs: Check the “Opted Out” count before sending
  4. Avoid over-messaging: Don’t send to the same list more than 2-3 times per week

Click Next to proceed to Message & Compliance.

Validation:

  • At least one list or tag must be selected
  • “Will Receive” count must be greater than 0

Campaign Message Step

Message Text Field:

  • Type or paste your SMS message
  • Maximum: 1600 characters
  • Real-time character count displayed

Character Counter:

122/1600 (1 segment)
  • Characters: Current character count
  • Segments: Number of SMS segments
    • Standard SMS: 160 characters per segment
    • Unicode (emojis): 70 characters per segment
  • Cost: Each segment counts as one message

Insert dynamic contact fields into your message:

ButtonTokenReplaced With
+First Name{{firstName}}Contact’s first name
+Last Name{{lastName}}Contact’s last name
+Email{{email}}Contact’s email address

Example:

Hi {{firstName}}, our spring collection is here!
Get 25% off all new arrivals this week only.

Renders as:

Hi Sarah, our spring collection is here!
Get 25% off all new arrivals this week only.

Click Use Template to load pre-saved message templates:

  1. Choose from your saved templates
  2. Template content loads into the message field
  3. Edit as needed
  4. Tokens are preserved

As you type, a real-time preview shows:

  • Your message content
  • Personalization tokens (as-is, not rendered)
  • Business signature (if enabled)
  • Opt-out instructions (if enabled)

Example Preview:

Hi {{firstName}}, our spring collection is here!
Get 25% off all new arrivals this week only.
Shop now: example.com/spring
- Demo Company
Reply STOP to unsubscribe.

TextFlow includes mandatory CASL (Canada’s Anti-Spam Legislation) compliance features:

☑️ Enabled by default

Automatically appends your organization name:

- Demo Company

When to disable:

  • Two-way conversational messages (not marketing)
  • Follow-up messages in an existing thread

☑️ Enabled by default (Required for CASL compliance)

Automatically appends:

Reply STOP to unsubscribe.

Important:

  • Required for all marketing messages in Canada
  • Cannot be disabled for campaign messages
  • Opt-outs are processed automatically

☑️ Enabled by default

What it does:

  • Delays messages sent during quiet hours
  • Messages queue and send when quiet hours end
  • Applied per-recipient timezone (based on area code)

Default Quiet Hours:

  • Start: 9:00 PM
  • End: 9:00 AM

Customizing Quiet Hours:

  1. Use the time pickers to adjust start/end times
  2. Time is in 12-hour format (AM/PM)
  3. Applied to all recipients based on their timezone

How Timezones Work:

  • Toronto (416/647): Eastern Time
  • Vancouver (604/778): Pacific Time
  • Messages sent at appropriate local time for each recipient

Example:

  • Campaign scheduled for 8:00 PM EST
  • Toronto recipients: Queued until 9:00 AM EST next day
  • Vancouver recipients: Sent at 5:00 PM PST (same moment, different timezone)
  1. Clear call-to-action: What do you want recipients to do?
  2. Include links: Short, trackable URLs (use a URL shortener)
  3. Create urgency: “This week only”, “Limited time”, “Today only”
  4. Personalize: Use first names for higher engagement
  5. Test first: Send to yourself to check rendering

Good Example:

Hi {{firstName}}! Flash sale: 40% off all jackets
today only. Shop now: bit.ly/sale40

Bad Example:

Hello valued customer, we are pleased to announce
that our organization is having a promotional event
where you can save money on select merchandise...

Click Next to proceed to Review.

Validation:

  • Message text must not be empty
  • Character count must be ≤ 1600

Campaign Review Step

Review all campaign details before sending:

Campaign Details:

  • Name: Your campaign name
  • Delivery: “Immediate” or scheduled date/time
  • Target Audience: Number of lists/tags selected
  • Planned Messages: Final recipient count

Message Preview:

  • Shows complete message with all compliance additions
  • Personalization tokens shown as {{firstName}} (not rendered)
  • Includes business signature and opt-out instructions

Ready to Send:

  • Confirms final recipient count
  • Warning if count is very high

Before clicking Create Campaign, verify:

  • Campaign name is correct and descriptive
  • Target audience is correct (not too broad/narrow)
  • Message has no typos or errors
  • Links are correct and working
  • Personalization tokens are formatted correctly
  • Quiet hours settings are appropriate
  • You have sufficient message credits

Option 1: Create Campaign

  1. Click Create Campaign button
  2. Campaign is created and:
    • Immediate: Starts sending within seconds
    • Scheduled: Queued for future delivery

Option 2: Save as Draft

  1. Click Save Draft (available on any step)
  2. Campaign saved but not sent
  3. Access from Campaigns page to edit and send later

Option 3: Go Back

  1. Click Previous to return to any step
  2. Make changes as needed
  3. Navigate forward again

Once you click Create Campaign:

Immediate Campaigns:

  1. Redirected to Campaigns page
  2. Campaign status: Active
  3. Messages begin sending immediately
  4. Real-time progress updates on campaign card

Scheduled Campaigns:

  1. Redirected to Campaigns page
  2. Campaign status: Scheduled
  3. Shows scheduled date/time
  4. Can cancel or edit before send time

At any step during campaign creation:

  1. Click Save Draft button (top-right)
  2. Draft is saved with current progress
  3. Redirected to Campaigns page
  1. Go to Campaigns page
  2. Find your draft (status: Draft)
  3. Click Edit campaign
  4. Continue from where you left off
  5. Click Send when ready
  1. Find the draft campaign
  2. Click Delete campaign (in dropdown menu)
  3. Confirm deletion

Optimal Send Times:

  • Tuesday-Thursday: 10am-2pm (highest engagement)
  • Avoid:
    • Monday before 10am (email backlog)
    • Friday after 3pm (weekend mindset)
    • Weekends (unless urgent)

Multi-Timezone Campaigns:

  • TextFlow automatically adjusts for recipient timezones
  • Schedule for optimal time in YOUR timezone
  • Recipients receive at equivalent local time

Example:

  • Schedule: Tuesday 11:00 AM EST
  • Toronto (EST): Receives at 11:00 AM
  • Vancouver (PST): Receives at 8:00 AM (same moment)

Before the scheduled send time:

  1. Go to Campaigns page
  2. Find scheduled campaign
  3. Click Cancel campaign
  4. Confirm cancellation

Note: Cannot cancel campaigns after sending starts.

Always test campaigns before sending to your full list:

Method 1: Test List

  1. Create a “Test” list with your phone number(s)
  2. Create campaign targeting only the test list
  3. Review message on your device
  4. Check links, formatting, personalization

Method 2: Small Sample

  1. Create campaign with limited audience (e.g., 10 contacts)
  2. Send and monitor results
  3. If successful, duplicate and expand audience
  • Message appears correctly on iPhone and Android
  • Links work and direct to correct pages
  • Personalization renders properly
  • Business signature appears
  • Opt-out instructions appear
  • No typos or formatting issues

Campaigns respect your plan’s message limits:

PlanDaily LimitMonthly Limit
Starter5,00050,000
Marketer25,000250,000
CustomVariesVaries

What Happens at Limit:

  • Campaign automatically pauses
  • Remaining messages queue
  • Resume sending when limit resets (midnight EST for daily, 1st of month for monthly)

If you exceed your limit:

  1. Dashboard shows “Purchase Message Packs”
  2. Click to buy one-time message packs
  3. Campaign resumes automatically

”No contacts will receive this message”

Section titled “”No contacts will receive this message””

Problem: Selected lists have no valid recipients

Solutions:

  • Check if contacts exist in selected lists
  • Verify contacts haven’t all opted out
  • Ensure phone numbers are valid (+1 format)

Problem: Message exceeds 1600 characters

Solutions:

  • Shorten message content
  • Remove unnecessary words
  • Use URL shortener for links
  • Split into two campaigns if necessary

Problem: Campaign not completing

Check:

  • Daily/monthly message limits (Dashboard)
  • Quiet hours settings (may be delayed)
  • Campaign analytics for error details

Solution:

  • Wait for quiet hours to end
  • Purchase additional messages if at limit
  • Contact support if issue persists

Problem: {{firstName}} appears in message instead of name

Solutions:

  • Verify contact has first name field populated
  • Check token spelling: {{firstName}} not {{firstname}}
  • Test with contacts that have all fields filled

After creating your campaign:


Ready to launch your first campaign? Create targeted, CASL-compliant SMS campaigns in minutes with TextFlow’s intuitive builder.