Measurement Protocol kullanarak uygulama olaylarını GA4'e gönderin

1. Giriş

Son Güncelleme: 2021-06-08

ne inşa edeceksin

Bu kod laboratuvarında, Measurement Protocol kullanarak harici olayları GA4'e nasıl göndereceğinizi öğreneceksiniz.

Bu codelab, Google Analytics for Firebase uygulanmış bir Uygulamanız olduğunu varsayar. Firebase için Google Analytics ile nasıl entegre edileceğini öğrenmek istiyorsanız, lütfen önce bu codelab'e bakın. Firebase ile nasıl uygulama oluşturulacağını öğrenmek istiyorsanız, lütfen Firebase Android Codelab-Derleme Dostu Sohbet'e bakın.

ne öğreneceksin

  • İlk MP aramanızı yapma adımları
  • Çağrı için gerekli parametreleri anlayın
  • Test çağrınızı gönderin ve doğrulayın
  • Aramayı yapmak için Python'da örnek bir komut dosyası oluşturun

Neye ihtiyacın olacak

  • Android veya iOS Uygulamanız
  • Değişiklik yapmak için 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şturun

GA4'e gidin ve Yönetici > Veri Akışları'na giderek yeni API sırrınızı oluşturun > akışınızı seçin > Measurement Protocol > Create

8dee89e850ae90bb.png

d0be19d8112435a2.png

de5a80a1445d3a14.png

Herhangi bir takma ad verebilirsiniz ve aramanızda kullanabileceğiniz gizli değer görüntülenecektir.

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

f0feed0557420678.png

app_instance_id toplayın

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

  1. BigQuery Export'u Kullanma
  2. Uygulama Kaynak Kodunuzda Yerel Olarak Getirme

Her ikisi de aşağıda ayrıntılı olarak açıklanmıştır

  1. BigQuery Export'u Kullanma

BigQuery dışa aktarmayı etkinleştirdiyseniz aşağıdaki adımları takip edebilirsiniz.

  • Firebase'de oturum açın
  • Proje Ayarları > Entegrasyonlar > BigQuery'ye gidin
  • Veri kümesinin yanındaki "BigQuery'de Görüntüle"yi tıklayın

Not : Veri kümesi, yalnızca geçiş etkinleştirildikten yaklaşık 24-48 saat sonra kullanılabilir olacaktır.

1dc4e93dee33316f.png

  • BigQuery'de, tabloda user_pseudo_id olup olmadığını kontrol edebilirsiniz. Bu, aramanızda kullanabileceğiniz app_instance_id'dir.

aa6d384e380a11e8.png

  1. Uygulama Kaynak Kodunuzda Yerel Olarak Getirme

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()

Bir iOS Uygulamanız varsa, Swift'de aşağıdakileri 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
*/

Aşağıda, altyapınıza bağlı olarak daha fazla bağlantı bulunmaktadır

3. Çağrıyı Oluşturma

GA4'te Event Builder'ı kullanarak örnek bir çağrı oluşturabilirsiniz. (Bu, oturum açmanızı ve çerezleri etkinleştirmenizi gerektirir). Geçişin "firebase" olarak ayarlandığından emin olun

15440faa9ca6a1f1.png

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

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

71174b16f86ff03e.png

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

cf580a708bb0a8a2.png

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

da59bb982f6f906a.png

Her şeyi doldurduktan sonra, "Etkinliği Doğrula" düğmesine sahip böyle bir şey görmelisiniz.

39676ab485d17dc0.png

Buna ulaştığınızda, turuncu renkle vurgulanan düğme olan "OLAYI GEÇERLİ" üzerine tıklayın. Etkinliğin geçerli olduğunu belirten aşağıdaki mesajı görüntülemeli ve şimdi "GA'YA GÖNDER" düğmesini göreceksiniz. Bu noktada, olay geçersiz olarak ortaya çıkarsa, araç size tam olarak bir sorunun olduğu alanı söyleyecektir ve bunu düzeltip yeniden deneyebilirsiniz.

1d63d1e067c46294.png

Artık düğmeye tıklayabilirsiniz ve GA4'e bir test olayı göndermesi gerekir.

4. GA4'te olayları doğrulama

Etkinliği gönderdikten sonra GA4 hesabınıza gidebilir ve Gerçek Zamanlı'yı kontrol edebilirsiniz. olayın gerçekleştiğini görmelisin

7b9e9a0f74b64757.png

Olayların gerçek zamanlı görünümden gerçek olay raporlama sekmesine yayılması yaklaşık 24 saat sürebilir, bu nedenle bunu normal olay raporlamasında hemen görmezseniz endişelenmenize gerek yok!

5. Python Komut Dosyası Oluşturma

Artık test ettiğinize göre, Python'da (veya seçtiğiniz herhangi bir dilde) bu çağrıyı yapabilen benzer bir mimari oluşturmak için API çağrısını ve olay yükünü inceleyebilirsiniz. Daha sonra bunu istediğiniz sıklıkta programlayabilir ve kullanıma hazır hale getirebilirsiniz. Bu kısım için, Python'u destekleyen herhangi bir IDE'yi kullanabilir veya cihazınıza herhangi bir kurulum gerektirmeyen bir Google Colab not defterini kullanabilirsiniz.

GA4 Event Builder'a geri dönersek, bitiş noktasının aşağıdaki gibi olduğunu göreceksiniz.

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

Olay 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 çevirebilirsiniz.

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 olayın GA4'te gerçek zamanlı olarak yansıdığını görmelisiniz.

6. Tebrikler

Tebrikler, GA4'te Measurement Protocol'u başarıyla kullandınız. Artık Google Analytics'e daha anlamlı veriler göndermek ve pazarlama ve iş analizlerinizi geliştirmek için güçlü çözüm mimarileri oluşturabilirsiniz. Bundan en iyi şekilde yararlanmak için Google Ads'e bağlanmanızı ve bu etkinlikleri dönüşüm olarak içe aktarmanızı da öneririz. Bununla ilgili ayrıntılı talimatlar için bu kod laboratuvarındaki 6. adıma başvurabilirsiniz. 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 hala bir alfa API olduğunu unutmayın ve burada listelenen ve tam lansmandan önce ele alınması gereken sınırlamaları uyguladığınızdan emin olun.

öğrendin

  • MP aramaları yapmak için doğru değişkenler nasıl toplanır
  • Test etkinlikleri nasıl gönderilir ve doğrulanır?
  • MP çağrıları göndermek için bir komut dosyası nasıl oluşturulur