aisthetix Virtual Try-On
aisthetix adds an AI-powered virtual try-on to your WooCommerce product pages. A shopper uploads a photo of themselves, and the garment on the page is rendered onto their body in seconds — a virtual fitting room that lifts conversion and cuts returns.
This plugin is a thin, free connector to the hosted aisthetix service. It does not run AI on your server: the shopper’s browser talks directly to the aisthetix service, so your store stays fast and your PHP workers are never tied up on multi-second AI calls.
Highlights
- One-click Connect aisthetix — sign in (Google or email code), approve, done. No API keys to copy or paste.
- Works on simple and variable products — the try-on follows the selected variation’s image automatically.
- Multiple placements: automatic (after the Add to cart button), a
[aisthetix_tryon]shortcode, a Gutenberg block, and a native Elementor widget. - Optimizer-friendly: the loader is registered so it is not delayed or stripped by WP Rocket, LiteSpeed Cache, or Perfmatters.
- Localized: includes English and Italian, follows your site locale.
- Hides itself when paused: when the store’s monthly quota is reached, the try-on entry point simply disappears — no broken button, no nag.
Privacy & GDPR
Your shoppers’ privacy is central to this product.
- Shopper photos are processed transiently and are never stored. The photo is uploaded from the shopper’s browser directly to the aisthetix service, used only to generate the try-on image, and is not persisted.
- Photos never touch your WordPress server. WordPress only injects a small configuration object and a loader script; the image upload and the result both flow between the shopper’s browser and the aisthetix service.
- The shopper’s uploaded photo and their try-on history live only in their own browser’s local storage.
- The plugin stores, on your server, two API keys provisioned during Connect: a public (publishable) key that is safe to expose to the browser and a secret key that is used only for server-to-server status checks and is never sent to the browser.
A full privacy disclosure and Data Processing Agreement are available on the aisthetix dashboard. Use of this plugin sends shopper-provided images to the third-party aisthetix service for processing; you should reflect this in your store’s privacy policy.
External services
This plugin connects your store to the aisthetix virtual try-on service (the “brain”, hosted at woo.aisthetix.fyi). The service is required: the AI try-on is provided remotely and does not run on your WordPress server.
What is sent, and when:
- Shopper photo + garment image — sent from the shopper’s browser to https://woo.aisthetix.fyi/api/storefront/tryon, only when the shopper actively starts a try-on (an explicit click, behind the widget’s own consent step). The photo is processed transiently to generate the result and is not stored by the service; it lives only in the shopper’s own browser storage.
- Connection details — when you (the merchant) click “Connect aisthetix”, your site URL, a return URL, and a state token are sent to https://woo.aisthetix.fyi/connect and /api/connect/* to link your store and provision keys. Merchant-initiated.
- Anonymous analytics events (product_viewed, product_added_to_cart, aisthetix_tryon_completed) — sent to https://woo.aisthetix.fyi/api/events ONLY if you enable “Anonymous analytics” (off by default) or a consent banner on your site grants analytics/statistics consent. See “Cookies & consent” below.
- Order data (order id, product ids, order value, currency, and an anonymous visitor/customer id) — sent to https://woo.aisthetix.fyi/api/storefront/order when an order is paid, ONLY if “Anonymous analytics” is enabled. Used to attribute purchases to prior try-ons.
Service Terms of Service: https://tryon-demo.aisthetix.com/woocommerce/terms Service Privacy Policy: https://tryon-demo.aisthetix.com/woocommerce/privacy
Cookies & consent
By default this plugin sets NO cookies and sends NO analytics — nothing is tracked passively. The shopper-initiated try-on still works: it is an explicit action, not passive tracking.
If you enable “Anonymous analytics” under WooCommerce -> aisthetix Try-On (off by default), the plugin:
- Sets a first-party cookie named “aisthetix_vid” on product pages — a random, non-personal visitor id used to attribute a later purchase to an earlier try-on. It is not a login or credential cookie. Lifetime: about 13 months.
- Sends the anonymous analytics and order events described under “External services”.
If your site uses a supported consent banner (Cookiebot, Complianz, or Google Consent Mode), the shopper’s analytics/statistics choice additionally controls the browser-side events: an explicit grant enables them and an explicit deny suppresses them, regardless of the setting. The first-party cookie and the server-side order event follow the “Anonymous analytics” setting.
Build from source
The storefront widget (assets/widget.js + assets/widget.css) is built from the React + TypeScript source shipped in widget-src/. To reproduce it:
cd widget-src && npm ci && npm run build
This emits assets/widget.js and assets/widget.css. See widget-src/BUILD.md for details. All widget runtime dependencies are MIT-licensed (React, React DOM).
