← All playbooks
Analytics migration

Google Analytics 4 → Plausible

Replace GA4 collection with Plausible, import day-level history through the official GA4 importer, rebuild goals, and treat the two datasets as different counting methods rather than a match.

Typical timeline15–30 business days36–70 hours active work
Statusneeds review
Source profileGoogle Analytics 4 documentation reviewed 2026-10-28
Destination profilePlausible documentation reviewed 2026-10-28
Documentation date
Review window
Evidence3 sources
This route needs review.Use it as a planning baseline, then verify the dated sources and test with representative data before production.
Before you migrate

Should you make this move?

Both platforms have a case. Compare what you gain with what you give up before scheduling the cutover.

Current platform

Google Analytics 4

Reasons to stay
  • Event-based measurement connects web, app, audiences, and Google advertising
  • Established reporting patterns make recurring measurement easier
Reasons to leave
  • Its data model and reporting interface are difficult for many teams to govern
  • Tracking quality still depends on disciplined implementation and governance
New platform

Plausible

What gets better
  • A simple privacy-focused dashboard delivers understandable web analytics quickly
  • Established reporting patterns make recurring measurement easier
What gets worse
  • Product analytics, attribution depth, and complex segmentation are intentionally limited
  • Tracking quality still depends on disciplined implementation and governance
Best of the move

Plausible: A simple privacy-focused dashboard delivers understandable web analytics quickly. This removes a major source-side concern: Its data model and reporting interface are difficult for many teams to govern.

Worst of the move

What you lose: Event-based measurement connects web, app, audiences, and Google advertising. What you inherit: Product analytics, attribution depth, and complex segmentation are intentionally limited.

Jump to a section
01At a glance

Know the shape of the move.

Transfer outcome11 features audited
Transfer outcome distributionClean transfer: 0, Partial transfer: 5, Manual rebuild: 2, Not transferred: 4.
Clean0
Partial5
Manual2
Lost4
Mapping route8 of 9 fields have a destination path

This timeline assumes

  • Up to 5 GA4 properties per Plausible site, 50 conversion events, and the aggregate history the Data API still returns
  • A signed measurement plan names the metrics and conversions that must remain comparable.
  • Both collectors can run in parallel for at least two to four weeks.
  • Imported history is labeled separately from Plausible-native collection.
  • The migration team records evidence for every blocking verification check.
02What transfers

What survives the move.

“Partial” and “manual” are not footnotes. They are work that must be scheduled and verified.

ItemOutcomeImpactWhat happensMitigation
Historical visitor-level eventslostcriticalPlausible imports day-level aggregate statistics through the Google Analytics Data API. It does not recreate raw visitor journeys.Treat imported history as a reference layer and keep a lawful raw export if you still need event-level evidence.
Unique visitors across longer periodspartialhighImported daily unique counts are summed. That does not match GA4's cross-day unique calculation.Document the break. Do not publish week or month trends that assume the same identity model.
Goals and ecommerce revenuepartialcriticalGA4 conversion data can import, but nothing shows until you recreate matching Plausible goals. Ecommerce revenue is not imported.List every conversion before you start. Recreate goals in site settings and verify live revenue events separately.
UTM source and campaign fieldspartialhighThe importer uses GA4 session source for Plausible's source dimension. It does not fill a separate UTM source field. Medium, campaign, content, and Google Ads keyword can import where the API returns them.Use the source report for imported traffic. Recreate UTM source reports from native Plausible data after cutover.
Exit pages, scroll depth, hourly graphs, and browser versionslosthighPlausible documents these gaps for imported GA4 data. The Google Analytics API does not expose exit pages or scroll depth.Rebuild those questions from native Plausible collection, or keep a dated GA4 export.
Multiple properties and hostnamespartialhighYou can import up to 5 GA4 properties into one Plausible dashboard. Each import brings the whole property. You cannot split one property by hostname.Import the preferred overlapping property first. Later imports skip dates that already have data, so gaps can remain.
Users, sessions, and consent modelingpartialcriticalGA4 uses cookies, device IDs, and consent-mode modeling. Plausible hashes IP and User-Agent daily and does not model refused cookies. The numbers will not match.Approve expected variance before anyone calls the import a failure.
Events, properties, and custom dimensionsmanualcriticalNames do not become Plausible custom events by themselves. Triggers, properties, and reserved fields need a destination setup.Write an event dictionary and fire every business conversion on a staging page.
Dashboards, explorations, and Looker StudiolosthighGA4 explorations, saved reports, and Looker Studio connectors do not become Plausible dashboards. Imported data is also excluded from Plausible consolidated views.Rebuild only the signed reporting set. Export CSV or use the stats API when a spreadsheet still matters.
Audiences, cohorts, and advertising linksmanualhighGA4 audiences and Google Ads links have no Plausible equivalent. Search Console can be linked later and is not a one-to-one keyword import.Decide which advertising questions stay in Google, and which page and source questions move to Plausible.
Collection after Plausible startslosthighThe importer stops the day before your first Plausible visitor. It cannot fill a later gap and cannot recover missing GA4 data.Install Plausible first. Confirm native hits. Import history after you know the start date.
03Field and feature mapping

