OmniDesk
Guides August 28, 2026 · 12 min read

WhatsApp Catalog and Product Messages 2026: A WhatsApp Catalog Setup Guide for Small Sellers

A catalog is not a shop. It is a data source your messages point at — and almost every mistake small sellers make with it comes from expecting customers to find it on their own. Here is what WhatsApp catalog setup actually involves in 2026, the four ways to put a product into a conversation, and the documented limits that decide how you should sell.

A small shop owner photographing garments on a rail with a phone, the inventory work that WhatsApp catalog setup begins with

Most sellers who ask about WhatsApp catalog setup are picturing a shop. They imagine customers tapping into a storefront, browsing shelves, and arriving at checkout. That is not what a WhatsApp catalog is, and the gap between the mental model and the mechanism is where the disappointment comes from — a catalog gets built, nobody sees it, and the seller concludes WhatsApp does not work for selling.

A WhatsApp catalog is a structured inventory hosted by Meta. It has no address a customer can navigate to and no browse path of its own. It exists so that messages can reference it: a message that shows one product, a message that shows a list of them, a message that shows the catalog as a whole. The catalog is the noun; the product message is the verb. Sellers who understand that build a conversation flow that puts products in front of people. Sellers who do not build a catalog and wait.

This guide covers the whole path: what you upload and how it connects to your WhatsApp Business Account, the four product message formats and the limits Meta actually documents for each, how the cart behaves and where it stops behaving, the one API call that turns commerce on for your number, what a submitted order looks like on your side, and the policy review that runs quietly over every item you add. If you are still deciding between the free app and the platform, the WhatsApp Business app versus the API comparison is the right place to start, because several rules below apply to only one of them.

What You Are Actually Building

Meta supports two item categories in a catalog, and the distinction matters more than it looks. Products are physical or digital goods with attributes like price, SKU and images. Services are offerings such as appointments, consultations or subscriptions. A salon, a clinic and a tutor are all first-class catalog users, not awkward fits — which is worth knowing in markets where a large share of WhatsApp commerce is booking rather than shipping.

Each item carries a name, a description, a price, images and an availability state. Those five fields are the whole substance of what a customer sees inside a product message, so they are not administrative metadata to fill in quickly. The description is the only place a customer learns what a thing is before they add 99 of them to a cart, and the image is doing the entire job a product photograph does on a website, on a phone screen, inside a chat thread, next to your last text message.

The inventory itself is uploaded to Meta either through Meta Commerce Manager, which is the manual and spreadsheet route, or through the Commerce API for sellers with a system of record worth syncing from. Whichever route you take, the catalog then has to be connected to your WhatsApp Business Account. That connection is the step that turns a Meta catalog into a WhatsApp catalog, and it is the step most often missing when product messages fail with a catalog error.

The Four Ways to Put a Product Into a Conversation

Once a catalog is connected, Meta gives you four message formats. They are not interchangeable, and choosing the wrong one is the most common WhatsApp catalog setup mistake after skipping the connection step entirely.

FormatWhat the customer seesDocumented limitBest used for
Catalog messageA thumbnail of your full catalogNo product count limit — it points at the catalog, not at itemsAn opening move when you have no idea what the customer wants
Single product messageOne product with its image, price and descriptionOne item, referenced by its retailer IDAnswering “do you have this?” and closing a specific sale
Multi-product messageA curated list, grouped into sectionsUp to 30 products across all sectionsA shortlist after you have asked one qualifying question
Product carousel messageHorizontally scrollable product cardsCard count not stated in Meta’s overview documentationVisual categories where side-by-side comparison helps

The 30-product ceiling on multi-product messages is a ceiling for the entire message, not per section. Ten sections of five products each does not get you 50. In practice the number you should send is far lower: a customer is scrolling a list inside a chat, not scanning a grid on a laptop, and thirty options in that context is a way of asking someone to do your merchandising for you. Five to eight products chosen after one clarifying question convert better than the maximum, every time.

The structural rules the API enforces

Each format has header and body rules that will reject your payload if you get them wrong:

