MuninMunin
Logga inKom igång gratis
Home/Journal/Analys som står bredvid kundposten.
Engineering · 10 min read

Analys som står bredvid kundposten.

Plausible lagrar ingenting på enheten. Matomo sätter en kaka på 13 månader som standard. PostHogs arkiv är MIT förutom `ee/`-katalogen. Här är vad var och en faktiskt lagrar och licensierar, avläst från deras egna sidor — och hur du sätter upp analys som kan berätta vilken läsare som blev kund.

Straight down on a dark desk at night: a keyboard, loose paper, a used mug and crossed pens, with a cobalt blue lanyard and a completely blank white card laid out at the right.
Bandet ligger där. Kortet är blankt.

Någonstans på ditt konto finns en instrumentpanel med en linje som pekar uppåt. Den säger att 4180 människor kom förra månaden och att de flesta av dem lämnade omedelbart. Den kan inte berätta vem av dem som betalar dig nu, eftersom de som betalar dig bor i ett annat system, bakom en annan inloggning, drivet av ett annat företag. Siffran är verklig. Den hänger bara inte ihop med något.

Vad gör ett analysverktyg integritetsvänligt?

Tre saker, och alla tre går att kontrollera på ungefär tio minuter. Det lagrar antingen ingen beständig identifierare på besökarens enhet, eller så berättar det exakt vad det lagrar. Det behåller inte råa IP-adresser. Och data ligger någonstans du har valt — din egen databas, eller en molnregion du pekat ut. Allt annat på en integritetssida är reklamtext.

Skälet att kontrollera i stället för att lita på är att fältet verkligen skiljer sig på alla tre, och skillnaderna är inte de som marknadsföringen antyder. En av produkterna nedan lagrar ingenting alls i webbläsaren. En sätter en förstapartskaka med tretton månaders livstid om du inte går in och stänger av den. En lagrar sina identifierare i en kaka och i local storage som standard. De beskrivs alla som integritetsvänliga, och de talar alla sanning om sig själva — uttrycket täcker bara rätt mycket mark.

Vilka integritetsvänliga analysverktyg är värda att titta på 2026?

Plausible, Matomo, Umami, PostHog och Fathom, och de är inte utbytbara. Plausible är striktast på lagring på enheten och hostar bara i EU. Matomo är det mest kompletta och det enda här med värmekartor och sessionsinspelning. Umami är det minsta MIT-alternativet. PostHog är en fullständig produktanalyssvit med en miljon gratis händelser i månaden. Fathom är endast hostat.

Priserna nedan lästes av från varje leverantörs egen prissida den 17 augusti 2026 (Matomo kontrollerat på nytt den 4 september 2026) och är vägledande: varenda en av dem har nivåer, reglage och volymband som en tabell inte kan bära.

  • Plausible AnalyticsPlausible CE är AGPL-3.0-eller-senare; JS-spåraren är MIT separat. Deras datapolicy är den striktaste av de fem — ”Vi använder inte kakor, webbläsarcache eller local storage” — och besökare räknas med en hash av ett dagligen roterande salt plus IP, webbläsarsträng och domän, där saltet raderas var 24:e timme och råa IP-adresser aldrig lagras. Molnet är endast EU, på servrar i Tyskland. Starter är listat till 9 dollar i månaden för 10 000 sidvisningar per månad.
  • MatomoGPL-3.0-eller-senare, det mest funktionskompletta alternativet här, och det enda med värmekartor, sessionsinspelning och A/B-testning. Standardspårningskoden sätter förstapartskakor: _pk_id bär ett besökar-id i 13 månader. Drift utan kakor är en inställning du slår på, inte standarden. IP-maskering är på som standard med två byte, vilket Matomos egen dokumentation varnar för ”ofta fortfarande är personuppgifter”. Molnet hostas i Frankfurt; Business är listat till 29 € i månaden exklusive skatt för 50 000 träffar på Matomos prissida.
  • UmamiMIT, utan någon separat licensierad katalog i arkivet. Spårningskoden sätter inga kakor; den läser en umami.disabled-nyckel från local storage och skriver aldrig någon. Sessioner identifieras med en hash av IP-adress, webbläsarsträng och webbplats-id. Molnet har en gratis Hobby-nivå på 100 000 händelser i månaden och Pro för 20 dollar i månaden för en miljon, enligt Umamis prissida. Molnservrarna står i USA och EU.
  • PostHogProduktanalys, sessionsåtergivning, funktionsflaggor och experiment i en produkt, med 1 000 000 händelser i månaden gratis. Som standard lagrar JS-biblioteket sina identifierare både i en kaka och i local storage, och kakan går ut efter 365 dagar; ett kakfritt läge med serverhash finns och måste slås på. EU-organisationer har IP-fångst av som standard. Molnet är Virginia eller Frankfurt, valt vid registrering.
  • Fathom AnalyticsEndast hostat — källkoden till dagens produkt är inte publicerad, och det öppna Fathom Lite är MIT men underhålls snarare än utvecklas. Den hostade spåraren är kakfri, och råa IP-adresser behålls endast av säkerhetsskäl och ingår aldrig i kunddata. EU-isolering tar bort IP-adressen inuti EU och lagrar sedan den anonyma raden på amerikanska servrar. Från 15 dollar i månaden för 100 000 sidvisningar över 50 webbplatser, enligt Fathoms prissida.
  • Munin-analysMIT rakt igenom, utan ee/- eller extra/-katalog och utan separat licensierat underträd. Spåraren sätter inga kakor och skriver en slumpmässig uuid till local storage. Klientens IP används för en landsuppslagning mot en databas på din egen disk och sparas aldrig. Händelser landar i analytics_view_events i samma Postgres som kontakterna, samtalen och artiklarna. Cloud Free är 0 € i månaden; självdrift har ingen volymmätare.

