Migrate from Plausible
Move from Plausible Community Edition to trckable: export raw pageviews and goals from Plausible's ClickHouse and import them, sessions and sources included.
trckable imports events, not summaries, so what you need from Plausible is one row per pageview or goal. The general order (run both for a week, import, compare, switch) is on Migrating.
What Plausible can give you
- Community Edition (self-hosted): every event is in its ClickHouse
database,
plausible_events_db, in theevents_v2table (schema). That is what trckable imports. - Plausible's CSV exports (the dashboard's Export stats, or Site settings → Imports & Exports → Export to CSV) are aggregated reports (Plausible docs). Those are summaries, and trckable does not turn summaries into visits, so they will not import.
- Plausible's hosted service: Plausible documents raw event exports as part of its Enterprise plans (Plausible docs). Without one, start fresh and run both side by side for a while.
From Community Edition
In the directory with Plausible's compose.yml, write the events out as
newline-delimited JSON, with the columns renamed to trckable's names:
docker compose exec -T plausible_events_db clickhouse-client --query "
SELECT timestamp AS ts, pathname AS path, toString(user_id) AS visitor,
name AS goal, referrer_source AS referrer,
country_code AS country, subdivision1_code AS region,
browser, operating_system AS os, screen_size AS device,
utm_source AS source, utm_medium AS medium, utm_campaign AS campaign
FROM plausible_events_db.events_v2
WHERE site_id = 1
FORMAT JSONEachRow" > plausible.ndjsonsite_id is the site's id in Plausible's sites table (PostgreSQL). The
column names above are from Plausible's current schema; if your version
differs, check your version's
schema. Then import it into the trckable site, with the server stopped
as described on Migrating:
trckabled import tkb_a1b2c3d4 plausible.ndjsonWhat comes across:
| From Plausible | Becomes |
|---|---|
pageview rows | Pageviews |
Any other event name (custom goals, Outbound Link: Click…) | A goal of the same name |
user_id | The visitor, hashed on the way in. Plausible rotates it daily, so a returning visitor from before the move counts as new each day, exactly as it did in Plausible |
referrer_source, UTM columns | Source and campaign |
| Country, region, browser, OS, device | The same fields |
Sessions, entry pages and bounces are worked out again by trckable from the rows, not copied, so they follow trckable's rules.
Revenue attached to Plausible goals does not come across as money: in trckable revenue comes from connecting your payment provider, which also fills in history from the provider's own records.
Migrate from Google Analytics 4
Move from GA4 to self-hosted, cookieless analytics: import every pageview and event from GA4's BigQuery export into trckable, then remove the Google tag.
Migrate from Umami
Move from Umami to trckable: one PostgreSQL query exports every pageview and event, and trckable imports it with sessions, sources and goals rebuilt.