# Templates > Template kinds, buttons, carousels, statuses and what to do when Meta pauses one. > Source: https://onpad.in/docs/templates [Your first template](https://onpad.in/docs/your-first-template) covers creating one. This page covers everything after that. ## Kinds of template ### Standard Header, body, footer, buttons. What most templates are. ### Carousel **Between 2 and 10 cards** — a carousel of one is just a message. Each card has its **own image or video**, its own text (up to 160 characters) and up to **2 buttons**. The customer swipes through them. Good for a product range or several offers in one message. Every card needs media — a carousel card without an image or a video is rejected. ### Authentication One-time passcodes only, and Meta controls them tightly. The body is fixed as: ```text {{1}} is your verification code. ``` You cannot change the wording, add a header or footer, or add your own buttons. ONPAD fills the fixed text in for you so the preview looks like the real message. Authentication templates are reviewed quickly and rarely rejected, because there is almost nothing to get wrong. ## Buttons A template can carry **up to 10 buttons in total**, and each type has its own cap on top of that: | Type | How many | Label | Value | |---|---|---|---| | **Quick reply** | up to 10 | 40 characters | — the label comes back as the customer's reply | | **Website** | up to 2 | 40 characters | an `https://` URL, up to 2,000 characters | | **Phone** | 1 | 40 characters | a number in `+` international form, 7–15 digits | | **Copy code** | 1 | fixed by Meta | a coupon code, up to 20 characters | Three rules that catch people out: - **Website button URLs must use HTTPS.** A plain `http://` URL is rejected before it even reaches Meta. - **A website button can use only one variable**, and it has to sit at the end of the URL. `https://shop.in/order/{{1}}` works; a variable in the middle does not. - **The copy code button's label is Meta's**, not yours — it always reads "Copy offer code". A quick reply button is the most reliable way to get a response: the customer taps instead of typing, and the tap arrives in your inbox as a message, opening a 24-hour window. ## Field limits | Field | Limit | |---|---| | Name | 3+ characters, lowercase letters, digits and underscores | | Header text | 60 characters | | Header example | 120 characters | | Body | 1,024 characters | | Variable sample | 100 characters each | | Footer | 60 characters | | Button label | 40 characters | | Button URL | 2,000 characters, HTTPS only | | Coupon code | 20 characters | | Buttons per template | 10 total | | Carousel cards | 2–10 | | Carousel card text | 160 characters | | Carousel card buttons | 2 | ## Statuses ONPAD keeps these in sync with Meta, so the list shows what Meta currently thinks. | Status | Meaning | |---|---| | **Draft** | Not submitted yet | | **Pending** | With Meta, under review | | **Approved** | Usable in campaigns and the API | | **Rejected** | Meta refused it. Edit and resubmit | | **Paused** | Meta paused it for poor quality. Temporary | | **Disabled** | Meta disabled or deleted it. Not coming back | ### Paused Meta pauses a template when too many recipients block or report after receiving it. It can be used again after a cooling-off period, but a template that gets paused twice usually ends up disabled. A pause is a signal about the **message**, not about your account — though repeated pauses do affect the number's quality rating. The fix is not to resubmit the same text. Ask why people reacted badly: too frequent, not expected, or sent to people who never asked. ### Disabled Meta disabled the template permanently. Write a new one; the old one will not come back. ## Template quality Approved templates carry a quality rating from Meta based on how recipients react. A falling rating is the warning that comes before a pause. Protecting it is the same work as protecting your number's rating: send to people who expect you, keep marketing relevant, and honour opt-outs immediately. ## Duplicating a template Duplicating copies the structure, text and settings into a new draft. For a carousel, the card structure and text are copied but **the media is asked for again** — Meta ties uploaded samples to the template they were submitted with, so the files cannot be reused. Useful for translating a template: duplicate, change the language, translate the text, submit. ## The template library ONPAD ships ready-made templates for common cases — order updates, appointment reminders, welcome messages. They are starting points, not finished messages. **The example business details in them are placeholders.** Replace them with your own before submitting. Meta reviews what you actually send, and a template still carrying an example company name reads as careless to a reviewer. ## Why a template was rejected In rough order of frequency: 1. **It reads like spam.** Capitals, several exclamation marks, "FREE!!!", pressure. 2. **Wrong category.** Promotional content submitted as Utility. 3. **Poor sample values.** `xxx`, `test`, `abc`. Meta reads these to understand the template. 4. **Language mismatch.** The text is in one language, submitted as another. 5. **An unverifiable URL**, or a link shortener Meta does not trust. 6. **Asking for sensitive data** — card numbers, passwords, government ID. 7. **Variables placed badly** — two touching (`{{1}}{{2}}`), or one at the very start or end of the body. There is no penalty for resubmitting, and no queue position to lose. But change something real between attempts — resubmitting identical text wastes a day and teaches you nothing. ## Keeping a template approved **Do not over-send it.** The same marketing template to the same people weekly is the usual cause of a pause. **Keep the promise the template makes.** A template that says "order update" and carries an offer gets reported. **Retire templates you no longer send.** An unused template cannot hurt you, but a list of forty makes it hard to see which ones are in trouble. ## Next - [Campaigns](https://onpad.in/docs/campaigns) — sending an approved template to a list - [API](https://onpad.in/docs/api/send-message) — sending one from your own software