AngularJS yada Single Page Application oluşturabildiğiniz başka herhangi bir framework ile çalışırken, tracking servisleri ile problem yaşayacaksınız. Tracking servislerinden kastım; Google Analytics vb. servislerdir. 

Bu servisler javascript kütüphaneleri vasıtasıyla, kullanıcıların uygulamanızda gerçekleştirdiği aktivitleri takip eder ve raporlar. Normalde bu servislerin kullanımında ekstradan hiçbir efor sarfetmenize gerek yok. Çünkü Google Analytics çapında bir servisin mühendisleri, yapılması gereken tüm işlemleri kütüphaneye eklemiştir. Siz sadece gerekli javascript kodunu sayfanızın içine ekleyince, herşey javascript eventleri vasıtasıyla otomatik olarak takip edilir ve ilgili sunuculara aktarılır.

LAKİN, tüm sistemler traditional(geleneksel) web siteleri kurgulanmıştır. İşte burda problem başlıyor.

Örneğin geleneksel mimari ile yapılmış bir sitede, Google Analytics servisini incelediğimizde, kodu sayfanıza ekliyorsunuz. Kullanıcılar bir sayfadan diğerine geçtiğinde, Yeni sayfa tamamen sıfırdan yüklendiği için, Google Analytics servisinin takip ettiği javascript eventleri(pageload, vb.) de her seferinde sıfırdan kurulmuş ve fire olmuş(tetiklenmiş) oluyor.

AMMA, Single Page Application’ ında, sayfadan sayfaya geçişlerde, yeni sayfa ve dolayısıyla Google Analytics tracking javascript kodu sıfırdan yüklenmemiş, eventler de doğru zamanda tetiklenmemiş olduğundan, kullanıcının bu işlemi tracking kodu tarafından algılanamayıp, sunuculara iletilmiyor.

Peki ne yapacağız?

Manuel Çözüm;

Tracking kodunun ihtiyaç duyduğu eventler takip edilemediği için, kullanıcının aksiyon aldığı durumları, biz izleyip, ilgili servise gönderteceğiz.

Örneğin;

Single Page Application larda, route sistemi window.location daki hash üzerinde kuruludur. Her route’ ın bir hash değeri vardır. Öyleyse hashchange eventini dinleyip, hash her değiştiğinde, kullanıcının yeni girdiği sayfayı Google Analytics ga objesi ile göndereceğiz.

Yukarıdaki kod ile, sayfadaki hashchange durumunu izliyorum, her değişiklikte, ga objesine yeni sayfa ile ilgili sayfa başlığı ve adres bilgisini gönderiyorum. Sayfa takip işlemi bu kadar basit. Aynı mantık ile, diğer servisleride uygulayabilirsiniz. Konu hakkında Google’ ın kendi dökümantasyonuna https://developers.google.com/analytics/devguides/collection/analyticsjs/pages adresinden ulaşabilirsiniz.

Otomatik Çözüm;

Otomatik çözümden kastım, bu problemler için geliştirilmiş modüller. Örneğin AngularJS Framework’ ünde Google Analytics servisini kullanmak için geliştirilmiş pek çok modül var, bir örneği https://github.com/revolunet/angular-google-analytics adresinde bulunuyor. Diğer frameworkler içinde bu tarz modüller bulabilirsiniz.

Leave A Comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir