The UGC lookbook on WhatsApp: one link, real customers, an offer that expires
A WhatsApp lookbook is a share link, not a PDF: customer photos, catalogue prices, a code with a date, a preview card that unfurls in the chat, and analytics by channel. How to build, share and measure one.
The drop went out at nine on a Saturday: one link, forwarded into a family group by someone who was not the brand and had never used the word "catalogue" in her life. By lunch the link had travelled further than the brand's own broadcast list could legally reach. The photos in it were customers. The prices were live. The code on the last page ran out on Sunday night, and everyone who opened it could see that.
In this article
The catalogue formats built for WhatsApp are mostly the wrong shape. A PDF attachment is a download nobody opens twice. A native WhatsApp catalog is a flat list of products with no story and no customers in it. The version that works on the channel behaves like the channel: a single link, a preview card that looks right in a chat bubble, a page that opens fast on a phone, and a reason to forward it. The general case is in what a shoppable digital catalogue is. This is the WhatsApp version, where the photos are your customers rather than your studio.
Why a link and not a PDF
A PDF is a file. It has to be downloaded before it can be seen, it renders at whatever page size the designer picked, and once it is on someone's phone you cannot change the price in it, close the offer in it, or learn whether page seven was ever opened. Every one of those hurts on WhatsApp, where the reader is on mobile data, the screen is a portrait rectangle, and the offer has a date on it. A link fixes each in turn. It opens without a download, renders as pages sized for the phone, pulls prices from the feed at open time, lets an offer stop rendering on the day it expires, and reports what was opened, how far people got, and which product got tapped.
What makes it a UGC lookbook rather than a nicer PDF is where the pictures come from. Idukki builds the pages from rights-cleared customer photos and video already in your library, each page credited to the creator, with the products you tag from your catalogue. That changes how the thing reads in a chat. A studio catalogue forwarded into a group is an advert. A page of real customers wearing the product is a recommendation, which is the register WhatsApp runs on. The WhatsApp UGC funnel piece makes the wider argument.
The incumbents price this as three separate upgrades. On Publitas's published pricing and its Shopify listing at the time of writing, product hotspots arrive on the Gold tier at €396 a month, while vertical scroll, WhatsApp checkout and the analytics dashboard are Enterprise features, listed on Shopify at roughly $1,130 a month. Those are the three things a WhatsApp lookbook cannot do without.
The 256 problem: broadcast lists versus forwards
The WhatsApp Business app sends a broadcast to a list of up to 256 saved contacts, and only people who have saved your number receive it. Fine for a boutique with a regulars list, not a distribution channel. The WhatsApp Business Platform lifts the cap, with message pricing and template approval, and still reaches only people who opted in.
A forwardable link has no such ceiling. The person who forwards it is not you, so the recipient does not need your number saved, and the message arrives from someone they trust. The design question is therefore not "how do I reach more contacts" but "what makes a customer forward this". Real customers on the pages help, because people forward people. So does a visible offer with a date, because urgency gives the forward a reason to happen today. And so does a card that looks worth opening. Treat the broadcast list as the seed and the forward as the reach, and give each its own utm_source so you can tell them apart.
256
contacts per broadcast list in the WhatsApp Business app
WhatsApp Help Center
78%
of digital catalogue traffic is mobile (93% beauty, 67% fashion)
Publitas, H1 2025 catalog benchmarks
10.1 s
average time on a catalogue page
Publitas, H1 2025 catalog benchmarks
28%
catalogue bounce rate
Publitas, H1 2025 catalog benchmarks
How the preview card actually works
When a link lands in a WhatsApp chat, WhatsApp fetches the page and builds a preview card from its Open Graph tags. Meta publishes the rules, and they are strict enough that most catalogue pages fail at least one. The og:image must be under 600 KB. It must be at least 300 pixels wide. Its aspect ratio must be 4:1 or squarer, so a wide banner gets ignored. And the tags must sit within the first 300 KB of the HTML, which rules out pages that put a large inline style block ahead of the metadata.
Get those four right and the card shows an image, a title and a description. Get one wrong and the link shows as bare text, which is the difference between a tap and a scroll-past. Idukki generates the preview image from the cover at a size and ratio that passes, puts the tags at the top of the document, and lets you set the card's title and description apart from the page heading.
Sharing uses the wa.me format WhatsApp documents for pre-filled messages, so the "Share on WhatsApp" button makes a forward one tap, with your wording and the preview attached. "Order on WhatsApp" runs the other way: a chat with your business number, the shopper's basket written into the message, the click-to-chat pattern the SMS and WhatsApp social proof piece describes.
Build, share, measure
The sequence is short, and the shortest version is a button. "Generate lookbook" on any collection in the Idukki dashboard seeds the pages from that collection's approved content, one page per post, products already tagged.
From a collection to a measured drop
- 01
Pick the content
Start from a collection of rights-cleared customer posts. Keep that collection set to rights-only so an expired grant drops out of the source before it can reach a page.
- 02
Seed the pages
Generate lookbook builds a page per post with the creator credited; tag the products on each page from your catalogue. Reorder, drop the weak ones, add a cover.
- 03
Add the offer
A discount code with a valid-until date. The offer block stops rendering when the date passes, so a late forward never promises a price you no longer honour.
- 04
Tune the card
Set the preview title, description and cover image. Send the link to yourself and check the card in a real chat first.
- 05
Share by channel
One link per channel with its own utm_source: broadcast list, status post, in-store QR, email footer. Forwards inherit the source they came from.
- 06
Read the numbers
Opens, unique viewers, completion, time per page, product taps, offer copies, WhatsApp orders, shares, all by source. On Shopify, attributed orders too.
PDF versus UGC lookbook versus a native WhatsApp catalog
Three objects compete for the same job. Compare them by what the reader experiences in the chat.
PDF catalogue
The file you already have. Cheapest to produce, worst on the channel.
Wins at
- Nothing to build: export and attach
- Renders identically everywhere, print-ready
- Works offline once downloaded
Struggles with
- A download on mobile data, often tens of megabytes
- Prices and offers freeze at export
- No opens, no pages, no taps: a file icon, not a card
UGC lookbook
One link. Customer content, catalogue prices, an offer that expires, analytics by channel.
Wins at
- Unfurls into a preview card, no download
- Real customers on every page, credited
- Live prices and a dated offer from the feed
- Opens, completion, taps and orders by utm_source
Struggles with
- Needs rights-cleared content to draw from
- Needs products in your catalogue to tag
- A forward is reach you do not control
Native WhatsApp catalog
The product list inside your Business profile. Useful for order-taking, weak for storytelling.
Wins at
- Lives inside the chat, no link needed
- Simple order-taking for a small range
- Free with the Business app
Struggles with
- A flat product list: no pages, no story, no customers
- Thin analytics, none by channel
- Nothing to forward except a single product
Judged on the phone, by someone who did not ask for it.
What to measure, and what to ignore
The dashboard carries more metrics than you need, so pick the three that answer a question. Completion rate tells you whether the story holds: if half the openers leave by page three, the sequencing is wrong, not the offer. Product taps per open tells you whether the pages are shoppable in practice; a beautiful photo with no tap has either a weak product or a hidden pin. Offer-code copies set against WhatsApp orders and store orders tells you whether the urgency worked. Shares are the WhatsApp-specific metric and the one to watch over time: a drop that gets forwarded earned its reach, and a drop that does not reached the broadcast list and stopped.
On Shopify, the visitor id the lookbook sets travels with the shopper to the store, and the existing order-webhook attribution matches the order back to the lookbook the same way it matches a widget click. The revenue line is the same reconciled number the rest of the dashboard uses, not a separate model. Off Shopify, you get everything up to the store boundary.
One number nobody has yet: what any of this converts at. Publitas's benchmarks (3.9 minutes per publication, 10.1 seconds per page, 28% bounce) are a fair floor for a studio catalogue. There is no public dataset for a UGC lookbook shared on WhatsApp, and we are not going to invent one. Run two drops and read the completion and share rates. That is a better benchmark for your audience than any vendor can give you.
FAQs
Do I need the WhatsApp Business Platform (API) to use a lookbook link?
No. The link is an ordinary web page. It works from the free WhatsApp Business app, a personal WhatsApp, a status post or a printed QR code.
What happens to the offer after the valid-until date?
The offer block stops rendering. A forward opened a week late shows the lookbook and its prices but not the expired code.
Why does my link show as plain text with no picture in the chat?
Almost always one of the four preview rules: the image is over 600 KB, narrower than 300 pixels, wider than 4:1, or the Open Graph tags sit too far down the HTML. A redirect or consent wall in front of the link can also block the fetcher.
Can I see which orders came from the lookbook?
On Shopify, yes: the lookbook sets the same visitor id the widget uses and the order webhook attributes orders back to it. Elsewhere, attribution stops at the store boundary.
Sources
- 1WhatsApp Help Center, broadcast lists in the WhatsApp Business app (256-contact limit)
- 2WhatsApp Help Center, click to chat (wa.me links with pre-filled text)
- 3Meta for Developers, WhatsApp link previews (og:image size, width, ratio, tag placement)
- 4Publitas, H1 2025 catalog performance benchmarks
- 5Publitas pricing (hotspots on Gold; vertical scroll, WhatsApp checkout, analytics on Enterprise)
- 6Publitas on the Shopify App Store (Enterprise tier pricing)
- 7Idukki, lookbook vs flipbook vs grid
- 8Idukki, UGC Lookbooks feature page
More from Rohin Aggarwal
- Conversational commerce
Multilingual UGC at Scale: Why Translation Kills Conversion, and What to Do Instead
Auto-translating every review flattens the voice that makes it trustworthy. Show reviews in the source language with an opt-in translate button instead.
- Conversational commerce
WhatsApp + UGC: The Funnel Ecom Forgot It Had
WhatsApp is the second-largest commerce channel in five of our top ten markets, and the cheapest place to collect rich UGC. A pragmatic guide for DTC operators.
- Conversational commerce
From FAQ Page to Chat Thread: The Migration Playbook with Timings
The static FAQ page is quietly dying. This is the week-by-week playbook for moving it to a conversational thread without bleeding the SEO equity it spent years earning.