Kirim peristiwa aplikasi ke GA4 menggunakan Measurement Protocol

1. Perkenalan

Terakhir Diperbarui: 08-06-2021

Apa yang akan Anda bangun

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

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

Apa yang akan Anda pelajari

  • Langkah-langkah untuk melakukan panggilan MP pertama Anda
  • Pahami parameter yang diperlukan untuk panggilan tersebut
  • Kirim dan validasi panggilan pengujian Anda
  • Buat contoh skrip dengan Python untuk melakukan panggilan

Apa yang Anda perlukan

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

2. Kumpulkan kolom yang wajib diisi

Buat Rahasia API di GA4

Navigasikan ke GA4 dan buat rahasia API baru Anda dengan membuka Admin > Aliran Data > pilih aliran Anda > Protokol Pengukuran > Buat

6e4afca63054d291.png

c9e9ccd2ffba98eb.png

e714cd969fca4a4d.png

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

Jika Anda tidak yakin cara mengakses GA4, Anda dapat mengunjungi Proyek Firebase Anda, periksa Setelan Proyek > Integrasi > Google Analytics, dan klik "Kelola". Koneksi Google Analytics akan terlihat, dan Anda juga dapat menavigasi langsung dari sana

73b4d77a57eddfba.png

Kumpulkan app_instance_id

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

  1. Menggunakan BigQuery Ekspor
  2. Mengambil Secara Asli di Kode Sumber Aplikasi Anda

Kedua hal tersebut dijelaskan secara rinci di bawah ini

  1. Menggunakan BigQuery Ekspor

Jika Anda mengaktifkan ekspor BigQuery , Anda dapat mengikuti langkah-langkah di bawah ini

  • Masuk ke Firebase
  • Navigasikan ke Setelan Proyek > Integrasi > BigQuery
  • Klik "Lihat di BigQuery" di dekat kumpulan data

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

63d061088b622961.png

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

4b1b80bdc2884581.png

  1. Mengambil Secara Asli di Kode Sumber Aplikasi Anda

Jika aplikasi Anda dibuat menggunakan Java, Anda dapat menggunakan sesuatu 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 bisa mencoba cara di bawah ini

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 Anda memiliki Aplikasi iOS, Anda dapat menggunakan yang berikut ini 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 tautan lainnya tergantung pada infrastruktur Anda

3. Membangun Panggilan

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

fd78d961f3e48238.png

Anda harus mengisi kolom berikut

  • api_secret - Sudah dibuat sebelumnya di GA4
  • firebase_app_id - Untuk mendapatkannya, Anda dapat menavigasi ke Admin > Data Streams > pilih aliran Anda . Ini harus ditampilkan seperti di bawah ini

19801c8e5cb29222.png

  • 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 tarik-turun, dan masukkan nama acara apa pun pilihan Anda (jangan gunakan acara yang dikumpulkan secara otomatis ). Di sini kita menggunakan "test_from_codelab"

54cce53df64d697.png

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

16a8f531a3894021.png

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

475801f25c3caf26.png

Setelah Anda mencapai ini, klik "VALIDASI ACARA", tombol yang disorot dengan warna oranye. Ini akan menampilkan pesan di bawah ini, yang menyatakan bahwa acara tersebut valid, dan Anda akan melihat tombol "KIRIM KE GA". Pada titik ini, jika acara tersebut dianggap tidak valid, alat tersebut akan memberi tahu Anda bidang persis di mana terdapat masalah, dan Anda dapat memperbaikinya dan mencoba lagi

23e4e6800705b4aa.png

Anda sekarang dapat mengklik tombol tersebut, dan tombol tersebut akan mengirimkan peristiwa pengujian ke GA4

4. Memvalidasi kejadian di GA4

Setelah Anda mengirimkan acara, Anda dapat menavigasi ke akun GA4 Anda dan memeriksa Realtime. Anda akan melihat acara tersebut selesai

994b51ca46bb1973.png

Diperlukan waktu sekitar 24 jam agar peristiwa menyebar dari tampilan waktu nyata ke tab pelaporan peristiwa sebenarnya, jadi tidak perlu khawatir jika Anda tidak segera melihatnya di pelaporan peristiwa reguler!

Jika Anda menghadapi masalah atau perbedaan, mungkin berguna untuk memeriksa batasan yang diketahui dari Measurement Protocol di sini

5. Membangun Skrip Python

Sekarang setelah Anda mengujinya, Anda dapat memeriksa panggilan API, dan payload peristiwa untuk membangun arsitektur serupa dengan Python (atau dalam bahasa apa pun pilihan Anda) yang dapat melakukan panggilan ini. Anda kemudian dapat menjadwalkannya pada frekuensi yang Anda inginkan dan mengoperasionalkannya. Untuk bagian ini, Anda dapat menggunakan IDE pilihan Anda yang mendukung Python atau cukup menggunakan notebook Google Colab yang tidak memerlukan instalasi apa pun di perangkat Anda

Merujuk kembali ke GA4 Event Builder, Anda akan melihat bahwa endpointnya seperti di bawah ini

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

Muatan acaranya seperti di bawah ini

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

Anda dapat menerjemahkannya ke python dengan menggunakan sesuatu 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 Anda menjalankan ini dengan nilai yang tepat, Anda juga akan melihat peristiwa tersebut tercermin secara realtime di GA4.

6. Selamat

Selamat, Anda berhasil menggunakan Measurement Protocol di GA4. Sekarang Anda dapat membangun arsitektur solusi canggih untuk mengirimkan data yang lebih bermakna ke Google Analytics dan meningkatkan analisis pemasaran dan bisnis Anda. Untuk memanfaatkan hal ini semaksimal mungkin, kami juga menyarankan untuk terhubung ke Google Ads, dan mengimpor peristiwa ini sebagai konversi. Anda dapat merujuk ke langkah 6 dalam codelab ini untuk mengetahui petunjuk detailnya. 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. Ingatlah bahwa ini masih merupakan API alfa dan pastikan untuk melewati batasan yang tercantum di sini yang harus diatasi sebelum peluncuran penuh

Anda telah belajar

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