Metrivo
Docs/Migrate from analytics

Migrate from GA4, Plausible, or Fathom

Move to Metrivo without losing history — and without a risky big-bang cutover. Run Metrivo alongside your current analytics, connect payments so revenue attribution starts today, and import your history by CSV.

The pragmatic 3-step migration

1. Connect a payment provider

Stripe, Dodo, Razorpay, Paddle, or Lemon Squeezy via signed webhooks, or the Manual Payment API. This is the data that reconciles with real money and powers leak detection — do it first.

Payment setup

2. Install the Metrivo tracker

Add the lightweight, cookieless snippet so new sessions attribute to sources going forward — including AI-search referrals. Keep your existing analytics running in parallel.

Install & verify

3. Import your history by CSV

Use the built-in GA4 and Plausible analytics importer (stored as labeled daily aggregates), plus payments and events CSV, so trends have a baseline from day one. Preview first, review skipped rows, then confirm.

Open importer

Column mapping by source

Google Analytics (GA4)

Export reports from GA4 (Explore → export CSV) or query the raw event export in BigQuery. Map GA4's event_name and event timestamp to Metrivo's event_name and occurred_at, and the page_location path to path.

GA4's aggregate reports don't reconstruct individual sessions. For revenue that reconciles with your provider, connect payments (below) and import confirmed payment rows rather than GA4 revenue estimates.

Plausible

Use Plausible's Stats API or CSV export for pages and custom events. Map the event/goal name to event_name, the timestamp to occurred_at, and the page to path.

Plausible is aggregate and cookieless, so there are no per-visitor IDs to carry over — imported rows come in as unattributed historical context, which is expected.

Fathom

Export events and pages from Fathom. Map the event name to event_name and the timestamp to occurred_at.

As with Plausible, Fathom data is aggregate; import it as historical context and let Metrivo build attributed data going forward from the tracker + payment webhooks.

Ready-made CSV templates

Match your exported columns to these headers, then upload in the importer. The importer validates every row, flags duplicates and invalid rows, and only writes the records you confirm.

Events

metrivo-events-template.csvCSV template
event_name,occurred_at,visitor_id,session_id,path,event_type
pageview,2025-01-15T10:00:00Z,,,/pricing,pageview
signup,2025-01-15T10:04:00Z,,,/welcome,custom

Payments

metrivo-payments-template.csvCSV template
external_payment_id,amount,currency,paid_at,status,customer_email,source
pay_001,99.00,USD,2025-01-15T10:12:00Z,paid,customer@example.com,google
pay_002,149.00,USD,2025-01-16T14:30:00Z,paid,,perplexity

Downloadable versions of both templates are available directly in the importer.

Migration FAQ

Do I have to rip out GA4 to switch to Metrivo?

No, and we recommend you don't at first. The pragmatic migration is to run Metrivo alongside GA4: install the Metrivo tracker, connect your payment provider so revenue attribution starts immediately, and import your historical events and payments by CSV for context. GA4 keeps its historical engagement data; Metrivo becomes your revenue source of truth going forward. Once Metrivo is attributing revenue GA4 was missing, most teams keep GA4 as a secondary engagement view.

Will imported history create live sessions or attributed revenue?

Imported rows are historical context for comparing past and future performance — they don't create live visitor sessions. Attributed, confidence-labeled revenue is built going forward from the tracker plus payment webhooks. Aggregate exports (Plausible, Fathom, GA4 reports) don't carry per-visitor IDs, so those rows import as unattributed by design rather than being given fabricated attribution.

How far back can I import?

As far back as your export goes, up to the CSV size limit per file (5,000 rows). Split larger histories into multiple files and import them in sequence. Your data-retention window (3–5 years depending on plan) governs how long imported and live data is kept.

What's the fastest path to a populated dashboard?

Connect a payment provider first — that's the data that reconciles with real money and powers leak detection. Then install the tracker so new sessions attribute going forward, and finally import historical payments and events by CSV so trends have a baseline. You'll see a Metrivo Score and first leak candidates as soon as real payment and traffic data flow.