Chatbot & Commerce

LINE OA's Free Message Quota, and What Burns It

Push, multicast and broadcast messages all draw from the same monthly LINE OA quota — even a single delayed reply to one customer. Here's what's actually free.

Papercraft pop-up card — a smiling green chat bubble holding a paper megaphone

LINE Official Account doesn’t bill every message a Thai shop sends, but it counts more of them than it looks. A shipping-delay update sent an hour after checkout, a confirmation typed up the next morning, even a one-off nudge to a single customer — all of it draws from the same monthly quota as a mass promotion, unless it goes out the instant the customer’s own message arrives. The free plan’s pool is 300 messages a month.

What actually counts against your quota

LINE’s own messaging API documentation splits outbound messages into two groups: push, multicast, broadcast and narrowcast messages all count toward the account’s monthly free-message allowance, while reply messages are free and sit outside it entirely (LINE Messaging API pricing). The split isn’t about how many people receive the message — a push message to one customer still counts, the same as a broadcast to the whole list.

What makes a message a reply instead is a reply token, issued the moment LINE sends a webhook event for something the customer just did. That token can be used once and it expires: LINE’s own API reference documents an explicit error for sending “a reply message using an expired reply token” (LINE Messaging API reference). A message scheduled, delayed, or sent later in response to something that already happened misses that window and goes out as a push message instead — metered, whether it reaches one customer or a thousand. This is a different mechanism from WhatsApp’s 24-hour service window, which governs which message types you’re allowed to send, not which ones get billed.

What a Thai LINE OA plan actually buys

LINE Official Account in Thailand runs three tiers. The Free plan includes 300 broadcast-type messages a month with no way to buy more once they’re gone. The Basic plan is 1,280 baht a month (plus 7% VAT) for 15,000 messages, with extras at 0.10 baht each; the Pro plan is 1,780 baht a month for 35,000 messages, with extras at 0.06 baht each (LINE for Business: broadcast message plans; LINE for Business: package update notice). Run out on the Free plan and there’s nothing left to pay for — the API returns an error and the message simply doesn’t send.

Count every shipping update, stock confirmation and follow-up nudge sent in a month, not just a once-a-month promotion, and 300 disappears fast — faster than the plan reads on paper. It’s a narrower cousin of the 12-card limit on LINE product carousels: a platform number that looks generous until a real order volume hits it.

Set up in 1CS

The one message type LINE never meters is an instant reply to something the customer just sent — so the fewer routine answers your team has to queue up or schedule, the less quota they spend. Build those as an Automation rule (the step-by-step guide is in Thai): open AI > เงื่อนไขอัตโนมัติ (Automation) in 1CS, then either start from the “ลูกค้าถามราคา” (customer asks the price) template, the “ข้อความต้อนรับ” (welcome message) template, or build a rule with trigger ข้อความถูกสร้าง (a new message), a condition matching the words you expect (“ราคา”, “เท่าไหร่”, “ค่าบริการ”), and the action ส่งข้อความ (send a message). Because the rule fires the moment the customer’s message lands, the reply goes out in the same window LINE reserves for free replies — not queued for a later batch. Edit the template’s placeholder price before turning it on, and start with a label-only rule first if you want to check it fires correctly before it messages anyone directly.

Something to copy: a quota budget before you schedule anything

Before sending to more than one customer at once, add up the month: routine updates + planned promotions + cart-recovery messages = your monthly total. Check that total against your plan’s quota — 300 (Free), 15,000 (Basic), or 35,000 (Pro) — before committing, not after a broadcast stalls out mid-month. A same-moment reply template that never touches that total:

Hi, thanks for asking! [product name] starts at [price] THB, with shipping from [shipping fee] THB. Want me to check stock for your size/color?

That’s the number worth tracking — not a general reminder to “watch your broadcast usage.”