שליחת אירועי Measurement Protocol ל-Google Analytics

במדריך הזה מוסבר איך לשלוח אירועים של Google Analytics Measurement Protocol לשרת של Google Analytics עבור מקור נתונים באינטרנט ובאפליקציות, כדי שתוכלו לראות את אירועי Measurement Protocol בדוחות של Google Analytics.

באיזה פלטפורמה אתם רוצים לראות את המדריך הזה?

פורמט הבקשה

ב-Measurement Protocol ל-Google Analytics 4 יש תמיכה רק בבקשות HTTP POST.

על מנת לשלוח אירוע, צריך להשתמש בפורמט הבא:

POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
<payload_data>

צריך לספק את הפרטים הבאים בכתובת ה-URL של הבקשה:

  • api_secret: אבטחת ה-API שנוצרה בממשק המשתמש של Google Analytics.

    כדי ליצור סוד חדש, עוברים אל אדמין > מקורות נתונים > בוחרים את מקור הנתונים > Measurement Protocol > יצירה.

  • measurement_id: מזהה המדידה שמשויך למקור נתונים, שמופיע בממשק המשתמש של Google Analytics בקטע ניהול > מקורות נתונים > בחירת מקור הנתונים > מזהה מדידה.

    הערך measurement_id הוא לא מזהה מקור הנתונים שלכם.

לעיון המלא, עיינו בפרמטרים של שאילתות.

יש לספק את הפרטים הבאים בגוף הבקשה:

  • client_id: מזהה ייחודי של לקוח. השדה הזה שונה מ-app_instance_id של Firebase. משתמשים ב-gtag.js('get').
  • user_id: אופציונלי. מזהה ייחודי של משתמש. יכול להכיל רק תווי utf-8. מידע נוסף על המזהה הזה זמין במאמר User-ID לניתוח נתונים מפלטפורמות שונות.

  • consent: אופציונלי. למידע על קביעת הגדרות ההסכמה.

  • events: מערך של פריטי אירועים. ניתן לך לכלול מספר אירועים בבקשה אחת.

    כדי שפעילות המשתמש תוצג בדוחות כמו זמן אמת, צריך לספק את הערכים engagement_time_msec ו-session_id כחלק מה-params של event. הפרמטר engagement_time_msec אמור לשקף את משך ההתעניינות של האירוע, באלפיות השנייה.

    לדוגמה:

  {
   "client_id": "123456.7654321",
   "events": [
     {
        "name": "campaign_details",
        "params": {
          "campaign_id": "google_1234",
          "campaign": "Summer_fun",
          "source": "google",
          "medium": "cpc",
          "term": "summer+travel",
          "content": "logolink",
          "session_id": "123",
          "engagement_time_msec": "100"
        }
     }
   ]
  }

session_start הוא שם אירוע שמור, אבל יצירה של session_id חדש יוצרת סשן חדש בלי לשלוח את session_start. הסבר על איך סשנים נספרים.

אני רוצה לנסות

אפשר להשתמש בדוגמה הבאה כדי לשלוח אירוע tutorial_begin לשרת של Google Analytics:

const measurement_id = `G-XXXXXXXXXX`;
const api_secret = `<secret_value>`;

fetch(`https://www.google-analytics.com/mp/collect?measurement_id=${measurement_id}&api_secret=${api_secret}`, {
  method: "POST",
  body: JSON.stringify({
    client_id: 'XXXXXXXXXX.YYYYYYYYYY',
    events: [{
      name: 'tutorial_begin',
      params: {},
    }]
  })
});

הגבלות

המגבלות הבאות חלות על שליחת אירועי Measurement Protocol ל-Google Analytics:

  • בכל בקשה אפשר להזין עד 25 אירועים.
  • מותר לכלול באירועים עד 25 פרמטרים.
  • מותר לכלול באירועים עד 25 מאפייני משתמשים.
  • שמות של מאפייני משתמשים צריכים להיות באורך של עד 24 תווים.
  • ערכים של מאפייני משתמשים צריכים להיות באורך של עד 36 תווים.
  • שמות של אירועים צריכים להיות באורך של עד 40 תווים, יכולים לכלול רק תווים אלפא-נומריים וקווים תחתונים והם חייבים להתחיל באות.
  • שמות של פרמטרים שכוללים פרמטרים של פריטים צריכים להיות באורך של עד 40 תווים, יכולים לכלול רק תווים אלפא-נומריים וקווים תחתונים וחייבים להתחיל באות.
  • ערכי פרמטרים שכוללים ערכי פרמטרים של פריטים צריכים להיות באורך של 100 תווים או פחות.
  • אפשר להוסיף עד 10 פרמטרים מותאמים אישית לפרמטרים של פריטים.
  • גוף הפוסט חייב להיות קטן מ-130kB.
  • שיוך ברמת האירוע מאירועי Measurement Protocol נתמך עד 63 ימים אחרי האירוע האחרון של תיוג אונליין לייצוא המרות אל Google Ads ושילובי מדיה אחרים, גם אם חלון ההמרות של אירוע ההמרה גדול מ-63 ימים. לעומת זאת, שיוך ברמת האירוע לתיוג אירועים אונליין נתמך לכל תקופת חלון ההמרות.
  • למטרות רימרקטינג, אפשר להצטרף לאירועי Measurement Protocol עד מספר הימים הבא אחרי האירוע האחרון אונליין, באמצעות קובץ Cookie או מזהה מכשיר משויכים:
    • מקור נתוני אתר: 30 ימים
    • מקור נתוני האפליקציה: 42 ימים
  • אירועי Measurement Protocol של אפליקציות שנשלחים אל Google Analytics 4 לא מאכלסים קהלים לרשת החיפוש ב-Google Ads עבור משתמשים באפליקציה.