Läs katalogen, inte märket

Två av dessa arkiv bär ett licensmärke som inte täcker all kod i dem. PostHogs LICENSE i roten lägger allt utanför ee/ under MIT och allt inuti den under PostHog Enterprise License. Plausibles extra/-katalog håller Enterprise Edition, som Plausible säger sig inte ge några rättigheter att använda eller distribuera — och den levereras utan egen licensfil. Båda företagen dokumenterade uppdelningen i sina egna releasenoteringar. Ett märke på ett ord kan inte.

Hur sätter jag upp integritetsvänlig analys på min egen webbplats?

Två anrop och en rad HTML. Skapa en spårarnyckel med analytics_create_tracker och namnge exakt vilka ursprung som får använda den. Klistra in skripttaggen i din layout med den nyckeln i data-key. Paketet skickar en sidvisning vid inläsning och berikar senare samma rad med vistelsetid och rulldjup. Det finns inget annat att konfigurera och ingen SPA-flagga att sätta.

Nyckeln är offentlig genom design. Den pekar mot en organisation och kan bara skriva visningshändelser — den kan aldrig läsa dem — så att skicka den i din sidkälla är det avsedda beteendet, på samma sätt som ett mät-id är det.

jsoncskapa nyckeln, klistra in taggen
{
  "name": "analytics_create_tracker",
  "arguments": {
    "name": "example.com marknadssajt",
    "allowedOrigins": ["https://example.com", "http://localhost:3000"]
  }
}

// → { "trackerId": "atr_…", "trackerKey": "mn_track_…" }   visas en gång

// sedan, i din layout:
// <script async
//   src="https://api.getmunin.com/tracker.js"
//   data-key="mn_track_…">
// </script>
  • 01En spårare per webbplats, inte en per organisation. Varje rad registrerar den spårare som skrev den, så separata nycklar är det som låter dig fråga hur dokumentationssajten går i stället för bara hur allt går. Att dela en nyckel slår ihop två webbplatser permanent — tidigare rader behåller den spårare de skrevs med.
  • 02allowedOrigins är obligatoriskt och exakt. Schema, värd och port, inga jokertecken, inga sökvägsprefix. Lista produktion, staging och localhost var för sig. Origin-headern sätts av webbläsaren och går att förfalska, så behandla det här som hygien snarare än som en säkerhetsgräns; rotation och hastighetsbegränsning per IP är de verkliga försvaren.
  • 03Landsupplösning är frivillig och lokal. Sätt MUNIN_GEOIP_DB_PATH till en landsdatabas i MaxMind-format på din egen disk. Läsaren minnesmappar den en gång vid start, så det finns inget nätverksanrop per förfrågan till någon. Lämna den osatt och kolumnen förblir tom.
  • 04Vik ihop språkprefix du inte kan härleda. /en/pricing på en sida som anger lang="en-US" viks automatiskt till /pricing. Ett prefix som inte stämmer med taggen — /no/priserlang="nb-NO" — behöver namnges en gång med analytics_update_tracker({ canonicalLocales: ["no"] }), och det gäller från nästa händelse utan ny driftssättning.
  • 05Rotation är återkallande plus skapande. analytics_revoke_tracker ger 401 på den gamla nyckeln omedelbart; analytics_list_trackers ger dig id, namn, prefix, senast använd och återkallad-tidpunkt för granskningen. Vill du sluta spåra en sida, radera skripttaggen från den — paketet är ett samtycke per sidinläsning.

