Sunucu tarafı etiketlemeye giriş

Sunucu tarafı etiketleme, Google Etiket Yöneticisi'ni kullanarak uygulamanızı cihazlar arasında ölçmenin yeni bir yoludur. Sunucu kapsayıcıları, alıştığınız etiket, tetikleyici ve değişken modelini kullanırken aynı zamanda kullanıcı etkinliğini nerede gerçekleşirse gerçekleşsin ölçmenize olanak tanıyan yeni araçlar da sunar.

Sunucu tarafı etiketleme olmadan yapılan tipik bir etiketleme yapılandırmasında, ölçüm verilerini çeşitli toplama sunucularına göndermek için sayfadaki bir kapsayıcı kullanılır. Şekil 1'de, bir web tarayıcısında çalışan Etiket Yöneticisi web kapsayıcısının birden fazla sunucuya nasıl veri gönderdiğine dair bir örnek gösterilmektedir.

Google Etiket Yöneticisi web kapsayıcısı kullanmak üzere yapılandırılmış bir sitenin diyagramı

Şekil 1: Google Etiket Yöneticisi web kapsayıcısı kullanacak şekilde yapılandırılmış bir sitenin diyagramı.

Buna karşılık, 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 ölçümlendirilen 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. 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 sahipsiniz. Etiketler, korumalı alanlı JavaScript teknolojisi kullanılarak oluşturulur. İzinler, etiketin neler yapabileceğini görmenizi sağlar. Politikalar ise kapsayıcıyla ilgili sınırları belirlemenize olanak tanır.

Sunucu, kullanıcının cihazından gelen web isteklerini 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 olduğunda, işlenecek etkinlik verilerini gönderen etiketleri tetikler.

Bu model, sunucu kapsayıcıları için iki önemli soru sunar:

  • Ölçüm verileri, kullanıcının cihazından sunucu kapsayıcısına nasıl ulaşı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 cevabı, sunucu kapsayıcılarında kullanılacak yeni bir tür varlıktı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 verileri alır, bu verileri bir veya daha fazla etkinliğe dönüştürür, işlenmek üzere kapsayıcıya yönlendirir ve sonuçları isteği gönderene geri göndermek üzere paketler.

Bu çok fazla şey demek. Her bir bölümü ayrı ayrı inceleyelim. Ş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 akan veriler gösterilmektedir.

Sunucu tarafı etiketleme kapsayıcısı kullanılarak ölçümlendirilen bir sitenin şeması.

Şekil 3: Her veri akışı farklı bir istemci tarafından işlenir.

İstemciler, bir cihazdan ölçüm verileri alır. Kullanıcı etkinliğini üç yerde ölçmek istediğinizi varsayalım: bir web sitesi, bir telefon uygulaması ve akıllı bir ekmek kızartma makinesi. Web siteniz Google Analytics'i, telefon uygulamanız Firebase Analytics'i ve ekmek kızartma makineniz "ToastMeasure" adlı tescilli bir protokolü kullanıyor.

Bu üç cihazın Google Etiket Yöneticisi ile izlenmesi normalde her platform için farklı bir kapsayıcı gerektirir. Sunucu kapsayıcısı cihazda çalışmadığından aynı kapsayıcı, üç cihaz platformunun tümünde analiz araçlarını işleyebilir. Ancak bir sorun var. Bu cihazların tümü aynı şekilde iletişim kurmaz. Google Analytics protokolü, ToastMeasure protokolü ile aynı değildir. İstemciler burada devreye girer.

Bu üç kapsayıcının yerine, sunucu kapsayıcınızda üç istemci bulunur. Kapsayıcıya gelen her istek, öncelik sırasına göre (en yüksek öncelikli istemci önce olmak üzere) her istemci tarafından işlenir. Her istemcinin yapacağı ilk şey, bu tür bir isteği nasıl işleyeceğini bilip bilmediğine karar vermektir. İstek karşılanabiliyorsa istemci isteği "talep eder" ve işleme sürecinin bir sonraki aşamasına geçer. İsteğin talep edilmesi, sonraki istemcilerin çalışmasını engeller. İstemci isteği işleyemezse hiçbir şey yapmaz ve diğer istemcilerin isteği işleyip işlemeyeceğine karar vermesine izin verir.

İstemciler, istek verilerini bir veya daha fazla etkinliğe dönüştürür. ToastMeasure istemcisi bir isteği talep ettikten sonra isteği, kapsayıcının geri kalanının anlayabileceği bir şeye dönüştürmesi gerekir. Bu şey bir dizi etkinliktir.

