// Sending Surveys

Bulk Sending to Multiple Contacts

Send surveys to hundreds of contacts at once using contact selection or CSV upload

11 min read
Updated March 18, 2026
sendingbulkcsvuploadmultiplebatch

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.

01

Accessing Bulk Send

To start a bulk sending operation:

  1. Navigate to Sendings in the sidebar
  2. Click the Bulk Send button in the top right

This opens the Bulk Send dialog with two modes to choose from.

02

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.

03

Select Contacts Method

This method lets you search and choose specific contacts from your database.

Searching for Contacts

  1. Click the Select Contacts button to activate this mode
  2. Use the search box to find contacts by name, email, or phone
  3. As you type, up to 20 matching contacts appear in the list
  4. 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:

  1. Click any contact row to toggle their selection
  2. Selected contacts show a checked checkbox and highlighted background
  3. Click again to deselect
  4. 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.

04

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

  1. Click the Upload CSV button to activate this mode
  2. Click anywhere in the dashed upload box
  3. Select your .csv or .txt file from your computer
  4. 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
05

Shared Configuration Fields

Both methods use the same configuration options for the actual sending.

Survey Selection

Survey dropdown (optional):

  • Shows only active surveys
  • Draft and archived surveys are excluded
  • If not selected, sends a generic "Feedback Survey" invitation

Selecting a specific survey:

  • Personalizes the email with the survey name
  • Improves tracking and analytics
  • Provides better context for recipients

Channel Selection

Choose from three channel options:

Auto (default):

  • Prefers email if contact has email address
  • Falls back to SMS if no email available
  • Respects SMS quota limits

Email:

  • Only sends via email
  • Skips contacts without email addresses
  • No SMS quota consumed

SMS:

  • Only sends via SMS
  • Skips contacts without phone numbers
  • Consumes SMS quota for each message

For details on how each channel works, see Email Sending and SMS Sending.

Location and Employee

Location (optional):

  • Select which location this campaign is associated with
  • Useful for multi-location businesses
  • Enables location-based analytics

Employee (optional):

  • Assign to a specific employee
  • Tracks which team member's customers are being surveyed
  • Powers employee performance reports

Both fields apply to all contacts in the bulk send. You can't assign different locations or employees to different contacts in the same batch.

06

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:

  1. Checks you haven't exceeded 1,000 contacts
  2. Verifies your subscription plan's monthly survey limit (Starter plan)
  3. Filters out unsubscribed contacts
  4. Filters out contacts without email or phone (depending on channel)

Contact Creation (CSV mode with toggle enabled):

  1. Checks each row's email/phone against existing contacts
  2. Creates new contact records for unmatched rows
  3. Updates the contact database

Sending Preparation:

  1. Creates individual sending records for each valid contact
  2. Batches records into groups of 100 for performance
  3. Queues Inngest background jobs for delivery

Background Processing:

  1. Inngest processes each sending asynchronously
  2. Sends emails or SMS messages one by one
  3. Updates sending status as messages are delivered
  4. 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.

07

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:

  1. Split your list into multiple CSV files of 1,000 rows each
  2. Submit multiple bulk sends (one per file)
  3. 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.

08

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.

09

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.

10

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

11

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)

Was this article helpful?

Let us know if you found this article helpful or if you need more information.

Take Control Of Your Reputation. Take Control Of Your Reputation. Take Control Of Your Reputation. Take Control Of Your Reputation.

Join hundreds of businesses already using demeterrr to collect feedback, boost reviews, and grow faster.

Start Your Trial