MaIA Scan

virtual makeup try-on for paid social campaigns

Virtual Makeup Try-On for Paid Social Campaigns: Turning Ad Clicks Into Shade Decisions

Paid social sends traffic to a product page where the visitor still cannot tell if the shade suits them. Here is how to build a virtual makeup try-on campaign landing page that answers the shade question in the first seconds.

6 min readMaIA team · B4A

Paid social is very good at one thing: putting a lipstick in front of someone who did not know they wanted it. It is very bad at the next thing: telling that person whether the shade works on their face. A virtual makeup try-on for paid social campaigns closes that gap — instead of landing on a grid of swatches photographed on someone else's arm, the visitor sees the colour on their own face within seconds of the click.

This article is about the practical build: what the campaign landing page should contain, which delivery form fits which traffic, and what to measure so the media team and the e-commerce team are looking at the same thing.

Why the ad click is the weakest point of the funnel

A paid social click is cold, fast and mobile. The visitor arrived from a video, not from a search for "nude lipstick for warm undertone". They have no history with your brand, no saved shade, and roughly the patience of one scroll.

On a standard product page, that visitor faces three obstacles at once: an unfamiliar shade vocabulary, swatch photography shot on a model who may not look like them, and a return policy they do not want to test. Most of them leave. The ones who buy often buy the safest shade, which is not always the one that would have made them a repeat customer.

A try-on experience removes one obstacle entirely — the colour becomes personal information instead of marketing information. It does not fix pricing or shipping, and it will not rescue a badly targeted audience. It fixes the shade decision, which is the obstacle paid social creates by design.

What the landing page should do in the first screen

Keep the campaign page narrow. One collection, a short shade row, and the try-on entry point above the fold. Resist the temptation to send ad traffic to the full catalog: the ad promised a specific product, and the page should let the visitor act on that promise without navigating.

The entry point matters more than the design. A button labelled with the action — "See this shade on you" — outperforms an icon the visitor has to decode. And the fallback has to be instant: if the camera is blocked or the visitor declines, the page should still show the shade row and the add-to-cart.

Two delivery forms for virtual makeup try-on in paid social campaigns

MaIA Try-On exists in two forms, and campaign traffic usually calls for different ones depending on where the experience lives.

The browser SDK: live camera mode on the landing page

The SDK has been in early access since September 2026 and covers thirteen products — lipstick, foundation, blush, face powder, under-eye concealer, eyeshadow, mascara, eyebrow makeup, eyeliner, bronzer, contour, highlighter and lip liner — plus a combined Full Look. It runs in Live mode, using the visitor's camera and rendering locally in the browser, with nothing uploaded, or in Photo mode. It is self-hosted by the brand and accepts any #RRGGBB colour.

For a campaign page, that combination is useful for two reasons. First, local rendering means the preview is a private moment on the visitor's device, which is an easier consent conversation on cold traffic. Second, accepting arbitrary hex values means the media team can launch a page for a shade that is still in pre-sale, without waiting for a new integration cycle.

The SDK is granted per account during early access — there is no public download — so plan the request alongside the campaign calendar, not the week of launch.

The API: photo-based previews for everything that is not a landing page

The photo-based try-on API takes a photo, renders lipstick or foundation on it using palettes calibrated to your real products in a project, and returns the image. That output is a file, which makes it portable: it can go back into a WhatsApp conversation, a CRM email, a retargeting creative or a post-purchase message.

So a common split is: SDK on the landing page for the live moment, API for everything that happens after the visitor leaves. The API covers lipstick and foundation; the other eleven products and the Full Look are SDK-only, local previews. If you are weighing the two approaches against each other, we compared them in detail in photo-based try-on versus AR try-on.

Feeding the beauty profile back into the campaign

The try-on answers "does this shade look good on me". It does not answer "which shade should I have started with". That is where selfie analysis comes in: a beauty scan API call returns skin tone and undertone, skin type and condition, hair attributes and a confidence score per field, as JSON, from a model trained on Brazilian skin.

On a campaign page, that profile has two jobs. Before the try-on, it reorders the shade row so the first three options are plausible for that visitor instead of alphabetical. After the try-on, it becomes a segment — warm undertone, dry skin, wavy hair — that your CRM can use for the follow-up email or the retargeting audience, with consent.

Treat the attributes as visible characteristics of a photo, not a diagnosis. The profile describes what the image shows; it does not assess skin health and does not replace a professional.

What to measure

Agree on the metrics before the campaign goes live, because media and e-commerce will otherwise report different stories:

  • Try-on entry rate — share of landing-page sessions that start a preview. This is a page-design metric.
  • Shades previewed per session — a proxy for engagement depth, and a signal of whether your shade row is well ordered.
  • Add-to-cart rate, with and without try-on — run it as a split, not a before/after, so seasonality does not do the talking.
  • Return rate on shade-sensitive SKUs, measured over a full return window.

Avoid importing conversion uplift figures from other brands into your own forecast. Results vary with catalog, traffic source, creative and channel; your own split test on your own audience is the only number worth planning against.

Launch sequence that fits a media calendar

Start with one campaign, one product family, one audience. Build the landing page with the shade row working without the try-on, then add the preview on top so a failure never blocks checkout. Calibrate the palette against your real products before the first impression is bought — an uncalibrated shade undermines the ad more than no try-on at all. Then widen to more SKUs once the entry rate tells you the placement is right.

Ready to test it on your next campaign? Create an account and get your API key in the API documentation, or talk to the B4A team about SDK early access and palette calibration.

Frequently asked questions

Should the try-on be on the campaign landing page or on the product page?

For paid social, put it on the campaign landing page, above the fold, next to a short shade row. Ad traffic is cold and impatient, so the shade decision should happen before any navigation.

What is the difference between the MaIA Try-On SDK and the API for campaigns?

The browser SDK runs in live camera mode or photo mode, renders locally in the visitor's browser and covers thirteen products plus a Full Look — ideal for the landing page. The API is photo-based, returns a rendered image for lipstick and foundation, and is better for WhatsApp, CRM and retargeting flows.

Does the live camera mode upload the visitor's video?

No. In Live mode the SDK renders locally in the browser and nothing is uploaded, which makes the consent conversation simpler on cold paid traffic.

Can I launch a try-on page for a shade that is not in stock yet?

Yes. The SDK accepts any #RRGGBB colour, so a pre-sale shade can be previewed before the first shipment, as long as the colour is calibrated against the real product before you start buying impressions.

How do I know if the try-on actually improved the campaign?

Run a split test on the same audience and compare add-to-cart rate and return rate on shade-sensitive SKUs, rather than importing uplift figures from other brands. Results vary with catalog, traffic source and channel.

virtual try-onpaid mediabeauty e-commerceconversionAPI

← All articles