# Message types
___

## Zalo Notification Service

### Message templates [#message-templates-zalo-notification-service]

Zalo Notification Service (ZNS) messages must always use **pre-approved templates registered with Zalo**. Templates can include text, placeholders, accented characters; and rich formatting such as tables, images, and call-to-action (CTA) buttons.

ZNS templates support a maximum of 400 characters.

For more information, refer to the [ZNS compliance and guidelines](https://www.infobip.com/docs/compliance-guidelines#zalo-notification-service) section. For assistance with registering a Zalo ZNS template, contact our [Support](https://www.infobip.com/contact).

### URL shortening and tracking [#url-shortening-tracking-zalo-notification-service]

Infobip enables **URL shortening and tracking** for ZNS 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**. However, these shortened links **will not be clickable** in the Zalo app on mobile devices, meaning engagement (click tracking) is not possible. However, these shortened links **will not be clickable** in the Zalo app on mobile devices, meaning engagement (click tracking) is not possible.

**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 button. 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, a **CTA button's domain cannot be modified**, and tracking cannot be enabled for templates not originally created for this purpose.

Tracking and shortening is available over:
- [Standalone Zalo ZNS API](https://www.infobip.com/docs/api/channels/zalo/zalo-notification-service/send-zalo-message)
- [Broadcast](https://www.infobip.com/docs/broadcast/) ([web interface](https://portal.infobip.com/broadcast))
___

## 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.

1. **Set up your message**
    - Log in to the Infobip [web interface](https://portal.infobip.com/broadcast/templates).
    - Go to Broadcast and select **Create broadcast**.
    - Select **Zalo** as the preferred channel.

2. **Fill in the message details**
   - **Recipient**: Add user(s) by [uploading from a file](https://www.infobip.com/docs/broadcast/create#file-requirements-new-broadcast), using an existing file, or adding them from [People](https://www.infobip.com/docs/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.

3. **Adjust delivery options**
   - Adjust additional [broadcast options](https://www.infobip.com/docs/broadcast/settings).

   NOTE
   To track clicks on Zalo CTA buttons, make sure the button URL is [registered in the correct format](https://www.infobip.com/docs/zalo/message-types#url-shortening-tracking-zalo-notification-service) (for example, `https://mybrand.com/<param1>`).

4. **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.

5. **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.

___