שליחת אירועי אפליקציה אל GA4 באמצעות Measurement Protocol

1. מבוא

העדכון האחרון: 2021-06-08

מה תפַתחו

ב-codelab הזה תלמדו איך לשלוח אירועים חיצוניים ל-GA4 באמצעות Measurement Protocol.

ב-codelab הזה אנחנו מניחים שכבר הטמעתם אפליקציה עם Google Analytics for Firebase. אם אתם רוצים ללמוד איך לבצע שילוב עם Google Analytics for Firebase, כדאי לעיין קודם בסדנת התכנות הזו. אם אתם רוצים ללמוד איך לבנות אפליקציה באמצעות Firebase, תוכלו לעיין ב-Firebase Android Codelab-Build Friendly Chat.

מה תלמדו

  • איך שולחים את הקריאה הראשונה ל-Measurement Protocol
  • אילו פרמטרים נדרשים כדי לשלוח קריאה
  • איך שולחים קריאה לבדיקה ומאמתים אותה
  • יצירת סקריפט לדוגמה ב-Python כדי לבצע את השיחה

מה צריך

  • אפליקציית Android או iOS
  • כל סביבת פיתוח משולבת (IDE) לביצוע שינויים
  • חשבון GA4
  • אופציונלי – סביבת פיתוח של Python (או Colab)

2. איסוף שדות החובה

יצירת API Secret ב-GA4

עוברים אל GA4 ויוצרים API Secret חדש. לשם כך, עוברים אל ניהול > מקורות נתונים > בחירת מקור הנתונים > Measurement Protocol > יצירה.

6e4afca63054d291.png

c9e9ccd2ffba98eb.png

e714cd969fca4a4d.png

אפשר להזין כל כינוי, ויוצג ערך הסוד שאפשר להשתמש בו בקריאה

אם אתם לא בטוחים איך לגשת ל-GA4, אתם יכולים להיכנס לפרויקט שלכם ב-Firebase, לבדוק את ההגדרות של הפרויקט > שילובים > Google Analytics וללחוץ על 'ניהול'. הקישור ל-Google Analytics אמור להופיע, ואפשר גם לעבור ישירות משם

73b4d77a57eddfba.png

איסוף app_instance_id

אפשר להשתמש בכל אחת מהשיטות הבאות כדי לאסוף את הערך של app_instance_id.

  1. שימוש ב-BigQuery Export
  2. אחזור באופן מקורי בקוד המקור של האפליקציה

שני המושגים האלה מוסברים בפירוט בהמשך

  1. שימוש ב-BigQuery Export

אם הפעלתם את BigQuery Export , תוכלו לבצע את השלבים הבאים

  • כניסה ל-Firebase
  • עוברים אל Project Settings > Integrations > BigQuery (הגדרות הפרויקט > שילובים > BigQuery).
  • לוחצים על 'הצגה ב-BigQuery' ליד מערך הנתונים.

הערה : מערך הנתונים יהיה זמין רק אחרי שהמתג יופעל למשך כ-24 עד 48 שעות.

63d061088b622961.png

  • ב-BigQuery, אפשר לבדוק אם יש עמודה user_pseudo_id בטבלה. זהו מזהה מופע האפליקציה שבו אפשר להשתמש בשיחה

4b1b80bdc2884581.png

  1. אחזור באופן מקורי בקוד המקור של האפליקציה

אם האפליקציה שלכם מבוססת על Java, אתם יכולים להשתמש בקוד כמו זה כדי לאחזר את 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();
            }
        }
    });

ב-Kotlin, אפשר לנסות את הפתרונות הבאים

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, אתם יכולים להשתמש בקוד הבא ב-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
*/

בהמשך מופיעים קישורים נוספים בהתאם לתשתית שלכם

3. יצירת השיחה

אתם יכולים ליצור קריאה לדוגמה באמצעות הכלי ליצירת אירועים ב-GA4. (כדי לעשות את זה, תצטרכו להתחבר לחשבון ולהפעיל קובצי Cookie). מוודאים שהמתג מוגדר ל-firebase

fd78d961f3e48238.png

תצטרכו למלא את השדות הבאים

  • api_secret – כבר נוצר קודם ב-GA4
  • ‫firebase_app_id – כדי לקבל את המזהה הזה, אפשר לעבור אל אדמין > מקורות נתונים > בחירת מקור הנתונים . הוא אמור להופיע כמו שמוצג בהמשך

