Measurement Protocol kullanarak uygulama etkinliklerini GA4'e gönderme

1. Giriş

Son Güncelleme Tarihi: 08.06.2021

Oluşturacaklarınız

Bu codelab'de, Measurement Protocol'u kullanarak harici etkinlikleri GA4'e nasıl göndereceğinizi öğreneceksiniz.

Bu codelab'de, Firebase için Google Analytics uygulanmış bir uygulamanız olduğu varsayılır. Firebase için Google Analytics ile nasıl entegrasyon yapılacağını öğrenmek istiyorsanız lütfen önce bu codelab'i inceleyin. Firebase ile uygulama geliştirme hakkında bilgi edinmek istiyorsanız lütfen Firebase Android Codelab-Derleme Uygun Sohbet bölümünü inceleyin.

Neler öğreneceksiniz?

  • İlk MP aramanızı yapmak için uygulanacak adımlar
  • Görüşme için gerekli parametreleri anlama
  • Test aramanızı gönderme ve doğrulama
  • Çağrı yapmak için Python'da örnek bir komut dosyası oluşturun

Gerekenler

  • Android veya iOS Uygulamanız
  • Değişiklik yapılacak herhangi bir IDE
  • GA4 hesabı
  • İsteğe bağlı: Python geliştirme ortamı (veya Colab)

2. Zorunlu alanları toplayın

GA4'te API gizli anahtarı oluşturma

GA4'e gidin ve Yönetici > Veri Akışları > yayınınızı seçin > Measurement Protocol > Oluştur

6e4afca63054d291.png

c9e9ccd2ffba98eb.png

e714cd969fca4a4d.png

İstediğiniz takma adı girdiğinizde, görüşmenizde kullanabileceğiniz gizli değer gösterilir

GA4'e nasıl erişeceğinizden emin değilseniz Firebase projenizi ziyaret edebilir, Proje Ayarları > Entegrasyonlar > Google Analytics'e gidip "Yönet"i tıklayın. Google Analytics bağlantısı görünür olmalıdır ve doğrudan bu bağlantıdan da gezinebilirsiniz

73b4d77a57eddfba.png

app_instance_id öğesini topla

app_instance_id verilerinizi toplamak için aşağıdaki yöntemlerden herhangi birini kullanabilirsiniz.

  1. BigQuery Export'u kullanma
  2. Uygulama Kaynağı Kodunuzda Yerel Olarak Alma

Bunların her ikisi de aşağıda ayrıntılı olarak açıklanmıştır

  1. BigQuery Export'u kullanma

BigQuery Export özelliği etkinse aşağıdaki adımları uygulayabilirsiniz

  • Firebase'de oturum açma
  • Proje Ayarları'na gidin > Entegrasyonlar > BigQuery
  • "BigQuery'de görüntüle"yi tıklayın veri kümesine yakın

Not : Veri kümesi yalnızca açma/kapatma düğmesi yaklaşık 24-48 saat etkinleştirildikten sonra kullanılabilir

63d061088b622961.png

  • BigQuery'de, tabloda user_pseudo_id değerini kontrol edebilirsiniz. Bu, görüşmenizde kullanabileceğiniz app_instance_id değeridir

4b1b80bdc2884581.png

  1. Uygulama Kaynağı Kodunuzda Yerel Olarak Alma

Uygulamanız Java kullanılarak oluşturulduysa, app_instance_id öğesini almak için bunun gibi bir şey kullanabilirsiniz

 FirebaseAnalytics.getInstance(this).getAppInstanceId().addOnCompleteListener(new OnCompleteListener<String>() {
        @Override
        public void onComplete(@NonNull Task<String> task) {
            if (task.isSuccessful()) {
                String user_pseudo_id = task.getResult();
            }
        }
    });

Kotlin için aşağıdakileri deneyebilirsiniz

Thread {
   Firebase.analytics.appInstanceId.addOnSuccessListener { user_pseudo_id ->
       Log.d("Firebase", "user_pseudo_id using appInstanceId is $user_pseudo_id")
       /*
       Store the value to your server or do something with the retrieved id
        */
   }
}.start()

iOS uygulamanız varsa Swift'te aşağıdaki adımları kullanabilirsiniz

let user_pseudo_id = Analytics.appInstanceID()
print("user_pseudo_id = \(user_pseudo_id)")
/*
Store the value to your server or do something with the retrieved id
*/

Altyapınıza bağlı olarak daha fazla bağlantıyı aşağıda bulabilirsiniz

3. Görüşme Yapma

GA4'teki Etkinlik Oluşturucu'yu kullanarak örnek bir görüşme oluşturabilirsiniz. (Bunun için giriş yapmanız ve çerezleri etkinleştirmeniz gerekir). Anahtarın "firebase" olarak ayarlandığından emin olun

fd78d961f3e48238.png

Aşağıdaki alanları doldurmanız gerekir

  • api_secret - GA4'te daha önce oluşturulmuş
  • firebase_app_id - Bunu almak için Yönetici > Veri Akışları > yayınınızı seçin . Aşağıdaki gibi görüntülenmelidir

