Skip to content

Privacy and shopper data

The two try-on modes handle shopper data differently. If you’re answering a privacy question or filling in a data-processing record, the distinction matters.

The camera feed is processed on the shopper’s device. Frames are rendered against the 3D model in the browser and are not uploaded to TryOn.

Before the camera starts, the shopper is asked for consent, and the browser separately asks for camera permission. Both are recorded as events — accepted or declined — so a declined prompt shows up in your dashboard rather than looking like a failure.

AI Swap works differently, and this is the part most often described incorrectly: the shopper’s photo is uploaded. It goes to the TryOn API, which forwards it to the processing engine that generates the result image. It does not stay on the device.

The shopper consents before the photo is selected, and can choose an existing photo or take a new one. If they re-use a photo they’ve already used for the same kind of product, the engine skips its suitability re-check, but the photo is still sent.

Every try-on interaction writes an analytics event. Each one carries:

  • An anonymous per-visit session ID and a persistent per-device visitor ID. Neither is derived from a customer account, an email address, or a name.
  • The product and variant being tried on.
  • App version and user agent, for diagnosing widget problems.
  • Event-specific metadata — for example, how long a shopper tabbed away mid-session.

No customer name, email, address, or order data is attached to a try-on event. The visitor ID is what makes unique-visitor metering possible (see Sessions and limits) — it identifies a device across visits, not a person across your store.

Four consent events appear in your data, and a declined consent is a normal outcome rather than an error:

  • ar_consent_accepted / ar_consent_declined
  • swap_consent_accepted / swap_consent_declined

Alongside them, camera_permission_granted, camera_permission_denied, and camera_blocked_by_policy record what the browser itself decided — the last one meaning a site policy blocked camera access before the shopper was asked.

Try-on is built to operate under GDPR, and collects only what’s needed to run the widget and report usage back to you. The app’s privacy policy and DPA are the authoritative documents for your own compliance record — including the processor chain for AI Swap, which involves the processing engine as well as TryOn.

Troubleshooting — what to check when the button doesn’t show up or a model doesn’t look right.