frissítve: 2022. 05. 15.
Olvasási idő: 10 perc
Útmutató

Saját analitika használata - hogyan cseréld le a Google Analytics-et?

Lassan egy éve lesz, hogy "beütött" a GDPR őrület - ezzel párhuzamosan bennem is erősödött az elhatározás: tiszteljük jobban a felhasználóinkat azzal, hogy kevesebb adatot gyűjtünk róluk - vagy ami még jobb, ha nem is gyűjtünk róluk adatot. 


Ezért hát 2018. május 16-án átalakítottam az oldalamat: a Google Analytics nem töltődik be automatikusan, csak akkor, ha ehhez a felhasználó kifejezetten hozzájárul. Érdemes megnézni, hogy mennyire esett vissza az Analytics által mért forgalom, és levonhatjuk a következtetést: igen, a látogatók nem szokták szeretni a követést.

Google analytics webmenedzser hu 2018 03 21 2019 03 21

Ez mind szép és jó volt - végülis én tudom mérni az oldal hatékonyságát az alapján, hogy mennyi megrendelést hoz -, de közben elkezdtem a #plugout sorozatot, illetve a szakmaibb blogbejegyzéseket is nyomni, így szerettem volna valamennyire azért követni a látogatottságot. Több lehetőségnek is utánaolvastam, a legjobban pedig a Matomo tetszett.

A Matomo - korábban Piwik - egy self-hosted analitikai megoldás. Ez azt jelenti, hogy a saját szervereden tartod, te frissíted és te adminisztrálod. Ennek következtében a gyűjtött adatok sosem hagyják el a szerveredet és te mondod meg, hogy milyen adatokra vagy kíváncsi - ráadásul JavaScript és sütit sem kell a működéséhez.

Telepítés

Az egyszerűség kedvéért Docker containerben fog futni a Matomo instance-unk, egy reverse proxy mögött (erre azért van szükség, mert egyszerre csak egy szolgáltatás "ülhet" a 80-as porton, viszont több 80-as portra kapcsolódó szolgáltatást is futtatunk ugyanarról a szerverről - ebben az esetben a reverse proxy hallgatózik a 80-as porton, és a forgalmat a megfelelő konténerhez irányítja. Részleteket ebben a cikkben olvashatsz.)

A folytatásban azt feltételezem, hogy már rendelkezel egy VPS-sel, amin a Docker megfelelően fut - ha nálad ez nem így van, először olvasd el ezt és ezt a bejegyzést (bár ez utóbbit elég csak "félig", a Docker beállításáig).

A fentebb részletezett infrastruktúra - és a verziókövetés egyéb előnyei miatt - létrehoztam egy GitLab repository-t, amiben az IndieHosters által készített Matomo Docker-es "csomagot" fejlesztettem tovább, a változásokra a későbbiekben ki fogunk térni.

Első lépésként tehát húzzuk le a GitLab-ról a fájlokat és lépjünk be a létrejött könyvtárba:

A korábban említett változtatások közül most érünk el az elsőhöz: azért, hogy könnyen tudjuk terjeszteni a docker-compose.yml fájlunkat, nem érdemes különféle érzékeny információkat benne hagyni - mint amilyenek a felhasználónév, jelszó is. Ennek kiküszöbölésére van egy elég jó módszer: egy .env fájlban eltároljuk az adott környezethez tartozó változók értékeit, a docker-compose.yml-ben pedig csak a változók neveit szerepeltetjük, a behelyettesítést rábízzuk a Dockerre.

Hozzunk tehát létre egy .env fájlt, a következő tartalommal:

A fentiekben meghatároztunk néhány környezeti változót: az első néggyel beállítottuk az adatbázis nevét, felhasználónevét és az ahhoz tartozó jelszót, valamint a root jelszót, az utolsóval pedig meghatároztuk, hogy milyen domainhez tartozó kéréseket fog az Nginx reverse proxy erre a containerre irányítani, valamint hogy milyen domainre állítson ki SSL tanúsítványt az Nginx mellett üzemelő Let's encrypt companion container. (Ha ezek kínainak tűnnek, olvasd el ezt a bejegyzést.)

A másik fontos változtatás, hogy a GeoLite2 City IP adatbázist automatikusan csatolja a megfelelő helyre. Így ha esetleg lelőnéd a containeredet, akkor sem kell újra és újra letöltened és beállítanod az adatbázis fájlt. Ehhez annyit kell tenned, hogy letöltöd a GeoLite2 City verziót, MaxMind DB formátumban, és elhelyezed a misc/ mappában.

Indítás előtt még figyelj arra, hogy a megfelelő hálózat nevét használd! Amikor hozzákötöd a Matomo web service-t az Nginx reverse proxy-dhoz, a docker-compose.yml fájlban cseréld le a nginx_reverse_proxy hálózatot annak a networknek a nevére, ami a docker network ls alapján a reverse proxy-d hálózata (vagy annak tűnik).

Ezt követően már indíthatod is a konténereket:

Ha minden jól ment, akkor hibaüzenet nélkül elindult a Matomo, és most már eléred a VIRTUAL_HOST változóban meghatározott címen - ehhez előtte persze az adott domaint/aldomaint (a DNS beállítások között) rá kell irányítanod arra az IP-re, amin a Matomo fut.