Where each thing goes.

SourceDestinationMethodNotes
GA4 propertyPlausible sitemanualRecord timezone, domain, and ownership. One property becomes one import.
Page viewPlausible pageviewtransformImported counts are daily aggregates, not raw hits.
Session sourcePlausible sourcetransformThis is not the UTM source report.
Session medium, campaign, or ad contentUTM medium, campaign, or contenttransformOnly where the Data API returns the field.
Google Ads keywordUTM termtransformThis is the Ads keyword dimension, not a general UTM term.
GA4 conversion eventPlausible goalmanualRecreate the goal in site settings after import.
Ecommerce purchase valueNoneunsupportedRevenue is not imported. Track it natively if you need it.
Country, device, or browserPlausible location or device reportsautomaticBrowser versions cannot be drilled into for imported rows.
Saved exploration or audiencePlausible filter or goalmanualRebuild from the signed measurement plan.
04Before you begin

Make the move recoverable.

Backup procedure

Create the source-of-truth backup

Preserve GA4 configuration and dated baselines before Plausible becomes the only collector.

  1. Export property, data-stream, event, conversion, audience, and tag configuration.
  2. Save dated metric, conversion, source, and ecommerce baselines from standard reports.
  3. Record timezone, currency, retention, consent mode, and data-deletion settings.
  4. Hash the exports and the signed measurement plan.

Proof to capture: A signed manifest lists every scoped property, export file, count, and hash.

Transformation · Measurement plan and Plausible site settings

Measurement and goal map

Name every event, property, and conversion before you install the script.

  1. List GA4 conversions you still need.
  2. Write the Plausible goal or custom event for each one.
  3. Reject unmapped critical events.

Proof to capture: Save the input, output, command or tool settings, warnings, and final item counts.

Transformation · Plausible script plus Imports & Exports

Parallel collection and historical import

Collect native Plausible data first, then attach GA4 history without double-counting.

  1. Install Plausible next to GA4 and confirm live hits.
  2. Link Google, pick the property, and confirm the import.
  3. Toggle imported data on and off in the chart menu while you compare.

Proof to capture: Save the input, output, command or tool settings, warnings, and final item counts.

05Handle with care

The things most likely to hurt.

These are operating limits. Treat every “Stop if” condition as a blocked migration, not a suggestion.

Parallel run

Metric differences are treated as data loss

criticallikely likelihood

Consent mode, blockers, session rules, and summed daily uniques produce different totals.

Consequence
Teams reject valid Plausible data or keep GA4 forever.
Mitigation
Approve definitions and expected variance before cutover.

Stop if: A critical metric has no owner-approved interpretation.

Collection

Conversions never appear after import

criticalpossible likelihood

Imported goal data stays hidden until you recreate the goals in Plausible.

Consequence
Business reporting looks empty on day one.
Mitigation
Recreate every signed goal and fire it on a live page.

Stop if: A critical event has no verified Plausible receipt.

Cleanup

GA4 tags stay live past the comparison window

highpossible likelihood

Old tags, GTM containers, or server-side streams keep collecting.

Consequence
Privacy scope and cost exceed approval.
Mitigation
Write a dated parallel-run plan and remove GA4 only after sign-off.

Stop if: An unowned GA4 collector remains active.

