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

1. מבוא

תאריך עדכון אחרון: 8 ביוני 2021

מה תפַתחו

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

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

מה תלמדו

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

מה צריך להכין

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

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

יצירת API Secret ב-GA4

עוברים אל GA4 ויוצרים את סוד ה-API החדש: ניהול > מקורות נתונים > בחירת מקור הנתונים > 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 , תוכלו לפעול לפי השלבים הבאים:

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

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

63d061088b622961.png

  • ב-BigQuery, אפשר לבדוק אם יש את השדה user_pseudo_id בטבלה. זהו מזהה app_instance_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