Session vs Template Messages on the WhatsApp Business API
On the WhatsApp Business API there are two ways a business can send a message: a **session message** (free-form text, media, or interactive content) and a **template message** (a pre-approved, structured format). The difference comes down to timing and permission. Session messages can only be sent inside an open 24-hour service window that a customer opened by messaging you. Template messages are the only way to reach a customer outside that window or to start a conversation first. Confusing the two is one of the most common reasons businesses see messages fail to send, get templates rejected, or run up costs they did not expect.
In one line
Session messages are free-form and can only be sent inside the 24-hour service window a customer opens by messaging you. Template messages are pre-approved formats and are the only way to initiate a conversation or reach someone outside that window.What a session message actually is
A session message is any message you send while a customer service window is open. The window opens the moment a customer sends your business a WhatsApp message — a text, a button tap, a reaction, or any inbound event — and it stays open for 24 hours from that last inbound message. Inside the window you can reply freely: plain text, images, PDFs, location pins, interactive list and reply-button messages, and more, with no template and no pre-approval. This is what makes real support conversations feel natural. The catch is that the window is strictly reactive. If the customer goes quiet and 24 hours pass, the window closes, and any free-form message you try to send will simply be rejected by the API until the customer messages you again or you re-open contact with a template.
- Opens on any inbound message from the customer
- Lasts 24 hours from the customer's most recent message
- Allows free-form text, media, and interactive content
- Each new inbound message resets the 24-hour clock
- Cannot be used to message someone first
What a template message is and why it needs approval
A template message uses a format you submit to Meta in advance and that Meta reviews before it can be sent. Because a template can reach someone who has not messaged you recently — or ever in the last 24 hours — Meta holds it to a higher bar to protect users from spam. Templates support variables (like a customer name, order ID, or delivery date), header media, quick-reply and call-to-action buttons, and are categorised as marketing, utility, or authentication. That category is chosen at submission and matters, because it determines both how strictly the template is reviewed and how the message is priced. A template is the only lawful way to start a conversation with a customer or to re-engage one after the 24-hour service window has closed.
- Submitted to Meta and approved before first use
- Supports variables, media headers, and buttons
- Categorised as marketing, utility, or authentication
- Required to initiate contact or message outside the window
- Rejected if it looks like spam, is miscategorised, or breaks formatting rules
How the two work together in a real conversation
In practice you almost always use both. A typical flow starts with a template — say a utility template confirming an order or an authentication template sending a one-time code. When the customer replies, their inbound message opens the 24-hour service window, and from that point you can answer with free-form session messages: follow-up questions, tracking updates, images, whatever the conversation needs, at no template-approval friction. If the conversation stalls and the window lapses, you drop back to a template to reopen it. Thinking of it this way — templates to open or reopen a door, session messages to hold the conversation once it is open — is the mental model that keeps most teams out of trouble.
How billing relates to session and template messages
It is important not to confuse the message type with how you are charged. Since 1 July 2025, Meta bills the WhatsApp Business API per delivered message, priced by the message's category — marketing, utility, or authentication — rather than by 24-hour conversation. The 24-hour service window still exists, but it is now a free service window that governs whether you may send free-form session messages; it is not itself a billing unit. Practically: session (free-form) messages sent inside an open window are generally not charged as separate billable business-initiated messages — though only until 30 September 2026, as service messages become chargeable from 1 October 2026 — while template messages are billed per delivered message at their category rate. InfiQ shows this to you as transparent ₹ pricing (ex-GST), so the cost of each category is visible before you send.
- Billing is per delivered message, by category — not per conversation
- The 24h window is a free service window, not a billing unit
- Template messages are billed at their marketing/utility/authentication rate
- Choosing the wrong category can change what you pay and risk rejection
Common mistakes teams make
Most session-vs-template errors trace back to a few recurring misunderstandings. Teams try to send a free-form message after the window has quietly closed and are surprised when it fails. They submit a promotional message under the utility category to try to save cost, and it gets rejected or reclassified. They assume opening a window with one customer lets them message everyone. Or they hardcode content into a template that should have been a variable, forcing a fresh approval every time a detail changes. Getting the model right up front — and structuring templates cleanly with variables — avoids template rejections, failed sends, and avoidable cost.
- Sending free-form messages after the 24h window closed
- Miscategorising a marketing template as utility to cut cost
- Assuming one open window applies to other contacts
- Hardcoding values that should be template variables
- Forgetting that only templates can start a conversation
Frequently asked questions
What is the difference between a session and a template message?+
When does the 24-hour window open?+
Can I send a session message to start a conversation?+
Why do templates need approval but session messages do not?+
Are session messages free?+
Do session and template messages cost the same?+
What happens if I try to send a free-form message after the window closes?+
Can one open window let me message all my customers?+
Not sure which message type your flow needs?
An InfiQ onboarding specialist will map your templates and service windows to your exact use case — book a quick call and get set up right the first time.