Why send bulk WhatsApp messages from Excel

Most small businesses keep orders, bookings or members in Excel or Google Sheets. Sending bulk WhatsApp messages from that Excel file saves hours of copying numbers and lets each row carry its own details: a name, an order number, a date or an amount.

WhatsApp itself has no import button. On your phone you can only use broadcast lists, which need contacts saved first and stop at a few hundred people. A tool that reads the spreadsheet and opens each chat for you fills that gap.

Prepare the spreadsheet

Put column names in the first row, for example phone, name and order. Keep one customer per row and one phone number per cell. Format the phone column as text so Excel does not drop the leading zero or turn long numbers into scientific notation.

Write numbers in international format if you can (country code first, no plus sign or spaces needed). If your list mixes local numbers that start with zero, you can set a default country code when you import.

Remove people who did not ask to hear from you. A short list of customers who expect your message is worth more than a long list of strangers.

Excel, CSV or Google Sheets

Wassender reads .xlsx, .xls and .csv files, a public Google Sheets link, or numbers you paste. CSV exports from shop systems and booking tools work the same way as an Excel file.

The file is processed inside your browser and is not uploaded. Wassender shows a preview that flags duplicates, empty cells and invalid numbers before anything is sent.

Write one message that fits every row

Each column becomes a variable you can drop into the text, such as [name] or [order]. Add a fallback for empty cells with [name|friend], so nobody gets a message that starts with a blank.

Preview the message against real rows. If one customer's name or order looks wrong in the preview, fix the cell in the spreadsheet rather than the template.

Send at a human pace

Messages go out one at a time from your own WhatsApp account, with randomized delays, rests between batches, a daily limit and optional sending hours. Pick Careful for a new number or a new list.

No setting can guarantee WhatsApp will not restrict an account. What protects you most is messaging people who know you and expect the message, and making it easy to say stop.

A sheet layout that works

A simple layout covers most shops: column A phone, column B name, column C order, column D pickup_date, column E branch. Row 1 holds those headers in plain words without symbols, because each header becomes the variable you type in the message, such as [pickup_date]. Avoid merged cells, blank header cells and several numbers in one cell separated by a slash; split them into separate rows instead.

If you export from a shop system, delete the columns you will not use before importing. Fewer columns make the variable list easier to read, and you are less likely to insert the wrong one. Keep a copy of the original export so you can always go back.

Example message for that sheet: "Hi [name], this is Rose Bakery. Your order [order] is ready at our [branch] branch from [pickup_date]. Reply here if you need a different time." Each customer receives a version with their own order number, branch and date, and the reply comes straight back into your normal WhatsApp chat with them.

Common mistakes and how to fix them

Numbers turn into 9.66E+11: Excel converted the column to scientific notation. Select the column, set its format to Text, and paste the numbers again from the source. Typing an apostrophe before a number also keeps it as text.

Local numbers fail: the list mixes 0501234567 and 966501234567. Choose the default country code at import so local numbers starting with zero are completed, and check a few rows in the preview to confirm they look right.

The same customer gets two messages: the sheet has duplicate rows from two orders. Wassender flags duplicates in the preview and excludes them, but it is worth merging orders into one row first so the message mentions everything at once.

The message reads "Hi ,": the name cell is empty. Add a fallback such as [name|there], or fill the missing names before you start. Test the whole flow with two or three of your own numbers in the sheet before the real run, so you see exactly what a customer will see.

How long it takes and when to send

Plan the timing before you press start. With Careful or Balanced pace, each message waits a randomized number of seconds before the next one, and longer rests come after each batch. As a rough guide, Balanced waits 30 to 60 seconds per recipient and rests 5 minutes after every 30, so 100 customers take about an hour and a half and 250 customers take close to four hours. Wassender shows the estimated duration on the confirmation screen, next to the recipient count and a sample message.

Send when customers can act on the message. Order-ready and pickup messages work best in the morning, so people can plan their day. Offers do well in the late afternoon. Avoid very early mornings, late nights and prayer or meal times in your market. Set sending hours, for example 09:00 to 20:00, so a long campaign pauses at the end of the window instead of messaging people at midnight.

For bigger lists, add a daily limit and let the campaign continue on the following days. Start with your most recent customers, who are most likely to recognize you, and send to older rows later. Keep WhatsApp Web open in Chrome while the campaign runs; you can work in other tabs, but closing the browser or letting the computer sleep stops sending until you return.

Check the results

After the run, the report shows delivered, failed, skipped and replied for each recipient, and you can export it to Excel. Skipped rows usually mean an invalid number or someone on your opt-out list.

Step by step

  1. Install Wassender from the Chrome Web Store and open WhatsApp Web in desktop Chrome.
  2. Start a new campaign and choose Spreadsheet, then upload your .xlsx, .xls or .csv file.
  3. Select the phone column and set a country code for local numbers.
  4. Write the message and insert variables such as [name] and [order].
  5. Review the preview for duplicates and invalid numbers, then pick a pace such as Careful.
  6. Confirm the recipient count and start; watch the live log or pause at any time.

Plan: Every new account gets 1 hour of Unlimited free from its first campaign, no card needed. After that, sending needs a paid plan: US$9.99 a month, US$79 a year or US$99 once for Lifetime. Nothing renews unless you switch on auto-renew for Monthly at checkout, and you can cancel that anytime.

Frequently asked questions

Do the numbers need to be saved in my phone?

No. You choose the phone column in the file and Wassender opens each chat by number, so contacts do not need to be saved.

Is my spreadsheet uploaded anywhere?

No. The file is read and processed in your browser; Wassender does not upload it.

Why did Excel change my phone numbers?

Excel treats long numbers as numeric values and can drop leading zeros. Format the phone column as text before typing or pasting numbers.

How many messages can I send from one file?

There is no fixed file limit, but a safe pace matters more than size. Use a daily limit and split large lists across days.

Keep reading