# Concepts

### **Variant groups**

* Variants live inside a **group** that inherits the name of the original template.
* Each variant is marked as `var1`, `var2`, and so on.
* You can preview individual variants and see group-level status in the dashboard.

### **What can change vs. what cannot**

* **You can edit:** Body text and footer.
* **You cannot change:** Header type, number of variables, button structure (these must match the parent template).

### Categories & status

A group can contain **Utility**, **Marketing**, or a **mix** of both.

A group may be:

* **Marketing** (all variants are Marketing),
* **Utility** (all variants are Utility), or
* **Mixed** (contains both). The UI shows “Mixed” with an info note in that case.

<figure><img src="/files/TiQvgZIuPs3IMsifacGL" alt=""><figcaption></figcaption></figure>

### Status in a Group

Each variant has a Meta status. The group’s overall status surfaces by priority:

* **Approved** (shown even if only one is approved; an alert icon appears if not all are approved),
* **Pending** (shown if none are approved yet), or
* **Rejected** (shown if all are rejected).

<figure><img src="/files/2khZzaeUtwe4jmvFWFw3" alt=""><figcaption></figcaption></figure>

### Fallback order

* On a send, if the primary template is paused/disabled, the system picks the next **approved** variant.
* When both Utility and Marketing variants exist, the system prefers **Utility** first, then **Marketing**; within the same category, the approved template, in order of creation (oldest to newest), variant is chosen.
* Retries reuse the **active** variant. If all retries fail due to healthy-ecosystem errors, the **Utility fallback** is used. Alerts are raised if all variants in a group are rejected.

### Where can you use it?

Variant groups are selectable in **Journeys**, **Broadcasts** and **Conversations**. The preview shows the **active** variant that would be sent right now.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.quickreply.ai/product-modules/templates/whatsapp-templates/template-variants/concepts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
