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 telah menerapkan Aplikasi dengan Google Analytics for Firebase. Jika Anda ingin mempelajari cara mengintegrasikan dengan Google Analytics for Firebase, lihat codelab ini terlebih dahulu. Jika Anda ingin mempelajari cara membuat aplikasi dengan Firebase, silakan 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
  • Kirim dan validasi panggilan percobaan Anda
  • Buat skrip sampel dengan Python untuk melakukan panggilan

Apa yang Anda butuhkan

  • Aplikasi Android atau iOS Anda
  • Setiap IDE untuk membuat perubahan
  • Akun GA4
  • Opsional - Lingkungan pengembangan Python (atau Colab )

2. Kumpulkan bidang wajib

Buat Rahasia API di GA4

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

8dee89e850ae90bb.png

d0be19d8112435a2.png

de5a80a1445d3a14.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, periksa Setelan Proyek > Integrasi > Google Analytics, dan klik "Kelola". Sambungan Google Analytics harus terlihat, dan Anda juga dapat menavigasi langsung dari sana

f0feed0557420678.png

Kumpulkan app_instance_id

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

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

Kedua hal tersebut dijelaskan secara rinci di bawah ini

  1. Menggunakan Ekspor BigQuery

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

  • Masuk ke Firebase
  • Buka Setelan Proyek > Integrasi > BigQuery
  • Klik "Lihat di BigQuery" di dekat set data

Catatan : Dataset hanya akan tersedia setelah toggle diaktifkan selama sekitar 24-48 jam

1dc4e93dee33316f.png

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

aa6d384e380a11e8.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 dapat mencoba yang 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 lebih banyak tautan tergantung pada infrastruktur Anda

3. Membangun Panggilan

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

15440faa9ca6a1f1.png

Anda harus mengisi bidang-bidang berikut

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

71174b16f86ff03e.png

  • app_instance_id - Anda telah mengambil nilai ini
  • user_id tidak wajib. Anda dapat membiarkannya kosong untuk saat ini
  • Kategori - ubah ini menjadi "Khusus" dari tarik-turun, dan masukkan nama acara apa pun pilihan Anda (jangan gunakan acara yang dikumpulkan secara otomatis ). Di sini kami menggunakan "test_from_codelab"

cf580a708bb0a8a2.png

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

da59bb982f6f906a.png

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

39676ab485d17dc0.png

Setelah Anda mencapai ini, klik "VALIDATE EVENT", tombol yang disorot dengan warna oranye. Seharusnya menampilkan pesan di bawah ini, yang menyatakan bahwa acara tersebut valid, dan Anda akan melihat tombol untuk sekarang "KIRIM KE GA". Pada titik ini, jika acara muncul sebagai tidak valid, alat akan memberi tahu Anda bidang yang tepat di mana ada masalah, dan Anda dapat memperbaikinya dan mencoba lagi

1d63d1e067c46294.png

Anda sekarang dapat mengklik tombol, dan itu akan mengirimkan acara pengujian ke GA4

4. Memvalidasi peristiwa di GA4

Setelah mengirim acara, Anda dapat membuka akun GA4 dan memeriksa Waktu Nyata. Anda harus melihat acara tersebut datang

7b9e9a0f74b64757.png

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

5. Membuat Skrip Python

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

Merujuk kembali ke Pembuat Acara GA4, Anda akan melihat bahwa titik akhirnya adalah seperti di bawah ini

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

Muatan acara 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 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 telah berhasil menggunakan Measurement Protocol di GA4. Sekarang Anda dapat membangun arsitektur solusi yang canggih untuk mengirimkan data yang lebih bermakna ke Google Analytics dan meningkatkan analisis pemasaran dan bisnis Anda. Untuk mendapatkan hasil maksimal, kami juga menyarankan untuk menghubungkan ke Google Ads, dan mengimpor peristiwa ini sebagai konversi. Anda dapat merujuk ke langkah 6 di 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 ditangani 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