If you have already built interactive buttons or lists, the mental model transfers directly — these are the same interactive message envelope with a commerce payload inside. Our guide to WhatsApp interactive messages covers the button and list variants, whose own limits (10 sections, 10 rows combined) are tighter than the product ones and are worth knowing before you pick a format.

Turning Commerce On: One Endpoint, Two Booleans

Here is the step that is genuinely easy to miss, because it lives in the API rather than in Commerce Manager where the rest of your WhatsApp catalog setup happened. Cart availability and catalog visibility are properties of your business phone number, and you read and write them at:

MethodEndpointPurpose
GET/{Version}/{Phone-Number-ID}/whatsapp_commerce_settingsRead current state
POST/{Version}/{Phone-Number-ID}/whatsapp_commerce_settingsChange it

Both live on https://graph.facebook.com and both need an Authorization: Bearer header. The two fields are is_cart_enabled and is_catalog_visible. A GET returns a data array containing an id and the two current boolean values; a POST returns a success boolean and nothing more.

Read the settings back, always

Two practical notes. First, Meta does not document default values for either field, which means you should GET before you assume rather than reasoning about what a new number probably starts with. Second, that thin success response is not confirmation of the state you wanted — it confirms the write was accepted. Read the settings back after every change. On a shared number where several people can administer commerce, the GET is the only source of truth about what your customers can currently do.

is_catalog_visible set to false is a legitimate configuration, not a broken one. A seller who wants to control exactly which products appear, in which conversations, may deliberately hide the browsable catalog and drive everything through single and multi-product messages. That is a merchandising decision, and it is a good one for a small seller with a long tail of items that are not worth showing.

How the Cart Actually Behaves

The cart is where WhatsApp commerce stops resembling e-commerce, and the differences are all documented rather than surprising — if you have read them.

BehaviourWhat Meta documentsWhat it means for you
Units per itemUp to 99 units of each single catalog itemFine for retail; a real constraint for wholesale
Distinct itemsNo limit on the number of distinct itemsLarge mixed baskets are possible
ScopeUnique to a customer and business chat thread on a specific devicePhone and desktop are two separate carts
ExpiryNo expiration date until it is sentA cart can sit for weeks and still arrive
After sendingNo edits can be madeEvery change becomes a conversation, not a cart action

A sent cart is frozen — and that is a feature

That last row is the one to design around. On a website, a customer who wants a different size edits their basket. On WhatsApp, a sent cart is frozen, so the customer types “actually make that the large” and a human has to reconcile it. This is not a flaw; it is the whole reason conversational commerce works for sellers whose orders need judgement. But it does mean the order lands in a queue that has to be staffed, which is why sellers running any volume put orders into a shared team inbox rather than a personal handset.

The device-scoped cart deserves a mention in your own copy. A customer who starts a cart on their phone and finishes on a laptop has not lost their order to a bug — they are looking at a different cart. Saying so in the thread costs a sentence and saves a support ticket.

What Happens When an Order Arrives

When a customer sends their cart, the order reaches you as an inbound webhook event rather than as a text message. Practically, the payload identifies the catalog it came from and carries the line items, each keyed by the same product_retailer_id you used to build the message, with quantities and prices attached; multi-product interactions surface a product item object in the webhook. Meta’s exact field names for order payloads have moved with the documentation reorganisation this year, so wire this against the current reference rather than against a tutorial — including any blog post, this one included.

The design point matters more than the field names. An order is an event in a conversation, not a row in an order table. Nothing about receiving it creates a record, charges a card, reserves stock or notifies anyone. Whatever your system does next — write to a spreadsheet, raise an invoice, ping a fulfilment channel — is entirely yours to build. Sellers who assume WhatsApp is handling the order because the cart arrived neatly formatted are the ones who lose orders during a busy week.

Two consequences follow. First, confirm every order in the thread, explicitly, with the total and the fulfilment expectation, because the customer has no order-status page to check. Second, keep the confirmation on the same conversation record as the browsing that preceded it, so the person handling a dispute later can see what was actually shown. If your volume is spiky, automating around seasonal spikes is worth doing before a sale weekend rather than during one.

