virtual try-on for product pages
Virtual Try-On for Product Pages: A Practical Guide for Beauty E-Commerce
How to add a virtual try-on for product pages in a beauty e-commerce without an SDK or an app: where the button goes, what the flow looks like, and how a photo-based API fits into an existing PDP.
The product detail page is where a beauty purchase is won or abandoned. Swatch images help, hex codes help less, and shade names help almost not at all. A virtual try-on for product pages closes that gap: the shopper uploads a selfie, sees the shade rendered on their own face, and decides with something closer to evidence than imagination. This article is about how to actually put that on a PDP — the flow, the integration, and the decisions that usually stall the project.
What a photo-based try-on looks like on a PDP
MaIA Try-On is a photo-based API. The customer sends a photo, the product is rendered on it, and the image comes back. There is no SDK to embed, no camera permission prompt, no app to install. That shapes the user experience in a very specific way, and it is worth designing for it instead of against it.
The four-step flow
- Entry point. A button near the shade selector: "See it on you". Not a floating widget, not a banner — it sits where the shopper is already making the shade decision.
- Photo capture. A file input that accepts a camera capture on mobile or an upload on desktop. On phones, the native camera opens; that is the entire capture experience.
- Render. Your backend calls the API with the photo and the product identifier, and receives the rendered image.
- Result. The image appears with the shade name, an "add to cart" button, and a strip of other shades the shopper can render next.
Step 4 is where the commercial value lives. A try-on that ends in a pretty picture is a toy. A try-on that ends in a cart line is a merchandising tool. Keep the add-to-cart in the same viewport as the rendered image.
Why photo-based is a deliberate choice
Live AR try-on requires an SDK, camera permissions, a supported browser, and a device that can hold a frame rate. Each of those is a drop-off point, and none of them exist on WhatsApp, in an email, or in a paid social landing page. A photo-based render runs anywhere an image can be posted and returned — the same integration serves your PDP, your CRM flows and your support team. We wrote about this trade-off in more depth in photo-based virtual try-on vs AR try-on.
Calibrating shades to your real catalog
A generic lipstick filter does not sell lipstick. The palettes rendered by MaIA Try-On are calibrated to each brand's real products inside a project, so the shade the shopper sees corresponds to the SKU they are about to buy. Lipstick is simply the most common starting category, not the limit of the idea.
Practically, this means the integration has two tracks running in parallel:
- Engineering: account, API key, server-side call, image storage policy, error states.
- Merchandising: which SKUs enter the palette first, how they map to your product IDs, who signs off on the rendered result.
Brands that treat this as a purely technical project usually ship a try-on that renders shades nobody can buy. Start with the bestsellers and the shades with the highest return or exchange rate — those are the ones where uncertainty is costing you money.
Where a virtual try-on for product pages fits with skin analysis
Try-on answers "how does this shade look on me". It does not answer "which shade should I even be looking at". Those are different jobs, and a PDP that only does the first one still leaves the shopper scrolling through forty thumbnails.
That is where MaIA Scan comes in. From the same selfie, the API returns a beauty profile as JSON — skin tone and undertone, skin type and condition, hair attributes, with a confidence value per field. Trained on Brazilian skin, which matters if your customer base is Brazilian and generic models keep misreading medium and deep tones.
A combined flow
One upload, two outcomes: the profile narrows the catalog to three or four plausible shades, and the try-on renders those shades on the shopper's face. Instead of a wall of swatches, the PDP becomes a short, personal shortlist. If you want that shortlist explained in words — and extended to complementary products in your catalog — MaIA Beauty Advisor reads the same profile and recommends from your own catalog on the product page, in chat or on WhatsApp. That one is delivered as a project with the B4A team rather than self-serve.
Practical details teams forget
Consent and image handling
Decide before launch what happens to the uploaded photo: whether you store it, for how long, and what the shopper is told. Write it in plain language next to the upload button, not only in the privacy policy. This is a trust feature, not legal decoration.
Failure states
Photos arrive blurry, backlit, in profile, or with three people in the frame. Design the "try another photo" state with a concrete instruction — front-facing, even light, no sunglasses — instead of a generic error. Most recovery is a wording problem.
Measurement
Instrument the funnel as a funnel: PDP views with the button shown, button clicks, photos submitted, renders completed, shades rendered per session, add-to-cart after render. Compare add-to-cart and return rates between sessions that used the try-on and sessions that did not. That is the number your CFO will ask for.
Scope of the claim
A try-on shows how a cosmetic product appears on a photo. Skin analysis describes visible attributes of that photo. Neither diagnoses a skin condition or replaces a dermatologist, and your copy should not suggest otherwise.
Start small, ship on one category
The fastest path is one category, one palette, one PDP template. Ship it, watch the funnel for a few weeks, then expand the palette. The integration surface does not change as you add SKUs.
Ready to build? Create an account, buy credits and get your API key in the MaIA API documentation — or talk to the B4A team if you want the palette calibration and the advisor layer designed with you.
Frequently asked questions
Do I need an SDK or an app to add a virtual try-on to my product pages?
No. MaIA Try-On is an API: your backend sends the shopper's photo and the product, and receives the rendered image. There is no SDK to embed and no app for the customer to install.
Is this an AR or live camera try-on?
No. MaIA Try-On is photo-based. The shopper uploads or captures a photo and gets a rendered image back, which means the same integration works on a PDP, in WhatsApp, in email and in paid social landing pages.
Will the shades match my actual products?
Palettes are calibrated to each brand's real products within a project, so the rendered shade corresponds to the SKU in your catalog rather than a generic filter.
Can the try-on also recommend which shade to try first?
That is a job for MaIA Scan, which returns a beauty profile from the same selfie, and for MaIA Beauty Advisor, which reads that profile and recommends products from your own catalog.
What should I measure after launching?
Track the full funnel: button clicks, photos submitted, renders completed, shades rendered per session, and add-to-cart or return rates for sessions that used the try-on versus those that did not.