← Back to Operations Hub
To Review · Data Safety

ActiveCampaign Migration Safety Checklist

This is the safety framework for moving off ActiveCampaign without putting the Jane Media customer list at risk. The point is not just migration. The point is durable customer data with proven backup and restore paths.

Primary Goal
Safe migration off AC
Master System
Supabase
Non-Negotiable
Restore test before cutover
Cutover Rule
No AC shutdown until verified
Primary rule: Do not decommission or materially alter ActiveCampaign until backup, restore, and reconciliation are proven.
Status update — April 22, 2026: Phase 1 backup exports are complete, archived in 2 locations, and Phase 1.5 restore proof passed with warnings. The remaining safety gaps are the full canonical field/tag mapping, a Postgres- or Supabase-native restore proof, and actual migration / cutover work.

What this covers

1. Success criteria

The migration is only considered safe when all of the following are true:

2. Source-of-truth model

No single platform should be the only copy of the Jane Media customer list.

Supabase

Master customer database and source of truth for contacts, purchases, subscriptions, and suppressions.

GoHighLevel

Operational CRM and automation layer, not the only place customer records live.

ActiveCampaign

Legacy source and fallback during migration until the new system is proven.

Stripe / PayPal / ThriveCart

Independent purchase truth sources for reconstruction if CRM data gets messy.

Google Drive / Exports

Cold backup location outside the live application stack.

3. Phase 0 — Freeze risky changes

Before any migration work starts:

4. Phase 1 — Create immutable backups

4.1 ActiveCampaign exports

Required filenames: ac-contacts-YYYY-MM-DD.csv, ac-tags-YYYY-MM-DD.csv, ac-custom-fields-YYYY-MM-DD.csv, ac-unsubscribes-YYYY-MM-DD.csv, ac-automations-inventory-YYYY-MM-DD.csv.

Storage: one copy in /root/.openclaw/workspace/Exports/ and one copy in Google Drive /Exports.

4.2 Supabase snapshot export

4.3 Payment system backup

Backup rule: minimum of 2 locations before migration proceeds.

5. Phase 2 — Define canonical field mapping

Identity model

Required fields to preserve

Required migration decisions

No import starts until this mapping is written down.

Current progress: the identity model is already decided — email is the dedup key, UUID is the internal primary key, and customer_id is the human-readable identifier. Full AC field mapping and AC → GHL tag mapping still need to be locked.

6. Phase 3 — Restore test (mandatory)

This is the trust-building step.

Goal

Prove we can reconstruct the list from backups.

Test process

Restore test must verify

Current result: restore proof passed with warnings in an isolated SQLite environment. A Postgres- or Supabase-native restore is still recommended before irreversible cutover.

If restore test fails, migration pauses.

7. Phase 4 — Migration execution checklist

Migrate in batches, not all at once.

Per-batch checklist

Import log fields

8. Phase 5 — Automation migration safety

Because AC is expensive, automation migration should be deliberate rather than rushed.

For each AC automation

Cutover rule for each automation

9. Phase 6 — Reconciliation rules

9.1 Count reconciliation

9.2 Spot-check reconciliation

Minimum 10 records across:

For each spot check verify: name, email, key tags, source, created date, unsubscribe status, and purchase link/history presence.

10. Phase 7 — Cutover criteria

ActiveCampaign should only be downgraded, paused, or cancelled when all are true:

11–13. Rollback plan, immediate next actions, and recommendation

Rollback plan

  1. Stop further imports
  2. Preserve logs and broken batch file
  3. Revert target automation changes if needed
  4. Re-import from archived export
  5. Reconcile counts again
  6. Resume only after root cause is understood

Never fix forward blindly on customer data.

Recommended immediate next actions

“We can lose any one system and still reconstruct the customer database.”