Most bulk SMS pages in Malaysia are a price list with a signup button. This one explains the parts that decide whether your messages actually arrive — and what to check before you hand anyone money.
Bulk SMS is sending one message to many Malaysian mobile numbers through a provider that has commercial connections into the local networks — Maxis, CelcomDigi, U Mobile, YES and Unifi. You are not sending from a phone. You are handing a list and a message to an aggregator, who submits it to each operator.
That intermediary step is where almost every surprise comes from: what you are billed for, what the operator does with your message, and what "delivered" means on your dashboard are three different things. The rest of this page is those three things.
An SMS is not "one message". It is billed per segment, and the segment size depends on which characters you use:
| Content | Single segment | Per segment when longer |
|---|---|---|
| Plain English / numbers (GSM-7) | 160 characters | 153 characters |
| Any Chinese, emoji, or accented character | 70 characters | 67 characters |
Two consequences people discover after their first invoice. First, one emoji converts the entire message to Unicode and cuts your budget from 160 characters to 70 — a 180-character English message is 2 segments, the same message with one smiley is 3. Second, when a message spills past one segment, each part loses 7 characters to the joining header, which is why the limit drops to 153 and 67.
There is a third one specific to our route: our upstream route adds a 4-character prefix to every message, and those characters come out of your budget. So one segment actually holds 156 plain-English characters, or 66 if the message uses Unicode — a message you measured at 158 characters is already 2 segments. Count before you send — our SMS segment calculator shows the billed count including that prefix.
You have two options in Malaysia and they are not interchangeable:
| Alphanumeric sender ID | Short code | |
|---|---|---|
| Looks like | Your brand name as text | A 5-digit number, e.g. 66886 |
| Can the recipient reply? | No | Only if the code is set up for replies — our shared code 66886 is not |
| Setup | Registration per operator, takes weeks | Use a shared code immediately |
| Good for | Brand recognition on marketing | OTP, alerts, notifications |
We currently send everything from the shared short code 66886 and don't offer branded sender IDs or dedicated short codes. Recipients cannot reply to it, and we don't receive replies either. Full detail in SMS sender ID in Malaysia and short code SMS in Malaysia.
Malaysian operators maintain a shared list of protected international brand names — over a thousand entries across CelcomDigi, Maxis, TuneTalk and U Mobile. Put one in your message body and the operator bills a penalty of RM1.50 per segment, charged back through your provider to you.
Do the arithmetic before you write your next promo: a single-segment blast to 100 recipients that mentions a protected brand is a RM150 penalty against roughly RM20 of traffic. That is not thin margin, that is losing more the more you send. Any provider that does not screen for this before charging you is quietly passing you the risk.
| Stage | What it proves | What it does not |
|---|---|---|
| Submitted | Your provider accepted it and billed you | Anything about the telco |
| Accepted by operator | The network took the message | Anything about the handset |
| Delivered (DLR) | The network confirmed handset receipt | That a human read it |
Plenty of dashboards report stage 1 as "delivered". A fully green dashboard is compatible with zero messages arriving. The test: ask to see a report where the "sent" number and the "delivered" number are different. If a provider's two numbers are always identical, they are showing you submissions, not deliveries. See why SMS is not delivered in Malaysia.
The full version, with what a good answer sounds like for each question: how to choose an SMS provider in Malaysia.
Pricing is per segment, not per message, so the real cost depends on your message length and whether it contains non-English characters. A 150-character English message is one segment; add one emoji and it becomes three segments, because Unicode drops a segment to 66 characters on our route. Check the billed segment count before sending — our segment calculator includes the 4-character prefix our upstream route adds to every message, which most calculators miss. The standard rate is RM0.20 per segment and drops automatically as your volume grows; full rates are on our pricing page.
You do not need a telecommunications licence to be a sender — your provider holds the commercial relationship with the operators. You do have obligations under the Personal Data Protection Act for marketing messages: consent, a working opt-out, and using the data only for the purpose it was collected for. See our PDPA guide.
Either it went past one segment — 156 plain-English characters on our route — or it contains a character that forces Unicode encoding and drops the limit to 66. One emoji, one Chinese character, or a curly apostrophe pasted from Word is enough. Both limits are lower than the textbook 160 and 70 because our upstream route adds a 4-character prefix to every message.
You can send to any valid Malaysian mobile number in 60XXXXXXXXX format across Maxis, CelcomDigi, U Mobile, YES and Unifi. Landlines will not work. Whether you should send is a separate question — marketing to people who never opted in is both a PDPA problem and the fastest way to get your traffic filtered.
Throughput is set by the operator route, not by the size of your list. A few thousand messages typically clear in minutes. What you should watch is not raw speed but whether delivery reports come back per number afterwards — speed with no visibility tells you nothing about whether the campaign worked.
After signing up, message us on WhatsApp to claim RM1 of trial credit — enough for about 5 single-segment English messages to your own number before you spend anything.