Limited Time Offer Templates

Limited time offer templates display promotional messages with an expiration date and a countdown timer. They create urgency by showing users when an offer expires, and can include a coupon code and a link to take action.

Block Structure

A limited time offer template uses a single whatsapp-limited-time-offer block:

Component
Required
Description

Header

No

Image or file (video) header

Body text

Yes

Main message text (max 1024 characters)

Limited time offer

Yes

Offer text and expiration date for the countdown

Link action

Yes

Button linking to the offer page

Coupon action

No

Optional copy-code button for a discount code

Here's how a limited time offer template renders on WhatsApp, showing the offer badge with countdown, image header, body, and action buttons:

The offer badge (with the tag icon) displays the offer text, expiration, and coupon code. WhatsApp adjusts the countdown display based on how far away the expiration is -- see countdown display states below.


Limited time offer templates support image or file (video) headers. Text headers are not supported.

Image header:

Video header:

circle-info

If you need to host media, use the Media Library API to upload files and get a mediaUrl. See Image Template Blocks -- Uploading media for the full upload flow.

Body

The body is mandatory and should describe the offer with compelling copy.


Limited Time Offer Component

The limited time offer component defines the offer text and expiration. WhatsApp displays a countdown timer based on the expiresAt value.

Property
Required
Description

text

Yes

The offer headline displayed to the user (max 16 characters)

expiresAt

No

ISO 8601 timestamp for when the offer expires. When provided, WhatsApp shows a countdown timer and a couponAction becomes required. Can be a variable for dynamic expiration.

Dynamic expiration

Use a variable to set the expiration at send time:

Countdown display states

WhatsApp adjusts the offer badge based on how much time remains:

Future date -- shows the expiration date (e.g., "Offer ends on 31 Dec"):

Expires today -- switches to showing the exact time (e.g., "Ends today at 12:35"):

Expired -- the offer badge shows "Offer ended", the coupon code is removed, and the copy-code button disappears. The link button remains:


A link button is required. It provides the user with a direct path to take action on the offer.

Coupon Action (Optional)

Optionally include a copy-code button for a promotional code.


Complete Example


Without Coupon Code

If you don't need a coupon code, omit the couponAction and expiresAt:


Last updated

Was this helpful?