Vad lägger spåraren i en besökares webbläsare?

En nyckel i local storage, som håller en slumpmässig uuid. Inga kakor, och inget annat. Uuid:n är det som gör att en återvändande läsare räknas som samma läsare i stället för som två, och den bär varken namn, e-post eller IP-adress. Plausible är det striktaste svaret i det här fältet på exakt den punkten — det lagrar ingenting på enheten alls — så är en spårare med noll lagring ett hårt krav är det den du ska köpa.

Det uuid:n köper dig är en raderingsberättelse du faktiskt kan genomföra. Identifieraren är ett slumpmässigt värde i en tabell i din egen Postgres, så ”radera allt om den här besökaren” är DELETE FROM analytics_view_events WHERE visitor_id = $1 och därmed klart — inget supportärende, inget 30-dagarsfönster, ingen begäran om registerutdrag dirigerad genom ett personuppgiftsbiträde i en annan jurisdiktion.

Resten av raden är medvetet tunn. Klientens IP läses en gång, vid förfrågningstillfället, för att slå upp ett land mot en databasfil som ligger på din egen disk, och skrivs aldrig ned. dwell_ms räknar bara den tid sidan faktiskt var synlig. read_depth är en av fyra rullmilstolpar. Det finns inget fingeravtryck, ingen identifierare över webbplatsgränser, och inget som överlever att besökaren rensar webbplatsdata. Och eftersom spåraren är en skripttagg snarare än en plattformsintegration är enheten för att avstå en sida: ta bort taggen och den sidan slutar rapportera.

Testet

Om en läsare mejlade dig i dag och frågade vad du har om dem, skulle du kunna svara från din egen databas — eller skulle du behöva fråga en leverantör?

Behöver jag fortfarande en kakbanner?

Det är en fråga för ditt juridiska ombud snarare än för en leverantörs förstasida, och det ärliga svaret är att det beror på var du är. ePrivacy artikel 5(3) reglerar ”lagring av information, eller tillgång till information som redan lagrats, i en abonnents eller användares terminalutrustning”. Den nämner aldrig kakor, och EDPB:s riktlinjer 2/2023 namnger local storage uttryckligen som omfattat.

Så frågan om tillämpningsområde är avgjord och frågan om samtycke är det inte. EDPB säger det rakt ut: riktlinjerna täcker vad artikel 5(3) gäller för, och hänvisar undantagen till ”relevanta nationella genomföranden och vägledning från nationella tillsynsmyndigheter”. De genomförandena är inte likalydande. Frankrikes CNIL behandlar spårare vars syfte är begränsat till publikmätning som strikt nödvändiga — villkorat av uteslutande förstapartsanvändning, ingen spårning över webbplatsgränser och ingen överföring till tredje part. Tysklands DSK avstår från att välsigna ett generellt undantag. Storbritannien fick ett lagstadgat undantag för statistiska ändamål genom Data (Use and Access) Act 2025, villkorat av tydlig information och ett gratis, enkelt sätt att invända snarare än av samtycke.

Två praktiska konsekvenser. Är din regel ingen lagring på enheten, någonsin, är Plausible och Fathoms hostade spårare byggda för den regeln och det är ett bra skäl att välja en av dem. Och vad du än väljer är den användbara egenskapen att du kan beskriva det exakt: en nyckel i local storage, en slumpmässig uuid, inga kakor, ingen sparad IP, ett land härlett från en fil du installerade, och en raderingsväg på en rad. Det är svaret ett dataskyddsombud kan arbeta med, och det är samma resonemang vi tillämpade på vad EU-datalagring faktiskt täcker. Inget av detta är juridisk rådgivning — det är den uppsättning fakta din jurist kommer att be dig om.

