Skip to main content

Sending Campaigns from a CSV

You don't need a Shopify segment to run a campaign. If you already have a list of phone numbers — from a spreadsheet, another CRM, or an export — you can upload it directly as a CSV (or Excel) file and send a WhatsApp template to everyone in it.

Start a Campaign

  1. Go to Broadcasts → Campaigns and click Start Campaign.
  2. On the Select Contacts step, CSV Upload is the default option (you can switch to Shopify Segment instead if you'd rather target a segment).
  3. Upload your .csv or .xlsx file (up to 10MB).

CSV Format Requirements

RequirementDetails
HeadersThe first row must contain column headers.
No gapsThere should be no empty rows or columns in between data.
Name columnHeader must be named name.
Phone columnHeader must be named phone or mobile.
Other columnsAny additional column (order ID, coupon code, delivery date, etc.) is preserved and can be used as a template variable.

A minimal example:

name,phone,order_id
Aditi Sharma,9876543210,ORD-1042
Rahul Verma,9123456789,ORD-1043

A few things to know about how the file is processed:

  • Phone numbers without a country code are assumed to be India (+91).
  • Duplicate phone numbers are automatically de-duplicated — only the first row for a given number is kept.
  • A campaign supports a maximum of 30,000 contacts. If your file has more rows than that, trim it before uploading.

Once the file is uploaded, the page shows how many contacts were parsed from it before you continue.

Select a Template and Map Variables

On the Select Template step, pick the WhatsApp template to send. If the template has variables (for example {{1}} for a customer's name or {{2}} for an order ID), you'll be asked to provide a value for each one. For CSV campaigns you get a choice per variable:

  • Static Value — the same value is sent to every contact.
  • CSV Column — the value is pulled from a column in your uploaded file, per contact.

Map each variable to the matching CSV column (for example, map an order_id variable to your order_id column) so every recipient gets a personalized message.

Send the Campaign

On the Send Campaign step, name your campaign and choose whether to send Now or Schedule for later. Review the contact count and send time in the Campaign Details summary, then click Save Campaign.