Bulk Sending to Multiple Contacts
Send surveys to hundreds of contacts at once using contact selection or CSV upload
When you need to reach dozens or hundreds of customers at once, bulk sending is the most efficient approach. Demeterrr supports two bulk sending methods: selecting existing contacts from your database or uploading a CSV file with new contacts.
This guide walks through both methods, quota limits, and best practices for successful bulk campaigns.
Accessing Bulk Send
To start a bulk sending operation:
- Navigate to Sendings in the sidebar
- Click the Bulk Send button in the top right
This opens the Bulk Send dialog with two modes to choose from.
Choosing Your Send Mode
The Bulk Send dialog offers two distinct approaches, each suited to different scenarios.
Select Contacts Mode
Use this when you want to send to existing contacts already in your database.
Best for:
- Sending to a subset of your contact list
- Targeting specific customers you know by name
- Small to medium batch sends (up to a few dozen contacts)
- Situations where you want full control over who receives the survey
Upload CSV Mode
Use this when you have contact information in a spreadsheet or external system.
Best for:
- Importing contacts from another platform
- Sending to event attendees or new customer lists
- Large batch sends (hundreds of contacts at once)
- Situations where contacts don't exist in your database yet
- Quick one-off campaigns without manual contact creation
Switch between modes by clicking the toggle buttons at the top of the dialog.
Select Contacts Method
This method lets you search and choose specific contacts from your database.
Searching for Contacts
- Click the Select Contacts button to activate this mode
- Use the search box to find contacts by name, email, or phone
- As you type, up to 20 matching contacts appear in the list
- Each row shows the contact's full name and email/phone
The search works the same as the single sending search:
- Case-insensitive
- Partial matches supported
- Searches across first name, last name, email, and phone fields
Selecting Multiple Contacts
The contact list uses checkboxes for multi-select:
- Click any contact row to toggle their selection
- Selected contacts show a checked checkbox and highlighted background
- Click again to deselect
- The counter at the bottom shows how many contacts you've selected
Example: "5 contact(s) selected"
You can select contacts from different searches. If you search for "john", select two Johns, then search for "sarah", your previous selections remain checked when you return to them.
Selection Limits
- No hard limit on number of contacts you can select
- Maximum 1,000 contacts per bulk send (system enforces this)
- Starter plan has monthly survey limits that may restrict large sends
If you try to send to more than 1,000 contacts, you'll receive an error. Break large campaigns into multiple batches of 1,000 or fewer.
Upload CSV Method
This method lets you import contacts directly from a CSV file and send to them in one operation.
CSV File Format
Your CSV file should have columns for contact information. Demeterrr automatically detects common column names.
Supported Column Names (case-insensitive):
Email: email, e-mail, courriel Phone: phone, telephone, téléphone, numero First Name: firstname, first name, first_name, prénom, prenom Last Name: lastname, last name, last_name, nom
Example CSV (English headers):
email,phone,firstName,lastName
sarah@example.com,555-123-4567,Sarah,Johnson
john@example.com,555-987-6543,John,Smith
Example CSV (French headers):
courriel,téléphone,prénom,nom
sarah@example.com,555-123-4567,Sarah,Johnson
john@example.com,555-987-6543,John,Smith
Column Requirements
At least one contact method required:
- Email address or
- Phone number
Rows without both email and phone are automatically skipped during import.
Optional fields:
- First name (used for personalization)
- Last name (helps identify contacts)
Uploading Your File
- Click the Upload CSV button to activate this mode
- Click anywhere in the dashed upload box
- Select your
.csvor.txtfile from your computer - Or drag and drop the file directly into the upload box
After upload, the system:
- Parses the CSV automatically
- Maps columns using the header row
- Counts valid contacts
- Shows "[N] contacts parsed" below the file name
Example: "customer-list.csv - 47 contacts parsed"
Create New Contacts Toggle
The Create new contacts for unmatched rows toggle controls what happens to contacts not already in your database.
When enabled (default):
- New contacts are created automatically for unmatched emails/phones
- These contacts are added to your contact database
- Surveys are sent to both existing and new contacts
When disabled:
- Only sends to contacts already in your database
- Unmatched rows are skipped
- Shows skipped count in the success message
Use case for disabling:
- You only want to send to known customers
- You're testing with a list that might have duplicates
- You want to avoid polluting your contact list with one-off recipients
Sending Your Bulk Campaign
Once you've configured everything, click the Send button.
What Happens Next
The system processes your bulk send in several steps:
Validation:
- Checks you haven't exceeded 1,000 contacts
- Verifies your subscription plan's monthly survey limit (Starter plan)
- Filters out unsubscribed contacts
- Filters out contacts without email or phone (depending on channel)
Contact Creation (CSV mode with toggle enabled):
- Checks each row's email/phone against existing contacts
- Creates new contact records for unmatched rows
- Updates the contact database
Sending Preparation:
- Creates individual sending records for each valid contact
- Batches records into groups of 100 for performance
- Queues Inngest background jobs for delivery
Background Processing:
- Inngest processes each sending asynchronously
- Sends emails or SMS messages one by one
- Updates sending status as messages are delivered
- Increments SMS usage counter for each SMS sent
Success Message
After submission, you'll see a success message with:
- Total contacts in your upload or selection
- Skipped count (unsubscribed or invalid contacts)
- Scheduled count (actual sendings queued)
Example: "Bulk send scheduled for 47 contacts (3 skipped)"
Processing Time
Bulk sends happen in the background, so:
- The dialog closes immediately
- Sendings appear with "pending" status initially
- Over the next few minutes, they update to "sent"
- Large batches (hundreds of contacts) may take several minutes
You can leave the page or close the browser. Background processing continues regardless.
Quota and Limit Enforcement
Bulk sending respects several limits to ensure fair usage and prevent errors.
Maximum Contacts Per Send
Hard limit: 1,000 contacts per bulk send operation
If you need to reach more than 1,000 contacts:
- Split your list into multiple CSV files of 1,000 rows each
- Submit multiple bulk sends (one per file)
- Wait for each batch to complete before starting the next
Monthly Survey Limit (Starter Plan)
Starter plan organizations have a monthly survey sending limit of 500. If you exceed it:
- The bulk send is rejected with an error
- Error message shows remaining survey capacity
- Reduce your batch size to fit within the limit
- Or upgrade to Pro or Business for unlimited surveys
Pro and Business plans have unlimited survey sending.
SMS Quota
If you select SMS or Auto channel:
- Each SMS consumes one credit from your monthly SMS quota
- If quota is exceeded mid-batch, remaining sends fall back to email
- SMS quota is checked for each contact individually
See SMS Sending for details on SMS quotas and add-on packs.
Rate Limiting
Demeterrr doesn't enforce rate limits on bulk sending, but:
- Email provider (Resend) may rate limit for very large volumes
- SMS provider (Twilio) enforces throughput limits
- Both are generous enough for typical use cases
If you're sending to 10,000+ contacts, contact support for guidance on best practices.
Filtering and Automatic Skipping
The system automatically skips certain contacts to protect deliverability and compliance.
Unsubscribed Contacts
Contacts marked as unsubscribed: true are always skipped, regardless of channel. They:
- Don't count toward your send total
- Appear in the "skipped" count
- Are logged as skipped in the audit trail
This ensures compliance with anti-spam laws and respects customer preferences.
Contacts Without Valid Communication Channel
Depending on your channel selection:
Email channel: Skips contacts without email addresses SMS channel: Skips contacts without valid phone numbers Auto channel: Sends via email if available, SMS if not, skips if neither
Duplicate Detection
Select Contacts mode: Can't select the same contact twice (UI prevents it)
CSV Upload mode: If your CSV has duplicate rows:
- First occurrence is processed
- Subsequent duplicates may create separate sendings to the same contact
- Use external deduplication before uploading to avoid this
Future versions will add automatic deduplication in CSV upload mode.
Audit Logging
Every bulk send creates an audit log entry with:
- Total count of contacts
- Skipped count
- Scheduled count
- Survey selected (if any)
- Channel used
- Timestamp and user who initiated
Administrators can view audit logs to track bulk sending activity and troubleshoot issues.
Best Practices
Follow these guidelines for successful bulk campaigns.
Timing
✅ Send during business hours for better response rates ✅ Avoid weekends unless your business primarily operates then ✅ Space out campaigns to avoid survey fatigue (at least 30 days between sends)
Targeting
✅ Segment your audience rather than sending to everyone at once ✅ Use location and employee fields to enable better analytics ✅ Clean your list before uploading (remove duplicates and bad data)
Content
✅ Select a specific survey rather than using the generic default ✅ Ensure survey is active before sending ✅ Test with a small batch first (5-10 contacts) to verify everything works
Channel Selection
✅ Use Auto channel to maximize deliverability ✅ Reserve SMS for time-sensitive campaigns to manage quota ✅ Monitor SMS usage if sending to hundreds of contacts via SMS
Data Quality
✅ Validate phone numbers are in correct format before uploading ✅ Use standard CSV format with header row ✅ Include first names for better personalization and response rates
Troubleshooting
"Exceeded maximum 1,000 contacts"
- Split your list into multiple files
- Submit multiple bulk sends
"Insufficient survey capacity"
- You're on Starter plan and hit the monthly limit
- Reduce batch size or upgrade plan
CSV shows 0 contacts parsed
- Check your CSV has a header row
- Ensure at least one column is named "email" or "phone"
- Verify file is actual CSV format (comma-separated)
Many contacts skipped
- Check for unsubscribed contacts in your list
- Verify contacts have email addresses (if using Email channel)
- Ensure phone numbers are valid (if using SMS channel)
Sendings stuck in "pending" status
- Check Inngest background job queue is running
- Verify email/SMS credentials are configured
- Wait a few more minutes (large batches take time)
Next Steps
Now that you understand bulk sending, explore:
// Related articles
Sending Surveys to Individual Contacts
Learn how to send a survey to a single contact via email or SMS
How Email Delivery Works
Understanding email formatting, sender configuration, and delivery tracking in Demeterrr
How SMS Delivery Works
Understanding SMS quotas, pricing, phone number formatting, and delivery via Twilio
Tracking Survey Delivery
Monitor the status and delivery of all your survey sends in real-time
Importing Contacts from CSV
Import contacts from CSV or Excel files with automatic column mapping
Managing Your Contacts
Create, edit, search, and organize your customer contact database
Was this article helpful?
Let us know if you found this article helpful or if you need more information.
Join hundreds of businesses already using demeterrr to collect feedback, boost reviews, and grow faster.
Start Your Trial