Resolution order
When a launcher is clicked, Hemsy picks the launch mode by checking, in order:- Instant: the script tag has
data-hemsy-mode="instant"and the element hasdata-hemsy-model. - Share: the element has
data-hemsy-share. - Product: the element has
data-hemsy-auto-product-context="true". - Bundle: the element has
data-hemsy-closet. - Sandbox: none of the above; opens the full experience blank.
data-hemsy-flow starts a guided flow when the launch has an empty look (Sandbox, or a flow-only launcher). Bundle (data-hemsy-closet) and Share launches skip the guided flow: closet bypass jumps straight to try-on after a photo is chosen, and share opens the shared-look viewer.
data-hemsy-action (checkout vs cart) is independent of launch mode. It only changes what the final CTA does. See Checkout vs Cart.
Launcher attributes
Sandbox
The default. No launcher attributes needed. The shopper starts blank and builds a look from your full catalog.Product context (PDP)
Launch with the product the shopper is currently viewing. Hemsy reads the selected variant from the page (the add-to-cart form or a?variant= URL parameter) and pre-loads it.
Bundle
Pre-load one or more specific products, curated looks, bundles, or campaign selections, with an explicit payload ondata-hemsy-closet.
The attribute is named
data-hemsy-closet for historical reasons. A “closet”
payload is how Bundle mode describes its products. The same payload format
powers ?closet= deep links._bundleId, _uniqueId, and friends), encoding helpers, and a validation checklist, see Deep Links. Always wrap data-hemsy-closet values in quotes.
Share
Open a previously shared look by its short ID. Useful for marketing campaigns, emails, or featuring shopper-created looks on your storefront.Flow
Launch a guided, step-by-step flow with an empty look:data-hemsy-flow with Bundle or Share launchers: those paths skip the guided flow.
Instant
Instant mode skips model selection and immediately generates a try-on image with a specific model and product payload. The shopper clicks, sees the generation loading state, and lands on the result. Instant requires both pieces:data-hemsy-mode="instant"on the script tag (page-wide).data-hemsy-modelanddata-hemsy-closeton the launcher element. If either is missing, the instant path is skipped.
Getting model IDs
Model IDs are UUIDs assigned to each image in your store’s model library:- Go to your store’s Models page in the Hemsy dashboard.
- Hover over any model image.
- Click the copy icon in the bottom-left corner.
Instant is page-wide
data-hemsy-mode="instant" changes how the whole embed instance builds its launch URLs: only instant parameters are forwarded, and share parameters are stripped.
Instant combines normally with data-hemsy-action="cart" if your storefront owns cart state. See Checkout vs Cart.
URL auto-open
The embed script watches the page URL for?share= and ?closet= parameters and opens the modal automatically on page load:
history.pushState to catch client-side navigations.
Under an instant script tag,
?share= auto-open does not work (share is
stripped), and ?closet= opens a normal Bundle launch rather than instant
generation, since no model ID is present in the URL.