> ## Documentation Index
> Fetch the complete documentation index at: https://topten.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Privacy & data handling

> What Live Product Insights collects, what it never collects, how visitor consent gates collection, and how data is retained and deleted.

Live Product Insights is designed so that merchants can answer every privacy
question with a short answer: the app measures aggregate product activity and
stores nothing that identifies a person.

## What is collected

| Data | Detail |
| - | - |
| Anonymous session ID | A random UUID generated in the visitor's browser and stored in `localStorage`. No third-party cookies are used. |
| Product events | Product views, add-to-cart events, and remove-from-cart events. |
| Heartbeats | Page-visible presence pings used only to compute the live viewer count. |
| Device class | Coarse category — mobile, tablet, or desktop — derived from the user agent. |
| Referrer host | The referring site's host name only, never the full URL. |
| Campaign parameters | `utm_source`, `utm_medium`, and `utm_campaign`, truncated to 120 characters and attached only to the first event of a session. |

## What is never collected

* Customer names, email addresses, or postal addresses
* Order contents linked to an identifiable person
* Full browsing URLs or page content
* Anything that persists across stores or could be combined with other apps' data

## Visitor consent

Storefront collection is gated by the Shopify Customer Privacy API:

* The tracker waits a few seconds at page load for the consent API to resolve,
  subscribes to consent changes, and re-checks consent before every send.
* Visitors who have not allowed analytics processing are never recorded — not
  even a page view.
* Visitors can withdraw consent at any time; the tracker stops on the next
  send.
* On storefronts without a consent API (unmanaged themes), collection proceeds
  because there is no consent signal to respect.

## Retention

| Data | Retention |
| - | - |
| Events, sessions, orders | Pruned daily after the configurable retention window — default 90 days, range 7 to 365 days. |
| Live presence rows | Expire within minutes of the last heartbeat, with a hard backstop of 7 days. |
| Daily rollups and catalog cache | Kept long-term; rollups contain no session identifiers. |

Pruning runs automatically each day at 02:10 UTC.

## Deletion paths

* **Clear analytics data** — a merchant action in Settings that deletes all
  events, sessions, presence, cart mappings, orders, rollups, and insights. Configuration such as settings is kept.
* **App uninstall** — all store data is deleted immediately when the app is
  uninstalled.
* **Mandatory Shopify privacy webhooks** — `customers/data_request` is answered
  with confirmation that no customer personal data is stored;
  `customers/redact` and `shop/redact` trigger the corresponding deletions.

## Data isolation and storage

Every query in the app is scoped by store. One store's data is never visible
in another store's dashboard, and there is no cross-store aggregation.

All data lives in the app's own single database. There are no third-party
analytics processors, no data brokers, and no advertising SDKs.

> [!NOTE]
>
> If a dashboard is empty, the most common cause is consent: visitors who have
> not accepted analytics cookies are never counted. See
> [Troubleshooting](https://topten.mintlify.site/troubleshooting.md) for how to check consent settings.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.