SMS Marketing

SMS gives you a direct line to your contacts' phones, with open rates around 98% and most messages read within minutes. Pigeon Perch lets you send SMS campaigns and automation messages alongside your email marketing, so you can reach people on the channel that fits the moment.

SMS works best as a complement to email, not a replacement. Use email for longer content like newsletters, product updates, and educational sequences. Use SMS for time-sensitive announcements, flash sales, appointment reminders, and short follow-ups where immediacy matters. Together, the two channels create a more complete communication strategy that meets your contacts where they are.

Getting Started with SMS

To start sending SMS messages, you need to connect a Twilio account and configure a phone number. Here's how to set it up:

  1. Go to Settings > SMS in your dashboard.
  2. Enter your Twilio Account SID and Auth Token. You can find these in your Twilio Console dashboard.
  3. Enter the Twilio Phone Number you want to send from. This should be an SMS-enabled number purchased through Twilio.
  4. Click Save. Pigeon Perch will verify your credentials and enable SMS across your account.

Once connected, the SMS channel becomes available in campaign creation, automation steps, and analytics. If you ever need to change your Twilio credentials or phone number, return to the same settings page.

SMS Consent and Compliance

SMS marketing is regulated by the Telephone Consumer Protection Act (TCPA) in the United States and similar laws in other countries. The rules are stricter than email: you must have explicit written consent before sending any marketing text message. Violating these rules can result in significant fines, so it's important to get this right.

How Consent Is Tracked

Each contact record includes two SMS-specific fields:

  • smsConsent: a boolean indicating whether the contact has opted in to receive SMS messages. Only contacts with smsConsent: true will be included in SMS sends.
  • smsConsentSource: records how consent was obtained (for example, "form", "api", or "import"). This gives you an audit trail if you ever need to demonstrate compliance.

Collecting Consent

There are several ways to collect SMS consent from your contacts:

  • Forms and popups: add an SMS opt-in checkbox to your sign-up forms. When a contact checks the box and submits the form, their smsConsent is set to true automatically.
  • API: when creating or updating contacts through the REST API, include the smsConsent and smsConsentSource fields in your request body.
  • CSV import: include smsConsent and smsConsentSource columns in your import file for contacts who have already given permission.

Opt-Out Handling

When a contact replies STOP to one of your messages, Twilio automatically handles the opt-out at the carrier level, blocking further messages to that number. Pigeon Perch also receives this event via webhook and sets smsConsent to false on the contact record, keeping your data in sync.

Your first SMS to any contact should include opt-out instructions (for example, "Reply STOP to unsubscribe"). This is both a legal requirement and a best practice that builds trust with your audience.

Creating SMS Campaigns

SMS campaigns follow the same workflow as email campaigns, with a few differences. Here's how to create one:

  1. Navigate to Campaigns and click New Campaign.
  2. Set the Channel to SMS. This switches the editor from the email composer to the SMS composer.
  3. Write your message body. A character counter shows your current length and how many SMS segments the message will require. Standard SMS messages are 160 characters per segment, and carriers charge per segment, so shorter messages cost less.
  4. Add merge tags to personalize each message (see below for available tags).
  5. Optionally attach an image to send as MMS. MMS messages support images up to 5MB.
  6. Choose your audience. The system automatically filters your selection to only include contacts who have smsConsent: true and a valid phone number on file.

You can send immediately or schedule the campaign for a future date and time, just like email campaigns.

SMS in Automations

Automations support a Send SMS step type alongside the existing Send Email step. This lets you build multi-channel workflows that combine email and SMS based on timing and engagement.

A common pattern is to lead with email and follow up with SMS for contacts who haven't engaged. For example:

  1. Trigger: Contact is added to your "New Customers" segment.
  2. Send Email: Welcome email with your brand story and a discount code.
  3. Wait: 3 days.
  4. Condition: Did the contact open the email?
  5. If no: Send SMS: "Hey {{first_name}}, your 15% discount expires tomorrow! Use code WELCOME15 at checkout."
  6. If yes: Send Email: Follow-up with product recommendations.

The Send SMS step only delivers to contacts with SMS consent and a phone number. Contacts missing either are skipped, and the automation continues to the next step.

Merge Tags

SMS messages support the same personalization variables as email. Insert these merge tags into your message body to customize each text:

TagOutput
{{first_name}}Contact's first name
{{last_name}}Contact's last name
{{email}}Contact's email address
{{company}}Contact's company name
{{phone}}Contact's phone number

If a merge tag value is missing for a contact, it will be replaced with an empty string. Keep this in mind when writing your messages so the text still reads naturally without the personalized value.

SMS Analytics

The Analytics dashboard includes a channel toggle that lets you switch between Email and SMS views. When you select SMS, the dashboard shows the following metrics:

  • Sent: total SMS messages dispatched.
  • Delivered: messages confirmed as delivered by the carrier.
  • Delivery Rate: the percentage of sent messages that were successfully delivered. A healthy delivery rate is above 95%.
  • Clicked: recipients who clicked a link included in the message. Links in SMS are automatically shortened and tracked.
  • Opted Out: contacts who replied STOP. Monitor this number to make sure your message frequency and content are well received.

You can filter SMS analytics by time range and by individual campaign, the same way you filter email metrics. Use delivery rate trends to catch issues with your phone number's reputation early.

Plan Limits

Each plan includes a monthly SMS allowance. Once you reach the limit, SMS sends are paused until the next billing cycle.

PlanSMS per Month
Free0 (SMS not available)
Starter500
Growth5,000
Scale25,000

Your current usage is visible in Settings > SMS. If you're consistently hitting your limit, upgrading your plan gives you a higher allowance and better per-message rates.

Best Practices

  • Keep messages under 160 characters whenever possible. Messages that exceed 160 characters are split into multiple segments, which increases cost and can sometimes arrive out of order.
  • Send time-sensitive content. SMS is ideal for flash sales, limited-time offers, event reminders, and appointment confirmations. If the message isn't urgent, email is usually a better fit.
  • Don't over-send. Two to four SMS messages per month is a healthy frequency for most audiences. More than that and you'll see opt-out rates climb.
  • Include opt-out instructions in your first message to each contact. Something as simple as "Reply STOP to unsubscribe" meets the legal requirement and signals respect for the recipient's preferences.
  • Personalize with merge tags. A message that includes the contact's name feels more like a personal text and less like bulk marketing.
  • Coordinate with email. Don't send the same content over both channels at the same time. Use SMS to follow up or reinforce an email message, not to duplicate it.
SMS Marketing — Pigeon Perch Docs