Skip to main content

Media card carousel templates

Updated: Nov 4, 2025 Media card carousel templates allow you to send a single marketing template message accompanied by a set of up to 10 product media cards in a horizontally scrollable view: When a user taps a media card’s URL button to buy a product, the URL mapped to the button is loaded in the device’s default web browser, thus taking the user out of the WhatsApp client experience. If you prefer to keep the user in the WhatsApp client, see Product Card Carousel Templates. Note that carousel cards are only available for marketing template messages.

Media cards

Carousel templates consist of a message body text and up to 10 product media cards. Each card in the template has an image or video header asset and can optionally include a body text and up to two buttons. Button combinations can be a mix of quick reply buttons, phone number buttons, and URL buttons. All cards defined on a template must have the same components. WhatsApp users who place an order do so outside of the WhatsApp client, so no webhooks are triggered describing their order. Use the POST /<WHATSAPP_BUSINESS_ACCOUNT_ID>/message_templates endpoint to create a media card carousel template.

Request syntax

It is necessary to define the exact number of product cards (minimum 2 and maximum 10) upon template creation. An approved template can only be used to send the same number of cards as defined during its creation. If any card in the carousel includes a card body text, then all cards must include a card body text to ensure consistent card heights.

Request parameters

Example request

This example request creates a media card carousel template with a message that uses 3 variables and 3 media cards. Each media card has a quick reply button, and a URL button that uses a variable.
This document describes how to send approved media card carousel templates to WhatsApp users.

Request Syntax

Request parameters

Example request

This example request sends a media card carousel template named “carousel_template_media_cards_v1”. It supplies three body text variables (which the template requires) and contents for three cards (which the template also requires). For each card, the request supplies an image asset ID, a quick-reply button payload (to be included in webhooks when the button is tapped), and a text string to be injected into the URL mapped to the card’s URL button (which is defined on the template).
Did you find this page helpful? Thumbs up icon Thumbs down icon ON THIS PAGE Media cards Creating media card carousel templates Request syntax Request parameters Example request Sending Media Card Carousel Templates Request Syntax Request parameters Example request