Documentation / Importing Historical Data

Importing Historical Data

Bring your historical pageview data into GhostlyX from any supported analytics platform. Imports are additive and privacy-safe. Available on the Scale plan.

Scale plan required

Historical data import is available on the Scale plan. Site owners and admins can upload imports. Viewers and editors do not have access to the import tool.

How importing works

GhostlyX accepts a CSV file exported from your previous analytics provider. It reads each row, strips any personal data, and writes the aggregated pageview counts into your site's historical data. Imports are additive: rows are appended alongside your live tracking data, never replacing it.

1

Export from your old tool

Follow the platform-specific guide below to export the correct report as a CSV file.

2

Upload in your dashboard

Go to your site, click Import Data, select your source, and upload the file.

3

Data appears in your charts

GhostlyX processes the file in the background. Historical bars appear in your dashboard once complete.

Privacy-safe processing

GhostlyX only reads aggregate pageview counts and page paths from your CSV. It does not import user IDs, IP addresses, client IDs, session tokens, or any other personal identifiers. Query strings are stripped from imported URLs (UTM parameters are kept for source attribution). Your uploaded CSV is deleted from storage immediately after processing completes.

Limits and behaviour

File size Up to 100 MB per upload.
File format CSV only. UTF-8 encoding required.
Row limit No hard row limit. Files are processed in batches of 500 rows.
Additive imports Each import adds to your existing data. Duplicate rows are not deduplicated, so avoid uploading the same file twice.
Date range All date ranges are accepted. Data is written to the correct historical bucket for each row's date.
URL sanitisation Query strings are stripped from imported page paths. UTM parameters are preserved for source attribution.
Referrers Only the hostname portion of referrer URLs is kept. Paths and query strings are removed.
Visitor identity Imported rows use a synthetic visitor identifier prefixed imp_. They are counted separately from live tracked visitors to avoid double-counting.
CSV deletion Your uploaded file is deleted from our storage immediately after processing completes. It is not retained.
Multiple imports You can run multiple imports over time. Each one is listed in the import history on the Import Data page.

Troubleshooting

My import completed but 0 rows were imported

This usually means the wrong report was exported. Each platform has a specific report that must be used. The most common mistake is exporting a Channels or Acquisition report instead of a Pages report. The importer expects rows with page paths (starting with /) in the path column. Check the platform-specific guide for the exact report name and export steps.

My import shows a failed status

The import job failed to process the file. This can happen if the CSV is malformed, uses an unexpected encoding, or the file was corrupted during upload. Try re-exporting from your analytics tool and uploading again. If the problem persists, contact support.

The import is stuck at 0% or processing for a long time

Large files can take several minutes to process. Refresh the page to see the latest progress. If the import has been stuck for more than 30 minutes, the job may have failed silently. Delete the import and try uploading again.

I uploaded the same file twice by mistake

GhostlyX does not deduplicate imported rows. If you uploaded the same file twice, your pageview counts will be doubled for the affected pages and dates. Delete the duplicate import from the import history to remove those rows.

My CSV file is rejected at upload

Check that the file is a valid CSV (not an Excel .xlsx file), is under 100 MB, and is UTF-8 encoded. Some platforms offer XLS or XLSX exports by default. Look for a CSV or plain text export option instead.