Template Components
Templates are made up of four primary components which you define when you create a template: header, body, footer, and buttons. The components you choose for each of your templates should be based on your business needs. The only required component is the body component.
Header
Header are optional elements that can be added to the top of template messages.
Text Header
Each template may include only one text header of up to 60 characters. Markdown special characters are not supported in this component, so we recommend avoiding their use.
Text headers support 1 parameter. Parameter cannot be at the beginning or end of text.
Media Header
Media header supports the following file formats and size limits:
- Image: JPEG, PNG (Max 5 MB)
- Video: 3GP, MP4 (Max 15 MB)
- Document: PDF, DOC, DOCX, PPT, PPTX, TXT, XLS, XLSX (Max 50 MB)
Body
The body component represents the core text of your message template and is a text-only template component. Templates are limited to one body component.
The body supports a maximum of 1,024 characters and allows multiple parameters, which must follow a strict sequential order (e.g., {{1}}, {{2}}, {{3}}). Please note that tabs, sequences of 4 consecutive spaces, and more than 4 consecutive empty lines are not supported.
Footer
The footer is an optional field that supports only plain text up to a maximum of 60 characters, and it cannot contain any variables, emojis, markdown, or newlines. Templates are limited to one footer component.
Buttons
Buttons are optional interactive components that perform specific actions when tapped.
Quick reply buttons
Quick reply buttons are custom text-only buttons that immediately message you with the specified text string when tapped by the app user. A common use case is a button that allows your customer to easily opt-out of any marketing messages.
Templates are limited to 3 quick reply buttons.
| Placeholder | Description | Example value |
|---|---|---|
| <TEXT> | Button label text 25 character maximum | Unsubscribes |
URL button
URL buttons load the specified URL in the device’s default web browser when tapped by the app user. Templates are limited to one URL buttons.
| Placeholder | Description | Example value |
|---|---|---|
| <EXAMPLE> | URL of website. Supports 1 variable. If using a variable, add sample variable property to the end of the URL string. The URL loads in the device’s default mobile web browser when the customer taps the button. 2000 characters maximum. | https://example.com/shop?promo=shop1212 |
| <TEXT> | Button label text. 25 characters maximum. | Shop Now |
| <URL> | URL of website that loads in the device’s default mobile web browser when the button is tapped by the app user. Supports 1 variable, appended to the end of the URL string. 2000 characters maximum. | https://example.com/shop?promo={{1}} |
Phone number button
Phone number buttons call the specified business phone number when tapped by the app user. Templates are limited to one phone number button.
| Placeholder | Description | Example value |
|---|---|---|
| <PHONE_NUMBER> | Alphanumeric string. Business phone number to be called when the user taps the button. Note that some countries have special phone numbers that have leading zeros after the country calling code (for example, +55-0-955-585-95436). If you assign one of these numbers to the button, the leading zero will be stripped from the number. If your number will not work without the leading zero, assign an alternate number to the button, or add the number as message body text. 20 characters maximum. | 628123456789 |
| <TEXT> | Button label text. 25 characters maximum. | Call |
Copy code buttons
Copy code buttons copy a text string (defined when the template is sent in a template message) to the device’s clipboard when tapped by the app user. Templates are limited to one copy code button.
| Placeholder | Description | Example value |
|---|---|---|
| <EXAMPLE> | String to be copied to the device’s clipboard when tapped by the app user. 20 characters maximum. | 250FF |