Viber Business distinguishes several message types. The type determines what content the message may carry and what rate it is billed at — in the portal $[price list](en:gb:viber) each type is a separate item.

## Transactional message

A transactional message informs the customer about something that directly concerns them: the status of an order, a registration confirmation or a received payment. It usually follows an action the customer has taken.

A transactional message may contain **text only**. You cannot use an image, a video or a button in it.

> [!IMPORTANT]
> You only get the **Transactional** rate from the price list for a message sent through a registered Viber template. Plain text sent from the portal — through *Send message*, from a campaign or from the API — is billed at the promotional message rate, even when its content is a notification.

## Transactional message with a registered template

All transactional messages must be registered as a template and approved by Viber.

In the portal price list the **Transactional with registered template** item is only shown for countries where this type is used — for other countries it is not listed at all.

### Where the template is registered

You manage templates in the portal in **SMS & Viber messaging → Viber templates**. Templates are approved by Viber and until a template is **Approved**, the portal will not send a message through it. The full procedure — filling in the form, rules for variables, language versions and using the template in modules and the API — is described on the [Viber template registration](https://www.bulkgate.com/en/helpdesk/viber/viber-template-registration/) page.

### The “Use Viber template” option in modules

In the notification settings in the **Modules & API** section there is a **Use Viber template** checkbox for the Viber channel. Tick it if your message wording is approved by Viber as a template — the message is then billed at the *Transactional with registered template* rate instead of the promotional one.

## OTP template

Messages with a one-time verification code have their own **OTP template** rate in the price list. The code is always sent in a template, plain text cannot be used for OTP.

You have two options:

- **Viber's ready-made templates.** The [OTP API](https://www.bulkgate.com/en/docs/otp-api/one-time-password-send/) uses them automatically. Based on which details you fill in — code type, validity period, business or platform name and the reason the code was sent — the portal picks the matching template from the set Viber has prepared for OTP. You do not have to write any wording yourself.
- **Your own OTP template.** You create it in **Viber templates** with the `OTP` type. The portal automatically adds the mandatory `pin` variable for the code itself and does not allow it to be removed. Unlike in a transactional template, an OTP variable may also stand at the end of the text.

## Promotional message

A promotional message (**Promotional** in the price list) advertises products, services, events or a brand. It is the only type that may carry rich media — an image, a video, a button or a carousel.

A [campaign](https://www.bulkgate.com/en/helpdesk/campaign/viber-campaign/) is always sent at the promotional rate, regardless of the message content.

> [!TIP]
> Viber allows advertising, but we recommend starting communication with customers with welcome information.

## Session

A session is a two-way conversation with a customer within a 24-hour window, billed as a whole rather than per delivered message.

A session may contain text only, or an image only.

### Session rules

- A session only opens when the user starts the conversation and no session is currently running.
- Once the user writes to your business, a 24-hour window opens in which you can reply with a session type message. All such messages are billed as a single session.
- When you reply to the user with a session type message, a session ID is produced and included with every further message in the same session.
- A single session is limited to 60 messages sent to the user. Upon reaching the limit the session ends.
- Without a user response you can send at most 5 consecutive session type messages. The 6th results in an error and is not sent. You can send more once the user replies again within the session.
- If the user replies after the session has ended, a new session begins with a new session ID.

> [!TIP]
> Do not send more than 3 consecutive messages without receiving a reply, and do not send session type messages outside a session.

### Session billing

1. You are billed per session (all session type messages under the same session ID), not per individual delivered message.
2. Each session ID is billed according to the rate predetermined for the destination country.
3. You can keep using other message types during a session, but on delivery they are billed separately at the regular rate. Only session type messages are included in the calculated session rate.
4. If you initiate the chat with a session type message and the user does not reply within 24 hours, every delivered message is billed at the “out of session” rate, which matches the promotional message rate. Once the user replies, a new session begins and session rates apply.

## International message

A registered Viber sender can have a domestic country and a list of countries it may send to. The message is evaluated against them before it is sent:

- If the recipient is in a country other than the sender's domestic country, the message is billed at the **International** rate.
- If the sender has a defined list of countries and the recipient falls into none of them, the portal rejects the message with the error “Sender is not available for the country”.

Which countries Viber covers is listed on the [Viber coverage in countries](https://www.bulkgate.com/en/helpdesk/viber/viber-coverage-in-countries/) page.

## Promotional message content

When building a campaign you choose one of nine content types in the *Message content settings* step:

| Content type            | What it contains                                   |
|:------------------------|:----------------------------------------------------|
| Text                    | Text only                                          |
| Image                   | Image only                                         |
| Video                   | Video only (plus a thumbnail image)                |
| Text + button           | Text and one button with a link                    |
| Text + image            | Text and an image                                  |
| Text + image + button   | Text, an image and one button with a link          |
| Video + text            | Video with a thumbnail and accompanying text       |
| Video + text + button   | Video with a thumbnail, text and one button with a link |
| Carousel                | Several cards with images and buttons in one message |

### Carousel

- A carousel has 2 to 5 cards.
- Every card must have a title (2 to 38 characters) and an image.
- A card can have a primary button (caption max. 10 characters) and a secondary button (caption max. 12 characters), both with a link.
- Above the cards there is also the accompanying message text.

## Specification of the content types

| Type   | Supported format                                                                                     | Limits                                                                              |
|:-------|:-------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------|
| Text   | UTF-8; can include links, emojis and simple formatting (bold, italic, strikethrough, underline)       | Max. 1,000 characters including spaces and special characters                       |
| Image  | Common raster formats                                                                                | In a campaign it is uploaded as a file — the portal converts it to PNG and scales it to a width of 1,200 px |
| Video  | `.mp4`, `.mov`, `.m4v`, `.3gp`                                                                        | Uploaded together with a thumbnail image                                            |
| Button | —                                                                                                    | Button caption max. 30 characters; in a carousel card 10 characters (primary) and 12 characters (secondary) |

> [!TIP]
> If you do not want to receive replies, you can have your Viber sender registered as one-way. When an end user replies, they receive an automatic reply — either your own or the default one: “{YOUR BUSINESS NAME} does not currently receive messages. Go to chat info for more contact information.” This message is localised to the language of the end user's device. See the [Viber sender registration](https://www.bulkgate.com/en/helpdesk/viber/sender-registration-viber/) page for more.
