# Admaxxer AI Analytics — All your analytics, attribution & ad ops in one dashboard > All your analytics, attribution & ad ops in one place. Admaxxer is an analytics-first marketing platform: Meta, Google, TikTok & Klaviyo in one dashboard, 8 attribution models, a 92% CAPI match rate, and first-party pixel analytics from $9/mo (7-day free trial, no card). Once you know which ad, ad set, and campaign actually drove each sale, act on the truth in one click — nothing moves without your sign-off. It also ships all three layers — first-party web analytics, multi-touch revenue attribution, and server-side conversion tracking for Meta, Google Ads, TikTok, and Klaviyo — on every plan. Ecommerce-first; SaaS revenue (Stripe, Paddle, Lemon Squeezy & more) is supported on every plan too. Datafast + Triple Whale + Stape combined run $200–500+/mo; Admaxxer is $9–999/mo. Analytics + Attribution + Server-side tracking — one platform, $9/mo. Admaxxer collapses three line items most DTC stacks buy separately (a Datafast-class web-analytics tool, a Triple Whale-class attribution platform, and a Stape-class server-side gateway) into a single platform with one pixel, one data model, and one $9–999/mo subscription. Server-side conversions ship live today for all four major platforms: **Meta** (Conversions API), **Google Ads** (Enhanced Conversions for Web), **TikTok** (Events API), and **Klaviyo** (server-side track-events). The browser pixel and the server fire the same event with a shared de-duplication ID so the ad platform recognizes it once — typically recovering 20–40% of conversions lost to iOS ATT, Safari ITP, and ad blockers (up to ~40% on TikTok, where browser-pixel attribution is weakest). A first-party tracking subdomain (t.<your-domain>.com, with TLS certificates issued and renewed for you automatically) is included on every plan from $9/mo — no Stape, Elevar, or Blotout surcharge. On top of that foundation sits the full analytics suite (MER, cohort LTV, MMM, forecast, 7 attribution models × 5 lookback windows, synthetic-control incrementality, post-purchase surveys, Pixel-vs-Platform reconciliation) and the Maxxer AI agent (BYOK — Anthropic, OpenAI, or GLM) for conversational analysis and confirmation-gated ad operations on Meta + Google. 7-day free trial on every plan. No credit card required. ## The three layers (Analytics + Attribution + Server-side tracking) - **Analytics layer** — First-party pixel feeding a fast, dedicated analytics back end. Web analytics (sessions, visitors, conversion rate, funnels, geo, device, technology) at Datafast parity, plus the DTC layer (MER, AOV, blended ROAS, NC-ROAS, cohort LTV at 7 / 30 / 90 days, RPS, refund-aware revenue) that Datafast doesn't ship. Datafast equivalent: ~$19–99/mo. - **Attribution layer** — 7 attribution models (last-click, first-click, linear-all, linear-paid, time-decay H=7d, position-based 40/20/40, Markov-chain) × 5 lookback windows × pixel / Shopify customer-journey / Platform-reported / All synthesis lenses. Plus CAPI match rate, synthetic-control geo-lift incrementality, MMM (adstock + Hill saturation), post-purchase surveys, and the Reconciliation Panel that explains every gap in plain English. Triple Whale equivalent: $129–249+/mo; Northbeam: $10k+/yr. - **Server-side tracking layer** — Conversions API forwarding to Meta + Google Ads (Enhanced Conversions for Web) + TikTok + Klaviyo, de-duplicated against the browser pixel via a shared event ID. A first-party tracking subdomain serves the pixel and ingest from your own domain so cookies and requests are first-party. Stape equivalent: $20–500+/mo; Elevar: $80–500/mo; Blotout: $499+/mo. Admaxxer charges $0 extra — included on every plan from $9/mo. ## Core analytics surfaces - **Dashboard (unified overview + analytics)** — the canonical landing page. Stacks the DTC blended-summary sections (KPI ribbon, MER/ROAS/AOV efficiency, traffic, Meta + Google platforms) on top of the niche-agnostic premium analytics view (hero KPIs, acquisition, top pages, geography, technology, time-of-day, goals, plus an advanced section with attribution, MMM, and incrementality). Editable: drag sections, hide tiles, save named views. See https://admaxxer.com/dashboard. - **Marketing Acquisition (Triple-Whale-style Summary)** — the flagship marketing dashboard. Eight sections, ~75 KPI tiles, sparkline-on-every-tile, pin-to-top affordance (scoped per page). Sections: (1) Pinned, (2) Custom Metrics, (3) Attribution (blended revenue / ad spend / ROAS / MER / CAC / AOV / orders / new customers with 4 attribution models × 5 lookback windows), (4) Web Analytics (sessions / visitors / pageviews / conversion rate / bounce rate / avg. session time), (5) Store (gross + net revenue / refunds / AOV / repeat-purchase rate / returning-customer revenue), (6) Meta Ads (spend / revenue / ROAS / CPM / CTR / CPA / CAPI match rate), (7) Google Ads (spend / revenue / ROAS / CPC / CPM / impressions / conversions, MCC-aware), (8) Expenses (COGS / shipping / payment fees / blended-profit proxy). See https://admaxxer.com/marketing-acquisition. - **Attribution drill-down** — channel → campaign → adset → ad inline expansion with the Pixel CVD gap metric and customizable column presets. Lives inside the Dashboard's Attribution tab. See https://admaxxer.com/dashboard. ## Why Admaxxer - **Server-side conversions + first-party tracking subdomain — included on every plan from $9/mo.** Server-side forwarding for 4 platforms: Meta (Conversions API), Google Ads (Enhanced Conversions for Web), TikTok (Events API), and Klaviyo (server-side track-events). The browser pixel and the server fire the same conversion with a shared de-duplication ID so the ad platform recognizes it once. Typically recovers 20–40% of conversions lost to iOS ATT, Safari ITP, and ad blockers (TikTok recovers ~40% because browser-pixel attribution there is the weakest of any major network). Merchants can also point a first-party tracking subdomain (t.<their-domain>.com) at Admaxxer — TLS certificates are issued and renewed automatically; the pixel and ingest serve from the merchant's own domain so cookies and requests are first-party. Triple Whale users pay $20–200/mo extra for Stape to get the same capability; Elevar charges $80–500/mo on top of attribution; Blotout starts at $499/mo because the server-side stack is their core product; Stape standalone runs $20–500/mo per store. Admaxxer charges $0 extra — the surcharge column is the line item we deleted. - **Encrypted token vault** — Meta and Google credentials are sealed with AES-256-GCM at rest (the key is derived via scrypt from a securely-managed secret) and never written to logs. Tokens decrypt on demand and stay within the workspace they were issued for. - **Maxxer AI agent (BYOK)** — Conversational ad ops at the campaign level: list campaigns, audit accounts, propose budget changes, summarize last week, and (with explicit per-action confirmation) update or pause campaigns on Meta and Google. The agent does NOT create new campaigns — campaign creation stays in the Meta or Google campaign builder. Bring your own API key — Anthropic, OpenAI, or GLM. - **Meta + Google in one place** — One dashboard, one creative library, one reporting layer across both networks. - **Unlimited connections, unlimited seats** — No caps on Meta + Google ad accounts. No per-seat pricing on teams. - **Plans sell on tracked events** — You pick a plan based on how many monthly events your pixel captures, not how many users or connections you have. - **Marketing analytics on admaxxer.com** — admaxxer.com loads Google Tag Manager (GTM-NKLN9XGR), GA4 (G-EQQ89BZE1Y), and Meta Pixel (id 926856077017723) for marketing-funnel attribution; server-side mirrors fire via Meta Conversions API for ad-blocker resilience. ## Pricing - Starter: $9/mo — 15K tracked events - Growth: $29/mo — 100K tracked events - Pro: $79/mo — 750K tracked events (most popular) - Scale: $199/mo — 3M tracked events - Enterprise: $499/mo — 15M tracked events - Platform: $999/mo — 50M tracked events (multi-brand operations / platforms) All quotas are hard-capped — no overage charges, no surprise bills. If you hit your cap, ingestion pauses until the cycle resets or you upgrade. All plans include: unlimited ad accounts (Meta, Google, TikTok, Klaviyo), unlimited team seats, Maxxer AI agent (bring your own API key — Anthropic, OpenAI, or GLM), revenue attribution, and CAPI match-rate. MMM, incrementality, forecast, and ad-level LTV unlock at Pro. 7-day free trial on every plan, no credit card required. Click "Start 7-day free trial" on /billing?welcome=1 after signup. Annual billing: 2 months free. ## How Admaxxer Compares | Feature | Admaxxer | AdRoll | Revealbot | Madgicx | DIY (native ad UIs only) | |---------|----------|--------|-----------|---------|------------------------| | Encrypted token vault (AES-256-GCM at rest) | Yes | Vendor-managed | Vendor-managed | Vendor-managed | N/A | | Native Meta + Google management | Yes | Limited | Meta-first | Meta-first | Yes (separate UIs) | | Built-in AI agent (BYOK) | Yes | No | No | Yes (own model) | No | | Bring-your-own AI keys | Yes | N/A | N/A | No | N/A | | Unlimited connections + seats | Yes | No | No | No | N/A | | Automation rules | Yes | Yes | Yes | Yes | Limited | | Creative library | Yes | Yes | Limited | Yes | Per-platform | | Starting price | $9/mo (2 months free annual) | Custom | $99/mo | $55/mo | Free (manual) | ## Documentation - Homepage: https://admaxxer.com/ - Pricing: https://admaxxer.com/pricing - Documentation: https://admaxxer.com/documentation - Data Deletion: https://admaxxer.com/data-deletion - Sitemap: https://admaxxer.com/sitemap.xml ### Playbooks (evergreen DTC marketing playbooks) - [Affiliate program guide](https://admaxxer.com/documentation/affiliate-program) — Complete how-it-works for the Admaxxer affiliate program: 50% of net revenue for 12 months per referred customer, 60-day click-to-signup attribution, self-serve dashboard, commission status lifecycle, $100-minimum Wise/bank payouts with a 45-day hold, clawback rules, taxes, and promotion policy. Single-sided (no referred-user discount). - [Playbooks hub](https://admaxxer.com/documentation/playbooks) — Ten evergreen playbooks for DTC marketing teams. Tactical recovery (iOS 17, BFCM), migration plans (GA4, Triple Whale), methodology deep-dives (geo-lift, subscription LTV), product references (Maxxer AI ad ops, server-side CAPI). - [iOS 17 Attribution Recovery](https://admaxxer.com/documentation/playbooks/ios-17-attribution-recovery) — iOS 17 Link Tracking Protection breaks ad attribution for ~30% of DTC traffic. Step-by-step recovery via first-party pixel, server-side CAPI, and click-ID forwarding. - [BFCM Attribution Playbook](https://admaxxer.com/documentation/playbooks/bfcm-attribution-playbook) — BFCM attribution survival guide for DTC brands: 7-day checklist, peak-day MER, cross-device dedup, Meta CAPI rate-limit avoidance, post-BFCM cohort tracking. - [GA4 vs Admaxxer for DTC](https://admaxxer.com/documentation/playbooks/ga4-migration-dtc-ecommerce) — GA4 vs Admaxxer for DTC ecommerce: sampling, retention, ad-spend joining, attribution model, BigQuery export. Honest comparison plus a migration checklist. - [Click ID Server-Side Recovery](https://admaxxer.com/documentation/playbooks/click-id-server-side-recovery) — Click ID server-side recovery for Meta CAPI + Google Enhanced Conversions. Capture gclid, fbclid, ttclid, msclkid in first-party cookies for 95%+ match rate. - [Subscription LTV Cohort Math](https://admaxxer.com/documentation/playbooks/subscription-ltv-cohort-analysis) — Subscription LTV cohort math for DTC brands: 30/60/90/180-day analysis, churn cliffs, campaign-level subscriber LTV, repeat-rate by source/medium. - [Server-Side CAPI Setup](https://admaxxer.com/documentation/playbooks/server-side-conversion-api-setup) — Set up Meta Conversions API + Google Enhanced Conversions in 1 hour with Admaxxer paste-token. Event mapping, deduplication, post-deploy parity check. - [Geo-Lift Incrementality Testing](https://admaxxer.com/documentation/playbooks/geo-lift-incrementality-testing) — Geo-lift incrementality testing for DTC: 14-day holdout design, matched control states, two-proportion z-test, true ROAS measurement vs last-click. - [Multi-Currency Revenue Tracking](https://admaxxer.com/documentation/playbooks/multi-currency-revenue-tracking) — Multi-currency revenue tracking for global DTC: ECB-sourced FX rates, transaction-time conversion, FX vs organic-growth attribution, USD-equivalent reporting. - [AI Ad Operations (Maxxer)](https://admaxxer.com/documentation/playbooks/ai-ad-operations-maxxer) — Maxxer is Admaxxer's Claude-powered AI for ad operations. Read your metrics, pause/scale campaigns with confirmation, and stay in charge with explicit safety rails. - [Triple Whale Migration (30-Day)](https://admaxxer.com/documentation/playbooks/triple-whale-migration-30-day) — Triple Whale to Admaxxer migration: 30-day week-by-week plan. Pixel parity, Shopify backfill, ad-platform tokens, retiring Triple Whale on day 30. ### Deep dives - [Creative quality you can trust — thumbstop, hook & hold rate, currency-correct ROAS, view-through truth](https://admaxxer.com/documentation/creative-quality) — Customer-facing pillar page that explains, in plain English for ecommerce store owners, the three things that make Admaxxer's ad-creative read trustworthy. **Pillar 1 — creative-quality metrics in plain terms:** spend and ROAS say which ads made money; creative-quality metrics say WHY, by showing where a video leaks attention. Three simple ratios built from view counts the ad platform already records (no extra setup, no extra cost): **Thumbstop rate** = 3-second views ÷ impressions (does the opening frame stop the scroll? strong short-form ≈ 25–35%); **Hook rate** = 25%-watched views ÷ video plays (do the first few seconds earn the next few? healthy ≈ 40%+); **Hold rate** = completed views (or ThruPlays) ÷ video plays (do they stay to the offer?). Read together as one drop-off curve (stop → 25% → 50% → 75% → complete, with ThruPlay alongside) they pinpoint the exact frame viewers abandon — and each metric points at a different fix: low thumbstop → rework the first frame; strong thumbstop but low hook → fix the first-few-seconds promise; strong hook but low hold → tighten the middle. Worked example: Ad A 30% thumbstop / 45% hook / 20% hold vs Ad B 12% / 60% / 35% — Ad B's creative is stronger once watched and just needs a better opening frame; reading only thumbstop would have killed the winner. **Pillar 2 — multi-currency spend converted before ROAS:** ROAS is meaningful only when revenue and spend share a currency, but a USD ad account often runs against a CAD/EUR/GBP store. Dividing raw produces a fictional ROAS — US$1,000 spend ÷ C$2,000 revenue reads 2.0× but at 1 USD = 1.36 CAD the spend is really C$1,360, so True ROAS is 1.47× (the raw number overstated efficiency ~36%). Admaxxer converts each day's spend at that day's reference rate into the store's reporting currency first; the native amount + applied rate + as-of date stay on hover for finance reconciliation. **Pillar 3 — view-through vs click-through truth:** ranking creatives by platform-reported conversions ranks partly on view-through credit (saw the ad, never clicked), which flatters cheap-impression video and can crown a false winner. Click-through (a real, deliberate click your first-party pixel follows) is the conservative, accountant-defensible read. Admaxxer shows each creative three ways — platform claim (view-through + modeled, highest), pixel clicks (conservative), and store-banked orders — with a plain-English gap note (worked example: platform 120 purchases, pixel 70, store banked 74; the ~50 gap is mostly view-through). The decision metric is **True ROAS** = store-banked revenue ÷ real, currency-converted spend — scale the creative that wins on banked orders, not the impression lottery. Use the three lenses in sequence: diagnose the creative with the drop-off curve, make the money comparable with currency conversion, scale on the honest number. Ships TechArticle + FAQPage (6 Qs: what are thumbstop/hook/hold, do I need setup, what's a good rate, why convert currency, view-through vs click-through, which creative to scale) + BreadcrumbList + DefinedTermSet (thumbstop rate, hook rate, hold rate, view-through conversion, True ROAS) JSON-LD. Companion to /documentation/meta-attribution-truth, /documentation/sources-attribution, and /documentation/architecture/multi-currency. - [Meta attribution you can trust — match quality, reconciliation & incrementality](https://admaxxer.com/documentation/meta-attribution-truth) — Customer-facing pillar page that answers, in plain English for ecommerce store owners, "why does Meta report more revenue than my pixel or my bank?" and "how do I get the real number?". Explains the three structural reasons every ad platform over-reports (view-through credit for ads that were seen but never clicked; modeled/estimated conversions when privacy rules hide a sale; overlapping credit where Meta + Google + email all claim the same buyer), then walks through the three ways Admaxxer cross-checks Meta. **Pillar 1 — server-side conversions + Event Match Quality (EMQ):** EMQ is Meta's score (Poor→Great, 0–10, 8.0+ = Great in Events Manager) for how confidently it can match each conversion to a real person — NOT how many sales you made. The merchant-controlled levers to raise it, in priority order: email (biggest lever; nearly every shopper has one), phone number (fastest win because most stores leave it off — enabling an optional checkout phone field typically moves a yellow EMQ to green within 24–48h), name + city/state/zip (extra match keys most stores already collect via shipping address), and ad click IDs (captured automatically by the first-party pixel, persisted ~90 days, attached to the eventual purchase). Every identifier is hashed in the browser before it is sent — Meta only ever receives the irreversible hash, so match quality rises without sharing readable personal data. Server-side delivery also sends each purchase a second way with the same de-duplication ID, recovering 20–40% of conversions that iOS App Tracking Transparency, Safari tracking-prevention, and ad blockers drop from the browser pixel. Worked example: two stores each send 1,000 purchases; the one sending email+phone+name+zip matches 94% vs 71% for email-only. **Pillar 2 — multi-source reconciliation:** three independent numbers shown side by side for every channel/campaign/ad set/ad — the first-party pixel (conservative, real clicks only, the number an accountant trusts), the store's own paid-order ledger (banked cash), and the platform's own claim (view-through + modeled + overlapping, highest by construction) — with a plain-English note on every row explaining the gap. Worked example: Meta reports $11,400; pixel followed $4,100 of real clicks; store ledger banked $4,600 — the ~$6,800 gap is mostly view-through and modeled credit. The marquee number is **True ROAS** = store-banked revenue ÷ real ad spend, the honest efficiency figure neither the platform (never sees your spend, divides its own inflated revenue) nor the store (never sees ad spend) can compute alone, shipped on every plan. **Pillar 3 — incrementality / geo-lift in plain terms:** attribution asks "which ad got the click?"; incrementality asks "how many of these sales would have happened with no ads at all?". A geo-lift test keeps ads running in one region, uses comparable regions as a baseline, and Admaxxer builds a synthetic "twin" of the test region — the gap between the real region and its twin during the test is the lift the ads actually caused (worked example: West runs $40k ahead of its twin over 28 days = $40k incremental). Every result ships with a lift %, a significance score (p-value < 0.05 = very unlikely to be random), and a best/worst-case range, so a merchant knows whether to scale. Use attribution daily to allocate budget, reconciliation to sanity-check the platform's claim, and incrementality before a big scale-up. Source-additive: pixel-only = conservative click attribution from day one; + store = pixel-vs-store reconciliation; + Meta = platform-vs-pixel + EMQ visibility. Ships Article + FAQPage (8 Qs) + BreadcrumbList + DefinedTermSet (EMQ, view-through conversion, True ROAS, incrementality, geo-lift) JSON-LD. Synthesis page above the deeper /documentation/sources-attribution, /documentation/attribution-models, /documentation/server-side-tracking, and /documentation/incrementality-testing references. - [Sources & Attribution — 3-lens drill-down (Pixel · Shopify · Platform · All)](https://admaxxer.com/documentation/sources-attribution) — Channel → campaign → ad set → ad drill-down shared by the Marketing Acquisition and Dashboard analytics surfaces. Renders three lenses side by side per row: **Pixel** (Admaxxer's first-party deterministic UTM-driven click attribution; conservative, the number an accountant trusts), **Shopify customer-journey** (Shopify's own post-checkout journey graph — includes UTM-less server-side touches Shopify itself stitched: Shop Pay autofill, Shopify Audiences network, signed-in customer device-stitch; 30-day window; powered by the read-orders permission you already grant, no separate journey scope, no merchant reconsent required), **Platform-reported** (each ad platform's own deduped purchase/conversion counts — includes view-through and modeled conversions), plus an **All** synthesis lens that picks best-of-three per cell with a per-cell provenance chip (Sho / Pix / Plt) and a per-row Why drawer that explains the gap in plain English. The marquee column is **True ROAS** = Shopify-attributed revenue ÷ ad spend per cell — the column Shopify's admin can't compute (Shopify doesn't ingest spend), the platform's dashboard refuses to show (the platform divides its own inflated revenue by spend), Triple Whale gates behind their $129+/mo Sonar add-on, Northbeam gates behind a $1k+/mo enterprise quote, and Admaxxer ships on the $9/mo Starter plan. A campaign that exists in only one source still shows up — that's the source-additive principle: no source is ever required, each one you add enriches the picture. Pixel-only workspaces hide the Shopify + Platform columns and the All lens collapses to Pixel — the page never breaks. When you connect a store, Admaxxer backfills the last 90 days of orders within a few hours, pacing requests to respect Shopify's API rate limits. **Attribution coverage** headline shows what percentage of orders and revenue have a known channel versus Direct / Unknown (no UTM, no identifiable referrer), with the Direct / Unknown dollar amount called out explicitly because it caps how good attribution can get; raise it with consistent UTM tagging and 90-day server-side click-ID recovery. **View-through compare** breaks the platform's claim into two columns — click-only (a real, deliberate click, the part your pixel can verify) and view-through (the platform's 1-day-view revenue, saw-but-didn't-click, modeled and inflated) — shown next to your verified first-party pixel floor, so the inflation layer is visible: read it click (purest) → view-through (modeled/inflated) → pixel (truth). **Attribution windows** now run 1 / 7 / 14 / 28 / 90 days plus Lifetime — the 90-day window added for considered, high-AOV purchases where a 28-day cap drops the discovery touch. **Per-order journey**: open any order on the Pixel lens to see the full timestamped touch path (ad → email → direct → buy), reconstructed from the first-party pixel so it works even without a store-platform connection. **Markov (data-driven, removal-effect)** is a recommended model carrying a "journeys analyzed" confidence signal. **Total Impact (opt-in beta)** blends multi-touch attribution, marketing-mix modeling, a global paid-vs-organic incrementality lift, and post-purchase surveys into one per-channel number, reconciled so channel totals sum to actual banked revenue (never larger than the bank deposited), shown with a confidence range and a plain-English "how this was computed" breakdown — not the default; the auditable per-lens view stays default. 15-question FAQ rendered as FAQPage JSON-LD (Pixel-vs-Shopify lens difference / True ROAS definition / Shopify processing window / why no extra Shopify scope is needed / All lens decision logic / 7-model coverage matrix per lens / first-load timing / pixel-only workspace behavior / why two dashboards disagree / what an attribution model is / what attribution coverage is / the view-through column / per-order journey / why a 90-day window / the Total Impact model). Pricing comparison cell-by-cell vs Triple Whale + Shopify Marketing Reports + Datafast. - [Marketing Acquisition](https://admaxxer.com/documentation/marketing-acquisition) — Full reference for the Marketing Acquisition flagship surface — Admaxxer's cross-platform attribution table that merges paid (Meta + Google + TikTok + Klaviyo + Pinterest) and organic (direct, organic search, email, referral) traffic into one unified, drillable surface. Drill-down: chevron expands channel → campaign → ad set → ad (per-ad rows fill in once the platform sync runs; rows still loading show an explicit "Per-ad data not yet available" state with the next refresh time, never placeholder numbers). 5 filters (date range; attribution model — last-click / first-click / linear-all / linear-paid / time-decay H=7d / position-based 40/20/40 / Markov-chain; platform selector with multi-select chips; compare mode with Δ chips on every tile; attribution window — choose 0, 1, 7, 14, or 28 days). 4-lens toggle (Pixel · Shopify · Platform · All) with the same lens semantics as the Sources & Attribution drill-down — Pixel = deterministic UTM-driven first-party clicks (conservative, accountant-trustworthy); Shopify = post-checkout customer-journey truth via the read-orders permission you already grant; Platform = each platform's own attribution graph (includes view-through and modeling, by construction higher than reality); All = best-of-three synthesis with provenance chip per cell. Tracking Health badge on every row — four semantic states (healthy ≤10% pixel-vs-platform gap, minor drift 10–30%, major drift >30%, untracked when the pixel saw $0 but the platform reported conversions), so the same row always reads the same way wherever it appears. Shopify rows show an em-dash for Sessions and Conversion Rate because Shopify reports orders, not sessions — its customer-journey graph doesn't carry a session count, and deriving one would inflate the number on returning-customer-heavy stores; merchants needing session-level Shopify traffic use UTM-tagged links and the pixel records those sessions automatically against the Pixel-lens row. Scope-gap notice — when a Shopify connection is missing a permission that powers a column (e.g. the discounts permission for the Discounts column), an amber notice surfaces the missing permission inline with a one-click reconnect, rather than silently degrading the column. 15-column glossary (Spend, CV, Tracking Health, ROAS, Purchases, CPA, NC CPA, Budget, Clicks, Impressions, CTR, CPM, NC ROAS, NCP, Repeat) with a worked example on each, kept perfectly in sync with the in-app glossary banner. Drag-drop edit dashboard with section + tile reorder + hide/show, saved views (personal vs workspace-shared), and a pinned-tiles row that survives section reorder. Duplicate-connection soft-warning — when a Shopify shop is connected to a second workspace, Admaxxer surfaces "This shop is also connected to another workspace — pixel events may attribute to either" so operators understand the split. 8-question FAQ rendered as FAQPage JSON-LD ("what is Marketing Acquisition?" / "why does my Meta-reported ROAS look higher than my pixel ROAS?" / "what does Tracking Health mean and how does it differ from a raw pixel gap?" / "can I see attribution down to the ad level?" / "why does my Shopify row show an em-dash for sessions and conversion rate?" / "what does the scope-gap notice mean?" / "how do I save a custom dashboard layout?" / "how recent is the data?"). DefinedTermSet JSON-LD with per-column definitions so AI search engines can extract them. Premium framer-motion entrance with gradient meshes + blurred decorative orbs, reduced-motion honored throughout. Triple Whale + Datafast cell-by-cell parity comparison (we match TW's column set on the unified table; we beat them on Markov, post-purchase surveys, and synthetic-control incrementality, all native + included on every plan; Datafast is a simpler-tier UTM-attribution + web-analytics tool that doesn't ingest ad spend, so cross-platform metrics are N/A there). - [Tracking Health Explained](https://admaxxer.com/documentation/tracking-health) — Per-row badge that summarises pixel-vs-platform agreement on every Marketing Acquisition channel/source/campaign/ad set/ad row. Four semantic states with strict thresholds — **healthy** (≤10% gap, green badge: "Your pixel and ad platform agree within 10%"), **minor drift** (10–30% gap, amber badge: "Common — usually CAPI events or UTM tagging gaps; worth a quick check"), **major drift** (>30% gap, rose badge: "Likely a misconfigured CAPI, missing pixel events, or ad-blocker drop-off; investigate"), **untracked** (pixel saw $0 but the platform reported conversions, slate badge: "Often a UTM template error or a conversion API issue"). It replaces an older raw negative-dollar gap cell that confused operators who read it as "I owe Meta money?" rather than as a useful health signal. The score is computed once, consistently, so the same row always reads the same colour wherever it appears (the Sources table, the Reconciliation panel, and the AI agent's metric lookups). Worked example per state (e.g. healthy: "Pixel saw $9,500, Meta reported $10,000 — gap is 5%, well within the healthy band"; major drift: "Pixel saw $4,100, Meta reported $11,400 — gap is 64%; likely root cause: a Conversion API event not firing, a recent script error wiping the pixel on some pages, or heavy ad-blocker concentration"). Root-cause taxonomy in operational frequency order (CAPI events missing → ad-blockers and tracker-blocking browsers → UTM template typos → attribution-window mismatch → pixel install regression). 4-question FAQ rendered as FAQPage JSON-LD ("what is a healthy tracking gap?" / "why does my Meta channel show 'Untracked'?" / "should I worry about minor drift?" / "how is Tracking Health different from ROAS?"). Improvement guide with four highest-leverage levers (tag every paid campaign URL with consistent UTMs via /url-builder; configure CAPI for every event you care about; match attribution windows; watch the pixel-health badge on your dashboard). Premium framer-motion entrance with gradient meshes + blurred decorative orbs, reduced-motion honored throughout. JSON-LD: Article + BreadcrumbList + FAQPage. AI-citation surface for "what is a healthy tracking gap?" / "why does my Meta channel show untracked in Admaxxer?" / "is 25% pixel-vs-platform drift normal?". - [Why your ad platform, pixel & store all report different numbers](https://admaxxer.com/documentation/why-platform-numbers-differ) — Customer-facing explainer that answers, in plain English for ecommerce store owners, "why does the same campaign show three different revenue figures in Meta Ads Manager, my pixel dashboard, and my store's order report?" — and why none of them is lying. Establishes that three counters use three rule books: the **ad platform** reports through its own attribution graph (counts views as well as clicks, fills privacy gaps with estimates, counts every store the account drives — highest by construction), the **first-party pixel** records a sale only when it followed a real click to a purchase on this store inside your chosen window (no views, no models, no other stores — most conservative), and the **store's order journey** counts banked orders and stitches the customer path itself including express-checkout (the cash truth). Then walks the five structural reasons the numbers diverge: **(1) View-through vs click conversions** — platforms credit sales to ads people only *saw* and never clicked; on video-heavy accounts a third or more of the platform's claim can be view-through, and there is no click for a pixel or store journey to follow. **(2) Attribution windows** — the platform's account setting (commonly 7-day click + 1-day view on Meta) vs your pixel's chosen last-click window (e.g. 28 days, clicks only) means a sale can be inside one window and outside another, and platforms report on the click/view date while the store reports on the order date, so short date ranges disagree even when long ones reconcile. **(3) Modeled conversions** — when iOS App Tracking Transparency, Safari tracking-prevention, or ad blockers hide a sale, the platform statistically estimates how many it probably drove and adds them; the pixel and store ledger never model, so the platform's number runs higher by construction. **(4) One ad account, multiple stores** — many brands fund a US and a Canadian store (or a main site + landing-page domain) from one ad account; the platform reports conversions account-wide while each store's pixel and ledger see only that store, so part of the "gap" is simply revenue that landed on the other store. Admaxxer keeps every campaign of the connected ad account visible — including ones whose traffic lands on a sibling store — and labels why their on-site columns read $0 instead of silently dropping them. **(5) Orders with no ad click** — subscription renewals (charged automatically, no browser session), marketplace orders (Amazon), and phone/draft/point-of-sale orders are real cash in the store ledger but structurally unattributable to a click, so the pixel is correct to show nothing for them. Includes a worked example — one campaign, $2,400 spend → platform claim $9,420 (3.9×, of which ~$3,140 view-through + ~$900 modeled), pixel $3,480 (1.5×), store journey $3,910 (1.6×) — with the $5,510 platform-vs-store gap fully decomposed (view-through + modeled + sibling-store + subscription-rebill re-attribution + window/date differences). The decision number is **True ROAS** = store-banked revenue ÷ real spend ($3,910 / $2,400 = 1.6×), which neither the platform (never sees your ledger) nor the store (never sees spend) can compute alone. Explains why a 3-lens table (pixel · store journey · platform) shown side by side is the honest answer rather than one blended figure that hides the disagreement, plus the "Untagged / unresolved clicks" row (so campaign rows + the untagged row always sum to the channel total) and the "why $0?" explainer on zero rows. Closes with what a merchant can actually control: tag every ad correctly (ID-first), turn on server-side conversions, read the right lens for the right question, and watch the drift. 8-question FAQ rendered as FAQPage JSON-LD ("why does my ad platform report more revenue than my store took?" / "what is a view-through conversion and should I count it?" / "what is an attribution window?" / "what are modeled conversions?" / "I run one ad account for two stores — why does each dashboard show less?" / "why do subscription renewals show no ad click?" / "which of the three numbers is right?" / "can I make the platform's number match my pixel exactly?"). Ships Article + FAQPage + BreadcrumbList + DefinedTermSet (view-through conversion, attribution window, modeled conversion, shared ad account, no-session order) JSON-LD. Companion to /documentation/utm-best-practices (tag every ad correctly), /documentation/meta-attribution-truth (platform over-reporting mechanics + EMQ), /documentation/sources-attribution (the 3-lens drill-down), and /documentation/marketing-acquisition (the attribution table). - [Analytics](https://admaxxer.com/documentation/analytics) — Pixel, attribution, MER, LTV, MMM, forecast, incrementality, AI chat - [AI Agent](https://admaxxer.com/documentation/ai-agent) — Claude agent (claude-sonnet-4-6), 6 tools, prompt-cached, confirmation-gated - [Ads Manager](https://admaxxer.com/documentation/ads-manager) — Manage Meta + Google ads from Admaxxer across the full hierarchy: drill from any campaign into its ad sets (ad groups on Google), then into individual ads — the same to-the-cent spend/ROAS/conversions/CTR/CPC at every level, with creative thumbnails on Meta ads. Pause/resume at any level; edit a daily budget where the platform keeps it (Meta campaign CBO, Meta non-CBO ad sets, Google campaign budgets). Per-account Spend + Blended ROAS trends, sortable lists, 7/14/30-day window, and connection-health signals (cached/stale freshness, read-only + reconnect banners). Every change behind an explicit confirmation. Manage from a visual page, the AI chat agent (campaign level), or your own AI client over MCP (read-only by default; opt into a "Read + manage" scope for campaign-level changes, every change still confirmed). No creation, deletion, or duplication at any level. - [Platforms](https://admaxxer.com/documentation/platforms) — Meta + Google connection setup, token security, rotation - [Billing & plans](https://admaxxer.com/documentation/billing-and-plans) — Plan tiers, quotas, Stripe checkout, trial mechanics - [Developer & API](https://admaxxer.com/documentation/developer) — REST API, webhooks, architecture, rate limits - [Pixel API — Overview](https://admaxxer.com/documentation/api/pixel/overview) — REST surface at /api/v1/. Workspace-scoped API keys, server-side analytics endpoints returning ready-to-use report rows, list endpoints for websites/goals/alerts/reports/share-links, visitor lookup, server-to-server event ingest, and visitor identify. TechArticle + FAQPage JSON-LD. - [Pixel API — Authentication](https://admaxxer.com/documentation/api/pixel/auth) — How to mint an API key, scopes (pixel:read / pixel:write), Bearer header format, and rotation. TechArticle + HowTo JSON-LD. - [Pixel API — Endpoints](https://admaxxer.com/documentation/api/pixel/endpoints) — Every public route under /api/v1/ with method, path, scope, request shape, and response envelope. TechArticle + FAQPage JSON-LD. - [Pixel API — Rate limits](https://admaxxer.com/documentation/api/pixel/rate-limits) — Per-key 60 req/min with Retry-After header. Backoff strategy, X-RateLimit-* headers, what 429 looks like. TechArticle + FAQPage JSON-LD. - [Pixel API — Errors](https://admaxxer.com/documentation/api/pixel/errors) — Full catalog of error.code strings, HTTP status mapping, retry guidance, and the meta.request_id support-handoff pattern. TechArticle + FAQPage JSON-LD. - [Proxy the pixel through Cloudflare Workers](https://admaxxer.com/documentation/proxy/cloudflare) — 5-step Worker setup so /js/script.js and /api/event serve from your own domain. HowTo JSON-LD. - [Proxy the pixel through NGINX](https://admaxxer.com/documentation/proxy/nginx) — Two location blocks with proxy_pass, SNI + Host header, optional proxy_cache. HowTo JSON-LD. - [Proxy the pixel through Vercel rewrites](https://admaxxer.com/documentation/proxy/vercel) — Two entries in vercel.json, zero runtime cost, no serverless function invocations. HowTo JSON-LD. - [Proxy the pixel through Next.js rewrites](https://admaxxer.com/documentation/proxy/nextjs) — async rewrites() in next.config.js / next.config.mjs; App Router + Pages Router both supported. HowTo JSON-LD. - [Proxy the pixel through WordPress](https://admaxxer.com/documentation/proxy/wordpress) — Three methods (.htaccess, NGINX, PHP endpoint) for shared / managed / self-hosted WP installs. HowTo JSON-LD. - [Admin user management](https://admaxxer.com/documentation/admin) — /admin/users dialog, AD_* plan keys, status, activity timeline, audit log - [Team management](https://admaxxer.com/documentation/team) — Invites, roles (Owner / Admin / Team Member / Read-only), member removal, permission matrix, FAQ. Unlimited seats on every paid plan. - [SEO and AI crawlability](https://admaxxer.com/documentation/seo-and-ai-crawlability) — How Admaxxer makes itself crawlable by Google + GPTBot + ClaudeBot + PerplexityBot + DeepSeek (the AI Crawlability Rule applied) - [Server-side tracking](https://admaxxer.com/documentation/server-side-tracking) — How Admaxxer's server-side Conversions API forwarders work end-to-end for Meta, Google Ads (Enhanced Conversions for Web), TikTok, and Klaviyo. Per-platform setup walkthroughs, event_id dedup with the browser pixel, recovery-rate hedging, and side-by-side cost math vs. Stape / Elevar / Blotout. - [First-party CNAME](https://admaxxer.com/documentation/first-party-cname) — Step-by-step setup for the merchant's first-party tracking subdomain (e.g. CNAME t.merchant.com to Admaxxer). TLS certificates issued and renewed automatically, DNS verification troubleshooting, and the iOS ATT / Safari ITP / ad-blocker bypass mechanics. - [AI Ad Operators vs Ads CLI Tools](https://admaxxer.com/documentation/ai-ad-operator-vs-ads-cli) — Side-by-side capability comparison: platform-shipped command-line interfaces (thin wrappers on one ad platform's Marketing API for AI agents to call) vs Admaxxer's full AI ad operator stack (cross-platform data ingestion, revenue-aware analytics with blended MER + cohort LTV + MMM + forecast + incrementality + CAPI match rate, Claude-powered agent with eight read-only analytics tools and two confirmation-gated action tools, premium dashboard for humans). The CLI is the keyboard, the operator runs the business. - [Cross-domain tracking](https://admaxxer.com/documentation/integrations/cross-domain-tracking) — How Admaxxer preserves visitor identity when traffic crosses root domains or vendor boundaries (e.g. brand.com → app.recharge.com → checkout.shopify.com). The pixel rewrites outbound links to a configured allow-list, appending a signed _admx_v handoff token (8-char SHA-256 truncation, 6-minute rolling TTL window, per-website HMAC secret); the destination pixel verifies the HMAC, restores the visitor_id, and scrubs the URL via history.replaceState. Matches Datafast's _df_vid mechanism with added HMAC signing; Triple Whale solves the same problem via Sonar email-stitch instead. - [Consent API](https://admaxxer.com/documentation/consent-api) — Pixel consent JS API for cookie-banner integrations: admaxxer.optIn(), admaxxer.optOut(), admaxxer.hasOptedIn(). The requireConsent: true init flag puts the pixel in buffer mode at startup (events queue in memory, cap 50; oldest dropped on overflow; drained on optIn, dropped on optOut). Drop-in compatible with OneTrust, Cookiebot, and custom banners — code samples for each on the page. The server-side /api/event handler re-checks opt-out on every request so even a misconfigured client can't accidentally track an opted-out visitor. Companion to the static /opt-out page (same opt-out cookie, interchangeable). - [Safari ITP mitigation](https://admaxxer.com/documentation/safari-itp-mitigation) — How Admaxxer survives Safari's 7-day JS-set storage cap. The server attaches Set-Cookie: __admx_first_srv=; HttpOnly; Max-Age=31536000; SameSite=None; Secure; Path=/api/event to every /api/event response, carrying the first-touch UTM five-tuple + 12 click-IDs + first_landing_path + email_hash. Because the cookie is server-set (not JS-set), Safari ITP does NOT apply the 7-day cap — the cookie persists for the full 365 days. On day-30 return visits, the server reads the cookie, restores the original first-touch attribution despite the localStorage wipe, and refreshes the cookie for another year. Beats Triple Whale Sonar (which requires identify() to stitch) and Datafast cookieless rotation (which loses click-ID granularity) by combining all three layers: JS localStorage + JS cookie (7-day Safari) + HTTP-only server cookie (365 days Safari) + email-stitch on identify() (forever). - [Attribution accuracy — why our numbers come from us, not from ad platforms](https://admaxxer.com/documentation/attribution-accuracy) — Customer-facing trust doc explaining how Admaxxer reconciles three independent sources (your real revenue ledger — Shopify Admin for ecom, Stripe / Paddle / Polar / LemonSqueezy / Dodo for SaaS; your first-party pixel; the ad platforms' own APIs) to surface the dedupe-anchored attribution truth. Top-line headline always anchors to the ledger so the numbers tie to the bank statement; the pixel stitches the click-side marketing path; the platform claims surface as the optimization-side signal; the Reconciliation Panel explains every spread between the three in plain English (iOS 17 ATT, modeled conversions, view-through, organic-search misattribution, delayed conversions, refunds). Two dedicated side-by-side cards keep ecom and SaaS surfaces distinct — never mixed — with separate worked examples: ecom card walks a $79 supplement Meta Advantage+ campaign showing Meta-claims-12 / pixel-saw-10 / Shopify-confirms-10 with the ledger truth as the headline (ROAS / AOV / MER); SaaS card walks a $29/month Google search campaign showing Google-claims-9 / pixel-saw-8-signups / Stripe-records-7-paid with the ledger truth as the headline (MRR / LTV / CAC). Six attribution models (last-click, first-click, linear, time-decay, position-based, data-driven Markov), four-lens toggle (Pixel · Platform · Ledger · All), per-tile source badge so customers always know which lens they're reading, refund-aware + partial-refund-aware + trial-cancellation-aware + dunning-recovery-aware via the ledger anchor, multi-currency-aware via per-row historical exchange rates. Fourth lens — post-purchase surveys — calibrates the three quantitative sources against the customer's own answer to "where did you first hear about us?". 5-question FAQ rendered as FAQPage JSON-LD ("why don't my numbers match Meta?" / "how do I know yours is right?" / "what if I see different numbers in my workspace?" / "how do you handle iOS 17 ATT?" / "do I need all three sources?"). Companion to /documentation/sources-attribution (drill-down), /documentation/attribution-models (model catalog), /documentation/markov-attribution (data-driven), /documentation/tracking-health (CAPI + pixel-coverage diagnostics), /documentation/post-purchase-surveys (fourth-lens calibration), and /documentation/architecture/multi-currency (per-row FX). Premium framer-motion entrance with gradient meshes + DocPageShell-library cards + useReducedMotion honored. - [Attribution Models — 6 ways to credit conversions + the Reconciliation Panel](https://admaxxer.com/documentation/attribution-models) — Multi-source attribution flagship doc. Six attribution models: last-click (default in GA4 prior to data-driven, 100% credit to closest-in-time touch — best for bottom-funnel), first-click (100% to first touch — best for TOF prospecting / podcast / influencer), linear-all-touches (1/n equal split — best for long DTC consideration funnels), linear-paid-only (equal split across paid touches; organic gets 0), time-decay (H=7d exponential, weight = pow(0.5, days_since_touch / 7) — GA4 default and the recommended Admaxxer default for 5–21 day DTC funnels), and position-based (40/20/40 U-shaped: first + last each 40%, middle touches share 20%; single-touch = 100%, two-touch = 50/50, 3+ = 40/20/40 — best for stores valuing both discovery + closing). All 6 respect the attribution-window, paid-only, new-customers-only, and platform filters, and they always read the latest de-duplicated data so re-syncs never double-count. **The marquee feature**: Reconciliation Panel — a single tile on Marketing Acquisition that lays pixel-side + platform-side (Meta + Google) + Shopify-side conversion data side by side per channel, with a pre-computed "reasoning" column explaining each gap ("Platform claims much more than pixel — likely iOS 14.5 view-through" / "High direct/untagged share — likely UTM hygiene issue" / "Within 10% — reconciliation clean"). A channel that exists in only one source still shows up with a "missing" data-coverage chip — that's the source-additive principle: no source is ever required. **Meta first-conversion lens**: the daily ad-spend sync also captures Meta's deduped purchase signal from Meta's own insights API — the deterministic match data behind ATT/iOS 14.5 that no pixel can replicate. A Hyros-style match-rate signal without the 6-month server-side identity-stitching setup. **Source-additive philosophy**: 1 source (pixel only) = UTM-driven attribution + 6 models, useful day 1; 2 sources (+ Shopify) = pixel-vs-Shopify revenue reconciliation; 3 sources (+ Meta) = platform-vs-pixel + first-conversion; 4 sources (+ Google) = full Reconciliation Panel. Hyros forces 6-month full setup before you see anything; Datafast skips ad-platform data entirely; Admaxxer ramps with you — adding a source only ever enriches the picture, never blocks it. 8-question FAQ rendered as FAQPage JSON-LD ("why does Meta show 4x ROAS but my pixel shows 2x" / "which model should I pick" / "what if I haven't connected my ad accounts" / "how does the panel handle direct/untagged" / "side-by-side models" / "Meta refresh cadence" / "what's time decay and why H=7" / "does Admaxxer match TripleWhale"). Plus DefinedTermSet with sameAs to GA4 docs / Avinash Kaushik MTA primer / Wikipedia for last-click + time-decay + source-additive + reconciliation panel terms. - [Markov-Chain Attribution](https://admaxxer.com/documentation/markov-attribution) — The seventh model in Admaxxer's attribution lineup. Treats each visitor's path as a sequence of states (channels) and computes per-channel credit as the removal effect: the drop in conversion probability when that channel's transitions are removed from the graph. Same algorithm Northbeam ships in their Probabilistic 1.0 model; Admaxxer is the only sub-$200/mo DTC tool with native Markov. It needs at least 1,000 attributable paths to be reliable — below that, the surface shows a premium "not enough data yet" empty state. The dedicated Markov endpoint under /api/v1/analytics is the canonical surface. 8-question FAQ covers Markov-vs-other-models, the 1,000-path threshold, why TW's "MTA" isn't true Markov, why Hyros doesn't ship Markov, and how to use Markov with the attribution-window + paid-only filters. DefinedTermSet with sameAs to Wikipedia (Markov chain) + Avinash Kaushik MTA primer. - [Post-Purchase Surveys](https://admaxxer.com/documentation/post-purchase-surveys) — Native post-purchase-survey attribution layer, free on every plan. Default question "Where did you FIRST hear about us?" + 10 default options matching Fairing's catalog. The ground-truth attribution layer that pixels CANNOT see — captures word of mouth, podcasts, friends-and-family, organic creator content, billboards, TV, print. Industry-benchmark response rate 30–40% on the thank-you page. Fairing (formerly EnquireLabs) charges $99–499/mo; KNO Commerce $199–799/mo; TripleWhale Sonar bundled at $129+/mo with no per-shop customization. Admaxxer ships the attribution-focused survey surface natively, free. Per-shop customization in your survey settings (up to 30 options). Each response can carry a hashed customer email + order ID so the answer joins back to revenue. The survey results card on Marketing Acquisition surfaces total responses + a response-rate chip + a per-channel horizontal bar chart. Source-additive — never blocks on attribution; layered on top of Markov + the Reconciliation Panel. Used together: when pixel direct/none is high but survey word-of-mouth is also high, attribution is healthy; when pixel direct is high but survey word-of-mouth is LOW, you have a UTM hygiene problem. Same consent semantics as the rest of the pixel — admaxxer.optOut() suppresses the modal entirely. - [Incrementality Testing](https://admaxxer.com/documentation/incrementality-testing) — The causal layer that pixel attribution cannot replicate. Reddit operator consensus: MTA = "what happened", incrementality = "what YOU caused". Synthetic-control geo-lift (Abadie/Diamond/Hainmueller 2010): pick a treatment region, pick a donor pool of 3–8 control regions, fit a weighted average of donor regions to match the treatment region's pre-period revenue trajectory, use that weighted donor as the counterfactual during the treatment window. Two-sided permutation test against the donor placebo distribution gives the p-value (p < 0.05 = causal claim defensible above noise). 95% bootstrap CI on the daily lift series. v1 ships an OLS-normalized, non-negative variant of synthetic control; a fully constrained solver lands in v1.5. Northbeam ships incrementality at ~$10k+/yr enterprise pricing; TripleWhale operators on Reddit consistently note that TW does NOT ship native geo-lift (workarounds = spreadsheets or TW Sonar incrementality lite); Polar Analytics ships a thin Holdout module mostly for time-based holdouts; Hyros doesn't ship incrementality at all; Datafast skips ad-platform data entirely. Admaxxer's surface is free on every plan. Minimum 14 days treatment window (recommended 28+); ≥30 days pre-period required. The incrementality card on Marketing Acquisition shows lift % (color-coded by significance), a p-value chip, a 95% CI bar centered on zero, and a treatment vs synthetic-control time-series chart with the treatment window shaded. 8-question FAQ covers MTA-vs-incrementality, synthetic-control method, p-value semantics, multi-region tests, and Shopify-vs-pixel revenue source. - [Marketing Mix Modeling](https://admaxxer.com/documentation/marketing-mix-modeling) — MMM v1.0 ships on Admaxxer free for every plan. Adstock (geometric carryover, x_adstocked[t] = x[t] + lambda * x_adstocked[t-1]) + Hill saturation (revenue(s) = alpha * s^n / (K^n + s^n)) + bootstrap 95% credible intervals (200 resamples). Same pipeline as Robyn (Meta open-source R package — adstock + Hill + ridge + Nevergrad hyper-search) and LightweightMMM (Google open-source NumPyro Python package — Bayesian MCMC version). Admaxxer's variant is OLS + grid-search (~80% of Bayesian's value at ~20% of runtime; <2s fit vs Robyn's 2–4h or LightweightMMM's 30+ min). v1.5 swaps the OLS core for a small Bayesian sampler when priors become important. The decisive column is **marginal ROAS** — dRevenue/dSpend at the channel's CURRENT average daily spend, the slope of the saturation curve at your operating point. Always lower than blended ROAS once Hill saturation kicks in; the gap tells you saturation level. Use marginal ROAS for next-dollar allocation decisions; use blended ROAS for last-month performance reporting — conflating them is the most common DTC budgeting mistake. Per-channel adstock half-life surfaced (typical: Meta 5–10d, Google paid 1–3d, organic 14+d). Northbeam ships MMM at ~$10k+/yr; TripleWhale's MMM is bundled at $249+/mo with thin published methodology. About 60 days of observed data are needed before the fit is stable — a "not enough data yet" empty state shows otherwise. Source-additive: missing channels simply contribute zero; the model never breaks. The MMM contribution card on Marketing Acquisition shows an R-squared chip, a baseline-revenue chip, a days-observed chip, a stacked-bar visual, and a per-channel table with spend / contribution / contribution % / adstock half-life / marginal ROAS / 95% CI columns. - [Revenue tracking](https://admaxxer.com/documentation/revenue-tracking) — Canonical doc for Admaxxer's three revenue sources (pixel-attributed payments, direct revenue webhooks, and store orders), the 90-day click-ID + 365-day first-touch attribution model with smart referrer classification, partial-refund-aware de-duplication, the pixel-vs-orders untracked-revenue adjustment, 11 canonical metric formulas, and a side-by-side 3-way comparison vs Triple Whale + Datafast on attribution depth — every cell cites the underlying tool's own docs. Beats Triple Whale by capturing 12 click-IDs (gclid, fbclid, ttclid, msclkid, twclid, li_fat_id, epik, rdt_cid, sccid, yclid, klaviyo_id, amzn_cid) AND first-touch UTMs at the per-order grain on the payment record itself (Triple Whale carries first-touch in cohort joins, not on the row); beats Datafast on every ad-spend-aware metric (Datafast doesn't ingest ad spend, so MER / Blended ROAS / NC-ROAS / NCPA are N/A there). Ingestion is forgiving — partially-mapped records never silently disappear. - [Conversion Rate — site-wide vs marketing vs funnel-step](https://admaxxer.com/documentation/conversion-rate) — Three different conversion-rate definitions live across Admaxxer's surfaces and they all answer different questions. **Site-wide CR** = orders / unique visitors (population-stable; surfaced on the dashboard hero + analytics view; equivalent to GA4's session-deduped engagement-rate-converted metric). **Marketing CR** = orders / sessions (per-channel optimization; surfaced on the Marketing Acquisition source/medium table; equivalent to Triple Whale's session-based default). **Funnel-step CR** = next step / current step (step-conditional drop-off rate; surfaced on the funnel cards Landing → ATC → Checkout → Purchase; gated on prior commitment so almost always reads higher than population-wide CR). The same date range will produce three different numbers across these three lenses — that's by design, not a bug. The structural reason: returning visitors collapse to 1 in unique visitors but expand to N in sessions, so when traffic is sticky session CR reads higher than visitor CR even with the same order count. Use site-wide CR as the headline health KPI; marketing CR for paid-channel optimization; funnel-step CR for diagnosing where in the journey visitors drop off. Numerator is always orders (a deduped purchase event; refunds are separate events and don't affect the order count, only the revenue numbers). Denominator differs across lenses — that's what makes them tell different stories. 6-question FAQ rendered as FAQPage JSON-LD ("why does my dashboard show 2.7 percent but Marketing Acquisition shows 4.1 percent on the same range" / "which CR is THE conversion rate" / "why is funnel CR sometimes higher than marketing CR" / "should I optimize for site-wide or marketing CR" / "what does the source/medium table's Conv Rate column show" / "why doesn't site-wide CR equal the average of marketing CRs"). DefinedTermSet with sameAs to GA4 docs (site-wide CR) + Wikipedia (marketing CR). HowTo with 3-step "Pick the right CR" workflow. TechArticle headline + breadcrumb. Same surface AI search engines and DTC merchants need when they hit the multi-CR confusion. - [Metric Glossary](https://admaxxer.com/documentation/metric-glossary) — Canonical definitions and formulas for every KPI Admaxxer surfaces: MER (total_revenue / total_ad_spend), Blended ROAS (same as MER), NC-ROAS (new_customer_revenue / total_ad_spend), NCPA (total_ad_spend / new_customer_orders), AOV (gross_sales / orders), True AOV ((gross_sales − returns − taxes) / orders), Net Profit (marketing P&L view: total_revenue − total_ad_spend; full-P&L COGS subtraction lands in v1.5), Cash Turnover (revenue − taxes − spend − returns), RPS (revenue / sessions), Bounce Rate (single-pageview-sessions / total-sessions), Conversion Rate (orders / sessions), New / Returning Customers %, Cohort LTV at 7 / 30 / 90 days, CAPI Match Rate (server-side-matched / pixel-conversions, Hyros-style), Pixel CVD (pixel_cv − platform_cv), and per-platform ROAS / CPC / CTR / CPM / CPA for Meta + Google + TikTok. Each entry is published as a 3-way side-by-side comparison: how Admaxxer computes the metric, how TripleWhale computes it (with help-center citation URL — kb.triplewhale.com / triplewhale.com/blog), and how Datafast computes it (with docs.datafa.st citation URL, or "N/A in Datafast" when the metric is outside Datafast's surface). Datafast is a simplified web-analytics + revenue-attribution tool, not a DTC ad-ops platform, so MER / NC-ROAS / NCPA / True AOV / Net Profit / per-platform Meta-Google-TikTok ROAS / CPC / CPM / CTR / CPA / Cohort LTV (windowed) / CAPI Match Rate / Pixel CVD are all N/A in Datafast — Datafast tracks revenue per UTM source, sessions, visitors, conversion rate (goals-driven), bounce rate (deprioritized as a "vanity metric"), conversion funnels, and a "Revenue per Visitor" tile that's the closest cousin to Admaxxer's RPS but visitor-denominated rather than session-denominated. Schema.org DefinedTerm entries carry sameAs URLs to TripleWhale + Datafast equivalents so AI search engines resolving "MER vs TripleWhale vs Datafast" or "what does NCPA mean across the three" find the canonical mapping in one hop. This is the most-complete public answer to "what does this DTC metric mean across the three tools?". ### Architecture deep-dives - [Analytics access model](https://admaxxer.com/documentation/architecture/analytics-auth) — How Admaxxer keeps each workspace's analytics strictly isolated from every other workspace's, how session-authenticated reads are authorized, and the scoped-token path reserved for a future embeddable widget. Worked example included. - [Bring your own Anthropic key (BYOK)](https://admaxxer.com/documentation/architecture/byok-anthropic) — Step-by-step paste-and-test for connecting your own Anthropic API key to Admaxxer's chat surfaces. Provider pricing, prompt-cache survives across requests, AES-256-GCM at rest, one-click revoke from Settings → AI providers. - [Multi-currency display](https://admaxxer.com/documentation/architecture/multi-currency) — Three display modes (Native, USD, any ISO 4217), ECB reference rates via frankfurter.dev cached a few hours at a time, per-row historical accuracy (the rate is from the row's date, not today). Tooltip on every converted tile shows the native amount + the applied rate. - [How data works](https://admaxxer.com/documentation/architecture/how-data-works) — End-to-end walk-through: a pixel hit is collected, aggregated, and served back to a dashboard card. Explains the four ingestion paths (Custom Pixel, store webhooks, daily poll, direct revenue webhooks), why revenue numbers are source-additive (adding a source only ever enriches them), and where each dashboard surface gets its data. Companion to revenue-data-flow (which focuses on revenue ingestion) — this one covers the full lifecycle from pixel-fired to chart-rendered. - [Data architecture](https://admaxxer.com/documentation/data-architecture) — Plain-English overview of how Admaxxer turns three independent inputs — your first-party pixel, your store's order data, and each ad platform's daily reporting — into one reconciled set of numbers. Explains the ingestion paths, why your analytics run on first-party infrastructure we operate ourselves (faster dashboards, predictable cost, and data you own rather than rent), how every number is parity-checked before customers rely on it, 13+ month retention, daily encrypted backups with automated restore verification, and reversible rollouts. 8-question FAQ rendered as FAQPage JSON-LD. - [Data retention](https://admaxxer.com/documentation/data-retention) — Canonical retention ladder for every data class Admaxxer stores: pixel events 13 months (rolling), revenue events / orders / ad-spend records 25 months, email revenue 25 months, aggregated revenue summaries 25 months, chat sessions + AI agent messages 12 months from last message, ad-platform tokens lifetime-of-connection, workspace records lifetime + 30 days post-deletion, user accounts lifetime + 30 days, billing records lifetime + 7 years post-cancellation (Delaware / UAE / EU tax-audit floor), operational logs 12 months (IP addresses anonymised after 30 days), and encrypted backups on a 14-daily + 12-monthly rolling window covering every data store. Explains the PII-vs-aggregate distinction (hard-delete vs anonymise on expiry), workspace-level custom windows on Enterprise + Platform tiers (6-month floor for pixel events, 12-month floor for revenue, 90-day floor for chat / logs; billing not configurable below the 7-year legal floor), export workflows (programmatic via /api/v1/* real-time, bulk one-time CSV / Parquet via support@ 10-day SLA), deletion workflows (Settings / email / Meta-callback / GDPR-CCPA-PDPL all triggering the same 7-day purge), the encryption-at-rest model (AES-256-GCM on tokens + bcrypt on passwords + SHA-256 truncated email hashes + full-disk encryption + the same encryption applied to backup files with quarterly key rotation), the rolling backup window and litigation-hold isolated-snapshot purge (30-day SLA), and the AI provider retention model under BYOK (Anthropic / OpenAI / GLM each carry their own retention bounds in addition to Admaxxer's 12-month chat retention). 8-question FAQPage JSON-LD covering "how long does Admaxxer keep my data?", "what happens when retention expires?", "can I request a shorter retention window?", "how do I export my data before retention expires?", "how do I request deletion of my data?", "deletion vs anonymisation?", "are encrypted backups GDPR / CCPA / PDPL-compliant?", "what happens to my data if I cancel my subscription?". TechArticle + BreadcrumbList JSON-LD. Sibling to /privacy + /data-deletion + /security + /terms. - [Where your analytics data lives](https://admaxxer.com/documentation/analytics-warehouse-migration) — How Admaxxer moved its analytics onto first-party infrastructure it operates itself, so your dashboards are faster, your cost is predictable, and you own your data rather than renting it. The move rolls out one workspace at a time, each gated on a multi-week accuracy check (numbers must match within ≤1% before a workspace switches over) and fully reversible if anything looks off. Covers the full attribution drill-down (channel, campaign, ad set, ad) on the new system, and a "Why Admaxxer's Sources & Attribution beats Triple Whale + Datafast" comparison block (pricing: predictable flat cost vs per-event managed billing; attribution-model surface: 7 models + 4 lenses vs curated single-touch; transparency: every metric traceable to its source vs closed-source). Explains how to verify numbers against Shopify Admin, Meta Ads Manager, and Google Ads at any stage. - [Revenue data flow](https://admaxxer.com/documentation/data/revenue-data-flow) — Four ingestion paths (Custom Pixel real-time, store webhooks real-time + refund-aware, daily store-API poll with 24h backfill, direct revenue webhooks for Stripe / Paddle / Polar / Lemon / Dodo) reconciled into one source-additive revenue view. Lets install-day merchants and AI assistants self-debug "why is my dashboard empty?" with a structured timing matrix and a per-tile fidelity hierarchy. Companion to the Shopify install + revenue connector docs. - [Data ontology](https://admaxxer.com/documentation/data/ontology) — Canonical entity model for Admaxxer's analytics: visitor → session → page-view → goal → order → ad-spend → blended-MER. Each entity carries a stable ID, a list of fields with types + provenance, and the dashboard surfaces that consume it. Designed for AI assistants asking "what's a session in Admaxxer" or "how does Admaxxer dedupe orders across Pixel + Shopify Admin" — every entity gets a 1-paragraph definition. - [Dashboard analytics card reference](https://admaxxer.com/documentation/dashboard/analytics) — Per-card guide to the dashboard. Explains what each card shows (hero KPIs, acquisition, geography, goals, top pages, technology, the advanced section, and Search Console) and its semantics (what counts as a session, how bounce rate is computed, how UTM-less traffic gets bucketed, IP→country fallback, path normalization, Search Console's 24–48h ingestion lag), and lists the four common reasons a card stays empty (no pixel, no traffic, data still catching up, no goals configured). - [Product tour — how to use the Admaxxer dashboard](https://admaxxer.com/documentation/product-tour) — Layman-friendly walkthrough mirroring the in-product 5-step coachmark tour. Plain-English explanation of the 6 expandable KPI tiles (Live Visitors, Revenue (7D), Blended MER (7D), Ad Spend (7D), Conversions (7D), Forecast (30D)) drawn from the same definitions the in-dashboard tooltips read from, so docs and product never drift. Explains the click-to-expand drawer pattern (each tile reveals its own decomposition: globe + 60-min trend + busiest minute / current pace / vs yesterday on Live Visitors; daily revenue this-week-vs-last-week + top products + peak hour on Revenue; per-platform MER + ratio over time on MER; daily spend + spend velocity + active campaigns on Ad Spend; goal completion timeline on Conversions; 30-day forecast with confidence bands on Forecast). Documents the live visitors globe (Map tab on the Geography card — 3D globe with country markers, click-to-filter, Top Countries + Top Sources + Recent Activity + Hot Pages side panels, 10s refresh, 5-minute auto-fade). Walks the 4-level Sources & Attribution drilldown (Channel → Campaign → Adset → Ad) with the 4-lens toggle semantics (Pixel = first-party deterministic; Shopify = post-checkout customer-journey graph; Platform = view-through + modeled; All = best-of-three synthesis with per-cell provenance chip). Covers the paste-token model for connecting Meta + Google + TikTok + Shopify + Klaviyo in 2-3 minutes per platform from /integrations, with 90-day backfill via platform rate limits (4-12 hours for a year of data). 5-question FAQ for first-time users ("what does MER mean?" / "how is Conversions counted?" / "why is the globe empty?" / "how do I filter by country?" / "how do I replay the tour?") rendered as FAQPage JSON-LD. Article + BreadcrumbList JSON-LD. Crawlable target for AI assistants answering "how do I use Admaxxer?" or "how do I read the Admaxxer dashboard?". - [Dashboard customization](https://admaxxer.com/documentation/dashboard-customization) — How to tailor the Admaxxer dashboard for your role: drag any section, hide any tile, save the result as a named view (personal lock-icon view by default; promote to workspace-shared people-icon view via the chip's kebab menu). Each user picks one default per dashboard surface — that's what loads on every login. Keyboard-editable (E toggles edit mode, ↑/↓/←/→ on a focused handle moves the section/tile, Esc exits, Ctrl/⌘+Z undoes up to 10 steps). All animations respect prefers-reduced-motion. 3-way comparison vs Triple Whale (mouse-only drag, separate Saved Reports surface) and Datafast (fixed layout, no drag-drop, no saved views). Companion to the /dashboard card reference (which is per-card semantics; this is per-layout semantics). - [Performance architecture](https://admaxxer.com/documentation/performance-architecture) — How the dashboard's largest-contentful-paint was reduced from 3.5s to ~1.5s via a 4-cause taxonomy: smaller initial download (code splitting + lazy loading), a single combined data request instead of dozens of separate ones, a stale-while-revalidate cache layer (sub-second responses on repeat loads), and progressive rendering (above-the-fold content first, below-the-fold lazily with shape-matched skeletons). Each cause is explained in plain terms. Best-practice references with sameAs URLs in DefinedTermSet JSON-LD: Stripe Dashboard (single request), Linear sync engine (bundle split + lazy render), Vercel build output (per-route chunking), SWR (stale-while-revalidate semantics), web.dev Core Web Vitals (LCP methodology), Datafast (minimal-fetch validation). 6-step diagnostic playbook published as HowTo schema for AI search citation. ### Troubleshooting (DTC operators) - [Attribution discrepancies](https://admaxxer.com/documentation/troubleshoot/attribution-discrepancies) — Why Admaxxer's blended attribution disagrees with Meta Ads Manager / Google Ads on conversions and revenue. Covers attribution windows (Meta default 7d-click-1d-view vs Admaxxer's 4 model × 5 lookback grid), ad-blocker / Safari ITP impact on platform-side pixel CV, server-side CAPI match rate as the truth signal, and the Pixel CVD gap metric (pixel_cv − platform_cv) that surfaces leakage. - [Shopify sales mismatch](https://admaxxer.com/documentation/troubleshoot/sales-mismatch) — Why Admaxxer's reported revenue can differ from Shopify's Total Sales report. Covers refund timing (Shopify includes refunds in net; Admaxxer is configurable), tax + shipping + discount handling differences, partial refunds and chargebacks, multi-currency conversion timing (per-row historical vs realtime), and the Shopify-vs-Pixel cross-validation card on /marketing-acquisition. - [Missing orders](https://admaxxer.com/documentation/troubleshoot/missing-orders) — Order shows in Shopify but not Admaxxer. Covers the daily store-API poll + 24h backfill, webhook delivery failures (Shopify's exponential-backoff retry + how to inspect at admin → Settings → Notifications → Webhooks), Custom Pixel sandbox edge cases (Web Worker + CORS Origin), checkout-completed event vs orders/paid, and how Admaxxer reconciles every source additively so a missing one never blocks the rest. - [Missing geo data troubleshoot](https://admaxxer.com/documentation/troubleshoot/missing-geo-data) — Why the Geography card might show "Unknown" for visitors, and how to confirm your geo data is healthy. Admaxxer resolves each visitor's country from their IP entirely on its own infrastructure — the IP never leaves our systems for geo classification, and raw IPs aren't kept at rest (the same privacy-first approach Plausible + Fathom take), so country is derived in-flight and only the country code is stored. A 3-step verify checklist (open the Geography card, set the range to the last 7 days, confirm a sensible country breakdown) and a still-empty diagnostic checklist (pixel not firing, an intermediary stripping the IP, VPN/Tor traffic, an older date range, when to escalate), plus a 6-question FAQ rendered as FAQPage JSON-LD. - [Missing attribution data](https://admaxxer.com/documentation/troubleshoot/missing-attribution-data) — What to check if your acquisition reports showed fewer first-touch UTM sources than expected, or your tracked-event count looked stuck, during a brief window in early May 2026. The underlying issues were found and fixed, and recent first-touch data was replayed where recoverable. No account was ever throttled and quota enforcement was correct throughout — the symptom was purely fewer source rows and a display counter that wasn't updating. Includes a 4-step verify checklist (pageviews are growing, the source breakdown is populated, your tracked-event count is moving, billing looks correct) and a 5-question FAQ rendered as FAQPage JSON-LD. ### Tracking & Goals - [Goals](https://admaxxer.com/documentation/goals) — User-facing guide to counting the actions that matter. Covers the four goal types — URL pattern (counts automatically from pageviews, supports the * wildcard, matched retroactively against history), event name (counts when your site sends a named custom event), outbound link, and file download — how to add a goal from the dashboard Goal card or /dashboard/goals, worked examples for an ecommerce store (purchases, checkouts) and a SaaS product (signups, trials, subscription starts), the key gotcha that event-name goals only count once your site sends those events (a friendly window.admaxxer('Signup') snippet shows how), and where goals appear on the dashboard Goal tab (conversions, unique visitors, optional value). The plain-English companion to the developer-focused custom-goals reference. - [Custom goals](https://admaxxer.com/documentation/custom-goals) — User-defined goal events that fire alongside the auto-fired __admx_* reserved goals (script.plus.js). Covers goal definition syntax, server-side goal events for sensitive flows, goal value attribution, rate limits, and how goals surface on GoalsCard at /dashboard. - [Conversion funnels](https://admaxxer.com/documentation/conversion-funnels) — Multi-step funnel viewer on /dashboard. Covers step definition, drop-off analysis, time-window filtering, segment splitting (paid vs organic, mobile vs desktop, country), and how funnels integrate with goals + attribution lookback windows. - [Automated reports](https://admaxxer.com/documentation/automated-reports) — Scheduled analytics email digests created at /dashboard/reports. Covers cadence (daily, weekly, monthly), recipients, the optional AI executive summary ("what happened and why"), what's in the email (sessions vs prior period, revenue in store currency, top pages, top referrers, goal conversions), ~8:00 AM workspace-timezone delivery, the test-send button, one-click per-recipient unsubscribe, and troubleshooting (no email / missing AI summary / numbers vs dashboard). - [Portfolio](https://admaxxer.com/documentation/portfolio) — Every workspace you belong to on one screen. Covers per-account KPIs (revenue, ad spend, MER = revenue ÷ ad spend, ROAS, conversion rate), each account shown in its own currency with totals intentionally never mixed across currencies, click-through to open an account, role badges, the "Billing lapsed" chip, the ecommerce-vs-SaaS rule (ad-spend KPIs show "—" not-applicable for SaaS workspaces without ad spend — the verticals are deliberately not blended), and shared date-range behavior. - [Script configuration](https://admaxxer.com/documentation/script-configuration) — Every data-attribute, init option, and runtime flag the Admaxxer pixel script (script.js + script.plus.js) accepts. Covers data-domain, data-api, data-include / data-exclude path filters, manual mode, hash-based SPA routing, the auto-fired __admx_* reserved goals enabled by script.plus.js, and a "which variant should I use?" decision matrix. Companion to /documentation/install/* (per-platform install) and /documentation/pro-tracking (reserved-goal definitions). - [Exclude internal traffic](https://admaxxer.com/documentation/exclude-internal-traffic) — Stop counting your own visits in /dashboard. Three filtering paths — localStorage opt-out cookie (drop-in JS snippet), IP allowlist / blocklist (managed at /settings/workspaces), and User-Agent patterns. Includes a verification checklist (open a private window, hit the site, confirm the row in pixel_events_internal), per-team-member opt-out for QA workflows, and the "internal traffic still showing up" troubleshooting matrix. ### Integrations (analytics) - [Google Search Console](https://admaxxer.com/documentation/integrations/google-search-console) — OAuth setup for the GSC connector that backs SearchConsoleCard on /dashboard. Pulls daily impressions, clicks, CTR, average position, top queries, and top pages. Covers verified-property selection, the GSC 24-48h ingestion lag, query-anonymization thresholds, and how to map GSC data to /marketing-acquisition's organic-search section. ### Analytics features - [Saved segments](https://admaxxer.com/documentation/saved-segments) — Build reusable filter sets (e.g., "Paid Meta US Mobile", "Organic Search Tier-1 Countries", "First-time Buyers Last 30 Days") and apply them across every dashboard surface in one click. Covers segment definition syntax (UTM + device + geo + behavioral filters), the segment library at /settings/segments, segment sharing within a workspace, the dropdown-pinned recently-used list, and how segments compose with the global date picker + currency selector + attribution-model dropdown. Companion to /documentation/dashboard/analytics (which is per-card semantics; this is per-filter semantics). ### Migration - [Import from Plausible](https://admaxxer.com/documentation/import-from-plausible) — Step-by-step migration guide for Plausible Analytics customers moving to Admaxxer. Covers the export flow (Plausible → Site Settings → Export CSV), the Admaxxer side-by-side install (parallel pixel for ≥7 days to verify parity before cut-over), the field-mapping table (Plausible visitors / pageviews / bounce rate / sources / pages → Admaxxer equivalents), and the four reasons numbers will differ between the two tools (Admaxxer counts unique visitors via fingerprint hash; Plausible uses 24h-rolling salted-IP hash; conversion goals defined differently; Admaxxer ships revenue attribution Plausible doesn't have). Plus a Plausible-vs-Admaxxer feature-parity matrix so migrants can preview what they keep, what they gain, and what they lose. ### Coming-soon integrations (use UTMs today) Native API integrations are in active development; revenue-side attribution already works today via UTM tagging + the Admaxxer pixel + the 30-platform smart-referrer classifier. Tag once, the classifier (including AI-chat traffic) does the rest. - [Google Search Console integration coming soon](https://admaxxer.com/documentation/integrations/gsc-coming-soon) — use UTM tagging + the Admaxxer pixel for revenue attribution today; native API integration ships soon. Organic google.com referrers are auto-classified as utm_source=google&utm_medium=organic — no tagging needed for organic search clicks. - [Slack integration coming soon](https://admaxxer.com/documentation/integrations/slack-coming-soon) — use UTM tagging + the Admaxxer pixel for revenue attribution today; native API integration (alert + digest delivery to a Slack channel) ships soon. slack.com referrers are auto-classified. - [LinkedIn Ads integration coming soon](https://admaxxer.com/documentation/integrations/linkedin-ads-coming-soon) — use UTM tagging + the Admaxxer pixel for revenue attribution today; native API integration ships soon. The li_fat_id click-ID is already captured at payment time. - [Amazon Ads integration coming soon](https://admaxxer.com/documentation/integrations/amazon-ads-coming-soon) — use UTM tagging + the Admaxxer pixel for revenue attribution today; native API integration ships soon. The amzn_cid click-ID is already captured. - [Pinterest Ads integration coming soon](https://admaxxer.com/documentation/integrations/pinterest-ads-coming-soon) — use UTM tagging + the Admaxxer pixel for revenue attribution today; native API integration ships soon. The epik click-ID is already captured. - [Shopify Custom Pixel sandbox](https://admaxxer.com/documentation/architecture/shopify-pixel) — Architecture deep-dive on installing the pixel via Shopify's Customer Events. Two install paths (vintage theme.liquid script-tag vs modern Customer Events Custom Pixel), Web Worker sandbox semantics (no DOM, no document, no script-tag loading — only analytics.subscribe() + fetch()), three errors merchants hit (silent createElement failure, Worker-stripped Origin headers, dot-notation linter warnings), the destructure pattern (const { data } = event) that satisfies Shopify's linter, and the canonical snippet's three subscriptions (page_viewed, checkout_completed, product_viewed). Save-before-Connect ordering, troubleshooting matrix, FAQ. Where to find the auto-filled snippet: /integrations/shopify (in-app, real admx_... ID), /documentation/install/shopify (placeholder for crawlers), and a programmatic snippet endpoint under /api/integrations/shopify. ### Team management Admaxxer supports inviting teammates with role-based access (Owner, Admin, Team Member, Read-only). Owners + Admins can invite and remove members. Owners alone can change roles to/from Admin. Read-only members can view but not run AI write actions. All paid plans include unlimited team seats. - Roles: Owner (full + billing), Admin (manage members, no billing), Team Member (full feature access, no member mgmt), Read-only (view only). - Invite flow: send via /settings/team → email with 7-day signed link → recipient signs in with the invited email → auto-joined. - Pending invites count toward your team-size cap to prevent spamming past tier limits. - Removed members lose access immediately; their session-attached active workspace is cleared. - See: https://admaxxer.com/documentation/team — full guide with permission matrix and FAQ. ## Company - About Admaxxer: https://admaxxer.com/about — Company mission, story, founder, team expertise, and core values. - Privacy Policy: https://admaxxer.com/privacy — How we collect, use, and protect user data; GDPR, CCPA, and UAE PDPL rights. - Terms of Service: https://admaxxer.com/terms — Acceptable use, billing, ad-platform connection terms, and Delaware governing law. - [Security](https://admaxxer.com/security) — Encryption-at-rest (AES-256-GCM token vault), TLS-everywhere, hosting + data-residency, audit logging, and the responsible-disclosure contact for security researchers. - [Refund policy](https://admaxxer.com/refund-policy) — How refunds, prorations, and cancellation credits work for monthly + annual Stripe subscriptions, plus the 7-day free-trial conversion mechanics. - Support: https://admaxxer.com/support — Customer support and help center. ### Featured alternative and category pages (GEO landing pages) - [Triple Whale alternative](https://admaxxer.com/triple-whale-alternative) — For non-Shopify DTC brands. Blended MER, CAPI match rate, cohort LTV, and native Meta + Google ad ops from $9/mo. - [Hyros alternative](https://admaxxer.com/hyros-alternative) — DTC-priced replacement for Hyros: 92% CAPI match rate, ad-level cohort LTV (7/30/90d), and the Maxxer AI agent (BYOK) — without enterprise-tier pricing or 6-month contracts. - [Northbeam alternative](https://admaxxer.com/northbeam-alternative) — Self-serve replacement for Northbeam's MMM-heavy stack: blended MER, OLS-based MMM with geometric adstock, two-proportion z-test incrementality, and Claude-powered analytics chat — starting at $9/mo, no implementation fee. - [Datafast alternative](https://admaxxer.com/datafast-alternative) — For merchants who started with Datafast for analytics and now want attribution + server-side tracking on the same bill. Same $9/mo entry tier; Admaxxer adds revenue attribution (4 models × 5 windows) + server-side conversions to 5 platforms + first-party CNAME. Datafast does analytics; Admaxxer does the full triple stack. - [Stape alternative](https://admaxxer.com/stape-alternative) — For merchants paying Stape $20–500/mo for server-side tracking only. Admaxxer ships the same Conversions API forwarding (Meta + Google + TikTok + Klaviyo) plus first-party CNAME — bundled with full DTC analytics and revenue attribution — from $9/mo. Stape does server-side only; Admaxxer does the full triple stack. - [Admaxxer for SaaS](https://admaxxer.com/saas) — Attribution for SaaS founders: MRR by channel, trial-to-paid conversion by source, CAC payback by cohort. Paste a Stripe restricted key (rk_live_*), install the pixel, ship in 10 minutes. Auto-registered webhook subscribes to customer.subscription.* events; Trial Started / Trial Converted / Subscription Cancelled / Trial Ending Soon goals fire on the server. Also supports Paddle, Lemon Squeezy, Polar, Dodo. Built for trial-led growth + freemium funnels. - [Best DTC attribution software 2026](https://admaxxer.com/best-dtc-attribution-software) — Criteria-first comparison of 7 attribution tools (Admaxxer, Triple Whale, Northbeam, Hyros, Cometly, Polar, Rockerbox) scored on blended MER, CAPI match rate, cohort LTV, MMM, and data ownership. - [Meta & Google Ads dashboard](https://admaxxer.com/meta-google-ads-dashboard) — Unified DTC dashboard for Meta Ads + Google Ads with blended ROAS, ad-level cohort LTV, CAPI match rate monitoring, and the Maxxer AI agent (BYOK) that can pause campaigns. - [Automated reporting](https://admaxxer.com/automated-reporting) — Schedule daily, weekly, or monthly email reports with an AI-written executive summary of what happened and why, multiple recipients, and one-click unsubscribe; see every account you belong to on one Portfolio screen (spend, revenue, MER, ROAS, sessions, conversion rate, revenue sparkline, each in its own currency); and build customizable dashboards with drag-to-reorder, hide/show, undo/redo, and saved views (personal or shared). - [Admaxxer Affiliate Program](https://admaxxer.com/affiliates) — Earn 50% recurring commission for 12 months on every customer you refer. Single-sided program (no referred-user discount). Refer 10 brands on the $79 Pro plan and earn ~$395/mo for a year (~$4,740). $100 minimum payout, paid via Wise or bank transfer, 45-day clearance, clawback on refunds/chargebacks. Free to join; open to agencies, creators, and existing customers. Full terms at https://admaxxer.com/affiliate-terms. - [Q1 2026 platform metrics methodology](https://admaxxer.com/methodology) — Definitions, measurement windows, and sources for the figures cited in Admaxxer's April 30, 2026 milestone announcement (5,000 active brands, $1.2 billion in tracked GMV, 92% CAPI match rate across 8.4 million Q1 2026 events). Companion to the metric glossary. - [Methodology data (machine-readable JSON)](https://admaxxer.com/methodology/data.json) — Same Q1 2026 figures (active brands, tracked GMV, CAPI match rate, event volume, measurement windows) served as a typed JSON document so AI engines, citation crawlers, and analyst tooling can ingest the headline metrics without HTML parsing. - [Changelog](https://admaxxer.com/changelog) — Dated weekly product updates (BlogPosting entries) — features, improvements, fixes, integrations. ### Installation guides - [Install index](https://admaxxer.com/documentation/install) — Copy-paste install snippets with verification steps for 36 platforms. The pixel works on ANY domain — paste the snippet in your site and you're done; no DNS change, no first-party subdomain, no CNAME setup required to start collecting events (first-party setup is an optional ad-blocker-resilience upgrade you can add later). Includes the "Where to find your website ID" walkthrough, the Script variants reference table (script.js / script.hash.js / script.cookieless.js / script.plus.js / script.local.js), the Cookieless mode explainer, and a "Not seeing events?" troubleshooting checklist (confirm the snippet is live in on the published site; test in an incognito/private window because ad-blockers and privacy extensions block analytics requests while you self-test; allow a minute or two for the first event; confirm the correct website is selected in the dashboard; first-party CNAME is optional). FAQPage JSON-LD on the five checklist steps for AI-citation. - [Pro tracking (script.plus.js auto-fired goals)](https://admaxxer.com/documentation/pro-tracking) — Toggle Pro tracking in the install panel and the snippet src updates from script.js to script.plus.js. Five reserved __admx_* goals start firing automatically: outbound link clicks (__admx_outbound), file downloads (__admx_download), 404 page views (__admx_404), form submits (__admx_form), and rage clicks (__admx_rage — 3+ clicks within 500ms inside a 50px radius). Same source-of-truth as the install panel UI and pixel runtime — goals can never drift. - [Install Admaxxer on WordPress (Plugin)](https://admaxxer.com/documentation/install/wordpress-plugin): GPL v2+ WordPress plugin. First-party pixel + WooCommerce server-side conversions. Free. - [Install Admaxxer from Shopify App Store (Path B Public App)](https://admaxxer.com/documentation/install/shopify-app): Canonical install guide for the App Store listing at apps.shopify.com/admaxxer-analytics. 3-click flow: Install on Shopify → Approve 11 scopes (read_customer_events, read_customers, read_discounts, read_fulfillments, read_inventory, read_locations, read_marketing_events, read_orders, read_products, read_reports, write_pixels) → Connect your Admaxxer workspace (Google sign-in or email magic-link). The Web Pixel App Extension installs automatically on accept — no manual snippet paste, no theme file edits (compliant with Shopify's Built-for-Shopify analytics-app rules). Distinct from the legacy Custom App walkthrough at /documentation/shopify-custom-app (paste-token, 8 read scopes + manual Custom Pixel install). FAQ + troubleshooting + per-scope rationale + uninstall/reinstall behavior. Support email: hello@admaxxer.com. - [Install Admaxxer on WordPress (generic)](https://admaxxer.com/documentation/install/wordpress): Plugin install path with all 5 settings (Website ID, Proxy Origin, Cookieless, SPA Hash, Webhook HMAC Secret). HMAC strongly recommended for WooCommerce stores. - [Install Admaxxer on WooCommerce](https://admaxxer.com/documentation/install/woocommerce): Same plugin as the WordPress install, with WC-specific verification + the three WC hooks fired (woocommerce_thankyou, woocommerce_payment_complete, woocommerce_order_status_completed). HMAC Secret strongly recommended. - [Install Admaxxer on a custom SaaS website](https://admaxxer.com/documentation/install/saas): End-to-end SaaS funnel install — pixel + Signup goal + identify + Stripe customer.subscription.* events (Trial Started / Trial Converted / Subscription Cancelled / Trial Ending Soon). The same install cards are reused across the script and npm install pages so the guidance never drifts. Documents the canonical window.admaxxer(...) call shape for emitting custom goals from React/Next.js/SvelteKit/Remix/SolidStart apps; covers identify(userId, traits) for email-stitch, getVisitorId() for client-side metadata stamping, and the Stripe Restricted Key + webhook setup that auto-fires the four subscription-lifecycle goals on the server. - [SaaS analytics setup — identify users, fire funnel events, attribute MRR](https://admaxxer.com/documentation/saas-analytics): The discoverable, example-driven guide for SaaS founders who have pixel pageviews + Stripe MRR but an empty funnel. Four steps close the loop: (1) install the pixel, (2) identify users on signup with admaxxer.identify(userEmail) — the step that links the anonymous ad-clicker to the paying customer, (3) fire custom funnel events e.g. admaxxer('Trial Started', { plan }) and admaxxer('Trial Converted', { plan }), (4) connect Stripe with a restricted key (rk_live_) for MRR. Result: trial-to-paid by channel, MRR by source, CAC payback by cohort, churn-by-source. SaaS-specific (signups/trials/subscriptions/MRR) — NOT the e-commerce products/carts/orders path. Renders the same reusable funnel cards as /documentation/install/saas from a single shared source so the two pages never drift. - [Business type — DTC or SaaS orientation](https://admaxxer.com/documentation/business-type): When you set up Admaxxer it asks "what kind of business do you run?" (DTC / SaaS). Your answer tailors which headline KPIs you see across the dashboard — the KPI ribbon, the Marketing Acquisition ribbon, the empty-state preview tiles, and the Get Connected subtitle. DTC workspaces see Revenue / Ad Spend / MER / Net Profit / Orders / Sessions; SaaS workspaces see MRR / ARR / Active subs / Trial → Paid / Net New MRR / Sessions. Admaxxer picks the orientation from your per-site headline-KPI setting first (MRR & signups → SaaS, revenue & goal → DTC), then your workspace's business type, defaulting to DTC. The data Admaxxer collects is identical either way; only which metrics lead the view changes. Change it any time under Settings → Workspace, or set a per-site override in that site's settings. Agencies create a separate workspace per client or brand using the workspace switcher (there's no standalone "Agency" mode — an agency is simply multiple workspaces). - **Canonical pixel API.** The pixel global is `window.admaxxer` (callable function: `window.admaxxer('Event Name', metadata)`). Methods: `window.admaxxer.identify(userIdOrEmail, traits)` (polymorphic — single email triggers Sonar email-stitch, otherwise userId+traits flow), `window.admaxxer.getVisitorId()`, `window.admaxxer.probe()`, `window.admaxxer.optIn() / optOut() / hasOptedIn()`. The legacy `window.admx` global does NOT exist — any doc that references it is stale. Data-attribute alternatives: `data-admx-goal="X"`, `data-admx-meta='{"k":"v"}'` (zero-JS form, equivalent to the JS call). See the [SaaS install guide](https://admaxxer.com/documentation/install/saas) for usage examples. - [UTM tracking best practices](https://admaxxer.com/documentation/utm-best-practices): Recommended UTM templates for Meta, Google, TikTok, Klaviyo, Pinterest, Snapchat, Reddit, Amazon — plus Admaxxer's URL Builder, ax_* ID namespace, and live coverage tile. - [URL Builder](https://admaxxer.com/url-builder): Public, no-signup tool that generates UTM-tagged campaign URLs across 8 platforms (Meta, Google, TikTok, Klaviyo, Pinterest, Snapchat, Reddit, Amazon). Pre-fills source/medium per platform, supports custom campaign / content / term, and produces a copyable URL plus per-platform template that drops straight into the native ad UI. Deep-linkable from /marketing-acquisition rows so an operator can jump from a spend tile to a tagged URL in one click. - [HTML Script Tag](https://admaxxer.com/documentation/install/script) — Install the Admaxxer analytics pixel on any website by pasting a single HTML or a document.createElement('script') wrapper — both fail in the worker. Set Permission to Not required, click Save FIRST and then Connect/Publish. The 8-scope set unlocks the Shopify-vs-Pixel cross-validation card on /marketing-acquisition with Match Quality Score (0-100) that surfaces attribution leakage from ad-blockers, Safari ITP, and CSP errors. Two clearly-separated steps: server-side data via the Custom App (revenue + cross-validation), browser events via the Custom Pixel (pageviews, UTMs, sessions, funnel). No App Review required. ## Content Library (104 pages) ### Blog Articles (27) #### attribution (5 articles) - [Conversion Lag Windows by Channel: Aligning Meta, Google, TikTok, Pinterest](https://admaxxer.com/blog/posts/conversion-lag-windows-by-channel-meta-google-tiktok) - [How Server-Side Tracking Recovers 20–40% of ATT-Lost Conversions](https://admaxxer.com/blog/posts/how-server-side-tracking-recovers-att-lost-conversions) - [Incrementality Testing for DTC: Geo-Lift vs Holdout, and When to Trust It](https://admaxxer.com/blog/posts/incrementality-testing-dtc-geo-lift-holdout-explained) - [SaaS Marketing Attribution: Attributing MRR and Trial-to-Paid by Channel](https://admaxxer.com/blog/posts/saas-marketing-attribution-mrr-by-channel) - [iOS 17 Link Tracking vs iOS 14.5 ATT: The DTC Attribution Stack 4 Years Later](https://admaxxer.com/blog/posts/ios-17-tracking-vs-ios-14-5-att-dtc-attribution-gap) #### comparison (1 articles) - [The Math: Replacing Datafast + Triple Whale + Stape with One Platform](https://admaxxer.com/blog/posts/replacing-datafast-triple-whale-stape-cost-math) #### email (2 articles) - [Email Open Rates After iOS 15 MPP: What Still Means Anything](https://admaxxer.com/blog/posts/email-open-rates-ios-15-mpp-actual-deliverability) - [Klaviyo Flow Revenue vs Campaign Revenue: The Real Attribution Model](https://admaxxer.com/blog/posts/klaviyo-flow-vs-campaign-revenue-attribution) #### google (1 articles) - [Google Ads Smart Bidding × Conversion Lag: Why Your tCPA Misreports](https://admaxxer.com/blog/posts/google-ads-scpa-bidding-conversion-lag-misreport) #### guide (1 articles) - [First-Party CNAME Setup in 5 Minutes: A Walkthrough](https://admaxxer.com/blog/posts/first-party-cname-setup-walkthrough) #### industry (1 articles) - [AI Agents Now Run Ad Campaigns. Here's the Operator Layer the Tools Are Missing.](https://admaxxer.com/blog/posts/meta-ads-cli-vs-admaxxer) #### measurement (3 articles) - [Meta Conversions API: 7 Fields That Change Match Rate the Most](https://admaxxer.com/blog/posts/meta-conversions-api-7-fields-that-change-match-rate) - [Server-Side CAPI vs Browser Pixel: What Match-Rate Lift Actually Looks Like](https://admaxxer.com/blog/posts/server-side-capi-vs-browser-pixel-match-rate) - [Server-Side Conversion Tracking Compared: Meta CAPI vs TikTok Events API vs Pinterest](https://admaxxer.com/blog/posts/server-side-conversion-tracking-compared-meta-tiktok-pinterest) #### metrics (2 articles) - [Average Order Value: How to Think About It, and the Levers That Actually Move It](https://admaxxer.com/blog/posts/average-order-value-benchmarks-and-levers) - [Cohort LTV:CAC and Payback Period: When a Customer Cohort Is Mature Enough to Judge](https://admaxxer.com/blog/posts/cohort-ltv-cac-payback-period-when-to-judge) #### performance (1 articles) - [Reading BFCM MER Trends 2022-2025: A Methodology for DTC Operators](https://admaxxer.com/blog/posts/dtc-black-friday-mer-analysis-4-year-trend) #### product (1 articles) - [Why We Ship Server-Side Tracking Included (And What It Costs Everywhere Else)](https://admaxxer.com/blog/posts/why-admaxxer-ships-server-side-tracking-included) #### research (6 articles) - [AI Agents in Paid Media: Where They Help, Where They Hurt](https://admaxxer.com/blog/posts/ai-agents-paid-media-where-they-help-hurt) - [DTC Ad Account Benchmarks 2026 (Anonymized Across Admaxxer Customers)](https://admaxxer.com/blog/posts/dtc-ad-benchmarks-2026) - [Teardown: A DTC Brand That Doubled MER](https://admaxxer.com/blog/posts/teardown-dtc-brand-doubled-mer) - [The Case for Blended Attribution Over Multi-Touch](https://admaxxer.com/blog/posts/blended-vs-multi-touch-attribution) - [What We See Across 1,000 Accounts: Attribution Patterns](https://admaxxer.com/blog/posts/attribution-pattern-studies-1000-accounts) - [When to Restructure vs Kill a Campaign](https://admaxxer.com/blog/posts/restructure-vs-kill-campaign-framework) #### saas (1 articles) - [SaaS CAC Payback by Channel: Months-to-Recover, Done Right](https://admaxxer.com/blog/posts/saas-cac-payback-by-channel) #### tiktok (1 articles) - [TikTok Pixel vs TikTok Events API: The Revenue You're Missing](https://admaxxer.com/blog/posts/tiktok-pixel-vs-events-api-revenue-delta) #### tracking (1 articles) - [Shopify Web Pixel vs Google Tag Manager: Ecom Tracking Accuracy in 2025](https://admaxxer.com/blog/posts/shopify-web-pixel-vs-gtm-ecom-accuracy) ## Features (7) - [Self-Hosted Ads Analytics](https://admaxxer.com/features/self-hosted-ads-analytics) — Self-Hosted DTC Ad Analytics - [Meta Ads Manager](https://admaxxer.com/features/meta-ads-manager) — Meta Ads Manager with Built-In Attribution - [Model Context Protocol Server](https://admaxxer.com/features/mcp-server) — Connect any AI client to Admaxxer in 30 seconds - [Google Ads Manager](https://admaxxer.com/features/google-ads-manager) — Google Ads Manager with Blended MER - [CAPI Match Rate](https://admaxxer.com/features/capi-match-rate) — 92% CAPI match rate. Every plan. Hyros methodology, no enterprise pricing. - [AI Ads Agent](https://admaxxer.com/features/ai-ads-agent) — Claude-Powered AI Ads Agent - [Bring Your Own Key AI](https://admaxxer.com/features/byok-ai) — Bring your own AI key. 10 providers. No model lock-in. ## Comparisons (16) - [Elevar](https://admaxxer.com/compare/elevar-alternative) — Admaxxer vs Elevar: server-side tracking, plus the attribution and ad ops on top - [Lebesgue](https://admaxxer.com/compare/lebesgue-alternative) — Admaxxer vs Lebesgue: AI for DTC marketing, built on attribution truth and action - [Wicked Reports](https://admaxxer.com/compare/wicked-reports-alternative) — Admaxxer vs Wicked Reports: multi-touch attribution, plus tracking and ad ops in one - [Triple Whale](https://admaxxer.com/compare/triple-whale-alternative) — Admaxxer vs Triple Whale: a DTC advertiser's head-to-head - [Smartly.io](https://admaxxer.com/compare/smartly-io-alternative) — Admaxxer vs Smartly.io: a DTC advertiser's head-to-head - [SegMetrics](https://admaxxer.com/compare/segmetrics-alternative) — Admaxxer vs SegMetrics: a DTC advertiser's head-to-head - [Rockerbox](https://admaxxer.com/compare/rockerbox-alternative) — Admaxxer vs Rockerbox: a DTC advertiser's head-to-head - [Revealbot](https://admaxxer.com/compare/revealbot-alternative) — Admaxxer vs Revealbot: a DTC advertiser's head-to-head - [Polar Analytics](https://admaxxer.com/compare/polar-analytics-alternative) — Admaxxer vs Polar Analytics: a DTC advertiser's head-to-head - [Madgicx](https://admaxxer.com/compare/madgicx-alternative) — Admaxxer vs Madgicx: a DTC advertiser's head-to-head - [Northbeam](https://admaxxer.com/compare/northbeam-alternative) — Admaxxer vs Northbeam: a DTC advertiser's head-to-head - [Segments.ai](https://admaxxer.com/compare/segments-ai-alternative) — Admaxxer vs Segments.ai: a DTC advertiser's head-to-head - [Motion](https://admaxxer.com/compare/motion-alternative) — Admaxxer vs Motion: a DTC advertiser's head-to-head - [AdRoll](https://admaxxer.com/compare/adroll-alternative) — Admaxxer vs AdRoll: a DTC advertiser's head-to-head - [Cometly](https://admaxxer.com/compare/cometly-alternative) — Admaxxer vs Cometly: a DTC advertiser's head-to-head - [Hyros](https://admaxxer.com/compare/hyros-alternative) — Admaxxer vs Hyros: a DTC advertiser's head-to-head ## Guides (20) - [How to export Pinterest Ads data to Google Sheets (and a simpler way)](https://admaxxer.com/guides/export-pinterest-ads-data-to-google-sheets) — Export Pinterest Ads Data to Google Sheets — The Honest How-To - [How to export Amazon Ads data to BigQuery (and a faster alternative)](https://admaxxer.com/guides/export-amazon-ads-data-to-bigquery) — Export Amazon Ads Data to BigQuery — The Honest How-To - [How to export TikTok Ads data to BigQuery (and a faster alternative)](https://admaxxer.com/guides/export-tiktok-ads-data-to-bigquery) — Export TikTok Ads Data to BigQuery — The Honest How-To - [Google Ads Conversion Lag: Why Conversions Appear Late (and When It's Actually a Bug)](https://admaxxer.com/guides/google-ads-conversion-lag-why-conversions-appear-late) — Why conversions land days after the click — and how to tell lag from a broken tag. - [Performance Max Explained: How to Read PMax (Without Fighting the Automation)](https://admaxxer.com/guides/performance-max-explained-how-to-read-pmax) — What PMax is, what it hides, and the reports that give the detail back. - [Meta Advantage+ Shopping Explained: How to Read ASC (and How It Compares to PMax)](https://admaxxer.com/guides/meta-advantage-plus-shopping-explained) — What ASC automates, what it hides, and how to read it — Meta's answer to Performance Max. - [Trial-to-Paid Attribution for SaaS: A Setup Guide](https://admaxxer.com/guides/trial-to-paid-attribution-saas) — Connect trial signups to paid conversions, channel by channel — and survive the multi-week conversion lag that breaks naive SaaS reporting. - [How to increase Average Order Value (AOV) for your DTC store](https://admaxxer.com/guides/how-to-increase-average-order-value) — How to Increase Average Order Value (AOV) — ECOM Levers - [How to set up TikTok Events API server-side tracking](https://admaxxer.com/guides/tiktok-events-api-server-side-setup) — TikTok Events API Server-Side Setup (DTC + SaaS) - [Server-side tracking explained: pixel vs server-side after iOS 14.5](https://admaxxer.com/guides/server-side-tracking-explained) — Server-Side Conversion Tracking Explained - [How to set up Meta Conversions API server-side tracking](https://admaxxer.com/guides/meta-conversions-api-server-side-setup) — Meta Conversions API Server-Side Setup (DTC + SaaS) - [How to set up Pinterest Conversions API server-side tracking](https://admaxxer.com/guides/pinterest-conversions-api-server-side-setup) — Pinterest Conversions API Server-Side Setup (DTC + SaaS) - [Duplicate payment events](https://admaxxer.com/guides/duplicate-payment-events) — Duplicate Payment Events: Root Cause and Fix - [Google Ads refresh token expired](https://admaxxer.com/guides/google-ads-refresh-token-expired) — Google Ads Refresh Token Expired: Fix and Prevent - [Shopify orders webhook not firing](https://admaxxer.com/guides/shopify-orders-webhook-not-firing) — Shopify Orders Webhook Not Firing - [CSP blocking admaxxer script.js](https://admaxxer.com/guides/csp-blocking-admaxxer-script) — CSP Blocking admaxxer script.js - [Install Admaxxer with GTM](https://admaxxer.com/guides/install-admaxxer-with-gtm) — Install Admaxxer with Google Tag Manager - [Next.js install + SPA pageview validation](https://admaxxer.com/guides/nextjs-install-spa-pageview-validation) — Next.js Install + SPA Pageview Validation - [Verify revenue attribution after install](https://admaxxer.com/guides/verify-revenue-attribution-after-install) — How to Verify Revenue Attribution After Install - [Meta long-lived token setup and rotation](https://admaxxer.com/guides/meta-long-lived-token-rotation) — Meta Long-Lived Access Token: Setup and Rotation ## FAQ (13) - [What counts as a tracked event?](https://admaxxer.com/faq/what-counts-as-a-tracked-event) — An event is any action our pixel captures on your site — pageviews, custom goals, payment hints, and (on the Plus bundle) clicks, form submits, add-to-cart, and more. Server-side identify calls and CAPI traffic don't count. - [How does Admaxxer store my credentials?](https://admaxxer.com/faq/how-does-admaxxer-store-my-credentials) — Ad-platform credentials (Meta tokens, Google refresh tokens, and similar secrets) are encrypted with AES-256-GCM at the application layer before being written to our primary database. The encryption key lives outside the database so a database-only breach cannot expose tokens. - [Is Admaxxer self-hosted?](https://admaxxer.com/faq/is-admaxxer-self-hosted) — Admaxxer is delivered as managed SaaS, hosted on geographically-redundant cloud infrastructure with a managed primary database and a first-party analytics store. Dedicated or private deployments are scoped as Enterprise arrangements — contact sales. - [What happens when my trial ends?](https://admaxxer.com/faq/what-happens-when-my-trial-ends) — On day 7, Admaxxer prompts you to add a payment method. If you subscribe, billing starts at your selected plan and you keep full access. If you do not, the workspace becomes read-only — data is preserved but syncs and the AI agent pause. - [Is a credit card required to start?](https://admaxxer.com/faq/is-a-credit-card-required-to-start) — No. Admaxxer does not ask for a credit card when you sign up or start the 7-day trial. You only add payment details on day 7 if you want to continue on a paid plan. - [Does Admaxxer offer a free trial?](https://admaxxer.com/faq/does-admaxxer-offer-a-free-trial) — Yes. Every Admaxxer plan includes a 7-day free trial with no credit card required. You choose your plan (Starter, Growth, Pro, Scale, or Enterprise) at signup, and the trial clock runs for 7 calendar days regardless of plan switches. - [Can the AI agent pause or adjust campaigns?](https://admaxxer.com/faq/can-the-ai-agent-pause-or-adjust-campaigns) — Yes — pause and adjust, with a hard confirmation gate. The Maxxer agent has two destructive campaign-level tools (update_campaign for status and budget changes; pause_all_low_roas for bulk pause). Each requires an explicit confirmed:true from you in the chat before it executes. The agent does NOT create new campaigns — that flow stays in the campaign builder. - [How does Admaxxer connect to Google Ads?](https://admaxxer.com/faq/how-does-admaxxer-connect-to-google-ads) — Admaxxer uses the Google Ads API (v17) with an OAuth refresh token plus a developer token. You complete a Google OAuth flow once, we store the refresh token encrypted with AES-256-GCM, and syncs run inside Google's 15,000 operations-per-day quota. - [What is CAPI match rate?](https://admaxxer.com/faq/what-is-capi-match-rate) — CAPI match rate is the proportion of your pixel (browser) events that Meta successfully matches to the corresponding Conversions API (server) event. A higher match rate means Meta has better signal to optimize toward purchases, especially in iOS 14.5+ and cookie-restricted environments. - [What is blended MER?](https://admaxxer.com/faq/what-is-blended-mer) — Blended MER (Marketing Efficiency Ratio) is total revenue divided by total paid ad spend across every channel. It is the cleanest top-line measure of whether your full paid mix is profitable, since it is not confused by platform-specific attribution windows. - [Which Shopify events does Admaxxer track?](https://admaxxer.com/faq/which-shopify-events-does-admaxxer-track) — Admaxxer subscribes to four Shopify webhooks: `orders/paid`, `orders/create`, `orders/updated`, and `orders/refunded`. These cover paid revenue, new order creation, edits, and refunds — everything needed for accurate revenue, cohort, and MER reporting. - [How do I refund or cancel my subscription?](https://admaxxer.com/faq/how-do-i-refund-or-cancel-my-subscription) — Cancel at any time from the Stripe Customer Portal, linked from the billing page. Monthly plans come with a 14-day money-back guarantee. Annual plans are refundable on a prorated basis per the refund policy. - [How does Admaxxer connect to Meta Ads?](https://admaxxer.com/faq/how-does-admaxxer-connect-to-meta-ads) — Admaxxer connects to Meta Ads through the Meta Marketing API v21.0. You can paste a long-lived user access token from Meta Business, or use the standard OAuth 2.0 flow. All tokens are encrypted with AES-256-GCM before storage. ### Glossary (16) - [Ad Frequency](https://admaxxer.com/blog/glossary/ad-frequency) - [Attribution Window](https://admaxxer.com/blog/glossary/attribution-window) - [Average Order Value (AOV)](https://admaxxer.com/blog/glossary/aov) - [Blended ROAS](https://admaxxer.com/blog/glossary/blended-roas) - [CAPI Match Rate](https://admaxxer.com/blog/glossary/capi-match-rate) - [Cohort LTV](https://admaxxer.com/blog/glossary/cohort-ltv) - [First-Click Attribution](https://admaxxer.com/blog/glossary/first-click-attribution) - [Incrementality](https://admaxxer.com/blog/glossary/incrementality) - [Linear Attribution](https://admaxxer.com/blog/glossary/linear-attribution) - [Marketing Efficiency Ratio (MER)](https://admaxxer.com/blog/glossary/mer) - [Meta Ad-Set Learning Phase](https://admaxxer.com/blog/glossary/learning-phase) - [Payback Period](https://admaxxer.com/blog/glossary/payback-period) - [Performance Max](https://admaxxer.com/blog/glossary/performance-max) - [Pixel-to-Conversion Discrepancy](https://admaxxer.com/blog/glossary/pixel-cvd-gap) - [ROAS (Return on Ad Spend)](https://admaxxer.com/blog/glossary/roas) - [iOS 14.5 Attribution](https://admaxxer.com/blog/glossary/ios-14-attribution) ### Use Cases (5) - [Crosswind Roasters — Coffee brand found $4k/mo in wasted Performance Max](https://admaxxer.com/blog/use-cases/dtc-coffee-brand-found-wasted-performance-max-spend) - [Drift Media — Agency consolidated Meta + Google reporting across 14 clients](https://admaxxer.com/blog/use-cases/agency-consolidated-reporting-across-14-accounts) - [Fernbank Outfitters — Outdoor apparel brand moved from Triple Whale to Admaxxer](https://admaxxer.com/blog/use-cases/outdoor-apparel-brand-moved-to-admaxxer-from-triple-whale) - [Meridian Glow — Skincare brand reduced wasted Meta spend 34%](https://admaxxer.com/blog/use-cases/dtc-skincare-brand-reduced-wasted-meta-spend) - [Northvale Wellness — Supplement brand found Klaviyo and Meta retargeting double-counting revenue](https://admaxxer.com/blog/use-cases/supplement-brand-klaviyo-meta-attribution-overlap) ## Translated Content Total: 112 English + 150 translated articles - ar: 15 articles - de: 15 articles - es: 15 articles - fr: 15 articles - it: 15 articles - ja: 15 articles - ko: 15 articles - nl: 15 articles - pt-BR: 15 articles - zh-CN: 15 articles ## Contact - Company: Admaxxer AI Analytics - Address: 123, 523, 9WC, DAFZ, Dubai, United Arab Emirates - Email: hello@admaxxer.com - Sales: sales@admaxxer.com - Website: https://admaxxer.com - About: https://admaxxer.com/about --- Generated dynamically from database