19801c8e5cb29222.png

  • app_instance_id – כבר אחזרתם את הערך הזה
  • השדה user_id הוא לא שדה חובה. אפשר להשאיר את השדה הזה ריק בשלב הזה
  • קטגוריה – משנים את הערך בתפריט הנפתח ל'בהתאמה אישית' ומזינים שם אירוע לבחירתכם (לא משתמשים באירוע שנאסף באופן אוטומטי). בדוגמה הזו אנחנו משתמשים ב-test_from_codelab

54cce53df64d697.png

אופציונלית, אפשר גם לספק פרמטרים של אירועים או מאפייני משתמשים על ידי לחיצה על הלחצנים שלמטה

16a8f531a3894021.png

אחרי שממלאים את כל הפרטים, אמור להופיע משהו כזה, עם לחצן ל'אימות האירוע'

475801f25c3caf26.png

אחרי שמגיעים לשלב הזה, לוחצים על הלחצן "אימות האירוע" שמודגש בכתום. צריכה להופיע ההודעה שבהמשך, שמציינת שהאירוע תקין, ויופיע לחצן עם האפשרות "שליחה אל GA". בשלב הזה, אם האירוע יופיע כלא תקין, הכלי יציין את השדה המדויק שבו יש בעיה, ותוכלו לתקן אותה ולנסות שוב.

23e4e6800705b4aa.png

עכשיו אפשר ללחוץ על הלחצן, והוא אמור לשלוח אירוע בדיקה ל-GA4.

4. אימות אירועים ב-GA4

אחרי ששולחים את האירוע, אפשר לעבור לחשבון GA4 ולבדוק את הדוח 'פעילות בזמן אמת'. האירוע אמור להופיע

994b51ca46bb1973.png

יכול להיות שיעברו כ-24 שעות עד שהאירועים יועברו מתצוגת הזמן אמת לכרטיסייה של דוחות האירועים בפועל, אז אין צורך לדאוג אם לא רואים את זה מיד בדוחות האירועים הרגילים.

אם נתקלתם בבעיות או באי-התאמות, כדאי לעיין במגבלות הידועות של Measurement Protocol

5. פיתוח סקריפט Python

אחרי שבדקתם את הפקודה, אתם יכולים לבחון את הקריאה ל-API ואת מטען הנתונים של האירוע כדי ליצור ארכיטקטורה דומה ב-Python (או בכל שפה אחרת שתבחרו) שתוכל לבצע את הקריאה הזו. לאחר מכן תוכלו לתזמן את הפעולה הזו בתדירות הרצויה ולהפעיל אותה. בחלק הזה, אתם יכולים להשתמש בכל סביבת פיתוח משולבת (IDE) שתומכת ב-Python, או פשוט להשתמש במחברת Google Colab שלא דורשת התקנה במכשיר.

אם חוזרים לכלי ליצירת אירועים ב-GA4, רואים שנקודת הקצה היא כמו שמופיע בהמשך

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

המטען הייעודי של האירוע היה כפי שמופיע בהמשך

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

אפשר לתרגם את זה ל-Python באמצעות קוד כמו זה

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)

אחרי שמריצים את הפקודה הזו עם הערכים הנכונים, האירוע אמור להופיע ב-GA4 בזמן אמת.

6. מזל טוב

מעולה, השתמשתם בהצלחה ב-Measurement Protocol ב-GA4. עכשיו אתם יכולים ליצור ארכיטקטורות פתרונות מתקדמות כדי לשלוח נתונים משמעותיים יותר אל Google Analytics ולשפר את השיווק ואת ניתוח הנתונים העסקיים שלכם. כדי להפיק את המרב מהתכונה הזו, מומלץ גם לקשר את החשבון ל-Google Ads ולייבא את האירועים האלה כהמרות. הוראות מפורטות בנושא מופיעות בשלב 6 ב-codelab הזה. לצורך מעקב המרות, מערכת Google Ads תציג רק נתונים שמשויכים ל-IDFA או למזהי מכשירים שנאספו באמצעות Firebase SDK ב-60 הימים האחרונים. חשוב לזכור שמדובר ב-API בגרסת אלפא, ולכן צריך לעיין במגבלות שמפורטות כאן ולטפל בהן לפני ההשקה המלאה.

מה למדתם

  • איך אוספים את המשתנים הנכונים כדי לבצע שיחות ב-MP
  • איך שולחים אירועים לבדיקה ומאמתים אותם
  • איך יוצרים סקריפט לשליחת שיחות ב-MP