Message types
ZBS Template Message
ZBS Template Message is the Zalo unified template model for both phone-number-based (ZNS) and UID-based sending. It is the standard for all Zalo business messaging. All ZBS templates must be pre-approved by Zalo Business Solutions before sending, regardless of the sending method.
Templates can include text, placeholders, accented characters, and rich formatting such as tables, images, and call-to-action (CTA) buttons. Templates support a maximum of 400 characters.
For more information on compliance, see the ZNS compliance and guidelines section. For assistance with registering a template, contact Support (opens in a new tab).
Template classification
Each template is assigned a tag that determines its classification and permitted use cases:
| Tag | Classification | Use case |
|---|---|---|
| Tag 1 | Transaction | Order confirmations, booking alerts, payment reminders |
| Tag 2 | Customer care | Support responses, service updates |
| Tag 3 | Promotion | Marketing campaigns, after-sales offers |
All quota tiers can send templates of all three tag types, including promotions.
Sending methods
ZBS templates can be sent using two methods:
Send using phone number (ZNS)
Messages are routed through the ZNS API and billed at the ZNS price. Phone-based sending is available through both the API and the ZCA/ZBS Account web interface.
Send using UID
Messages are routed through the Zalo OA API and billed at the subsidized UID price (price_uid). UID sending is API-only. The ZCA/ZBS Account web interface does not support UID sending.
Templates approved from 10 December 2025 can be used for both UID and phone-based sending. Templates approved before that date are phone-only. To use a template approved before 10 December 2025 with UID sending, create and submit a new ZBS-standard template for approval.
UID limitations
The following template types require phone-based ZNS and cannot be sent using UID:
- OTP (Verification) templates
- Templates with Response buttons
- Journey templates (Logistics, Bus, and similar)
- Any template where the UID channel price equals 0
Business Box
Business Box is a separate inbox area in the Zalo app for Official Accounts (OAs). It receives messages when the user has no meaningful interaction with the OA. Routing depends on message classification and the user's relationship with the OA:
- Promotion messages (Tag 3) go to Business Box if the user has no meaningful interaction with the OA. If meaningful interaction exists, the message goes to the main Inbox.
- Transaction messages (Tag 1) always go to the main Inbox.
- Broadcast and Consultation messages always go to the main Inbox.
Meaningful interaction is defined as any of the following:
- The user follows the OA.
- The user initiated a chat or call with the OA.
- The OA is pinned by the user.
- The OA appears in the user's "Khac (Others)" subtab.
If a user followed the OA and then unfollowed it, with no other meaningful interactions, Zalo treats this as no meaningful interaction.
Zalo re-evaluates thread position only when a message is sent, not when a user follows or unfollows an OA.
Sending quotas
Zalo assigns daily sending quotas per OA. Quotas apply to all template types:
| Tier | Daily quota |
|---|---|
| Tier 1 | 1,000 messages |
| Tier 2 | 10,000 messages |
| Tier 3 | 20,000 messages (default) |
| Tier 4 | 50,000 messages |
| Tier 5 | Unlimited |
Additional per-user rules for promotion messages (Tag 3):
- Maximum 1 promotion message per OA per user per day.
- Maximum 30 promotion messages per OA per user per month.
- No pre-condition is required. Users do not need to have previously received a transactional message.
URL shortening and tracking
Infobip enables URL shortening and tracking for ZBS Template Messages, allowing businesses to monitor link clicks only for CTA (call-to-action) buttons. Customers can use URL shortening in two ways:
1. Shortening URLs inside placeholders
- You can register a template placeholder (
param1) for URLs. Infobip will automatically shorten them when sending messages if shortening is enabled. These shortened links are not clickable in the Zalo app on mobile devices, so click tracking is not available.
2. Tracking clicks on URLs in CTA buttons
- For click tracking, the template must include a CTA button with a custom domain at the time of creation. The button's URL must be in the following format:
https://<custom_domain>/<param1>.
The param1 parameter is a registered placeholder that will be replaced with the full URL when sending the message. The custom domain must be verified for the customer's account and cannot be changed later.
Click tracking is only available for URLs inside CTA buttons. URLs in CTA buttons cannot be shortened if the template was not initially created for tracking.
Important considerations
- All placeholders in a template will be shortened. You cannot selectively exclude certain parameters.
- Only CTA button templates allow click tracking. Shortened URLs in template placeholders are not clickable.
- Always provide the full original URL as the parameter value for CTA button templates. Infobip will automatically shorten it.
- Do not manually insert a pre-shortened URL as the parameter value.
- Once registered, the CTA button domain cannot be modified, and tracking cannot be enabled for templates not originally created for this purpose.
Tracking and shortening is available over:
Zalo over Broadcast
Use Broadcast to send a one-time Zalo campaign using a preapproved message template. You can populate template parameters with dynamic values, add SMS as a fallback option, and configure delivery settings such as scheduling and validity.
- Set up your message
- Log in to the Infobip web interface (opens in a new tab).
- Go to Broadcast (opens in a new tab) and select Create broadcast.
- Select Zalo as the preferred channel.
- Fill in the message details
- Recipient: Add user(s) by uploading from a file, using an existing file, or adding them from People.
- Sender: Select your Zalo sender.
- Select to create content: Select this option to open the template editor. Browse available templates and select Use for the one you want. Fill in the required parameters, then select Done designing.
- (Optional) Add parameters: Insert custom parameters to personalize your message content.
- Failover to SMS: Toggle on to ensure the message is sent as an SMS if the user cannot receive Zalo.
- Adjust delivery options
- Adjust additional broadcast options.
NOTETo track clicks on Zalo CTA buttons, make sure the button URL is registered in the correct format (for example,
https://mybrand.com/<param1>).
- Preview and confirm
- Select Continue to preview.
- Review the broadcast summary. Zalo preview is not available, only SMS failover content will be visible.
- If needed, select Back to settings to edit.
- Send the broadcast
- Select Launch to send your Zalo broadcast with SMS failover.
- Optionally, select Send test to send a test message before launching the full campaign.