Alla analysverktyg kan berätta att en sida lästes 4180 gånger. Frågan som är värd att betala för är vilken av de läsningarna som blev en kund.

Vad kan du fråga när analysen står bredvid kundposten?

Frågor som normalt kräver två system och en join ingen skrev. Vilka artiklar ett namngivet lead läste innan de bokade ett samtal. Vilka sökningar som kom tillbaka tomma förra månaden. Var bortfallet ligger mellan prissidan och det andra onboardingsteget, räknat som en ordnad sekvens snarare än som tre orelaterade summor. De här är ett verktygsanrop var, eftersom händelserna och kontakterna är rader i samma databas.

analytics_get_contact_journey är den som ändrar hur en vecka känns: sidvisningar, sökningar och samtal för en kontakt, i ordning. Den fungerar för att window.mn.identify kopplar en anonym besökare till en känd slutanvändare när — och bara när — du bestämmer det, och analytics_get_funnel grupperar sedan på den identifierade personen, så att övergången från anonym till identifierad inte räknas två gånger. Det är hela argumentet bakom att fråga vilken artikel som stängde affären, gjort konkret.

Den andra vanan är mindre och betalar sig snabbare. analytics_list_zero_result_searches returnerar de sökningar som kom tillbaka tomma — läsare som berättar för dig, med sina egna ord, vad du ännu inte skrivit. Rikta din webbplatssökning mot den med window.mn.trackSearch, så slutar listan handla om Munins egen sökning och börjar handla om hela din webbplats.

jsonctvå frågor, två anrop
// Vad läste det här leadet innan de bokade?
{
  "name": "analytics_get_contact_journey",
  "arguments": { "contactId": "cct_…", "sinceDays": 90 }
}

// Var faller folk bort mellan pris och onboarding?
{
  "name": "analytics_get_funnel",
  "arguments": {
    "steps": [
      { "subjectType": "page", "subjectId": "/pricing" },
      { "subjectType": "page", "subjectId": "/signup" },
      { "pathLike": "/onboarding/%" }
    ],
    "sinceDays": 30,
    "stepWindowHours": 24
  }
}

Vilken ska du välja?

Välj Plausible om kravet är ingenting lagrat på enheten och ingenting hostat utanför EU, och trafiksiffror är allt du behöver. Det är det renaste uttrycket för den positionen någon levererar, och deras datapolicy är värd att läsa även om du köper något annat.

Välj Matomo om du vill ha värmekartor, sessionsinspelning, A/B-testning eller ett decennium av e-handelsrapportering. Kontrollera tilläggssidan först: flera av dem bor i separata, opublicerade tillägg under InnoCrafts EULA snarare än i GPL-kärnan, vilket är en rimlig affärsmodell och något att veta innan du planerar runt det.

Välj PostHog om du instrumenterar en produkt snarare än en webbplats. En miljon händelser i månaden gratis med återgivning och funktionsflaggor är ett genuint starkt erbjudande, och MIT-kärnan är verklig — ee/-katalogen är delen som inte är det.

Välj Umami om du vill ha den minsta MIT-saken som fungerar och du kommer att köra den själv.

Det finns ingen sessionsåtergivning, inga värmekartor och ingen A/B-testning i Munins analysmodul. Välj Munin när frågan du ständigt misslyckas med att besvara inte är hur många utan vilken: vilken läsare som blev ett lead, vilken artikel leadet läste två gånger, vilken sökning som kom tillbaka tom veckan innan de skrev in. De svaren kräver att sidvisningen och kunden är rader i samma databas, vilket är vad Munin är — sex moduler, en Postgres, en licens utan något undanhållet. Analysmodulen är arton av Munins över 200 MCP-verktyg, så samma ändpunkt som svarar vad läste det här leadet arkiverar också uppföljningen, uppdaterar posten och publicerar artikeln. Och den kör på din egen maskin med tre containrar och ett kommando om du hellre vill att den aldrig rör någon annans.

Vanliga frågor

