How to Send Your First SMS Campaign
A step-by-step walkthrough of building a contact list, sending your first free SMS campaign through your Android gateway device, and monitoring delivery — all from your own number.
Once your Android device is connected (see the getting started guide), you're ready to send messages at scale. This guide covers importing contacts, writing a campaign, and reading the delivery report afterwards.
Prerequisites
- A connected Android gateway device
- At least one contact list (we'll create one below)
- Your message content ready
Step 1: Create a contact list
PulseSMS organizes recipients into contact lists. Each list can hold thousands of contacts and be reused across multiple campaigns.
- Go to Contacts in the sidebar.
- Click New list and give it a name (e.g.,
March Promo). - Click Create.
You'll see your new empty list.
Step 2: Import contacts
Inside the list, click Import contacts. You can upload a CSV file with the following columns:
phone,name,email
+14155552671,Sarah Chen,sarah@example.com
+14155552672,Marcus Reid,marcus@example.com
Column rules:
| Column | Required | Format |
|---|---|---|
phone | Yes | E.164 (e.g., +14155552671) |
name | No | Any string |
email | No | Valid email |
After uploading, PulseSMS validates each number. Invalid entries are flagged with an error so you can fix the source file and re-import.
Tip: You can also add contacts one by one using the Add contact button — useful for small lists or quick tests.
Step 3: Write your campaign
Go to Campaigns → New campaign.
Basic settings
- Campaign name — Internal label, not visible to recipients.
- Contact list — Select the list you just created.
Message body
Type your message in the text area. PulseSMS supports personalization variables using double curly braces:
Hi {{name}}, our spring sale is live! Use code SPRING20 for 20% off.
The {{name}} placeholder is replaced with each contact's name at send time. If a contact has no name, it falls back to an empty string — so write your copy accordingly.
Character limits:
- Standard SMS: 160 characters
- Unicode (emoji, accented chars): 70 characters per segment
- Long messages are split into multiple segments automatically
Scheduling
Choose Send now to dispatch immediately, or pick a future date and time to schedule. The campaign runs via a background job that polls your gateway device.
Step 4: Review and send
Before sending, you'll see a summary:
- Total recipients
- Estimated message segments
- Gateway device that will send the messages
Click Send campaign (or Schedule) to confirm.
Step 5: Monitor delivery
Open your campaign from the Campaigns list to see the live delivery report. It updates in real time as your device processes the queue.
| Status | Meaning |
|---|---|
| Queued | Waiting to be picked up by the device |
| Sent | Handed to the carrier |
| Delivered | Carrier confirmed delivery |
| Failed | Could not be sent (invalid number, carrier error, etc.) |
The overall campaign status changes from In Progress → Completed once all messages have been processed.
Tips for better delivery rates
- Keep lists clean. Remove numbers that bounced in previous campaigns.
- Send during business hours. Carrier throttling is less likely during off-peak periods.
- Keep the device plugged in. The gateway runs in the background — a dead battery means a paused campaign.
- Use one SIM per campaign. If you have multiple devices, assign them to separate contact lists to spread load.
Next steps
- Set up webhooks to receive delivery events in your own system.
- Use the API to trigger campaigns programmatically from your app.
- Upgrade to the Pro plan for unlimited messages across up to 5 organizations.