The Personalized SMS Using the Custom File Upload feature in SMSGatewayCenter allows you to send personalized bulk SMS messages by uploading a file with mobile numbers and custom variables, or by entering a message with variables in the user interface. This step-by-step tutorial will guide you through using this feature, explaining each field and functionality to ensure you send tailored messages successfully while avoiding common pitfalls.
Step-by-Step Guide #
1. Access the Custom File Upload SMS Interface #
- What to Do: Log in to your SMSGatewayCenter account and navigate to the Compose SMS menu, where you’ll find the File Upload option for custom messages. Select this method to send personalized SMS using a file or the message textbox.
- What Not to Do: Don’t attempt to send messages without logging in, as unauthorized access will result in errors or blocked requests. Avoid using this method if you need a uniform message without personalization—use the Quick Send method instead.

2. Add an Identifier for Your Campaign #
- What to Do: In the Identifier field, enter a title or name for your campaign (e.g., “Payment Reminders,” “Customer Updates”). This helps you identify and organize your SMS campaigns easily in reports or logs.
- What Not to Do: Don’t leave the Identifier field blank, as this could make it harder to track your campaign later. Avoid using vague or duplicate titles (e.g., “Campaign 1,” “Test”), which could confuse your records.

3. Verify the Send Type Field #
- What to Do: Note that the Send Type field is preselected as “File Upload” and cannot be changed. This confirms you’re using the Custom File Upload method to send messages based on a file with mobile numbers and optional custom variables.
- What Not to Do: Don’t try to modify or override the “File Upload” setting, as it’s fixed for this method. Avoid confusion by ensuring your file or message setup aligns with this method before proceeding.
4. Select a Sender ID #
- What to Do: In the Sender ID field, select an approved sender ID from the dropdown list. This alphanumeric name or number will appear on recipients’ phones, identifying you as the sender. Choose an appropriate sender ID based on your campaign needs. You can set a default sender ID in the Sender ID section of your account, which will automatically load on the compose page for convenience.
- What Not to Do: Don’t use an unapproved or unrecognized sender ID, as this can lead to message rejections by operators. Avoid leaving this field blank or selecting a sender ID not registered for your account.

