Skip to content

← Atlas · Migrate from Google Analytics 4 to Plausible: Step-by-Step Guide

Webflow: Migrate from GA4 to Plausible (Custom Code Setup)

Webflow GA4→Plausible playbook. Site-wide Custom Code, integration disconnect, Memberstack / Outseta gotchas.

Why Webflow has its own playbook

Webflow’s CMS / hosting model is closed — no theme files to edit, no plugin system. Analytics live in two places: Project Settings → Custom Code (head/footer), and any installed embeds (Memberstack, Outseta, form connectors). All cleanup is UI-driven.

Pre-flight

  1. Audit Custom Code locations. Project Settings → Custom Code → Head Code + Footer Code. Search for `gtag` / `googletagmanager`.
  2. Audit page-level Custom Code. Page Settings → Custom Code (per-page Site plan and above only). Some teams sneak GA4 here for split testing.
  3. Audit Webflow integrations. Memberstack, Outseta, Google Analytics native integration. Each emits gtag separately.
  4. Confirm plan capabilities. Free / Basic plans can’t edit per-page head code — only site-wide. Site / Business plans can.

Step-by-step

1. Install Plausible (Day 1)

Project Settings → Custom Code → Head Code:

html Plausible script
<br />
<script defer data-domain="example.webflow.io" src="https://plausible.io/js/script.js"></script><br />

If Webflow is on a custom domain (recommended), use that domain in `data-domain`:

html Custom domain
<br />
<script defer data-domain="example.com" src="https://plausible.io/js/script.js"></script><br />

Save → Publish.

2. Track form submissions (Day 1-2)

Webflow forms don’t auto-track. Add a script for form-submit tracking:

html Form tracking
<br />
<script>
document.querySelectorAll('form').forEach(form => {
  form.addEventListener('submit', () => {
    plausible('Form submit', { props: { id: form.id || form.name || 'unnamed' } });
  });
});
</script><br />

3. Track outbound links (Day 1-2)

Set Plausible to auto-track outbound clicks:

html Outbound + file download tracking
<br />
<script defer data-domain="example.com"
  src="https://plausible.io/js/script.outbound-links.file-downloads.js"></script><br />

4. Dual-tag (Days 2-14)

Plausible runs alongside existing GA4. Compare daily.

5. Remove GA4 (Day 14)

  • Project Settings → Custom Code → Head Code → DELETE gtag block
  • Project Settings → Integrations → Google Analytics → DISCONNECT (if used native integration)
  • Page Settings on each page → Custom Code → check for stray gtag
  • Re-publish entire site

6. Verify (Day 15)

Open published site → DevTools → Network → reload. Filter “google” should be empty. Plausible script should appear.

Webflow-specific gotchas

  • Webflow CDN cache — Custom Code changes need full re-publish; preview environment may show stale state for hours.
  • Per-page Custom Code — Site plan and above. If you have GA4 on individual pages (split tests, one-off campaigns), check each manually.
  • Native GA integration — Webflow’s Project Settings → Integrations → Google Analytics emits gtag without showing up in Custom Code. Disconnect explicitly.
  • Memberstack / Outseta — These emit their own analytics events. Don’t conflict with Plausible but are separate streams.
  • Webflow Ecommerce — Native checkout doesn’t expose hooks for purchase events. Use the order-confirmation page redirect with `plausible(‘Purchase’, {…})`.

Frequently asked

Webflow forms vs Memberstack / Outseta forms — different tracking?

Yes. Webflow native forms fire normal submit events you can hook. Memberstack / Outseta have their own events — check their developer docs for callbacks.

Does Plausible support Webflow's localised content?

Yes. Plausible auto-detects URL changes including language switchers. Custom dimension for language requires manual props.

What about the Webflow Designer iframe?

Don’t worry — Plausible’s `data-domain` filtering excludes Webflow’s editor / preview environments automatically.

Page speed impact?

Plausible’s 1.4kB vs GA4’s 87kB is ~80kB saved. Webflow sites typically gain 100-200ms LCP on mobile.

What about Webflow's built-in page-view tracking?

Webflow doesn’t have built-in analytics — it relied on Google Analytics native integration. Once you disconnect that, you need Plausible (or any) to see traffic.