Etkinlikler, ölçmek istediğiniz olaylardır. Şunlardan herhangi biri olabilir: start_toasting, finish_toasting veya buy_bread. İstemcinin oluşturduğu etkinliklerin yapısıyla ilgili bazı öneriler vardır ancak tek koşul, kapsayıcının geri kalanının bu etkinlikleri anlamasıdır.

İstemciler kapsayıcıyı çalıştırır. İstemci, isteği talep etti ve etkinliklere dönüştürdü. Şimdi etiketler, tetikleyiciler ve değişkenler için sıra geldi. İstemci, her etkinliği daha fazla işlenmek üzere kapsayıcının geri kalanına iletir.

İstemciler, sonuçları paketleyerek cihaza geri gönderir. Kapsayıcı çalıştıktan sonra tost makinesine yanıt verme zamanı gelir. Yanıtlar farklı biçimlerde olabilir. Müşteri "Tamam, bitti." diyebilir. Etiketlerden biri, isteği başka bir toplama sunucusuna yönlendirmek istiyor olabilir. Ya da etiketlerden biri, tost makinesindeki ışıkların renk değiştirmesini sağlıyor. Ne olursa olsun, sonuçları paketleyip isteği gönderene geri göndermek istemcinin görevidir.

Neyse ki Etiket Yöneticisi bu işlemlerin büyük bir kısmını sizin için halleder. Sunucu kapsayıcıları, Google Analytics ve Measurement Protocol olmak üzere 2 istemciyle birlikte gelir. Bu istemciler, kapsayıcınızı oluşturduktan sonra uygulamanızı hemen izlemeye 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 kısa bir örneği inceleyelim. Bu örnekte, aşağıdakileri oluşturacaksınız:

  1. Bir sunucu kapsayıcısına click etkinliği göndermek için gtag.js kullanan basit bir web sitesi.
  2. Etkinliği alan bir Google Analytics istemcisi.
  3. Bir click etkinliğinde tetiklenen tetikleyici.
  4. Etkinlik verilerini işlenmek üzere Google Analytics'e gönderen bir Google Analytics etiketi.

Bu örnekte, sunucu kapsayıcınızı daha önce oluşturup 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 işlemi, Google Analytics'e veri gönderme işlemine benzer ancak bir değişiklik vardır. Aşağıdaki örnek sayfada olduğu gibi, server_container_url yapılandırma seçeneğini sunucu kapsayıcısına yönlendirecek ş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 öğesini etiket kimliğinizle değiştirin. https://analytics.example.com kısmını sunucu kapsayıcınızın URL'siyle değiştirin.

Ardından, sendEvent() işlevi ekleyerek click etkinliklerini işleyin:

<!-- 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 öğesini etiket kimliğinizle değiştirin. https://analytics.example.com kısmını sunucu kapsayıcınızın URL'siyle 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 istemcisi

Kapsayıcınızın, sunucuya ulaştıktan sonra etkinliği alacak bir istemciye ihtiyacı vardır. Neyse ki sunucu kapsayıcılarında Google Analytics istemcisi önceden yüklü olarak gelir. Bu nedenle bu adımı tamamlamış olursunuz.

Tıklama tetikleyicisi

Ardından, click etkinliğinde tetiklenen bir tetikleyici oluşturun. Yerleşik Etkinlik Adı değişkeni "tıklama"ya eşit olduğunda tetiklenen bir Özel Tetikleyici oluşturun.

tetikleyici yapılandırması

Google Analytics etiketi

Son olarak, tetikleyiciye bir Google Analytics etiketi ekleyin. İstemcilerde olduğu gibi, sunucu kapsayıcısında da bir Google Analytics etiketi bulunur. Etiketi oluşturmanız ve ayarlarınızı yapılandırmanız yeterlidir. Artık kapsayıcınızı bağladınız. Google Analytics istemcileri ve Google Analytics etiketleri birlikte çalışacak şekilde tasarlanmıştır. Bu, tek yapmanız gerekenin bir Google Analytics etiketi oluşturmak olduğu ve yapılandırmasının istemciden gelen etkinliklerden otomatik olarak çekileceği anlamına gelir.

Kapsayıcıyı önizleme

Kapsayıcı yapılandırıldığına göre Önizleme'yi tıklayın. Web sitenizi farklı bir tarayıcı penceresinde ziyaret edin. İstekler ve etkinlikler sunucu kapsayıcınıza gönderildikçe, önizleme sayfasının sol tarafında listelenir.

Değişikliklerinizden memnun olduğunuzda sunucu kapsayıcısını yayınlayın.

Sunucunuzu birinci taraf yayınlama ile üretim modu için yapılandırma

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