The Cloud API Gap That Catches Migrating Sellers

This one is documented, counterintuitive, and reported as a bug several times a week somewhere in the world: Cloud API messages do not display a shopping cart icon in the chat thread header. The free WhatsApp Business app does. So a seller who validated demand on the app, watched customers tap the cart icon happily for months, and then migrated to the platform can find that behaviour simply gone.

The consequence is strategic, not cosmetic. On the app, the interface does your discovery for you. On the Cloud API, your messages are the only entry point into your catalog. If a conversation never contains a catalog message, a product message or a product list, that customer may have no route to your products at all.

So a Cloud API seller has to build discovery deliberately: a catalog message in the greeting flow, a product message as the answer to any question about a specific item, a multi-product message after any qualifying question. This is more work than the app, and it is also better selling — a curated shortlist chosen in response to a stated need outperforms a passive icon. But it has to be designed, and the design is the thing sellers forget to port when they migrate. If you are weighing that migration, the app-versus-API decision guide lays out what else changes at the same time.

Catalog Review and the Commerce Policy

Every item added to a catalog connected to a WhatsApp Business Account is automatically reviewed. Policy-violating items are flagged and the business is directed to the WhatsApp Commerce Policies. Customers can also report products, which sends them for review. Disapproved items can be appealed in Meta Commerce Manager.

The restricted list is wider than most sellers expect

The restricted categories run wider than most sellers expect. Firearms, alcohol and tobacco, drugs, medical and healthcare products, endangered species, live animals other than livestock, hazardous goods and materials, real or virtual currency, body parts and fluids, fraudulent or deceptive goods, real money gambling and gaming, adult products and services, dating services, multi-level marketing, and payday loans and related financial products are all restricted. Meta states plainly that a business selling prohibited goods or services through catalogs may be prohibited from using some or all of the WhatsApp Business Services.

Read “medical and healthcare products” carefully if you sell supplements, devices, or anything wellness-adjacent — that category catches far more small sellers than firearms ever will. And note the escalation path: this is not a per-item content warning, it is a policy that can reach your access to the platform. A catalog full of borderline items is a slow-building risk to the number your whole business runs on, which is the same machinery behind WhatsApp Business account restrictions generally.

Sellers based in India have an additional obligation: they must comply with online selling laws, and Meta exposes a Business Compliance API for surfacing the required seller details. If you sell into India from elsewhere, or operate an Indian entity, treat that as a checklist item during WhatsApp catalog setup rather than a later compliance clean-up.

Keeping the Catalog Honest About Stock

Catalog edits propagate to customers, and they do it silently. Meta documents that price, title, description and image changes update as soon as the customer’s client learns about the change. Availability is harsher: if a customer has already added a product to a cart and that item becomes unavailable, the item is removed from the cart.

Nobody is told. A customer who built a five-item cart on Tuesday and sends it on Friday may send four items at prices they never agreed to, with no message explaining either change. For a small seller that produces the two worst kinds of order conversation: the one where the customer is angry about a price they did not see, and the one where an item they wanted has vanished without explanation.

Three habits that prevent the two worst order conversations

Three habits fix most of it. Batch catalog edits outside your busy hours. Re-state the total and the line items in the thread before you treat an order as confirmed. And when you remove an item from availability, search your open threads for it rather than waiting for the carts to arrive short — a job that takes seconds in a shared inbox with search across every conversation, and is effectively impossible on a personal phone. Sellers running a genuine catalog operation usually reach this conclusion at the same time they outgrow one person answering one phone.

Opt-In Still Applies to Everything You Send

A catalog does not create permission. Product messages sent business-initiated are still messages, subject to the same template rules, the same 24-hour service window and the same consent expectations as any other outbound. Sending an unsolicited catalog to a list you scraped is the fastest route to the quality problems above.

Inside the service window, replying to a customer question with a product message is free-form and needs no template. Outside it, you are in template territory, with the review path that implies. That is not a small distinction for a seller planning a promotion, and it is worth reading the current opt-in rules and how template approval works before you build a campaign around your catalog rather than after Meta rejects one.