06Precise timeline

Do the work in this order.

Estimate forUp to 5 GA4 properties, 50 conversion events, and available aggregate history
Total elapsed15–30 business days
Active work36–70 hours
BufferAdd time for many properties, server-side events, consent mode, ecommerce, or a large Data API import.
01
Days 1–3Inventory and decisions2–3 days
02
Days 3–5Backup and baselines1–3 days
03
Days 5–20Parallel run and import10–16 days
04
Days 18–28Switch collection1–4 days
05
Days 22–40Observe and close5–10 days
  1. Days 1–3 · inventory

    Inventory and decisions

    6–12 hours active2–3 days elapsedOwner review waiting
    • Inventory GA4 properties, events, conversions, tags, and reports.
    • Approve scope, owners, mappings, and exclusions.

    Depends on: Google Analytics 4 and Plausible administrator access

    Stop / go checkpoint

    Install?

    Go when: Every critical item has an owner and disposition.

    Stop when: Consent, billing, access, or system ownership is unclear.

  2. Days 3–5 · backup

    Backup and baselines

    5–10 hours active1–3 days elapsedExport processing waiting
    • Create immutable exports and dated metric baselines.
    • Reconcile property IDs, event names, and hashes.

    Depends on: Approved inventory

    Stop / go checkpoint

    Collect?

    Go when: Source totals and export manifests agree.

    Stop when: Any critical property or conversion list is absent.

  3. Days 5–20 · pilot

    Parallel run and import

    10–30 hours active10–16 days elapsedTwo to four weeks of overlap, plus the import email waiting
    • Install Plausible and confirm live pageviews and goals.
    • Import the GA4 property and compare imported versus native dates.

    Depends on: Verified backup

    Stop / go checkpoint

    Scale?

    Go when: Native hits, imported dates, and goal tests pass.

    Stop when: Any critical check fails or a date gap is unexplained.

  4. Days 18–28 · cutover

    Switch collection

    4–12 hours active1–4 days elapsedTag and container publish waiting
    • Remove or pause GA4 collection on production pages.
    • Keep the GA4 property readable and run blocking checks.

    Depends on: Passed pilot and approved rollback

    Stop / go checkpoint

    Open production?

    Go when: Plausible owns approved measurement and every blocking check has evidence.

    Stop when: A GA4 collector remains active or a conversion is missing.

  5. Days 22–40 · observe

    Observe and close

    3–12 hours active5–10 days elapsedOne reporting cycle waiting
    • Watch one complete reporting cycle.
    • Sign the verification report before you close rollback.

    Depends on: Verified cutover

    Stop / go checkpoint

    Close rollback?

    Go when: No trigger occurs during the agreed observation period.

    Stop when: Collection, access, or business reporting regresses.

07The point of change

Cut over with a way back.

Go live

Cutover

Make Plausible the only production collector without losing the approved GA4 baseline.

Recommended window: The first weekday after a full overlapping week, with analytics and marketing owners available.

  1. Confirm native Plausible hits and recreated goals.
  2. Finish the GA4 import and record the imported date range.
  3. Pause GA4 tags, GTM tags, and server-side streams.
  4. Run every blocking verification check and keep the GA4 property readable.
  5. Keep the source intact through the rollback window.

Proof to capture: Plausible owns production measurement, imported dates are recorded, and every blocking check has evidence.

Return to safety

Rollback

Return collection to GA4 without losing Plausible-era events.

Deadline: Within seven days and before GA4 properties, credentials, or billing are changed.

  1. Stop relying on Plausible as the only production report.
  2. Restore the prior GA4 tags, GTM container, and server-side streams.
  3. Export the Plausible post-cutover period.
  4. Keep both datasets labeled until the next reporting cycle.
  5. Run the same blocking checks against GA4.

Proof to capture: GA4 again owns production measurement and no unowned collector remains.

Rollback immediately when
  • Unexplained critical count or value variance
  • A critical conversion has no destination receipt
  • Imported history covers the wrong property or dates
  • Failed access, consent, or deletion check
  • A critical report has no safe Plausible replacement
08Verification report

Prove the migration worked.

Every blocking check must pass. Capture the evidence before cleanup begins.

