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.
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ó.