Send a different message for each recipient with a CSV file
If you have a CSV file containing a completely personalized message per recipient (amount due, RIB, commercial information, etc.), you can send each unique text via a campaign — without having to create a common template.
How it works
The platform supports three custom fields per contact: custom1, custom2 and custom3. These fields can be used as variables in the body of your messages via the {{custom1}}, {{custom2}} and {{custom3}} tags.
For entirely different messages from one contact to another, the solution is to place the full text of each message in the custom1 column of your CSV, then use {{custom1}} as the body of the SMS in the campaign.
Step 1 — Prepare CSV file
Create a CSV file with the following columns in this order:```csv
phone,name,message
+212600000001,Ahmed Bennani,"Hello Ahmed, your balance due is 1,250 MAD. RIB: 1234567890. Contact: Youssef — 0661000001."
+212600000002,Sara Alaoui,"Hello Sara, your balance due is 3,400 MAD. RIB: 0987654321. Contact: Houda — 0661000002."
**Important points for the file:**
- Use the international format for numbers: `+212XXXXXXXXX`
- Surround text containing commas or newlines with double quotes
- Encode the file in UTF-8 to avoid problems with accented characters
## Step 2 — Import contacts into a list
1. From the dashboard, go to **Contacts** → **Import contacts**
2. Upload your CSV file
3. The platform automatically detects the mapping: check that your `message` column is correctly associated with `{{custom1}}`
4. Select or create a dedicated list (for example: “Customer reminders August 2026”)
5. Confirm the import — your 93 contacts will appear in the list
## Step 3 — Create the campaign
1. Go to **Campaigns** → **New Campaign**
2. Select your list “Customer reminders August 2026”
3. Choose your personalized **Sender ID** (available upon validation)
4. In the **Message body** field, enter only:```
{{custom1}}
Step 4 — Test before sending
Before launching the campaign, send a test SMS to your own number to verify that the personalization is applied correctly. The preview in the interface will also show you an example of the message with the variables resolved.
Summary of available variables
| Varies | Source in the CSV | Usage example |
|---|---|---|
{{name}} |
Column name |
Hello {{name}}, |
{{phone}} |
phone column |
Your number: {{phone}} |
{{custom1}} |
1st free column (eg: message) |
{{custom1}} |
{{custom2}} |
2nd free column | {{custom2}} |
{{custom3}} |
3rd free column | {{custom3}} |
Waiting for Sender ID validation?
You can prepare and save the campaign now (in draft), and launch it as soon as you receive confirmation of validation of your Sender ID. Importing contacts can be done today without waiting.