The pricing model is the other half of that plan. Product messages are priced as messages, and the conversation categories that decide cost have not changed because a catalog is attached — the 2026 pricing breakdown applies unchanged to anything you send with products inside it.

A Rollout Order That Works for a Small Seller

The sequence below front-loads the cheap steps and defers the expensive ones until demand is proven.

  1. Build the catalog in Commerce Manager with real photographs, honest descriptions and accurate availability. Start with your top 20 sellers, not your whole range.
  2. Connect the catalog to your WhatsApp Business Account. Confirm the connection before you write a line of integration code.
  3. If you are on the free app, sell that way for a few weeks. Watch whether customers order through chat at all before you build anything.
  4. Moving to the Cloud API? GET whatsapp_commerce_settings first, then POST your intended is_cart_enabled and is_catalog_visible values, then GET again to verify.
  5. Add a catalog message to your greeting flow, so every new conversation has an entry point into your products.
  6. Write one qualifying question, then answer it with a multi-product message of five to eight items, not thirty.
  7. Handle the order webhook: log it, confirm it in the thread with the full total, and route it to whoever fulfils.
  8. Re-run the catalog against the restricted categories list before you scale. It is far cheaper to remove three items now than to appeal a flagged catalog later.

Steps 3 and 5 are the ones that get skipped. Skipping step 3 means building an integration for demand you have not yet proven. Skipping step 5 means your beautifully built catalog is invisible to every customer who does not think to ask.

When a Catalog Is the Wrong Tool

Catalogs suit sellers with a stable, photographable range at fixed prices. They suit service businesses selling defined appointments. They are a poor fit when every order is quoted individually, when your range changes faster than you can maintain it, or when your items are configured rather than chosen — in which case a well-built WhatsApp Flow collects a structured brief far better than a product list ever will.

A neglected catalog is worse than none. A customer who taps into a product message and finds last season’s prices has learned something about your business that no marketing recovers. If you cannot commit to maintaining it, sell in the thread with photographs and quote each order — that is a legitimate model, and the sellers doing it well in markets like the UAE are not less sophisticated for it.

The Short Version

WhatsApp catalog setup is two things people conflate: uploading inventory to Meta and connecting it to your WhatsApp Business Account, then designing the messages that reference it. The first is administration. The second is the actual work. Products and services are both first-class item types. Multi-product messages cap at 30 items across all sections with 24-character section titles, and you should send closer to six. Headers are required for product_list and forbidden for product; bodies are required everywhere except single product messages. Cart and catalog visibility are two booleans on whatsapp_commerce_settings with no documented defaults — read them before you trust them. Carts hold 99 units per item, are scoped to one device, never expire, and cannot be edited once sent. Catalog edits reach customers silently and unavailable items vanish from carts already built. Cloud API numbers get no cart icon in the chat header, so your messages are the discovery. And every item is reviewed against a restricted list that is wider than most sellers assume. None of that is hidden — but all of it is much cheaper to design around than to discover during your first busy week.

Frequently Asked Questions

What is a WhatsApp catalog and how does WhatsApp catalog setup work?

A WhatsApp catalog is a structured list of items hosted by Meta, where each item carries a name, description, price, images and availability. WhatsApp catalog setup means uploading that inventory to Meta and connecting the catalog to your WhatsApp Business Account, either through Meta Commerce Manager or the Commerce API. Meta supports two item categories: products, meaning physical or digital goods with attributes like price, SKU and images, and services, meaning offerings such as appointments, consultations or subscriptions. The catalog itself is not a storefront customers browse to. It is a data source your messages point at, which is why the setup only becomes useful once you start sending product messages against it.

How many products can a WhatsApp multi-product message contain?

A multi-product message presents up to 30 products organised into sections. Meta documents the 30-product ceiling as the limit for the whole message rather than per section, so ten sections of five products each is not a way around it. Each section carries a title of at most 24 characters, and sections are required once a message has more than one of them. Because customers scroll a list rather than scan a grid, sending 30 products is almost always a worse experience than sending six well-chosen ones. Treat 30 as the hard ceiling and something closer to five or eight as the practical one for a small seller.