Vilket är det bästa integritetsvänliga alternativet till Google Analytics? Det beror på vilken av tre saker du optimerar för. För den striktaste positionen på lagring på enheten, Plausible: det lagrar ingenting i webbläsaren alls, hostar bara i EU, och börjar på 9 dollar i månaden för 10 000 sidvisningar. För funktionsdjup, Matomo, som är GPL-3.0 och självdrivs gratis. För analys som kopplas till din kundpost, Munin, som är MIT och 0 € på Cloud Free.

Är Plausible verkligen kakfritt? Ja, och det går längre än så. Plausibles datapolicy anger att de inte använder kakor, webbläsarcache eller local storage, och att råa IP-adresser och webbläsarsträngar aldrig lagras — besökare räknas genom en hash byggd på ett salt som roteras och raderas var 24:e timme. Det är den striktaste publicerade positionen bland verktygen som jämförs här.

Är PostHog öppen källkod? Mestadels, och undantaget är dokumenterat i arkivet. PostHogs LICENSE i roten placerar allt utanför ee/-katalogen under MIT, och allt inuti ee/ under PostHog Enterprise License, som kräver en betald prenumeration för produktionsanvändning och förbjuder vidaredistribution. Plausible har en jämförbar uppdelning: extra/-katalogen håller Enterprise Edition-kod som Plausible inte ger några rättigheter att använda eller distribuera.

Behöver jag samtycke för att lagra en identifierare i local storage? Artikel 5(3) i ePrivacy-direktivet gäller ”lagring av information, eller tillgång till information som redan lagrats, i terminalutrustningen” och nämner inte kakor alls; EDPB, CNIL, ICO och Tysklands DSK namnger alla webbläsarens local storage som omfattat. Om samtycke då krävs beror på nationellt genomförande — Frankrike undantar förstaparts publikmätning på villkor, Storbritannien lade till ett undantag för statistiska ändamål 2025, Tyskland har inte utfärdat något generellt. Fråga ditt juridiska ombud; det här är inte juridisk rådgivning.

Kan jag självdriva analys utan att köra en separat analysserver? Med Munin, ja — spårarändpunkten, händelsetabellerna och frågeverktygen är del av samma installation som CRM:et, inkorgen, kunskapsbasen och CMS:et. Det finns ingen andra databas, ingen andra behållare och ingen andra uppsättning uppgifter att rotera.

Kan en AI-agent fråga min analys? Ja. Munins analysverktyg är MCP-verktyg på samma ändpunkt som allt annat, så ”vilka sidor läste det här leadet innan de bokade” är en fråga du ställer med de orden från Claude, Claude Code, Cursor, ChatGPT eller en körare du skrev själv. Flera andra leverantörer i den här jämförelsen publicerar också MCP-servrar; skillnaden som är värd att väga är vad som ligger bakom ändpunkten, inte om en finns.

Kortversionen

  • Integritetsvänligt är tre kontrollerbara fakta: vad som lagras på enheten, om råa IP-adresser behålls, och vilken region som håller data. Läs leverantörens egen dokumentation snarare än märket.
  • Fältet är verkligt och det skiljer sig. Plausible lagrar ingenting i webbläsaren; Matomo sätter en förstapartskaka på 13 månader som standard; PostHog använder en kaka och local storage som standard med 365 dagars livstid.
  • PostHogs ee/-katalog och Plausibles extra/-katalog håller kod under villkor som arkivets rubriklicens inte täcker. Båda företagen säger det i sina releasenoteringar.
  • Munins spårare sätter inga kakor, skriver en slumpmässig uuid till local storage, sparar aldrig en IP-adress, och härleder land från en databasfil på din egen disk.
  • Radering är en SQL-sats mot din egen Postgres, eftersom händelserna bor i din databas snarare än i en leverantörs.
  • Vinsten med att hålla analysen bredvid kundposten är analytics_get_contact_journey och analytics_get_funnel: vilken läsare som blev kund, och var resten föll bort.
  • Munin är MIT utan något separat licensierat underträd, med mer än 200 MCP-verktyg och ett REST-API över samma data, och 0 € i månaden på Cloud Free.

Skapa en spårarnyckel, klistra in en skripttagg, och se vad folk faktiskt läser — Munin Cloud är gratis att börja med, och spåraren och varje fråga bakom den är MIT på GitHub.

Integritetsvänligt är inget märke på en prissida. Det är en rad du kan radera.

Kjell Rune Monsø, grundare.