Mengirim peristiwa aplikasi ke GA4 menggunakan Measurement Protocol

1. Pengantar

Terakhir diperbarui: 08-06-2021

Hal yang akan Anda build

Dalam codelab ini, Anda akan mempelajari cara mengirim peristiwa eksternal ke GA4 menggunakan Measurement Protocol.

Codelab ini mengasumsikan bahwa Anda sudah memiliki Aplikasi dengan Google Analytics for Firebase yang diterapkan. Jika Anda ingin mempelajari cara berintegrasi dengan Google Analytics for Firebase, lihat codelab ini terlebih dahulu. Jika Anda ingin mempelajari cara membangun aplikasi dengan Firebase, lihat Firebase Android Codelab-Build Friendly Chat.

Yang akan Anda pelajari

  • Langkah-langkah untuk melakukan panggilan telepon MP pertama Anda
  • Memahami parameter yang diperlukan untuk panggilan
  • Mengirim dan memvalidasi panggilan uji coba Anda
  • Membuat contoh skrip di Python untuk melakukan panggilan

Yang Anda butuhkan

  • Aplikasi Android atau iOS Anda
  • IDE apa pun untuk melakukan perubahan
  • Akun GA4
  • Opsional - Lingkungan pengembangan Python (atau Colab)

2. Mengumpulkan kolom wajib

Membuat Rahasia API di GA4

Buka GA4 dan buat rahasia API baru Anda dengan membuka Admin > Aliran Data > pilih aliran data Anda > Measurement Protocol > Buat

6e4afca63054d291.pngS

c9e9ccd2ffba98eb.pngS

e714cd969fca4a4d.pngS

Anda dapat memberikan nama panggilan apa pun, dan nilai rahasia akan ditampilkan, yang dapat digunakan dalam panggilan Anda

Jika tidak yakin cara mengakses GA4, Anda dapat mengunjungi Project Firebase, memeriksa Setelan Project > Integrasi > Google Analytics, lalu mengklik "Kelola". Koneksi Google Analytics harus terlihat, dan Anda juga dapat menavigasi langsung dari sana

73b4d77a57eddfba.pngS

Mengumpulkan app_instance_id

Anda dapat menggunakan salah satu metode di bawah ini untuk mengumpulkan app_instance_id.

  1. Menggunakan BigQuery Export
  2. Mengambil Secara Native di Kode Sumber Aplikasi Anda

Keduanya dijelaskan secara mendetail di bawah ini

  1. Menggunakan BigQuery Export

Jika BigQuery Export telah diaktifkan, Anda dapat mengikuti langkah-langkah di bawah ini

  • Login ke Firebase
  • Buka Setelan Project > Integrasi > BigQuery
  • Klik "Lihat di BigQuery" di dekat {i>dataset<i}

Catatan : Set data hanya akan tersedia setelah tombol diaktifkan selama sekitar 24-48 jam

63d061088b622961.pngS

  • Di BigQuery, Anda dapat memeriksa user_pseudo_id di tabel. Ini adalah app_instance_id yang dapat Anda gunakan dalam panggilan

4b1b80bdc2884581.pngS

  1. Mengambil Secara Native di Kode Sumber Aplikasi Anda

Jika aplikasi Anda dibuat menggunakan Java, Anda dapat menggunakan hal seperti ini untuk mengambil app_instance_id

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

Untuk Kotlin, Anda dapat mencoba langkah berikut

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

Jika memiliki Aplikasi iOS, Anda dapat menggunakan kode berikut di Swift

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
*/

Di bawah ini adalah link lainnya bergantung pada infrastruktur Anda

3. Membangun Panggilan

Anda dapat membuat contoh panggilan menggunakan Pembuat Peristiwa di GA4. (Ini mengharuskan Anda masuk dan mengaktifkan cookie). Pastikan tombol disetel ke "firebase"

fd78d961f3e48238.pngS

Anda harus mengisi kolom berikut

  • api_secret - Sudah dibuat sebelumnya di GA4
  • firebase_app_id - Untuk mendapatkannya, Anda dapat membuka Admin > Aliran Data > pilih aliran data Anda . Seharusnya ditampilkan seperti di bawah ini