5. Download and Prepare Your File #
- What to Do: To prepare your file for uploading, click the “Download Sample File” link in the interface. This will download a sample file (e.g.,
.csv
,.xls
,.xlsx
, or.txt
) that you can use as a template. Ensure your file follows one of two formats depending on where you’ll add the message: - Option 1: Message in File:
- Include columns with headers: “Phone,” “Message,” and optional custom variables (e.g.,
$CUSTOM1$
,$CUSTOM2$
up to$CUSTOM10$
). - List mobile numbers under “Phone” (e.g.,
91xxxxxxxxx1
), messages with variables under “Message,” and values for each variable in the corresponding custom columns. - Example in table format:
| Phone | Message | $CUSTOM1$ | $CUSTOM2$ |
|————–|—————————————|———–|———–|
| 91xxxxxxxxx1 | Hello $CUSTOM1$, pay USD $CUSTOM2$ | Joe | 200 |
| 91xxxxxxxxx2 | Hello $CUSTOM1$, pay USD $CUSTOM2$ | Simon | 100 |
| 91xxxxxxxxx3 | Hello $CUSTOM1$, pay USD $CUSTOM2$ | Kumar | 150 | - Replace sample mobile numbers with actual recipient numbers (including country codes) and customize messages with variables as needed.
- Include columns with headers: “Phone,” “Message,” and optional custom variables (e.g.,
- Option 2: Message in Textbox:
- Include columns with headers: “Phone” and custom variables (e.g.,
$CUSTOM1$
,$CUSTOM2$
up to$CUSTOM10$
), omitting the “Message” column. - List mobile numbers under “Phone” and values for each variable in the corresponding custom columns.
- Example in table format:
| Phone | $CUSTOM1$ | $CUSTOM2$ |
|————–|———–|———–|
| 91xxxxxxxxx1 | Joe | 200 |
| 91xxxxxxxxx2 | Simon | 100 |
| 91xxxxxxxxx3 | Kumar | 150 | - Supported file extensions include
.csv
,.xls
,.xlsx
, and.txt
, and you can zip these files for upload if needed.
- Include columns with headers: “Phone” and custom variables (e.g.,
- What Not to Do: Don’t use unsupported file formats (e.g.,
.doc
,.pdf
) or files with incorrect headers, as this will cause upload failures. Avoid including junk characters (e.g., special symbols, unreadable text) in the “Message” column if used, as these can cause delivery failures—check the “File Uploads Summary” report for details. Don’t mix formats (e.g., message in file and textbox) without understanding how variables will resolve.

6. Upload Your File #
- What to Do: In the Upload File field, browse your computer’s files and select the prepared file (e.g.,
.csv
,.xls
,.xlsx
,.txt
, or a zipped version). Ensure the file follows the chosen format from Step 5 (either with or without the “Message” column) and contains valid mobile numbers with country codes. Click the upload button to submit the file, and wait for the system to process it. - What Not to Do: Don’t upload files with missing or mismatched headers (e.g., no “Phone” column), as this will result in errors or failed uploads. Avoid uploading extremely large files without testing a smaller batch first, as this could exceed system limits or cause performance issues.

7. Configure Message with Custom Variables (If Not in File) #
- What to Do: If you didn’t include the “Message” column in your file (Option 2 from Step 5), configure the message in the interface:
- Select Mobile Number Column: From the Select Mobile Number Column dropdown, choose the column header containing mobile numbers (e.g., “Phone”) from your uploaded file.
- Add Custom Variables in Message Textbox: In the Text Message field, compose your message with custom variables (e.g., “Hello $CUSTOM1$, please pay USD $CUSTOM2$”). Click the “airplay” icon next to the textbox, select the desired variable (e.g.,
$CUSTOM1$
,$CUSTOM2$
) from the dropdown, and it will be inserted at the cursor position. Repeat for each variable up to$CUSTOM10$
.
- What Not to Do: Don’t select the wrong column in Select Mobile Number Column, as this will send messages to incorrect or invalid data. Avoid typing variables manually in the textbox without using the “airplay” icon, as this could lead to formatting errors or unrecognized placeholders. Don’t leave the textbox blank if your file lacks a “Message” column, as no messages will be sent.


8. Choose the Message Type #
- What to Do: Use the Message Type field to select your send method. The default options are:
- Text: Send messages using the GSM 03.38 character set (standard Latin characters).
- Unicode: Send messages using the Unicode character set for non-Latin characters (e.g., Hindi, Arabic).
- If you choose Unicode, type your message in English (if not in the file), press the spacebar, and select a language from the dropdown (e.g., Hindi) to transliterate the text automatically (e.g., “Namaste” becomes नमस्ते).
- What Not to Do: Don’t select Unicode unless you need non-Latin characters, as it can increase message costs. Avoid mixing Text and Unicode characters without understanding cost implications, as Unicode messages are priced higher.

9. Enable Smart Link (Optional) #
- What to Do: If you want to append a smart link to all messages, toggle the Enable Smart Link switch to “On.” A Smart Link Title field will appear—enter a title for the link. In the Text Message field (or appended to file messages), click the “Smart Link” or “Media Link” options to open a modal, where you can add a new link or select from previously saved links. The link will be appended to each message automatically.
- What Not to Do: Don’t enable Smart Link unless your campaign requires interactive links, as unnecessary links can confuse recipients or disrupt personalization. Avoid using invalid or broken URLs, which could lead to delivery issues or user frustration.

10. Remove Duplicates (Optional) #
- What to Do: By default, the Remove Duplicates option is enabled, removing any duplicate mobile numbers from your uploaded file to prevent redundant sends. If you intentionally want to send messages to duplicate numbers, uncheck this option—but proceed with caution, as some operators may block duplicate deliveries, leading to failures.
- What Not to Do: Don’t uncheck this option without a specific reason, as sending to duplicate numbers can waste credits, increase costs, and result in delivery failures. Avoid uploading files with known duplicates without reviewing operator policies.

11. Send as Flash SMS (Optional) #
- What to Do: If you want the SMS messages to appear as pop-ups on recipients’ devices, enable the Send as Flash SMS toggle. This applies to all messages and is useful for urgent notifications but should be used sparingly.
- What Not to Do: Don’t overuse Flash SMS, as recipients may find it intrusive, and some operators or devices may restrict or block it. Avoid using Flash SMS for non-urgent or promotional messages unless specified in your campaign.

12. Select or Add a DLT Template (Optional) #
- What to Do: If your campaign requires DLT compliance (e.g., in India), use the DLT Templates List field to choose a pre-approved template based on your selected sender ID. The template will automatically populate in the Text Message field (if used) or serve as a reference, appending its associated DLT Template ID to the DLT Template ID field. If your file’s messages match a manual template, enter the correct template ID in the DLT Template ID field.
- What Not to Do: Don’t use an unapproved or mismatched DLT template, as this can result in message rejection due to regulatory non-compliance (e.g., DLT in India). Avoid leaving the DLT Template ID field blank if manually referencing a template not in your file.

13. Save as Draft (Optional) #
- What to Do: If you want to save your configuration (e.g., Identifier, Sender ID, file, or textbox message) for later use, enable the Save Message Content as Draft toggle. This saves the setup, allowing you to retrieve and resume it later, which is helpful for recurring campaigns or unfinished setups.
- What Not to Do: Don’t rely on drafts for sensitive or time-sensitive campaigns without securing them, as drafts are tied to your account and could be accidentally modified or deleted. Avoid overwriting existing drafts without confirming the content.

14. Schedule Your Message (Optional) #
- What to Do: If you want to send the messages at a future date and time, use the Schedule field to enter the desired schedule (e.g., “2025-03-09 14:00:00”). The messages will be delivered at the specified time. You can later update or cancel the schedule via the Manage Schedule menu in your account.
- What Not to Do: Don’t schedule messages without verifying the time zone (use your account’s default time zone or specify UTC/GMT explicitly). Avoid scheduling messages too far in advance without monitoring operator policies, as some may limit scheduling periods.

15. Enable Campaign Manager (Optional, with Scheduling) #
- What to Do: If you’ve enabled the Schedule field, you can toggle the Enable Campaign Manager switch to “On” to send your campaign in chunks or batches. This is useful for large file uploads to manage delivery rates and avoid operator throttling. Two additional fields will appear:
- Campaign Limit: Enter the number of messages to send per batch (e.g., 10,000 out of 100,000 total contacts).
- Time Interval: Select an interval from the dropdown (e.g., 1 hour) to space out batches, ensuring smooth delivery.
- What Not to Do: Don’t set an unrealistically low or high Campaign Limit without testing, as this can overwhelm operators or delay delivery. Avoid choosing a Time Interval that’s too short, which could trigger rate limits or delivery failures.

16. Add WhatsApp Link (Optional) #
- What to Do: If you want to append a WhatsApp link to all messages, enable the Send WhatsApp Link toggle. Enter your personal WhatsApp number (with the country code) in the WhatsApp Number field and optional default text in the WhatsApp Text field (e.g., “Hi ABC, please contact me”). This generates a short link that, when clicked by recipients, opens WhatsApp to send a message to your number with the default text.
- What Not to Do: Don’t enable this feature unless your campaign targets WhatsApp users, as it may confuse SMS recipients or disrupt personalization. Avoid using invalid WhatsApp numbers or spam-like default text, which could violate WhatsApp policies or lead to rejections.

17. Review and Send #
- What to Do: Before sending, review the live preview in the right column to ensure the sender ID, timestamp, and a sample message (from your file or textbox with variables resolved) appear as expected on a mobile device. Once satisfied, click the Send Text button to initiate sending the SMS to the recipients listed in your uploaded file with your configured options.
- What Not to Do: Don’t send messages without reviewing the preview, as formatting, variable errors, or content issues could lead to delivery failures or user confusion. Avoid sending bulk messages from large files without testing a small batch first to verify delivery and compliance.

Best Practices and Tips #
- File Preparation: Before uploading, ensure your file is clean, free of duplicates, and formatted correctly (e.g., “Phone,” “Message,” and custom variable columns with country codes and no junk characters). Use our Download Sample File to verify the structure.
- Variable Usage: Use up to 10 custom variables (
$CUSTOM1$
to$CUSTOM10$
) for maximum flexibility, but keep messages concise to stay within character limits (160 for Text, 70 for Unicode per part). - Monitor Costs: Be aware of cost differences based on message length, Unicode content, Smart Links, and Flash SMS, as these can increase charges for personalized campaigns.
- Secure Data: Use HTTPS for all API calls and protect file data (e.g., mobile numbers, custom variables) to prevent unauthorized access.
Troubleshooting #
- File Upload Failure: If your file upload fails, verify the file format (
.csv
,.xls
,.xlsx
,.txt
, or zipped versions) and structure (e.g., correct headers). Check for errors in the upload log and adjust accordingly. - Message Not Delivered: Verify file contacts, Sender IDs, and DLT compliance. Check the “File Uploads Summary” report for failed messages due to junk characters or variable errors, and refer to our Delivery Error Codes Reference.
- Variable Not Resolved: If variables don’t populate correctly, ensure column headers match (e.g.,
$CUSTOM1$
) and values are present. Use the “airplay” icon correctly if adding variables in the textbox. - Campaign Manager Issues: If batches fail or delivery is delayed, adjust the Campaign Limit and Time Interval, then test with a smaller file. Contact our team if problems persist.
For further assistance, contact our team at contact @ smsgatewaycenter.com
or refer to our API Documentation.