0%
Interactive report preview0 / 8 checks passed
PassIDCheckMethodExpected resultEvidence
V-01BlockingLive event receiptTrigger every critical client and server event.One valid Plausible event with approved properties.Event log.
V-02BlockingRecreated goalsComplete every approved conversion path after goals exist in site settings.Each signed goal fires once.Goal report.
V-03BlockingImported date coverageCompare the import row in Imports & Exports with the GA4 property ID and date range.Every supported period is imported or explicitly archived.History ledger.
V-04BlockingParallel-run interpretationCompare daily visitors, visits, and top pages for the overlap window.Variance is explained and owner-approved.Metric comparison.
V-05BlockingSource and campaign behaviorRun tagged journeys and inspect native Plausible source reports.Source, medium, and campaign resolve as designed on native data.Attribution test.
V-06BlockingConsent, retention, and deletionTest opt-out, deletion, access, and retention configuration.Collection and lifecycle match policy.Privacy evidence.
V-07Imported-data exclusionsOpen exit pages, scroll depth, hourly view, UTM source, and consolidated view.Each gap is documented. No report claims imported coverage it does not have.Limitation checklist.
V-08BlockingReporting ownershipInspect tags, SDKs, APIs, exports, and dashboards.Plausible owns approved production measurement.Ownership checklist.
09Post-migration cleanup

Remove the scaffolding safely.

Safe after: One complete reporting cycle, at least seven stable days, and owner sign-off on every blocking check.

  1. Create final GA4 exports and archive verification evidence.
  2. Revoke the Google account link if you no longer need it. Plausible does not need it after a finished import.
  3. Remove obsolete GA4 tags, GTM tags, and server-side streams.
  4. Keep the GA4 property readable through the approved retention window.
  5. Cancel paid Google properties only after billing, legal, and recovery review.
  6. Schedule the next Plausible backup, access, and playbook review.
10Experiences from the field

When the plan met reality.

First-hand accounts are preferred. Vendor case studies are labeled, and every note below is an editorial paraphrase—follow the link for the full context.

First-person accountSwizec Teller · swizec.com

I stopped using Google Analytics after 15 years2022

Swizec Teller writes that swizec.com ran Google Analytics for 15 years and that GA4 was the breaking point. A weekend adding GA4 to a test site recorded no pageviews. He moved to Plausible for a 1 kb script, cookie-free GDPR posture, and event tracking. Email signup fired with window.plausible('Email Signup') on the first try, after years of unused GA conversion setup. He does not describe a historical import. The useful field lesson is that collection and goal setup were the cutover, not report parity.

What they recommend
  • Prove live pageviews and one real conversion on Plausible before you spend time on GA4 report reconstruction.
  • Treat GA4 setup cost as part of the migration decision, not a sunk cost you have to finish.
Worth noticing
  • A failed GA4 test install was enough reason to leave, even after 15 years of Universal Analytics history.
  • Plausible custom events were usable on the first attempt where GA conversion setup had never been.
First-person accountCarlos Bindert · carlosbindert.com

Migrating from Google Analytics to Plausible2023

Carlos Bindert, running the stack at YIP, replaced Google Analytics with Plausible during a December 2022 domain move as Universal Analytics sunset approached. They picked Plausible over Simple Analytics, Fathom, and Matomo after a trial on part of a Webflow site. Collection started 29 December, the night before the domain change. Six months later the team still liked sources, realtime, and CSS-class conversions. They lost Narrative BI Slack reports, froze Looker Studio, and could not share the dashboard by path. Search Console linking helped and was not exact.

What they recommend
  • Install Plausible before a domain change so the new host starts with native data instead of a hole.
  • List the reports you will lose, such as Looker Studio and path-restricted sharing, before you call the move done.
Worth noticing
  • Script size and a simple dashboard mattered more than matching every GA report.
  • Weekly email snapshots plus a Slack mailbox were a workable, rough replacement for automated GA commentary.
Sources and evidence

Verify against the primary material.

Platform behavior changes. Check these sources and the review dates above before executing a production migration.

  1. Plausible: import stats from Google AnalyticsAccessed 2026-10-28
  2. Plausible: migrate from Google AnalyticsAccessed 2026-10-28
  3. Plausible: verify the integrationAccessed 2026-10-28