How do I enable the shopping cart on WhatsApp Cloud API?

Cart and catalog visibility are controlled by the commerce settings endpoint on your business phone number, not in Commerce Manager. Send a POST to https://graph.facebook.com/{Version}/{Phone-Number-ID}/whatsapp_commerce_settings with is_cart_enabled and is_catalog_visible, authenticated with an Authorization: Bearer header. A successful POST returns a simple success boolean. The matching GET returns a data array containing an id plus the current is_cart_enabled and is_catalog_visible values, which is the only reliable way to confirm the state your number is actually in rather than the state you assume it is in. Meta does not document default values for either field, so read them before you rely on them.

How does the WhatsApp cart work and can a customer edit an order after sending it?

A customer can add up to 99 units of each single catalog item, and there is no documented limit on the number of distinct items in a cart. The cart is unique to one customer and business chat thread on a specific device, so the same shopper building a cart on a phone and a desktop is building two separate carts. It has no expiration date until it is sent. Critically, once a cart has been sent no edits can be made to it. Changes after that point are a conversation between the customer and your agent, not a cart operation, which is exactly why order confirmation belongs in a shared inbox where a human can amend and re-quote.

Does the Cloud API show a shopping cart icon in the chat header?

No. Meta documents that Cloud API messages do not display a shopping cart icon in the chat thread header, which is a real difference from the free WhatsApp Business app. Sellers who migrate from the app to the platform frequently report this as a bug when it is documented behaviour. The practical consequence is that discovery has to come from your messages rather than from persistent chat interface furniture: if you never send a catalog message or a product message, a Cloud API customer may have no obvious route into your catalog at all. Plan an explicit entry point into every conversation flow instead of relying on the interface to provide one.

What products are not allowed in a WhatsApp catalog?

Catalog items are reviewed automatically once the catalog is connected to a WhatsApp Business Account, and items that violate policy are flagged with the business directed to the WhatsApp Commerce Policies. Customers can also report products, which triggers a review. Restricted categories under Meta’s business messaging and commerce policies include firearms, alcohol and tobacco, drugs, medical and healthcare products, endangered species, live animals other than livestock, hazardous goods and materials, real or virtual currency, body parts and fluids, fraudulent or deceptive goods, real money gambling and gaming, adult products and services, dating services, multi-level marketing and payday loans. Meta states that selling prohibited goods through catalogs may result in losing access to some or all WhatsApp Business Services. Disapproved items can be appealed in Meta Commerce Manager.

What happens to a customer’s cart when I change a product price or mark it out of stock?

Price, title, description and image changes propagate as soon as the customer’s client learns about the change, so a cart built before an edit reflects the new values rather than the ones the customer saw. Availability is more severe: if a customer has already added a product to a cart and that item becomes unavailable, the item is removed from the cart. Neither behaviour sends the customer a notification, so a shopper can return to a cart that is quietly cheaper, dearer or shorter than the one they built. For a small seller the practical rule is to batch catalog edits outside active selling hours and to re-confirm every order in the thread before you treat it as final.

Do I need the Cloud API for WhatsApp catalog setup, or can I use the free Business app?

Both support catalogs, but they are different products. The free WhatsApp Business app gives one person on one handset a catalog and a cart icon in the chat header, with no API, no automation and no shared inbox. The Cloud API gives you programmatic catalog, product and product list messages, the commerce settings endpoint and order webhooks, but no cart icon in the header. Most small sellers should start WhatsApp catalog setup on the app to validate that customers actually order through chat, then migrate to the platform when either the volume outgrows one handset or the team outgrows one person. Migrating a number is a defined process, so validate demand first rather than building the integration on an assumption.

A catalog sells nothing without someone answering the thread.

Run WhatsApp product messages, Instagram, Telegram and live chat from one shared inbox — every order confirmed on the same conversation record it started on, with Arabic and English support built in.

Try OmniDesk Free — No Credit Card

See OmniDesk pricing · Book a demo

← Back to all articles