Sunucu tarafı etiketlemeye giriş

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.

Google Etiket Yöneticisi web kapsayıcısını kullanmak üzere donatılmış bir sitenin şeması

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.

Sunucu tarafı etiketleme kapsayıcısı kullanılarak donatılmış bir sitenin şeması.

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

Sunucu tarafı etiketleme kapsayıcısı kullanılarak donatılmış bir sitenin şeması.

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:

  1. Sunucu kapsayıcısına click etkinliği göndermek için gtag.js kullanan basit bir web sitesi.
  2. Etkinliği alan Google Analytics 4 istemcisi.
  3. click etkinliğinde tetiklenen bir tetikleyici.
  4. 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.

tetikleyici yapılandırması

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.

Sunucunuzu birinci taraf sunum ile üretim modu için yapılandırın

Sunucu kapsayıcınıza üretim trafiği göndermeden önce sunucuyu birinci taraf alanınıza yüklemenizi ve sunucuyu üretim moduna yükseltmenizi önemle tavsiye ederiz.