Install & operate

Import from Umami

You can import your past data from Umami. Umami keeps one row per page view and event, the same detail Vitrus records, so imported history behaves exactly like data Vitrus collected: every report, filter and query covers it.

From Umami Cloud

  1. In Umami Cloud, open Account → Data and export the website.
  2. In Vitrus, open Site settings → Import history and upload the file as it is — .csv.gz or .csv, up to 100 MB. Split a larger export by date range.

From self-hosted Umami

Self-hosted Umami has no export button, but one query against its database produces the same file. On PostgreSQL, with your website's id from Umami's settings:

\copy (
  SELECT e.session_id, e.visit_id, e.event_id, e.hostname,
         s.browser, s.os, s.device, s.screen, s.language, s.country, s.region, s.city,
         e.url_path, e.url_query, e.utm_source, e.utm_medium, e.utm_campaign, e.utm_content, e.utm_term,
         e.referrer_path, e.referrer_query, e.referrer_domain, e.page_title,
         e.event_type, e.event_name, e.tag,
         to_char(e.created_at AT TIME ZONE 'UTC', 'YYYY-MM-DD HH24:MI:SS') AS created_at
    FROM website_event e JOIN session s ON s.session_id = e.session_id
   WHERE e.website_id = 'YOUR-WEBSITE-ID'
   ORDER BY e.created_at
) TO 'umami-export.csv' WITH CSV HEADER

Older Umami versions lack some of these columns (region, tag, hostname, the utm_* columns) — delete any your version does not have. Only event_id, session_id, created_at, url_path and event_type are required; times must be UTC. On MySQL, run the same SELECT with DATE_FORMAT(e.created_at, '%Y-%m-%d %H:%i:%s') and save the result as CSV with a header row.

What happens to your data

RuleWhy
Rows from the day Vitrus started collecting onwards are skipped.Otherwise a visit both tools recorded would count twice. The import tells you how many it skipped.
Importing the same file again adds nothing.Each event keeps its Umami id, so a repeated or overlapping file is harmless.
Channels and sources are re-classified with Vitrus's rules.So "search", "ai" and "social" mean the same thing before and after the switch.
Umami's "session" becomes a visitor; its "visit" becomes a session.The two tools use the words the other way round.
Every import can be removed.Remove deletes exactly the events that import added, and the receipt stays in the list.
Check data retention first. If the site's retention is set to a number of days, imported events older than that are deleted within the hour. Set it to Keep before importing a long history.

What about Plausible?

Plausible exports daily totals — "412 visitors on 3 March" — not the visits themselves. Turning totals into individual visits would mean inventing them, and every number built on them could no longer be checked. We will import Plausible history as what it is, a separate daily series, rather than pretend; that is not built yet.