Import & export
Bring history from Plausible, Fathom or GA4 exports, import event CSVs, and export everything back out.
Supported imports
Two shapes are supported. Event files carry one row per hit and keep full detail. Aggregate files carry per-day totals; Numative synthesizes pageview events from them that reproduce your visitor, pageview and bounce-rate numbers, but detail dimensions are only as rich as the file.
| Source | Format | Notes |
|---|---|---|
| Numative (JSON) | Events | The file produced by Export events (JSON) in this screen, or any JSON with an events array. Full fidelity, including props, revenue and bot flags. |
| Events CSV | Events | Generic per-hit CSV; also fits Umami event exports. |
| Plausible (ZIP) | Aggregate | The Imports & Exports zip, as-is. Not the dashboard's CSV export. |
| Fathom (CSV) | Aggregate | Fathom's aggregate export. |
| Google Analytics (CSV) | Aggregate | A GA4 daily export with date, users and pageviews columns. |
For events CSVs, columns are matched by header name. Recognized headers include timestamp, path, name, referrer, session_id, visitor_hash, country, browser, os, device, UTM columns and revenue. A minimal file works:
timestamp,path,name,referrer
2026-05-01T09:14:00Z,/pricing,pageview,https://news.ycombinator.com
2026-05-01T09:16:30Z,/signup,Signup,Run an import
- 1
Pick the source
On the site's Import screen, choose the source that matches your file. The choice decides how the file is parsed, so pick Plausible, Fathom or Google Analytics for those exports rather than the generic CSV option.
- 2
Choose the file and import
Select the
.csv,.jsonor.zipfile and click Import. The import reports how many events were created, and anything in the file it could not store. - 3
Check the history
Every run appears in the import history table with its status, row count and date. Failed imports show the error; a file with no usable rows is marked failed rather than silently importing nothing.
Plausible exports
Plausible has two zip exports, and they are not interchangeable. Use the one under the site's Settings, then Imports & Exports, then Export data. It is a zip of about eleven CSVs whose names begin with imported_, and every file has a date column. Each one breaks the same traffic down by one dimension: pages, sources, browsers, countries, and so on. Upload the zip as downloaded. Numative reads the files together and reconstructs the visits behind them.
visitors.csv, pages.csv, referrers.csv and so on. It cannot be imported. Apart from visitors.csv, every file in it is one total for the range the dashboard had selected, with no dates, and over a long range even visitors.csv is bucketed by month. There is no day-by-day history in it to rebuild.What comes across:
- Visitors, visits, pageviews, bounce rate and visit duration, at the values Plausible reported.
- The per-page, per-source, per-device, per-country, entry-page and exit-page breakdowns.
- Browser and OS versions, scroll depth, and time on page.
- Cities. Plausible exports these as numeric GeoNames ids, which Numative resolves to names using GeoNames (CC BY 4.0). Places under 1,000 people are not in that dataset: those visits keep their country and region, and the import reports how many were affected.
Two limits are worth knowing. Plausible records aggregates rather than individual hits, so single-dimension reports are exact but a cross-filter of two imported dimensions is not: the export never recorded which browser was in which country. And Plausible's own engagement events, which carry its scroll and time telemetry, are not imported as events. On a busy site they outnumber real goals many times over. The measurements they carry are imported, as scroll depth and time on page against each page.
Overlapping data
If a day in the export is one Numative already has data for, whether from the tracker or an earlier import, that day is skipped. Nothing links an imported visit to the real visit it represents, so the two cannot be merged: importing the day would add Plausible's reconstruction on top of the existing record and roughly double every metric for it. The import reports which days were skipped, as a date or a range.
Running both tools in parallel during a migration is therefore safe. Export from Plausible whenever you like: the days Numative already tracked are left as they are, and only the earlier history is added.
Skipping works a whole day at a time, because that is the only unit these exports have. If you install the tracker at noon and import afterwards, that day is already partly Numative's, so the export's version of it is skipped entirely and the morning stays empty. The hours before noon cannot be filled from the file: it holds one row per day with no time of day in it, and the day's total gives no way to tell how much of it fell before the changeover. Numative marks the day on your chart with an annotation reading Imported history ends here rather than inventing a number for it.
If you have the choice, run the import first and install the tracker afterwards. Then no day belongs to both and the history joins up exactly.
Reverting an import
Every imported event is tagged with its import id, and imported events are never counted as bot traffic. The undo button on a row in the import history deletes every event carrying that id and marks the import reverted. An import can therefore be run, inspected and redone.
Large histories
Large exports are uploaded in parts and reconstructed by a background job. A site with several years of traffic can hold millions of events, which takes minutes to rebuild and ingest.
- The progress bar counts events against the export's own daily totals, so it reports real progress rather than elapsed time.
- Leaving the page does not interrupt the import. The job runs on the server and records its progress as it goes; the Import screen shows the current state whenever you return.
- A failed import is undone as a unit rather than leaving a partial history behind.
Export
The Import screen's export card downloads your site's all-time data:
- Export events (JSON): every raw event, ordered by time, with path, referrer, session and visitor identifiers, location, device, UTM fields, custom props, revenue and bot flags. The file re-imports into Numative at full fidelity using the Numative (JSON) source, so you can move a site between accounts or keep an offline backup.
- Export timeseries CSV: one row per day with visitors, visits and pageviews.
Events exports are capped at 200,000 events per file, matching the import ceiling. A capped file has "truncated": true in its metadata.
Individual reports elsewhere in the dashboard, such as the Rankings section and the Backlinks tables, have their own CSV export buttons scoped to what is on screen.
The toolbar menu beside the range selector also exports a dashboard snapshot: the headline numbers and every breakdown currently rendered, over the selected window and honoring the active filters, as CSV. It is the fastest way to hand someone the report you are looking at. Export is owner-only, so a shared dashboard does not offer it.