Skip to main content

Migrate Your Historical Data from v1

If you're upgrading from Sealmetrics v1, the Migration Wizard imports your historical data into your v2 site. Migrations run in the background overnight, so you can schedule the import today and check the results tomorrow morning.

What gets migrated

Data typeMigratedWhere it lands in v2
ConversionsYesYour Conversions report
MicroconversionsYesYour Microconversions report
Pageviews (pre-aggregated)YesYour Pages report (URL → name, totals → page views, entrances)
Terms / OS / Device dimensionsYesRolled into your Sources & Devices reports

All available data types are always migrated together — you don't need to (and can't) pick a subset. Properties on conversions and microconversions are preserved.

Engagement metrics

engaged_entrances is always 0 on migrated rows — Sealmetrics v1 didn't record this signal. Your v2 bounce-rate calculation will only be meaningful for traffic captured after you installed the v2 pixel.

How the wizard works

The Migration Wizard has three steps:

  1. Connect — authenticate against your v1 account.
  2. Select Dates — confirm the auto-calculated date range (or customize it).
  3. Status — track the migration once it's been scheduled.

You don't have to babysit the wizard. Once you complete step 2, the job is queued and the wizard closes the loop by moving you into step 3. You can close the tab; the job runs on its own overnight.

Step 1 — Connect to v1

  1. Go to Settings → Migration.
  2. Click Start New Migration.
  3. Enter your Sealmetrics v1 credentials:
    • Email — the address you use to log into Sealmetrics v1.
    • Password — the v1 password.
    • v1 Account ID — the MongoDB account identifier from your v1 setup.
  4. Submit the form. The wizard validates the credentials against v1 and advances to the next step. If the credentials are wrong or v1 is unreachable, you'll see the error and stay on step 1.

Your credentials are encrypted at rest (Fernet / AES) and are used only to open a short-lived tunnel to v1 during the migration. Sealmetrics never stores them in the clear.

Step 2 — Select the date range

When step 2 opens, the wizard connects to v1 in the background and calculates a suggested date range for you:

  • Start = your oldest data in v1.
  • End = the day before your first v2 pageview (to avoid double-counting the overlap).

By default the wizard uses that suggested range. You almost never need to change it — it's the exact range that fills the gap between v1 and v2 with no duplicates.

Customizing the range

If you want to import a shorter window (e.g. only the last 6 months), tick "I want to customize the date range" and pick the dates yourself.

Rules:

  • Maximum window: 2 years (730 days). The wizard will refuse a longer range.
  • End date can't be in the future.
  • If your v1 data extends beyond 2 years back, the "available" range shown will be capped at 2 years.
Extending past the suggested end date

If you extend the end date past what the wizard suggests, you'll overlap with data that v2 already captured. The wizard shows a red warning: "Under your responsibility. Existing v2 data for this range will be replaced." Only do this if you know what you're doing.

Important: match your timezones

Make sure your v1 timezone matches your v2 site's timezone. Data is bucketed by local day in both platforms, so a mismatch will shift every metric across day boundaries and make the join at the seam look wrong. The wizard shows a reminder before you submit.

Click Schedule Migration to queue the job.

Step 3 — Status

Once queued, the wizard shows the job's status. Migrations do not run immediately: they are processed during the nightly window between 01:00 and 07:00 CET. Depending on when you scheduled it, the job may sit in pending for a few minutes to several hours before the worker picks it up.

Status values you may see:

StatusMeaning
pendingWaiting for the next processing window.
runningThe worker is currently importing your data.
completedDone — data is available in your reports.
failedSomething went wrong; the worker will auto-retry the next night.

You can close the tab safely — the worker runs server-side and doesn't need your browser open. Come back to Settings → Migration anytime to check progress.

Cancelling

You can cancel a job that's still pending or has failed. Once a job is running, cancellation is not possible — the worker completes the current run to avoid leaving your data half-imported.

Retries

Failed jobs are automatically retried the next night. There's no "Start New Migration" button for a failed job — the retry is automatic. If a job keeps failing, contact support with the job ID.

Constraints and edge cases

  • One completed migration per site. After a migration reaches completed, you can't queue another one for the same site — contact support if you need to re-migrate (rare; usually only after a data-model change).
  • Nocturnal processing only. The worker is idle during the day; jobs scheduled at 3pm won't start until 01:00 CET the next morning. This is deliberate — batch imports at night avoid competing with live ingestion resources.
  • Idempotent inserts. When the worker imports a date range, it first deletes any existing v2 rows in that range, then inserts the v1 data. Re-running (in the rare cases support enables it) does not create duplicates.
  • Sub-batched inserts. The worker paginates through MongoDB and writes ClickHouse in batches of 200 rows, with pauses between batches, so your live analytics stay responsive during the import.

After the migration

Once the job reaches completed, imported data is available immediately in your v2 reports — no further action needed. In particular:

  • The Conversions and Microconversions reports show the merged history.
  • The Pages report includes v1 URLs with their page views and entrances.
  • Channel grouping is applied to imported rows using the default v2 rules (any custom channel rules you add later will only affect new traffic — same rule as everywhere else in Sealmetrics: classification happens at ingest time).

Troubleshooting

"No data found in v1 for this account." The credentials worked but the v1 account has no historical data. Nothing to migrate — you can start with a clean v2 setup.

"A completed migration already exists for this account." This account has already been migrated. If you genuinely need to re-run it, contact support.

Job stuck in pending past the next 01:00 CET window. Check Settings → Migration — a longer queue at your migration cohort can delay the start. If a job is still pending more than 24 h after being scheduled, ping support with the job ID.

Job in failed state. Failed jobs auto-retry the next night. Check back the morning after; if it fails twice in a row, contact support with the job ID and the error message from the status card.