WhatsApp Business catalog: the invisible storefront of your SME in 2026
Across emerging markets in 2026, 70%+ of B2C SMEs running WhatsApp Business have never activated the catalog feature. Yet it's the highest-ROI digital asset inside the app: a well-built catalog turns every chat into a micro-checkout without leaving Meta.
Three case studies from my Dakar client portfolio (a fashion boutique, an Almadies restaurant, a fine-grocery in HLM Grand-Yoff) all reached out between January and April 2026 with the same issue — their teams were still sending product photos one by one, burning 15-25 minutes per chat. After catalog rebuild: average basket +34%, response time divided by 4.
This guide covers the technical mechanics, the actual undocumented limits (500 products, image sizing, formats), and the internal SEO strategy of catalogs (yes, SEO inside WhatsApp).
H2: The technical limits Meta doesn't document clearly
Product limit. Officially: 500 products per WhatsApp Business catalog. In practice, beyond 200 products, the app slows down on mid-range Android devices (Tecno Camon, Infinix Hot, Xiaomi Redmi 12). Recommendation: 80-180 active products, seasonal collection rotation.
Photo limit. 10 images per product max. Recommended format: JPEG or PNG, 1024×1024 px square, target weight < 180 KB / image. Beyond this, 3G download takes > 4 seconds and users drop off.
Description limit. 200 chars for the title, 2,000 chars for the description. The title is what appears in the list — it gets scanned in 2 seconds.
SKU limit. No native SKU field — you have to repurpose the "Product ID" field for your internal reference (essential for POS sync).
`
Optimized product structure example:
Title: "Embroidered bazin boubou — sizes M/L/XL — 28,000 FCFA"
Description:
"Rich bazin boubou, hand-embroidered by Sandaga artisans.
Available in navy, emerald green, burgundy.
Dakar delivery 2h via Yango, regions 24-48h.
Payment Wave / Orange Money / cash on delivery."
Product ID: "BOUB-BAZ-2026-014"
Link: https://mystore.com/product/bazin-boubou-014?utm_source=wa
`
H2: Internal SEO catalog naming
WhatsApp has an internal catalog search (magnifying glass on top). Well-named titles surface first when a customer types "bazin", "wedding", "men", etc.
The 4-keyword rule. Each product title must contain: product type + material/specificity + target (men/women/kids) + price.
Bad: "Red dress"
Good: "Wax cocktail dress women red burgundy — 18,000 FCFA"
Collections. WhatsApp offers "Collections" (up to 100). Use them like e-commerce category trees: "Women", "Men", "Kids", "Promo -30%", "Tabaski 2026 new arrivals". A well-named collection = a sharing shortcut.
H2: 3G-optimized photos — the new-phone trap
Your photographers shoot RAW at 24 Mpx and export to 8 MB JPEGs. You upload them to the WA catalog: Meta compresses to ~1.2 MB but keeps EXIF metadata. On 3G, customers wait 6-9 seconds per photo.
Recommended pipeline (before catalog upload):
- Resize to 1024×1024 (square crop).
- Compress with Squoosh.app (free, Google) using MozJPEG quality 78 → ~140-180 KB.
- Strip EXIF with ExifTool or ImageMagick.
- Test on throttled connection (Chrome DevTools → Throttling → Slow 3G).
`bash
# Batch convert with ImageMagick (useful for 80+ photos)
for img in products/*.jpg; do
convert "$img" -resize 1024x1024^ -gravity center -extent 1024x1024 \
-strip -interlace Plane -quality 78 \
"optimized/$(basename "$img")"
done
`
H2: POS / site / WhatsApp inventory sync
The trap: three sources of truth (Loyverse POS, WooCommerce site, WA catalog) drifting apart. Stock sold in-store, still visible on WA, customer disappointment.
Recommended 2026 architecture for emerging-market SMEs:
- Single source of truth: WooCommerce or Shopify site (Shopify has a native WhatsApp Business integration via Meta Business Suite).
- POS Loyverse / Square: webhook to the site on every sale → decrement stock.
- WhatsApp catalog: auto-sync via Meta Commerce Manager (XML/CSV Catalog Feed refreshed hourly by cron).
`javascript
// Node.js snippet — push catalog feed to Meta
const fetch = require('node-fetch');
async function pushCatalogFeed() {
Need a professional website?
Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.
const products = await getProductsFromShopify(); // your source
const feed = products.map((p) => ({
id: p.sku,
title: p.title,
description: p.description,
availability: p.stock > 0 ? 'in stock' : 'out of stock',
price: ${p.price_fcfa} XOF,
image_link: p.image_url,
link: https://mystore.com/product/${p.handle}?utm_source=wa-catalog,
}));
await fetch(https://graph.facebook.com/v18.0/${CATALOG_ID}/batch, {
method: 'POST',
headers: {
Authorization: Bearer ${META_TOKEN},
'Content-Type': 'application/json',
},
body: JSON.stringify({
access_token: META_TOKEN,
requests: feed.map((p) => ({ method: 'UPDATE', retailer_id: p.id, data: p })),
}),
});
}
setInterval(pushCatalogFeed, 60 * 60 * 1000); // 1×/h
`
H2: Sharing deep-links — the underused feature
Every catalog product has a shareable link: https://wa.me/c/[CATALOG_ID]/[PRODUCT_ID]. Shared on Instagram, Facebook, TikTok, it opens the product card directly inside WhatsApp with the contact pre-filled.
Case study — Almadies restaurant. Instead of posting "Lamb tagine 12,500 FCFA — DM to order", the restaurant posts the deep-link. The customer clicks, sees the product card inside WA, starts ordering in 2 clicks. Conversion ×3.2 vs classic DM.
To bulk-generate these links, Meta Commerce Manager → Catalog → Product View → export CSV with deep_link column.
H2: Catalog measurement and KPIs
Meta Business Suite exposes 4 useful metrics:
- Catalog views (how many customers open the catalog / day).
- Product views (per reference — reveals hits and misses).
- Messages generated from catalog (view → message conversion rate).
- Product shares (deep-links shared externally).
2026 benchmark across emerging-market SMEs (n=14 boutiques in my client base):
- Catalog views: 80-220 / week
- View → message conversion rate: 8-14%
- Catalog-driven average basket: +18 to +42% vs manual DM photo flow
FAQ
How many products should I put in my catalog?
60 to 180 active products. Beyond: app slowdown, scroll fatigue. Rotate per season (Tabaski, back-to-school, Christmas). Archive old SKUs in a non-promoted "Archive" collection.
Can I sell services (not just products)?
Yes. Restaurants: load menus as "products". Hairdressers: cut + blowdry packages. Gyms: monthly memberships. Think "sellable unit" rather than "physical product".
How much does POS-WhatsApp sync cost?
Loyverse + Shopify + Meta sync: ~45-95 KFCFA / month depending on volume. DIY via Make/Zapier: 28-65 KFCFA / month. Custom dev (recommended for 200+ products): 480 KFCFA-1.2 M FCFA upfront.
Should my catalog be in French or bilingual?
Senegal: French as primary, Wolof in descriptions (strong local edge). For diaspora or English-speaking clients: double titles "Boubou bazin / Bazin boubou dress" — WA internal search handles bilingual queries.
How do I keep competitors from copying my catalog?
Visuals are public by design. Lean on: signature photos (recognizable editorial style), storytelling descriptions (artisan origin, material), transparent pricing (see our pricing articles). The catalog is just one asset among 7-10 in your commercial mix.
Let's talk about your case
If you want to audit or build your WhatsApp Business catalog, we deliver in 2-4 weeks. WhatsApp +221 77 596 93 33.
Mohamed Bah
Fondateur, Kolonell
Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.

