WhatsApp Templates shows all your approved templates synced from Meta. Templates are authored and approved in Meta WhatsApp Manager. And in Blueshift, you assign a sender, map personalization to the template variables, and use the templates in your marketing campaigns.
Variables in templates
Blueshift only supports numbered positional variables — {{1}}, {{2}}, {{3}} and so on. While Meta supports both named and numbered variables, named variables such as {{user}} are not currently supported by Blueshift for personalization. Hence, always use numbered variables when creating templates in Meta WhatsApp Manager before syncing them to Blueshift.
To open WhatsApp Templates, go to Templates > WhatsApp in the left navigation panel. Click a template name to open it. Each template has four tabs: Content, Properties, Data, and Test Send.
Use Search by Name or filter by Author and Tags to find templates. The date range picker scopes the performance columns — Sends, Clicks, Unique Clicks, Purchases, and Revenue — to a selected period. To pull in the latest approved templates from Meta, click the refresh icon at the top right.
Template edits in Meta require a re-sync
If a synced template is edited in Meta, Blueshift marks it as unusable and flags off any campaigns using it. Re-sync the template after Meta approves the update, then resume those campaigns.
Content
The Content tab is the first thing you see when you open a template. It shows the template structure as defined and approved in Meta — message text, footer, and button labels are read-only. The only fields you edit in Blueshift are the variable fields for each positional variable in the template.
A live preview on the right updates as you enter values. To preview with a specific customer's data, enter their email in the Previewing for field at the top of the page.
Header
If the template has an image, video, or document header, a Media URL field appears. Enter a Liquid expression to provide the media source dynamically at send time — for example, {{ products[0].image }}.
Text headers are static and set in Meta — no field appears for them in Blueshift.
Body variables
WhatsApp templates use numbered positional variables — {{1}}, {{2}}, {{3}} and so on. A Variable field appears for each one. Enter a Liquid expression in each field to resolve customer or event data at send time.
| Use case | Example Liquid |
|---|---|
| First name with fallback | {% if user.firstname != blank %}{{ user.firstname }}{% else %}there{% endif %} |
| Order number | {{ event.order_number }} |
| Product name | {{ products[0].name }} |
| Discount code with fallback | {% if user.coupon_code != blank %}{{ user.coupon_code }}{% else %}SAVE10{% endif %} |
| Formatted date | {{ user.offer_end_date | date: "%B %d, %Y" }} |
For more on Liquid, see the Liquid library.
Footer
The footer is static text set in Meta. It is shown here for reference — there is nothing to configure in Blueshift.
Buttons
Buttons are defined in Meta. Two types are supported:
-
URL — A link button. If the base URL contains a dynamic variable — for example,
https://yourstore.com/products/{{1}}— a Button URL field appears. Enter a Liquid expression to provide the dynamic portion — for example,{{ products[0].sku }}. Blueshift resolves this at send time to deliver the complete URL. Only dynamic URL CTA buttons are tracked in Blueshift. Static URL buttons — those with a fixed URL — are not tracked.
- Quick Reply — A tap-to-reply button with a label.
Link tracking
Blueshift tracks clicks on WhatsApp links by rewriting them at the time of sending. The following rules apply:
- Dynamic URL CTA buttons — Tracked when the button's URL type is set to Dynamic in Meta and the base domain matches your Blueshift tracking domain (CNAME).
- Body links — Tracked only if the URL is injected into the message body via a variable at send time. Links hardcoded in the template body are not tracked.
- Static URL buttons — Not tracked.
Domain must match your Blueshift tracking domain
When Blueshift rewrites a link for click tracking, it checks whether the link's domain matches the sample domain specified in your WhatsApp template in Meta. To enable click tracking on a dynamic URL CTA button, use your Blueshift CNAME domain as the base URL in Meta, for example, https://track.yourstore.com — with {{1}} as the variable for the path.
If the domain in the template does not match your CNAME, Blueshift will not rewrite the link, and clicks will not be tracked.
Properties
WhatsApp Sender
Under Settings, select a WhatsApp Sender to associate this template with a sender adapter. The dropdown lists all WhatsApp sender adapters configured for your account. A template cannot be used in a campaign until a WhatsApp Sender is selected.
Campaign Behavior
These settings control how the template handles missing or incomplete data at send time:
- Do not message the user if the external fetch encounters an error or does not return any data — Skips the send if an external fetch fails or returns no data.
- Do not message the user if any of the products in the event are not available in the catalogs — Skips the send if a referenced product is not found in the catalog.
- Shorten & Track Links — Shortens and tracks URL links. Tracking applies to dynamic URL CTA buttons and to body links where the URL is injected via a variable. Static URL buttons and body links hardcoded in the template as text are not tracked.
-
Do not message user if recommendation blocks are empty — Controls whether the message is sent when recommendation blocks are empty. Select one of the following:
- Any block is empty — Does not send if any recommendation block is empty.
- All blocks are empty — Does not send only if all recommendation blocks are empty.
- Message anyway — Sends regardless of whether recommendation blocks are empty.
Data
Under Configuration Data:
- Recommendation — Select a recommendation scheme for preview purposes. At send time, the template inherits the recommendation scheme configured on the campaign.
- External Fetches — Attach an external fetch to pull real-time data at the time of sending. See External Fetch.
-
Transaction Mixins — Select a transaction mixin segment to use transaction data in the template's variable fields. For example, for an order shipped template, Variable
{{1}}could map to{{ transactions.order_shipped.order_id }}and Variable{{2}}to{{ transactions.order_shipped.tracking_url }}. See Transaction mixins for advanced segments.
Under Preview Data, enter sample event JSON or select an existing event to load preview data into the live preview on the right.
Test Send
Enter one or more phone numbers in E.164 format — for example, +14152254455 — separated by commas, then click Send. The WhatsApp Sender must be set on the Properties tab before a test can be sent.
Next steps
With the template configured, you are ready to add it to a campaign. See WhatsApp in campaigns.
Comments
0 comments