19801c8e5cb29222.png

  • app_instance_id - Bu değeri zaten aldınız
  • user_id zorunlu değildir. Bu alanı şimdilik boş bırakabilirsiniz
  • Kategori - bunu "Özel" olarak değiştirin ve istediğiniz bir etkinlik adını girin (otomatik olarak toplanan etkinlikleri kullanmayın). Burada "test_from_codelab"i kullanıyoruz.

54cce53df64d697.png

İsteğe bağlı olarak, aşağıdaki düğmeleri tıklayarak etkinlik parametreleri ve/veya kullanıcı özellikleri sağlamayı da seçebilirsiniz

16a8f531a3894021.png

Her şeyi doldurduktan sonra, "Etkinliği Doğrula" düğmesiyle birlikte bunun gibi bir şey görürsünüz.

475801f25c3caf26.png

Bu sayfaya ulaştığınızda "ETKİNLİĞİ DOĞRULA"yı tıklayın varsa düğme turuncu renkle vurgulanır. Etkinlikte etkinliğin geçerli olduğunu belirten aşağıdaki mesaj görüntülenir ve artık "GA'YA GÖNDER" düğmesini görebilirsiniz. Bu noktada, etkinlik geçersiz olarak gelirse araç, sorunun olduğu alanı size tam olarak bildirir. Siz de sorunu düzeltip tekrar deneyebilirsiniz

23e4e6800705b4aa.png

Şimdi düğmeyi tıkladığınızda GA4'e bir test etkinliği gönderilir

4. GA4'teki etkinlikleri doğrulama

Etkinliği gönderdikten sonra GA4 hesabınıza gidip Gerçek Zamanlı sayfasını kontrol edebilirsiniz. Etkinliği görebilirsiniz.

994b51ca46bb1973.png

Etkinliklerin gerçek zamanlı görünümden gerçek etkinlik raporlama sekmesine yayılması yaklaşık 24 saat sürebilir. Bu nedenle, bu bilgileri normal etkinlik raporlamasında hemen görmüyorsanız endişelenmenize gerek yoktur.

Sorunlarla veya tutarsızlıklarla karşılaşıyorsanız Measurement Protocol'un bilinen sınırlamalarını buradan incelemeniz yararlı olabilir

5. Python Komut Dosyası Oluşturma

Şimdi bunu test ettiğinize göre Python'da (veya istediğiniz herhangi bir dilde) bu çağrıyı yapabilecek benzer bir mimari oluşturmak için API çağrısını ve etkinlik yükünü inceleyebilirsiniz. Ardından bunu istediğiniz sıklıkta planlayabilir ve çalıştırabilirsiniz. Bu bölümde, Python'u destekleyen herhangi bir IDE'yi veya cihazınıza yükleme gerektirmeyen bir Google Colab not defteri kullanabilirsiniz

GA4 Etkinlik Oluşturucu'ya döndüğünüzde uç noktanın aşağıdaki gibi olduğunu görürsünüz.

POST /mp/collect?firebase_app_id=XXXX&api_secret=XXXX 
HTTP/1.1
Host: www.google-analytics.com

Etkinlik yükü aşağıdaki gibiydi

{
  "app_instance_id": XXXX,
  "non_personalized_ads": false,
  "events": [
    {
      "name": "test_from_codelab",
      "params": {
        "test_param": "test_123"
      }
    }
  ]
}

Bunun gibi bir şey kullanarak bunu python'a çevirebilirsin

import requests
import json
url = "https://www.google-analytics.com/mp/collect?firebase_app_id=XXXX&api_secret=XXXX"
payload = {
  "app_instance_id": XXXX,
  "non_personalized_ads": False,
  "events": [
    {
      "name": "test_from_codelab",
      "params": {
        "test_param": "test_123"
      }
    }
  ]
}
r = requests.post(url,data=json.dumps(payload),verify=True)
print(r.status_code)

Bunu doğru değerlerle yürüttüğünüzde, benzer şekilde etkinliğin GA4'te gerçek zamanlı olarak yansıtıldığını görmeniz gerekir.

6. Tebrikler

Tebrikler, GA4'te Measurement Protocol'u başarıyla kullandınız. Artık Google Analytics'e daha anlamlı veriler göndermek, pazarlama ve iş analizlerinizi iyileştirmek için güçlü çözüm mimarileri oluşturabilirsiniz. Ayrıca bu özellikten en iyi şekilde yararlanmak için Google Ads'e bağlanmanızı ve bu etkinlikleri dönüşüm olarak içe aktarmanızı öneririz. Bununla ilgili ayrıntılı talimatlar için bu codelab'deki 6. adıma bakabilirsiniz. Dönüşüm izleme amacıyla Google Ads yalnızca son 60 gün içinde Firebase SDK'sından toplanan IDFA veya cihaz kimlikleriyle ilişkili verileri gösterir. Bunun hâlâ alfa API olduğunu unutmayın. Burada belirtilen ve tam lansmandan önce ele alınması gereken sınırlamalara dikkat edin.

Neler öğrendiniz?

  • MP çağrıları yapmak için doğru değişkenleri toplama
  • Test etkinlikleri nasıl gönderilir ve doğrulanır?
  • MP çağrıları göndermek için komut dosyası oluşturma