Import from Plausible to Admaxxer — Migration Guide for DTC Brands
If you're running Plausible Analytics today and you've started asking questions Plausible can't answer — which channel actually drives revenue, what's the 90-day LTV of a Meta-acquired customer, why is my paid-search MER falling, where is the campaign that's bleeding budget — you're ready for Admaxxer. This guide walks you through a four-step migration: install the Admaxxer pixel alongside Plausible, run a two-week parallel validation, connect revenue, and optionally remove Plausible at the end. The whole process takes about an hour of work and zero downtime.
Why migrate from Plausible to Admaxxer?
Plausible is a great tool for what it is: a clean, lightweight, cookieless web-analytics product that gives you page views, sessions, top sources, top pages, and basic goals. For a content-only site with no revenue layer, it's exactly enough. For a DTC e-commerce brand or a SaaS company, it's the floor — the layer above the floor is what you don't have yet.
Admaxxer gives you everything Plausible gives you (cookieless mode, page views, sessions, goals, top pages, top sources, no third-party cookies, no creepy tracking) plus a revenue layer that turns analytics into dollars-and-cents decisions:
- Revenue attribution. Every visitor session is joined to revenue events from your payments provider (Stripe, Shopify, Paddle, Polar, Lemon Squeezy, Dodo, WooCommerce). The dashboard shows dollars per source, per campaign, per landing page, not just visit counts.
- Cohort LTV (7/30/90 day). Every visitor lands in a cohort by acquisition date and acquisition source. Admaxxer projects 7-day, 30-day, and 90-day LTV per cohort, so you can answer “is this Meta campaign actually profitable on a 30-day horizon?” before the 30 days are up.
- Blended MER (Marketing Efficiency Ratio). Total revenue divided by total ad spend across Meta + Google + every other paid channel, rolled up daily and weekly. This is the single number ad-buyer teams optimize against; Plausible literally cannot compute it because it has no revenue layer.
- MMM (Marketing Mix Model). An OLS-with-adstock model that decomposes daily revenue into channel contribution — how much revenue did Meta drive vs. Google vs. organic vs. email vs. direct, on an incrementality-aware basis. Datafast and Plausible don't have an MMM surface.
- Ad-level LTV. Drill into a single Meta or Google ad creative and see the 7/30/90-day projected LTV of every customer it acquired. Tells you which creatives bring whales vs. tire-kickers.
- CAPI match rate (Hyros-style). Server-side conversions API match rate with Meta and Google, so your ad platforms learn from your highest-quality first-party data instead of the third-party-cookie-degraded browser signals.
- AI agent (Claude-powered). A streaming SSE chat surface where you ask “which channel drove the most revenue last week, and which creative had the worst LTV?” and Claude reads your data, charts the answer, and suggests the next action. The agent can also pause underperforming campaigns or scale winners with explicit confirmation. Plausible has no AI agent.
- Multi-source attribution at every step. Funnels, goals, and revenue are joined to first-touch UTMs that persist for the visitor's lifetime — so you can answer “what was the source mix of visitors who reached step 4 of my checkout funnel?” not just step 1.
- Ad operations. Pause, scale, and launch Meta + Google campaigns from the same surface that shows you the data. Plausible has no campaign-management surface.
The shorthand: Plausible tells you which visits happened. Admaxxer tells you which visits made you money, why, and how to make more.
Side-by-side comparison
An honest feature comparison of Plausible Analytics vs. Admaxxer Analytics. Both are cookieless-capable, both are GDPR-friendly, both ship a dashboard. The differentiation is in what happens after the page view.
| Feature | Plausible | Admaxxer |
|---|---|---|
| Cookieless tracking mode | Yes | Yes |
| Page views, sessions, top pages | Yes | Yes |
| Top traffic sources, referrers | Yes | Yes |
| UTM tracking | Yes | Yes — first-touch sticky for visitor lifetime |
| Goals (custom events) | Basic — URL match + JS API | Rich — reserved __admx_* goals + custom + metadata (16 keys, 256 chars/value) |
| Funnels | Two-step | 2 to 5 step + cohort-aware + revenue-quantified |
| Revenue attribution | None | Full — per source, campaign, landing page, ad creative |
| Cohort LTV (7/30/90 day) | None | Yes |
| Blended MER (revenue / ad spend) | None | Yes — daily and weekly rollups |
| MMM (Marketing Mix Model) | None | Yes — OLS + adstock |
| Ad-level LTV (per creative) | None | Yes |
| CAPI match rate (Meta + Google) | None | Yes — Hyros-style |
| AI agent (read + ad ops) | None | Yes — Claude-powered, streaming SSE chat |
| Custom event metadata | Limited — name + props | 16 keys × 256 chars per value, 8 KB total |
| Multi-source attribution at every funnel step | Step-1 only | Every step |
| Time-to-conversion distribution (p25/p50/p75/p90) | None | Yes |
| Public shareable dashboard URL | Yes | Roadmap (v1.5) |
| Self-hosted option | Yes (community edition) | SaaS only |
| Pricing (entry tier) | From $9/mo (10K page views) | From $9/mo (50K events) · 14-day free trial · no card |
The pattern: most rows from Plausible's strengths (cookieless, page views, goals, GDPR) are matched by Admaxxer one-to-one. The rows Plausible has nothing in (revenue, LTV, MER, MMM, ad-level LTV, CAPI, AI agent) are exactly what differentiates Admaxxer for revenue-bearing teams.
Migration in 4 steps — the headline
The whole migration takes about an hour of focused work and never requires you to take Plausible offline. The four steps in order:
- Install the Admaxxer pixel alongside your existing Plausible script (~5 minutes — copy-paste a single
<script>tag into your<head>). - Run both Plausible and Admaxxer in parallel for 2 weeks to validate parity on visits, unique visitors, top pages, and top sources. Expect 5–15% variance — we'll explain why.
- Connect revenue — Shopify, Stripe, Paddle, Polar, Lemon Squeezy, Dodo, WooCommerce. This is the moment Admaxxer starts producing data Plausible can't.
- Remove the Plausible script (optional). Many DTC teams keep both running indefinitely — Plausible for content/SEO teams, Admaxxer for revenue/finance/ad-ops teams.
Each step has its own deep-dive section below.
Step 1 — Install Admaxxer alongside Plausible
You don't need to remove Plausible to add Admaxxer. The two pixels coexist with zero conflict because they target different first-party endpoints, fire their own independent network requests, and don't share a JavaScript namespace. Plausible's tag stays exactly where it is; Admaxxer's tag goes in alongside it.
Add the following to your site's <head> (right after your existing Plausible script is fine):
<script async defer
src="https://admaxxer.com/js/script.js"
data-admx-website-id="admx_YOUR_WEBSITE_ID"
data-admx-domain="admaxxer.com">
</script>
Replace admx_YOUR_WEBSITE_ID with the website ID from your workspace settings (Admaxxer assigns one when you create a workspace; you can find it on the install page). The data-admx-domain attribute is optional but recommended — it scopes the cookie to a parent domain so subdomains share a single visitor identity.
If you want richer auto-fired goals (outbound link clicks, file downloads, scroll-depth thresholds, video plays, form submits), swap script.js for script.plus.js. The pro pixel is the same pixel with seven additional reserved goals fired automatically — no code changes needed beyond the script-src swap. See /documentation/custom-goals for the reserved-goal list.
Platform-specific install guides
If you're on a managed platform, follow the platform-specific guide instead of pasting the raw script:
- /documentation/install/shopify — Shopify Custom Pixel install (theme-app-extension free connector)
- /documentation/install/wordpress — WordPress plugin (free connector on the WP plugin directory)
- /documentation/install — the platform index for Webflow, Framer, Squarespace, HubSpot, Wix, Ghost, and a dozen more
Once the script loads, Admaxxer will start recording page views within seconds. Open your workspace dashboard at /dashboard/analytics and you should see the first events appear in real time. If they don't, see /documentation/troubleshoot/missing-orders for the install-validation checklist.
Step 2 — Parallel validation (2 weeks)
For two weeks, run Plausible and Admaxxer side-by-side and compare the daily totals. You're looking for parity on the four basic metrics that both tools compute the same way: visits, unique visitors, top pages, top sources. Anything else (revenue, LTV, MER) is Admaxxer-only and can't be parity-checked because Plausible doesn't compute it.
Expected variance: 5–15%. The two pixels apply slightly different bot filters, slightly different cookie-vs-cookieless heuristics, slightly different timezone-edge handling. A small daily delta is normal; a large daily delta is a signal you should check.
Parity walkthrough
Pick three high-traffic pages on your site (e.g. /, /pricing, your top blog post). For each:
- Open Plausible's dashboard, filter to the date range you want to validate (e.g. last 7 days), and read the page-view count and unique-visitor count for each of the three pages.
- Open /dashboard/analytics, apply the same date range, and read the same numbers from the Pages card (powered by Admaxxer's
p_top_pagesTinybird pipe). - Compute the percentage delta between the two. Most pages should land within 5–15%.
Repeat the same exercise for the top 5 traffic sources (Direct, Organic, Paid Social, Paid Search, Email or whatever your top 5 actually are). The percentage breakdown should match Plausible's within ~10%; the absolute counts should match within 5–15%.
When variance is >20%
If you see >20% variance on a high-traffic page, something is wrong with one of the two installs — not both. The likeliest causes, in priority order:
- Pixel installed on a subset of pages. Plausible is on every page but Admaxxer is only on the homepage (or vice versa). Check your template includes — the script tag should be in your shared
<head>partial, not on a single page. - Content Security Policy blocking the pixel. If your CSP doesn't allow
https://admaxxer.cominscript-srcandconnect-src, the pixel won't fire. See /documentation/troubleshoot/missing-orders for the CSP allow-list snippet. - Bot-traffic delta. Plausible and Admaxxer apply different bot filters. If your site has unusual bot traffic (e.g. a heavy uptime-monitoring tool), one tool may filter it out and the other may not.
- Cookie-mode mismatch. Plausible defaults to cookieless; Admaxxer defaults to cookied. Cookieless tools tend to over-count unique visitors slightly because the daily-rotating fingerprint can't dedupe a returning user across days. Switch Admaxxer to cookieless mode in workspace settings if you want the closest possible parity.
If after debugging variance is still >20%, email support@admaxxer.com with the page URL, the date range, and the two daily totals. We'll diff the underlying ingest log and explain the gap.
When parity passes (<5% variance)
Great — you've validated that Admaxxer sees the same traffic Plausible sees. Time to move to step 3 and connect revenue, which is where the two tools start producing different (and complementary) data.
Step 3 — Connect revenue (the big unlock)
Step 3 is the moment Admaxxer becomes irreducibly more powerful than Plausible. Plausible can never see revenue — not because of a feature gap but because it doesn't ingest revenue at all. Admaxxer ingests revenue from your payments provider via server-side webhook, joins it to the visitor session that produced it (using the sticky visitor_id from the pixel install in step 1), and then unlocks every revenue-aware analytics surface: cohort LTV, MER, MMM, ad-level LTV, attribution waterfalls, the works.
Pick the connector that matches your stack:
- Shopify — install the free Admaxxer Custom Pixel + Admin Webhook from the Shopify App Store (or via the OAuth flow on /integrations/shopify). Captures
orders/paidserver-side; matches Custom Pixelcheckout_completedevents client-side. See /documentation/install/shopify for the full install. - Stripe — paste a restricted Stripe API key (read-only on customers and charges) on /integrations/stripe. Captures
charge.succeededandinvoice.paid. See /documentation/data/revenue-data-flow for the full data flow. - Paddle, Polar, Lemon Squeezy, Dodo — webhook URL + signing secret pasted into /integrations. Each provider has a 5-minute install with copy-paste configuration. The pattern is the same: paste a long-lived restricted key or webhook secret, and Admaxxer subscribes to revenue events on your behalf.
- WooCommerce — install the Admaxxer plugin from the WordPress plugin directory; it auto-wires the order-completed webhook to Admaxxer.
- Custom integration — if your billing system isn't on the list, fire a server-side
POST /api/eventwith revenue metadata ({ name: 'order_completed', amount: 4900, currency: 'USD', anonymous_id: 'u_abc123' }) from your billing webhook. See the developer docs for the full request schema.
Once revenue is connected, the dashboard re-paints with revenue-aware versions of every card you've been looking at:
- Top sources now shows revenue per source, not just visits.
- Top campaigns shows revenue per UTM campaign with cost-per-acquisition rolled up against Meta and Google ad spend.
- Top pages shows revenue per landing page, so you can see which pages monetize and which are vanity traffic.
- The Cohorts card shows 7/30/90-day projected LTV per acquisition cohort.
- The MER card shows blended marketing efficiency ratio for the day, the week, and the trailing 30.
- The MMM card shows channel decomposition with adstock-aware contribution per source.
- Conversion funnels show revenue rescued per step (see /documentation/conversion-funnels) — the dollar value of fixing each drop-off.
- Custom Goals can now feed cohort LTV (see /documentation/custom-goals) — ask “what's the 90-day LTV of users who fired Webinar Registered?” in one click.
This is the step where DTC teams say “okay, I see why the migration was worth it.” Plausible's surface stays exactly the same after revenue connection. Admaxxer's surface transforms.
Step 4 — Remove Plausible (optional)
Once parallel validation passes and revenue is connected, you have a decision to make: keep Plausible running, or remove it.
Why keep both
Most DTC teams who've gone through this migration end up keeping both tools running indefinitely. The reasoning:
- Different audiences inside the company. Marketing and content teams are often already comfortable with Plausible's UI and don't need the depth Admaxxer provides; they want a fast page-views-and-sources dashboard. Revenue, finance, and ad-ops teams need the depth and live in Admaxxer. There's no reason to force the marketing team to adopt a new tool just to consolidate vendors.
- Independent verification. Running two analytics tools in parallel is the cheapest reliability play in the book. If one tool's numbers diverge sharply from the other, you have an early signal something is wrong (an install regression, a CSP change, an outage).
- Negligible marginal cost. Plausible's cheapest tier is $9/mo. For a brand spending five or six figures a month on ads, $9 for a redundant analytics layer is not a real number.
If you do remove Plausible
The removal is straightforward:
- Delete the Plausible
<script>tag from your<head>(or remove it from your theme template if it was added via a CMS plugin). - Optionally clean up DNS — if you proxied Plausible through a custom domain (e.g.
plausible.yourbrand.com), remove the CNAME record. Skip this if you used the defaultplausible.iodomain. - Cancel your Plausible subscription on the Plausible billing page.
- Optionally export your historical Plausible data via Stats → Settings → Export. Plausible exports CSV. Admaxxer doesn't yet ingest Plausible's CSV historical export — that's on the v1.5 roadmap. If pre-Admaxxer historical comparison matters, keep the CSV file in your team drive for ad-hoc reference.
Historical import status
Admaxxer doesn't currently support importing Plausible's CSV historical export into the analytics warehouse. The reason is product-philosophical: imported historical page-view data lives in a different shape than freshly-ingested data (no visitor_id continuity, no UTM-stickiness, no cohort assignment), so it can't be honestly joined to revenue or LTV. Surfacing it alongside fresh data would create a misleading mixed surface. We're working on a clean approach for v1.5 where historical Plausible data shows up as a clearly-labeled comparison overlay rather than mixed in with the live data; until that ships, the recommendation is to treat the Plausible CSV as a reference document.
Mapping Plausible concepts to Admaxxer
Most Plausible concepts have a direct Admaxxer counterpart. The mapping:
| Plausible | Admaxxer equivalent | Notes |
|---|---|---|
| Goal | Custom Goal | Three install paths (JS API, data-attribute, server-side); reserved __admx_* auto-fire goals. |
| Funnel (2-step) | Conversion Funnel (2–5 step) | Cohort-aware, revenue-quantified, multi-source, time-to-conversion distribution. |
| Custom Event | Custom Goal with metadata | 16 keys × 256 chars/value, 8 KB total payload limit. |
| Filter | Saved Segment | Saved across the team; can be applied to any analytics card; persists in URL state. |
| UTM source / medium / campaign | UTM source / medium / campaign (sticky first-touch) | Persists for the visitor's lifetime, not just the session, so attribution at step 5 of a funnel still references the original entry source. |
| Top pages | Pages card (powered by p_top_pages pipe) |
Adds revenue-per-page once revenue is connected. |
| Top sources | Sources card (powered by p_top_sources pipe) |
Adds revenue-per-source, MER-per-source, ad-spend-per-source. |
| Realtime visitors | Realtime card on /dashboard/analytics | Sub-second update via Tinybird streaming pipe; same shape as Plausible's realtime widget. |
| Stats API | Public REST API at /api/v1/analytics/* |
Bearer-authed, zod-validated, scoped to a workspace. See the developer docs. |
| Public dashboard URL | Roadmap (v1.5) | Admaxxer requires login today; shareable read-only URLs are on the v1.5 roadmap. |
The high-level pattern: every Plausible concept that has an Admaxxer equivalent maps cleanly. The concepts that don't map (revenue, LTV, MER, MMM, ad-level LTV) are net-new in Admaxxer, not Plausible features that got dropped.
Pricing — honest comparison
Both tools start at $9/mo and offer free trials. The pricing differentiation begins at the second tier, where Admaxxer's revenue layer switches on.
- Plausible cheapest tier: $9/mo for 10K monthly page views. Cookieless, GDPR-friendly, basic dashboard. Same shape across all higher tiers; the only knob is the monthly page-view quota.
- Admaxxer cheapest tier (Starter): $9/mo for 50K tracked events. Events ≈ page views + goals, so the practical quota is similar to Plausible's 10K page views once you account for goals firing on top. Includes the Admaxxer Analytics surface (top pages, top sources, basic dashboard) but does not include revenue attribution, cohort LTV, MMM, or ad ops.
- Admaxxer Growth ($29/mo): 250K tracked events. Revenue attribution and cohort LTV switch on. This is the tier where the Plausible-vs-Admaxxer differentiation actually starts; if you're not on Growth or higher, you're using Admaxxer as a Plausible-equivalent and missing the point.
- Admaxxer Pro ($79/mo): 1M tracked events. Adds MMM, ad-level LTV, Claude AI agent, Meta + Google ad ops.
- Admaxxer Scale ($199/mo): 5M tracked events. Adds advanced cohort tools and team collaboration features. (Internally tagged AGENCY in pricing config; displayed as “Scale”.)
- Admaxxer Enterprise ($499/mo): 25M tracked events. Adds dedicated success manager, custom data-residency options, and white-label options.
Every Admaxxer plan ships unlimited ad-platform connections, unlimited team seats, and unlimited AI chat messages — the only differentiator across plans is the monthly tracked-event quota and the analytical surface unlocked. There's a free 14-day trial on every paid tier with no credit card required.
If your only need is page views and goals on a content site, Plausible at $9/mo is genuinely a better fit; we'd recommend you stay there. If you have any revenue layer, Admaxxer Growth at $29/mo unlocks the analytics that justifies the difference within the first week of use.
What Plausible does that Admaxxer doesn't (yet)
Honest inventory of capabilities Plausible ships today that Admaxxer hasn't shipped yet:
- Public shareable dashboard URL. Plausible lets you generate a read-only URL of your dashboard you can share with clients or stakeholders without giving them a login. Admaxxer requires login today. Public shareable dashboards are on the v1.5 roadmap.
- Raw event-log export via API. Plausible's Stats API can return individual events. Admaxxer's
/api/v1/*is aggregate-first; raw event export is on the v1.5 roadmap. If you need raw event-level data today, the workaround is a server-side hook that mirrors events to your own warehouse as Admaxxer ingests them. - Self-hosted option. Plausible's community-edition self-host is a real option for teams with strict data-residency requirements. Admaxxer is SaaS-only with US data residency by default; EU residency is on the v2.0 roadmap (subject to demand). If self-hosting is a non-negotiable, Plausible is the right pick.
- Two-step funnel UI specifically. Admaxxer's funnels start at 2 steps and go to 5; if you want a literally-just-2-step funnel, both tools work. Plausible's two-step funnel UI is slightly leaner; Admaxxer's UI includes all the cohort/revenue/source/timing layers even when you only use 2 steps, which can feel like overkill for the simplest case.
If any of these matter to your team, weigh them against the Admaxxer-only capabilities (revenue, LTV, MER, MMM, ad ops, AI agent) before deciding.
Frequently asked questions
Can I keep Plausible AND Admaxxer running together?
Yes — in fact, we recommend it for the first two weeks. Both pixels coexist peacefully. They each fire their own outbound network calls; neither intercepts the other. Most DTC teams keep both running indefinitely: Plausible for the marketing or content team that's already comfortable with the Plausible UI, and Admaxxer for the revenue, finance, and ad-ops teams that need the deeper layer. There's no double-counting risk because Admaxxer's revenue and ad data come from server-side connectors (Stripe, Shopify, Meta, Google), not from competing client-side pixel events.
Will my historical Plausible data import?
Not currently. Plausible lets you export historical data via CSV from the Stats → Settings → Export page; Admaxxer doesn't yet have a CSV-import tool that ingests that historical export into the analytics warehouse. That's on the v1.5 roadmap. For most DTC teams this isn't a blocker because the day you connect revenue is the day Admaxxer starts producing data Plausible can't — cohort LTV, MER, ad-level LTV — so the historical Plausible page-view data rarely matters once you're live. If pre-Admaxxer historical comparison matters to your team, keep Plausible running in parallel forever (it's $9/mo for the cheapest tier; the marginal cost is negligible against the value Admaxxer adds).
Will my existing Plausible goals work?
Goals you fire via Plausible's JavaScript API (e.g. plausible('Signup')) need to be re-fired against the Admaxxer pixel as window.admx?.goal('Signup') — the two pixels don't share a goal namespace. Goals defined as data-attributes on Plausible (data-plausible-goal="Signup") need a paired data-attribute for Admaxxer (data-admx-goal="Signup"); the cleanest pattern is to add both to the same element. URL-pattern goals defined entirely in the Plausible dashboard (no code change required) need to be reproduced in Admaxxer's Custom Goals UI — same pattern, same pageview event, just a different brain ingesting it. See /documentation/custom-goals for the full goal-creation flow.
Is Admaxxer GDPR-friendly like Plausible?
Yes. Admaxxer offers a cookieless tracking mode that uses a daily-rotating fingerprint (server-derived, no client cookie) so you stay GDPR/ePrivacy-compliant without a cookie banner. We also don't ship third-party cookies and we don't sell or share visitor data with ad networks. The default install uses a first-party visitor_id cookie (365-day persistence) for higher-fidelity attribution; you can switch to cookieless mode in your workspace settings if your jurisdiction or privacy policy requires it. Server-side connector data (Stripe, Shopify) is bound by your existing data-processing agreements with those vendors and never leaves your warehouse without your explicit consent.
What if my needs are simple (just page views and goals)?
Both Plausible and Admaxxer work fine for the simple case. Plausible is the right pick if your stack is content-only with no revenue (a blog, a marketing site, a portfolio) and you'll never connect a payments provider. Admaxxer is the right pick if you have any revenue layer at all — e-commerce, SaaS subscriptions, info-products, courses — because the moment you connect Stripe, Shopify, or any other revenue source, the analytics surface changes from “page views per source” to “dollars per source per cohort per day per ad creative,” which is a step-change in actionable insight. Both start at $9/mo, both offer a 14-day free trial; the differentiation begins at the Growth tier ($29/mo) where revenue attribution and cohort LTV switch on.
See also
Install the pixel · Custom goals · Conversion funnels · Revenue data flow · Saved segments · Install on Shopify · Install on WordPress · Troubleshoot missing orders