Sunucu tarafı etiketleme, uygulamanızı cihazlar arasında kullanmak için Google Etiket Yöneticisi'ni kullanmanın yeni bir yoludur. Sunucu kapsayıcıları, alışık olduğunuz etiket, tetikleyici ve değişken modelini kullanır. Ayrıca, kullanıcı etkinliğini nerede olursa olsun ölçmenizi sağlayan yeni araçlar da sunar.
Sunucu tarafı etiketlemesi olmayan tipik bir etiketleme yapılandırması, ölçüm verilerini çeşitli toplama sunucularına göndermek için sayfadaki bir kapsayıcıyı kullanır. Şekil 1'de, bir web tarayıcısında çalışan Etiket Yöneticisi web kapsayıcısının birden çok sunucuya nasıl veri gönderdiğine dair bir örnek gösterilmektedir.
1. Şekil: Google Etiket Yöneticisi web kapsayıcısını kullanmak üzere donatılmış bir site diyagramı.
Buna karşılık, bir sunucu kapsayıcısı kullanıcının tarayıcısında veya telefonunda çalışmaz. Bunun yerine, sizin kontrol ettiğiniz bir sunucuda çalışır.
Şekil 2: Sunucu kapsayıcısı kullanan bir etiketleme yapılandırması örneği.
Sunucu kendi Google Cloud Platform projenizde veya seçtiğiniz farklı bir ortamda çalışır. Siz başka bir yere göndermeyi seçene kadar sunucudaki verilere yalnızca siz erişebilirsiniz. Bu verilerin nasıl şekillendirileceği ve sunucudan nereye yönlendirileceği konusunda tam kontrole sahip olursunuz. Etiketler, korumalı alan JavaScript teknolojisi kullanılarak oluşturulur. İzinler, etiketin neler yapabileceğini görmenizi sağlar, politikalar ise kapsayıcı çevresinde sınırlar belirlemenize olanak tanır.
Sunucu, kullanıcının cihazından web istekleri alır ve bu istekleri etkinliklere dönüştürür. Her etkinlik, kapsayıcının etiketleri, tetikleyicileri ve değişkenleri tarafından işlenir. Bir sunucu kapsayıcısındaki etiketler, tetikleyiciler ve değişkenler, diğer kapsayıcı türlerinde olduğu gibi çalışır: Tetikleyiciler belirli koşulları aramak için her etkinliği inceler ve uygun durumlarda, etkinlik verilerini işlenecek verileri gönderen etiketleri tetikler.
Bu modelde, sunucu kapsayıcıları için iki önemli soru sorulmaktadır:
- Ölçüm verileri kullanıcının cihazından sunucu kapsayıcısına nasıl aktarılır?
- Sunucu kapsayıcısına gönderilen ölçüm verileri nasıl etkinliğe dönüştürülür?
Her iki sorunun da yanıtı, sunucu kapsayıcılarında kullanılacak yeni bir varlık türüdür: istemci.
Müşterilerin işleyiş şekli
İstemciler, kullanıcının cihazında çalışan yazılımla sunucu kapsayıcınız arasındaki bağdaştırıcılardır. İstemci bir cihazdan ölçüm verilerini alır, bu verileri bir veya daha fazla etkinliğe dönüştürür, container'da işlenecek verileri yönlendirir ve sonuçları paketleyerek istek sahibine geri gönderir.
Bu kadar fazla oldu. Her bir bölüme ayrı ayrı yakından bakalım. Şekil 3'te, kullanıcının web tarayıcısından sunucu kapsayıcısına ve web sunucunuzdan sunucu kapsayıcısına giden veriler gösterilmektedir.
3. Şekil: Her veri akışını farklı bir istemci işliyor.
Müşteriler, ölçüm verilerini bir cihazdan alır. Kullanıcı etkinliğini üç yerde ölçmek istediğinizi varsayalım: web sitesi, telefon uygulaması ve akıllı ekmek kızartma makinesi. Web siteniz Google Analytics'i, telefon uygulamanız Firebase Analytics'i, ekmek kızartma makineniz de "Toastmeasure" adlı özel bir protokol kullanmaktadır.
Bu üç cihazı Google Etiket Yöneticisi ile uygulamak, normalde her platform için farklı bir kapsayıcının kullanılmasını gerektirir. Sunucu kapsayıcısı cihazda çalışmadığından, aynı container üç cihaz platformunun tümü için analiz araçlarını kullanabilir. Ama bir sorun var. Bu cihazların hepsi aynı şekilde iletişim kurmaz. Google Analytics protokolü, Toastmeasure protokolüyle aynı değildir. Bu noktada müşteriler devreye girer.
Sunucu kapsayıcınızda bu üç kapsayıcı yerine üç istemci bulunur. Kapsayıcıya gelen her istek, her bir istemci tarafından öncelikle en yüksek öncelikli istemci olacak şekilde işlenir. Her müşterinin yapacağı ilk şey, bu tür bir isteği nasıl işleyeceğini bilip bilmediğine karar vermektir. İstek mümkünse istemci istek için "hak talebinde bulunur" ve bir sonraki işleme aşamasına geçer. İsteği talep etme işlemi, sonraki istemcilerin çalışmasını engeller. İstemci isteği işleyemezse hiçbir şey yapmaz ve isteği işleyip işlememe konusunda diğer istemcilerin karar vermesine olanak tanır.
İstemciler, istek verilerini bir veya daha fazla etkinliğe dönüştürür. Toastmeasure istemcisi bir istek talep ettiğinde, isteği container'ın geri kalanının anlayabileceği bir çözüme dönüştürmesi gerekir. Bir şey bir etkinlikler kümesidir.
Etkinlikler, ölçmek istediğiniz ve gerçekleşen şeylerdir. Bunlar herhangi bir değer olabilir:
start_toasting,
finish_toasting veya
buy_bread. Bir istemcinin oluşturduğu etkinliklerin yapısıyla ilgili bazı öneriler vardır ancak tek şart, container'ın geri kalanının bunları anlamasıdır.
Kapsayıcıyı istemciler çalıştırır. Müşteri, isteği talep etmiş ve etkinliğe dönüştürmüştür. Şimdi sıra etiketler, tetikleyiciler ve değişkenlerde. İstemci her etkinliği daha fazla işlem yapılması için container'ın geri kalanına iletir.
İstemciler sonuçları paketleyerek cihaza geri gönderir. Kapsayıcı çalıştıktan sonra, ekmek kızartma makinesine yanıt vermenin zamanı gelmiş demektir. Yanıtlar pek çok farklı şekilde karşımıza çıkabilir. Belki de müşteri sadece "Tamam, bitti" diyordur. Belki de etiketlerden biri isteği başka bir koleksiyon sunucusuna yönlendirmek istiyordur. Belki de etiketlerden biri, ekmek kızartma makinesindeki ışığa renkleri değiştirmesini söylüyor. Ne olması gerekiyorsa sonuçları paketlemek ve istekte bulunan kişiye geri göndermek istemcinin görevidir.
Neyse ki Etiket Yöneticisi bu işlemlerin çoğunu sizin için halleder. Sunucu kapsayıcılarında Google Analytics 4, Google Analytics: Universal Analytics ve Measurement Protocol olmak üzere üç istemci bulunur. Bu istemciler, container'ınızı oluşturur oluşturmaz uygulamanızı enstrümantasyon etmeye başlamak için ihtiyacınız olan araçları sağlar.
Kısa bir örnek
Tüm parçaların nasıl bir araya geldiğini görmek için hızlı bir örneğe göz atalım. Bu örnekte aşağıdakileri oluşturacaksınız:
- Sunucu kapsayıcısına
clicketkinliği göndermek için gtag.js kullanan basit bir web sitesi.
- Etkinliği alan Google Analytics 4 istemcisi.
clicketkinliğinde tetiklenen bir tetikleyici.
- Etkinlik verilerini işlenmek üzere Google Analytics'e gönderen bir Google Analytics 4 etiketi.
Bu örnekte, sunucu kapsayıcınızı zaten oluşturduğunuzu ve dağıttığınızı varsayacağız.
gtag.js'yi yapılandırma
Öncelikle, verileri sunucu kapsayıcınıza göndermek için gtag.js'yi yapılandırın. gtag.js ile sunucu kapsayıcınıza veri gönderme, tek bir değişiklikle Google Analytics'e veri göndermeyle aynı şekilde çalışır. Aşağıdaki örnek sayfada olduğu gibi
server_container_url yapılandırma seçeneğini sunucu kapsayıcısına işaret edecek şekilde ayarlayın.
<!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'TAG_ID', { server_container_url: 'https://analytics.example.com', }); </script>
TAG_ID yerine etiket kimliğinizi girin.
https://analytics.example.com kısmını sunucu kapsayıcı URL'nizle değiştirin.
Ardından,
click etkinliklerini işlemek için bir
sendEvent() işlevi ekleyin:
<!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'TAG_ID', { server_container_url: 'https://analytics.example.com', }); function sendEvent() { gtag('event', 'click'); } </script> <button onclick="javascript:sendEvent()">Send Event</button>
TAG_ID yerine etiket kimliğinizi girin.
https://analytics.example.com kısmını sunucu kapsayıcı URL'nizle değiştirin.
Bu yapılandırmada, bu örnekte yer alan
sendEvent() işlevi gibi etkinlik işleyiciler sunucu kapsayıcınıza bir
click etkinliği gönderir.
Google Analytics 4 istemcisi
Kapsayıcınız, sunucuya ulaştığında etkinliği alacak bir istemciye ihtiyaç duyar. Neyse ki, sunucu kapsayıcılarında önceden yüklenmiş bir Google Analytics 4 istemcisi bulunduğundan bu adımı zaten tamamladınız.
Tıklama tetikleyicisi
Ardından,
click etkinliğinde tetiklenen bir tetikleyici oluşturun. Etkinlik Adı yerleşik değişkeni "click" değerine eşit olduğunda tetiklenen bir Özel Tetikleyici oluşturun.
Google Analytics 4 etiketi
Son olarak, tetikleyiciye bir GA4 etiketi ekleyin. İstemcilerde olduğu gibi, sunucu kapsayıcısı bir GA4 etiketi içerecek şekilde gelir. Etiketi oluşturmanız ve ayarlarınızı yapılandırmanız yeterlidir. Artık kapsayıcınızı bağladıktan sonra bunu yapabilirsiniz. GA4 istemcileri ve GA4 etiketleri birlikte çalışacak şekilde tasarlanmıştır. Bu, tek yapmanız gereken bir GA4 etiketi oluşturmaktır. Bu etiket, yapılandırması istemciden gelen etkinliklerden otomatik olarak alınır.
Kapsayıcıyı önizleme
Kapsayıcı yapılandırıldığına göre Önizle'yi tıklayın. Web sitenizi farklı bir tarayıcı penceresinde ziyaret edin. İstekler ve etkinlikler sunucu kapsayıcınıza gönderilirken, önizleme sayfasının sol tarafında istekleri ve etkinlikleri görürsünüz.
Değişikliklerinizden memnun olduğunuzda sunucu kapsayıcısını yayınlayın.