Ha ezzel megvagyunk, akkor nyomkodjuk végig a telepítési folyamatot. Az adatbázis beállításnál használd az alábbi változók értékeit (zárójelben a fenti példában szereplő változó nevekkel):

  • Database Server: db (ez a docker-compose.yml fájlból következik, az adatbázis service neve)
  • Login: matomo_user (DB_USER)
  • Password: JPbANZitj3zLGRUo6SmI (DB_PASSWORD)
  • Database Name: matomo_db (DB_DATABASE)

A többi hagyhatod az alapértelmezett beállításon. A telepítési útmutató további része magától értetődő, ezért abba nem megyek bele részletesen: létrehozol még egy Super User-t, beállítod az első követett site-ot, és megkapod a JavaScript követőkódot. Ha nem szeretnél JavaScript-et használni a követéshez, akkor később lesz lehetőséged a követőkódot beszerezni.

Ha "jófej" akarsz lenni a látogatóiddal (és miért ne szeretnél), akkor a Do Not Track support-ot bekapcsolva hagyod - az IP anonimizálást pedig praktikus bekapcsolva hagyni, de végső soron mindegy: mivel egy reverse proxy mögött van a Matomo, nem kerül közvetlenül kapcsolatba a kliensekkel, így azok IP címét sem tudja meg, minden esetben egy 172-vel kezdődő IP-t fog majd mutatni (ez a Docker hálózat, amin keresztül a reverse proxy-val beszélget).

Alapvetően készen vagyunk: ha eddig eljutottál, akkor gratulálok, van egy saját analitikai megoldásod, és nem kell azon aggódnod, hogy a látogatóid olyan adatait is megkaparintja egy harmadik fél, amiről te nem is tudsz.

Néhány hasznos beállítás

Megbízható Matomo Hosztnév

System -> General settings -> Trusted Matomo Hostname

Azok a domainek, amelyeken keresztül elérhető lesz a Matomo felülete. Alapvetően elég lehet például a stats.domainneved.hu, de ha az ügyfeleidnek is szeretnél saját analitikát biztosítani, egy telepítéssel, akkor felveheted az ő domainjeiket is ide (pl. stats.domainneved.hu és stats.ugyfeldomainje.hu).

URL paraméterek (fbclid és társai) kiszűrése

Websites -> Settings -> Global websites settings -> Global list of Query URL parameters to exclude

A Matomo különválogatja különféle URL paraméterek szerint a statisztikában szereplő oldalakat, így minden FB megosztás után más oldalnak fogja jelölni ugyanazt az aloldaladat - ez nem praktikus, ezért érdemes kiszűrni az fbclid query parameter-t a statisztikából (ettől még azért látni fogja, hogy a FB-ról érkezett a látogatás).

Saját látogatás kiszűrése

Personal -> Settings -> Exclude your visits using a cookie

Azért, hogy ne zavarjunk bele a statisztikába, ki tudjuk szűrni a saját látogatásainkat egy kattintással, csak egy sütit kell elmentenünk a böngészőben.

MarketingCampaignsReporting telepítése

Platform -> Marketplace

Ezzel a kiegészítővel a Matomo képes lesz értelmezni az UTM (Google Analytics) és a PK (Piwik/Matomo) kampány paramétereket, valamint megjelenik a kampány funkcionalitás a statisztikában is (pl. Acquisition -> Campaigns).

GeoIP beállítása

A korábban letöltött MaxMind IP adatbázist használnunk is kell, hogy értelme legyen a letöltésének, ezért válasszuk ki a GeoIP 2 (Php) lehetőséget a System -> Geolocation helyen, valamint állítsuk be az automatikus frissítését is (figyeljünk arra, hogy nagy eséllyel az ingyenes verziót használjuk, ennek más a letöltési URL-je).

Saját logó és favicon beállítása

System -> General settings -> Branding settings

A Matomo ingyenes white label lehetőséggel rendelkezik, így feltölthetjük a saját logónkat és faviconunkat, ezzel "elfedve" a Matomo "gyári" brandingjét.

Összefoglalás

Ha a fenti útmutatót rendben követted és nem merült fel semmilyen technikai nehézség, akkor van egy saját analitikai megoldásod, amivel nem veszíted el a látogatottsági adatokat, és szinte biztosan meg tudsz felelni a GDPR (és nagy eséllyel a nemsokára érkező ePrivacy) követelményeinek.

Átvettük a legfontosabb beállításokat is, de még bőven nem értünk a végére: a lehetőségek végtelenek (pl. ügyfeleknek automatikus emailes report napi/heti bontásban), szóval kitartást és sok sikert az átnyálazásáshoz - biztos vagyok benne, hogy az adatvédelemre érzékeny ügyfeleknek ezt egy jó kiegészítő szolgáltatásként tudod majd nyújtani.

Ne felejtsd el, hogy mivel te vagy a rendszer gazdája, így a biztonsági mentésekről is neked kell gondoskodnod - szerencse, hogy a linkelt útmutató kisebb finomításokkal itt is jól használható.