Web ve mobil ziyaretçi analitiği
Reklam engelleyicilere dayanıklı, birinci taraf ölçüm yapan, çok kiracılı ve gerçek zamanlı web ve mobil ziyaretçi analitiği platformu.
Webtracking, Makdos için geliştirdiğim çok kiracılı, gerçek zamanlı bir web ve mobil uygulama ziyaretçi analitiği platformudur. Ziyaretçinin sitede ne yaptığını ölçer, neyin işe yaramadığını gösterir ve yapılan bir düzeltmenin gerçekten işe yarayıp yaramadığını kanıtlamaya çalışır. Platform izleme, raporlama, deney ve tavsiye adımlarını uçtan uca kapsar; tedarik, kargo ya da stok gibi operasyon işlerini ise bilinçli olarak kapsam dışında tuttum.
Amaç
Bugün birçok sitede analitik verisi eksik toplanıyor. Reklam engelleyiciler üçüncü taraf alan adlarından yüklenen izleme betiklerini kesiyor, sekmesini açık bırakan ziyaretçi saatlerce sitede görünüyor ve ödeme sayfasından dönen müşteri yeni bir ziyaretçi kaynağı gibi sayılıyor. Bu hatalar raporlara yansıdığında reklam bütçesi yanlış kanallara harcanıyor.
Bu platformu, ölçümün kendisini güvenilir hâle getirmek ve raporların her birinin hangi yöntemle, hangi varsayımla üretildiğini açıkça göstermek için geliştirdim. Hedefim, müşterinin Google ve Meta panellerine girmeden reklam, kitle ve dönüşüm işlerini büyük ölçüde bu panelden yönetebilmesiydi.
Nasıl çalışır
Veri toplama birinci taraf olarak çalışır. Her müşteri sitesinin kendi alan adının bir alt alan adı platforma yönlendirilir, böylece izleme betiği ve veri gönderimi müşterinin kendi alan adından yapılır ve reklam engelleyicilerin üçüncü taraf listelerine takılmaz. Her site için ayrı bir sertifika ve ayrı bir izleme kodu kullanılır. İstek yolları nötr adlar taşır ve her sitenin panelden değiştirilebilen kendine özgü bir yol tuzu vardır.
Toplanan veriler arasında sayfa görüntüleme, tıklama, kaydırma, fare izi, form etkileşimi, Core Web Vitals adı verilen sayfa hızı ölçüleri, JavaScript hataları ve ticari olaylar bulunur. Ziyaretçinin sayfasını yavaşlatmamak için sürekli ekran kaydı yerine sayfanın anlık görüntüsünü almayı tercih ettim. Süreyi duvar saatiyle değil etkin süreyle ölçerim; yani sayfa görünürken, pencere odaktayken ve son birkaç dakikada etkileşim varken süre birikir.
Sunucu tarafında iki ayrı süreç çalışır. Toplayıcı süreç gelen olayları doğrular ve hiçbir zaman beklemeyen, sınırlı bir yazma kuyruğuna bırakır. Kuyruk dolduğunda düşen olaylar sayılır ve kayıt altına alınır. Canlı akış veritabanına yazmadan önce yayımlanır, böylece veritabanı yavaşladığında gerçek zamanlı ekran donmaz. API süreci ise paneli, raporları ve dış entegrasyonları sunar.
Her bayinin verisi ayrı bir fiziksel veritabanında tutulur. Bu veritabanları gerektiğinde farklı sunuculara yerleştirilebilir. Bayi, kota ve kullanıcı bilgileri gibi kontrol verileri ise ayrı ve küçük bir ana veritabanında durur.
Öne çıkan özellikler
- Panel, görev odaklı on üç menü kategorisinden oluşur ve dört soruluk bir kurulum sihirbazı, müşterinin hedeflerine göre menüde hangi sayfaların görüneceğini belirler.
- Raporlama tarafında seksenden fazla rapor tek bir tablo yapısından üretilir ve aynı veri JSON, CSV, Excel ve PDF olarak indirilebilir.
- Atıf modelleri arasında son temas, ilk temas, doğrusal, konum tabanlı ve zamanla azalan modeller bulunur; çok temaslı modeller satışı kanallara paylaştırırken toplamı korur.
- Fırsat analizi her satırda kullandığı yöntemi ve güven düzeyini yazar, böylece ölçülen bir değerle varsayıma dayalı bir tahmin birbirinden ayrılır.
- RFM segmentasyonu, müşteri yaşam boyu değeri, kohort, huni ve anomali tespiti gibi analizler hazır olarak sunulur.
- Isı haritası ve ziyaret tekrarı, gerçek sayfa görüntüsünün üzerinde tıklama, kaydırma ve fare izini gösterir.
- A/B deney motoru varyant atamasını saklamak yerine hesaplar, asgari örneklem aşılmadan kazanan ilan etmez ve sayfaya kod enjekte etmez.
- Google Analytics 4 ve Meta Conversions API'ye sunucu tarafından olay iletimi yapılır, tarayıcı ve sunucu yolları birlikte kullanıldığında çift sayım önlenir.
- Kitle Merkezi, pazarlama segmentlerini Google Ads, GA4 ve Meta kitlelerine yalnızca SHA-256 özetleriyle aktarır ve kitleye yalnızca pazarlama onayı olan kişileri alır.
- Reklam Merkezi, Google Ads ve Meta harcamasını gösterir, platformun ölçtüğü satışlarla reklamın panelde ölçülen satışlarını yan yana koyar ve etki ile güvene göre sıralanmış öneriler sunar; hiçbir öneri platforma otomatik olarak uygulanmaz.
- Pazarlama otomasyonu e-posta, SMS, WhatsApp ve push bildirimi kanallarını aynı izin, sıklık ve sessiz saat kurallarından geçirir.
- Çark ve kazı kazan gibi oyunlaştırma araçlarında sonuç sunucuda belirlenir ve kazanılan ödüller kupon, webhook ya da API ile teslim edilir.
Mobil uygulama ve yapay zekâ bağlantısı
Platform yalnızca web siteleriyle sınırlı değil. iOS ve Android uygulamaları panelden kaydedilip bir siteye bağlanabiliyor ve uygulama verisi aynı raporlara platform ve sürüm kırılımıyla düşüyor. Firebase ve Apple bildirim servisleri üzerinden push kampanyaları gönderilebiliyor; bu kampanyalar yalnızca izin ve pazarlama onayı olan cihazlara gidiyor. Bunun yanında müşterilerin sitelerinin trafiğini telefondan izleyebildiği, React Native ile yazdığım salt okunur bir mobil uygulama da var.
Ayrıca platforma bir MCP sunucusu ekledim. MCP, yapay zekâ asistanlarının dış sistemlere araç olarak bağlanmasını sağlayan bir protokoldür. Bu sunucu tamamen salt okunurdur, müşterinin API anahtarı ve kapsamlarıyla çalışır ve kişisel verileri her zaman maskeli döndürür.
Güvenlik ve KVKK
- Kalıcı ziyaretçi kimliği yalnızca analitik onayı verildiğinde oluşturulur; tümünü reddeden ziyaretçinin tanımlayıcıları silinir ve geriye yalnızca seçimin kendisi kalır.
- Sitede zaten bir çerez onay aracı varsa ziyaretçinin o araca verdiği karar okunabilir ve platformun onayı olarak kullanılabilir.
- Veri silme akışı davranış verisini siler, hukuki kanıt niteliğindeki onay kayıtlarını ise kimliksizleştirir.
- Onay kayıtları, ziyaret logları ve denetim kayıtları dönemsel olarak dosyalanır ve Kamu SM zaman damgasıyla damgalanabilir.
- Panel ve yönetim girişinde iki adımlı doğrulama vardır; kiracı sırları Fernet ile şifrelenir, panel parolaları argon2id ile saklanır.
Teknik altyapı
- Sunucu tarafını Go ile yazdım; chi, pgx, slog ve goose kullanırım.
- Olay deposu olarak TimescaleDB eklentili PostgreSQL kullanırım ve her müşteriye ayrı bir veritabanı açarım.
- Kiracı bağlantıları PgBouncer üzerinden geçer, böylece bayi sayısı arttığında veritabanı bağlantı sınırı tükenmez.
- Gerçek zamanlı ekranlar için Valkey üzerinde yayın-abone mekanizması ve sıralı kümeler kullanırım.
- İzleme betiği çerçevesiz JavaScript ile yazılmış, esbuild ile küçültülmüş ve Go programının içine gömülmüştür.
- Müşteri paneli ve yönetim paneli çerçevesiz JavaScript ile yazılmış tek sayfalık uygulamalardır.
- Bütün servisler doğrudan sunucuda systemd ile çalışır, önlerinde HTTP/3 destekli nginx bulunur.
Kullanım alanları
- Reklam engelleyiciler yüzünden kaybolan dönüşümleri geri kazanmak isteyen e-ticaret siteleri bu platformu kullanabilir.
- Google ve Meta reklamlarının gerçek satışa etkisini kendi ölçümüyle karşılaştırmak isteyen pazarlama ekipleri için uygundur.
- Hem web sitesi hem mobil uygulaması olan markalar iki kanalın verisini aynı raporlarda görebilir.
- Müşterilerine analitik hizmeti sunmak isteyen ajanslar ve bayiler, kota tabanlı bayi modeliyle kendi müşterilerini yönetebilir.
- Kategori
- Ürünler ve SaaS
- Yıl
- 2026
Teknolojiler
- Go
- PostgreSQL
- TimescaleDB
- Analytics
- KVKK
- MCP