19801c8e5cb29222.pngS

  • app_instance_id - Anda telah mengambil nilai ini
  • user_id tidak wajib. Anda dapat membiarkannya kosong untuk saat ini
  • Kategori - ubah ini menjadi "Kustom" dari dropdown, lalu masukkan nama peristiwa pilihan Anda (jangan gunakan peristiwa yang dikumpulkan secara otomatis). Di sini kita menggunakan "test_from_codelab"

54cce53df64d697.pngS

Secara opsional, Anda juga dapat memilih untuk memberikan parameter peristiwa dan/atau properti pengguna dengan mengklik tombol di bawah

16a8f531a3894021.png

Setelah mengisi semuanya, Anda akan melihat tampilan seperti ini, dengan tombol "Validasi Acara"

475801f25c3caf26.pngS

Setelah sampai, klik "ACARA VALIDASI" , tombol akan disorot dengan warna oranye. Seharusnya muncul pesan di bawah, yang menetapkan bahwa peristiwa valid, dan Anda akan melihat tombol "SEND TO GA" sekarang. Pada tahap ini, jika peristiwa dianggap tidak valid, alat akan memberi tahu Anda kolom persis tempat terjadinya masalah, dan Anda dapat memperbaikinya serta mencoba lagi

23e4e6800705b4aa.pngS

Anda sekarang dapat mengklik tombol, dan tindakan ini akan mengirim peristiwa pengujian ke GA4

4. Memvalidasi peristiwa di GA4

Setelah mengirim peristiwa, Anda dapat membuka akun GA4 dan memeriksa Real-Time. Anda akan melihat peristiwa dimulai

994b51ca46bb1973.pngS

Diperlukan waktu sekitar 24 jam agar peristiwa menyebar dari tampilan realtime ke tab pelaporan peristiwa yang sebenarnya, jadi Anda tidak perlu khawatir jika tidak langsung melihatnya di pelaporan peristiwa reguler.

Jika Anda mengalami masalah atau perbedaan, sebaiknya lihat batasan Measurement Protocol yang diketahui di sini

5. Membuat Skrip Python

Setelah mengujinya, Anda dapat memeriksa panggilan API, dan payload peristiwa untuk membangun arsitektur serupa di Python (atau dalam bahasa apa pun pilihan Anda) yang dapat melakukan panggilan ini. Selanjutnya, Anda dapat menjadwalkan ini pada frekuensi yang diinginkan dan mengoperasionalkannya. Untuk bagian ini, Anda dapat menggunakan IDE pilihan Anda yang mendukung Python atau cukup menggunakan notebook Google Colab yang tidak memerlukan penginstalan apa pun di perangkat Anda.

Mengacu kembali ke Pembuat Peristiwa GA4, Anda akan melihat bahwa endpoint-nya adalah seperti di bawah ini

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

Payload peristiwa adalah seperti di bawah ini

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

Anda dapat menerjemahkan ini ke {i>python<i} dengan menggunakan alat seperti ini

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)

Setelah menjalankannya dengan nilai yang tepat, Anda juga akan melihat peristiwa tersebut tercermin secara real time di GA4.

6. Selamat

Selamat, Anda telah berhasil menggunakan Measurement Protocol di GA4. Sekarang Anda dapat membangun arsitektur solusi yang canggih untuk mengirim data yang lebih bermanfaat ke Google Analytics dan meningkatkan analisis pemasaran serta bisnis Anda. Untuk mendapatkan hasil maksimal dari hal ini, sebaiknya hubungkan juga ke Google Ads, dan impor peristiwa ini sebagai konversi. Anda dapat melihat langkah 6 di codelab ini untuk mendapatkan petunjuk mendetail tentang hal tersebut. Untuk tujuan tracking konversi, Google Ads hanya akan menampilkan data yang terkait dengan IDFA atau ID perangkat yang dikumpulkan dari Firebase SDK dalam 60 hari terakhir. Perlu diingat bahwa ini masih merupakan API alfa dan pastikan Anda melewati batasan yang tercantum di sini yang harus diatasi sebelum peluncuran penuh

Anda telah mempelajari

  • Cara mengumpulkan variabel yang tepat untuk melakukan panggilan MP
  • Cara mengirim dan memvalidasi peristiwa pengujian
  • Cara membuat skrip untuk mengirim panggilan MP