6 min read

WhatsApp Product Catalog & Message Templates

Sync your store's products into your WhatsApp Business catalog and manage the message templates Meta requires for outbound messages.

Two things need to be in place before customers can shop with you on WhatsApp: your products need to be visible inside the WhatsApp catalog, and any message you send has to use a template Meta has already approved. Both are managed from the WhatsApp screen, once you've connected your WhatsApp Business number.

Syncing your product catalog

Screen: Plugins → WhatsApp Business → Catalog.

This tab pushes your store's products to the WhatsApp Business catalog linked to your account (the Catalog ID you entered during setup). Every product shows:

ColumnWhat it shows
ProductProduct name
SKUYour store's SKU for the item
PriceCurrent store price
Statussynced, pending, failed, or deleted
Last syncedWhen the product last pushed successfully

Use the page-size selector in the bottom-right of the table (10 / 25 / 50 rows per page) if your catalog has more products than fit on one screen.

Sync everything

Click Sync All at the top of the tab to trigger a full re-sync of your catalog — use this after a bulk price change or a fresh product import.

Sync one product

If a single product shows pending or failed, click the sync icon in that row to retry just that item without re-syncing the whole catalog.

Filter by status

Use the status filter (All / Synced / Pending / Failed) above the table to quickly find products that still need attention.

Tip

Customers browsing your catalog inside WhatsApp see whatever is currently marked synced — keep an eye on failed rows after big catalog changes so nothing goes stale.

Message templates: what they're for

WhatsApp requires any business-initiated message sent outside an active conversation — a broadcast, an order confirmation, a shipping update — to use a template Meta has pre-approved. This prevents spam and protects the customer experience. Only messages sent as a direct reply within an open conversation window can be free-form text; everything else must go through an approved template.

Screen: Plugins → WhatsApp Business → Templates.

The Templates tab lists every template registered to your account, each with:

ColumnWhat it shows
NameThe template's identifier
LanguageLanguage code (e.g. en)
CategoryUTILITY, MARKETING, or AUTHENTICATION
StatusDRAFT, PENDING, APPROVED, or REJECTED
CreatedWhen the template was first created

The table's page-size selector (10 / 25 rows per page) is in the bottom-right corner once you have enough templates to paginate.

Creating a template

Click Create

Click Create at the top of the Templates tab.

Fill in the template details

Give it a name, choose a language, pick a category (Utility for transactional messages like order updates, Marketing for promotions, Authentication for OTP-style codes), and write the body text.

The name must be lowercase letters, numbers, and underscores only (e.g. order_ready) — this is Meta's rule, and the dialog blocks Create until the name is valid, offering a corrected suggestion if yours isn't.

Add an example for every variable

If your body uses variables like {{1}} and {{2}} — for a customer name, an order number, and so on — the dialog shows an Example for variable 1, Example for variable 2… field for each one. Fill in a realistic sample value (e.g. Asha, BB-1042).

These examples are only used for Meta's review — real messages substitute live order data. But they are required: Meta reviews the rendered message as a customer would see it and rejects any template that uses a variable without an example. The dialog keeps Create disabled until every example is filled, so a template can't be submitted in a state Meta will only reject hours later. A body with no variables needs no examples.

Save as draft

Click Create in the dialog. The template is saved as DRAFT — it isn't sent to Meta yet.

Submit for approval

From the templates list, click the send icon on a DRAFT row to submit it to Meta for review.

Approval status and what it means

StatusMeaning
DRAFTCreated in BillionBiz, not yet sent to Meta
PENDINGSubmitted — Utility and Authentication templates usually clear in a few hours; Marketing templates can take up to two days
APPROVEDReady to use in a broadcast or an outside-window message
REJECTEDMeta declined it — click the expand arrow on the row to read Meta's rejection reason

Only APPROVED templates appear as options when you send a broadcast or reply to a customer outside the conversation window — this is a deliberate guardrail against accidental sends.

Why was my template rejected?

Click the expand arrow on a REJECTED row to read Meta's own reason. The most common one is INVALID_FORMAT — a body that uses {{1}}-style variables without a sample value for each. Fixed by re-creating the template and filling in the example fields (above). Other frequent reasons are promotional wording in a template you filed as UTILITY, or a variable at the very start or end of the body, which Meta doesn't allow.

Shipment status updates need their own approved templates

If you use shipment tracking notifications over WhatsApp, they only send once you've created and had Meta approve templates with these exact names: shipment_shipped, shipment_out_for_delivery, shipment_delivered, and shipment_ndr_alert. A shipment status change won't retry the notification later if the matching template isn't approved yet — get these submitted early so they're ready before you need them.

Keeping templates in sync

Click Sync from Meta at the top of the Templates tab to pull the latest approval statuses — useful right after you submit a template, or if you've made changes directly in Meta Business Suite. You can also delete a template from the list at any time using the delete icon on its row.

Next steps