[GA4] סכימת BigQuery Export

במאמר זה נסביר את הפורמט והסכֶמה של נתוני נכסי Google Analytics 4 ושל נתוני Google Analytics for Firebase שמיוצאים אל BigQuery.

מערכי נתונים

לכל נכס Google Analytics 4 ולכל פרויקט Firebase שמקושר ל-BigQuery, המערכת יוצרת מערך נתונים יחיד שנקרא "analytics_<property_id>‎" ומוסיפה אותו לפרויקט BigQuery. Property ID מתייחס למזהה הנכס ב-Analytics. אפשר למצוא את המזהה בהגדרות של נכס Google Analytics 4, וב'הגדרות לניתוח של נתוני אפליקציות' ב-Firebase. כל נכס Google Analytics 4 וכל אפליקציה שמפעילים בה ייצוא ל-BigQuery ייצאו נתונים למערך הנתונים הזה.

טבלאות

בכל מערך נתונים, טבלה בשם events_YYYYMMDD נוצרת מדי יום אם האפשרות 'ייצוא יומי' מופעלת.

אם האפשרות 'ייצוא בסטרימינג' מופעלת, נוצרת טבלה בשם events_intraday_YYYYMMDD. הטבלה הזו מאוכלסת באופן רציף ככל שהאירועים מתועדים במהלך היום. הטבלה הזו נמחקת בסוף כל יום לאחר השלמת הטבלה ‎events_YYYYMMDD.

לא כל המכשירים שלגביהם מופעלים אירועים שולחים נתונים ל-Analytics באותו היום שבו האירועים מופעלים. כדי לקחת בחשבון את זמן האחזור הזה, מערכת Analytics תעדכן את הטבלאות היומיות (‎events_YYYYMMDD) באירועים האלו, עד שלושה ימים אחרי התאריכים של האירועים. האירועים יופיעו עם חותמת הזמן הנכונה בלי קשר למועד שבו הם התקבלו. אירועים שיתקבלו אחרי חלון הזמן של שלושת הימים לא יתועדו.

 

אם משתמשים בארגז החול של BigQuery, אין יבוא של אירועים במהלך היום, וחלות מגבלות נוספות.

אם רוצים לייבא אירועים במהלך היום, אפשר לשדרג מארגז החול.

עמודות

כל עמודה בטבלה events_YYYYMMDD מייצגת פרמטר ספציפי לאירוע. לתשומת ליבכם: חלק מהפרמטרים מוצבים בתוך RECORDS, ויש RECORDS, כמו items ו-event_params, שחוזרים על עצמם. עמודות הטבלה מתוארות בהמשך.

event

השדות של event מכילים מידע שמזהה אירוע באופן ייחודי.
שם השדה סוג הנתונים תיאור
event_date מחרוזת התאריך שבו האירוע נרשם ביומן (בפורמט YYYYMMDD באזור הזמן הרשום של האפליקציה).
event_timestamp מספר שלם השעה (במיליוניות השנייה, לפי שעון UTC) שבה האירוע נרשם ביומן באפליקציית הלקוח.
event_previous_timestamp מספר שלם השעה (במיליוניות השנייה, לפי שעון UTC) שבה האירוע נרשם בעבר ביומן באפליקציית הלקוח.
event_name מחרוזת שם האירוע.
event_value_in_usd מספר ממשי (float) הערך בפרמטר "value" שהוגדר לאירוע, אחרי המרת מטבע (בדולר אמריקאי).
event_bundle_sequence_id מספר שלם המזהה הרציף של החבילה שבה האירועים האלה הועלו.
event_server_timestamp_offset מספר שלם הבדלי הזמן בין חותמת הזמן בשעת האיסוף לבין חותמת הזמן בשעת ההעלאה, במיליוניות השנייה.

הרשומה event_params

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

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

שם השדה סוג הנתונים תיאור
event_params.key מחרוזת שם הפרמטר של האירוע.
event_params.value רשומה רשומה שכוללת את הערך של הפרמטר שהוגדר לאירוע.
event_params.value.string_value מחרוזת אם פרמטר האירוע מיוצג על ידי מחרוזת, כמו כתובת URL או שם קמפיין, הוא יאוכלס בשדה הזה.
event_params.value.int_value מספר שלם אם פרמטר האירוע מיוצג על ידי מספר שלם, הוא יאוכלס בשדה הזה.
event_params.value.double_value מספר ממשי (float) אם פרמטר האירוע מיוצג על ידי ערך כפול, הוא יאוכלס בשדה הזה.
event_params.value.float_value מספר ממשי (float) אם פרמטר האירוע מיוצג על ידי ערך של נקודה צפה (floating-point), הוא יאוכלס בשדה הזה. השדה הזה לא בשימוש כרגע.

הרשומה item_params

הרשומה item_params יכולה לאחסן פרמטרים של פריטים וגם כל פרמטר של פריט בהגדרת המשתמש. קבוצת הפרמטרים שמאוחסנת ברשומה item_params היא ייחודית לכל הטמעה.

שם השדה סוג הנתונים תיאור
item_params.key מחרוזת שם הפרמטר של הפריט.
item_params.value רשומה רשומה שכוללת את הערך של הפרמטר שהוגדר לפריט.
item_params.value.string_value מחרוזת אם הפרמטר של הפריט מיוצג על ידי מחרוזת, הוא יאוכלס בשדה הזה.
item_params.value.int_value מספר שלם אם הפרמטר של הפריט מיוצג על ידי מספר שלם, הוא יאוכלס בשדה הזה.
item_params.value.double_value מספר ממשי (float) אם הפרמטר של הפריט מיוצג על ידי ערך כפול, הוא יאוכלס בשדה הזה.
item_params.value.float_value מספר ממשי (float) אם הפרמטר של הפריט מיוצג על ידי ערך של נקודה צפה (floating-point), הוא יאוכלס בשדה הזה.

user

השדות של user מכילים מידע שמזהה באופן ייחודי את המשתמש שמשויך לאירוע.
שם השדה סוג הנתונים תיאור
is_active_user בוליאני

אם המשתמש היה פעיל (True) או לא פעיל (False) בכל שלב שהוא ביום הקלנדרי

כלול רק בטבלאות היומיות ‎(events_YYYYMMDD)‎.

user_id מחרוזת המזהה הייחודי שהוקצה למשתמש.
user_pseudo_id מחרוזת מזהה המשתמש אחרי פסאודונימיזציה (למשל, מזהה המופע של האפליקציה).
user_first_touch_timestamp מספר שלם השעה (במיליוניות השנייה) שבה המשתמש נכנס לאתר או פתח את האפליקציה בפעם הראשונה.

השדות של privacy_info

השדות של privacy_info מכילים מידע שמבוסס על סטטוס ההסכמה של המשתמש כשהתכונה 'סטטוס הסכמה' מופעלת.
שם השדה סוג הנתונים תיאור
privacy_info.ads_storage מחרוזת

האם טירגוט מודעות מופעל עבור משתמש.

ערכים אפשריים: Yes, No, Unset

privacy_info.analytics_storage מחרוזת

האם אחסון Analytics מופעל עבור המשתמש.

ערכים אפשריים: Yes, No, Unset

privacy_info.uses_transient_token מחרוזת

האם משתמש באינטרנט דחה את האחסון ב-Analytics וצוות הפיתוח הגדיר מדידה ללא קובצי cookie על סמך אסימונים זמניים בנתוני השרת?

ערכים אפשריים: Yes, No, Unset

הרשומה user_properties

הרשומה user_properties מכילה את מאפייני המשתמש שהגדרתם. היא חוזרת על עצמה בכל מפתח שמשויך למשתמש.
שם השדה סוג הנתונים תיאור
user_properties.key מחרוזת השם של מאפיין המשתמש.
user_properties.value רשומה רשומה שכוללת את הערך של מאפיין המשתמש.
user_properties.value.string_value מחרוזת ערך המחרוזת של מאפיין המשתמש.
user_properties.value.int_value מספר שלם ערך המספר השלם של מאפיין המשתמש.
user_properties.value.double_value מספר ממשי (float) הערך של מאפיין המשתמש, בדיוק כפול (double)
user_properties.value.float_value מספר ממשי (float) כרגע השדה הזה לא בשימוש.
user_properties.value.set_timestamp_micros מספר שלם השעה (במיליוניות השנייה) שבה מאפיין המשתמש הוגדר לאחרונה.

הרשומה user_ltv

הרשומה user_ltv מכילה מידע על ערך חיי המשתמש. הרשומה הזו לא מאוכלסת בטבלאות של נתונים שמתקבלים במהלך היום.
שם השדה סוג הנתונים תיאור
user_ltv.revenue מספר ממשי (float) ערך חיי המשתמש (הכנסה). השדה הזה לא מאוכלס בטבלאות של נתונים שמתקבלים במהלך היום.
user_ltv.currency מחרוזת ערך חיי המשתמש (מטבע). השדה הזה לא מאוכלס בטבלאות של נתונים שמתקבלים במהלך היום.

device

הרשומה device מכילה מידע לגבי המכשיר שממנו הגיע האירוע.
שם השדה סוג הנתונים תיאור
device.category מחרוזת הקטגוריה שאליה משויך המכשיר (נייד, טאבלט, מחשב).
device.mobile_brand_name מחרוזת שם המותג של המכשיר.
device.mobile_model_name מחרוזת שם הדגם של המכשיר.
device.mobile_marketing_name מחרוזת השם השיווקי של המכשיר.
device.mobile_os_hardware_model מחרוזת פרטי הדגם של המכשיר, שמאוחזרים ישירות ממערכת ההפעלה.
device.operating_system מחרוזת מערכת ההפעלה שמותקנת במכשיר.
device.operating_system_version מחרוזת גרסת מערכת ההפעלה.
device.vendor_id מחרוזת IDFV (הנתון הזה נכלל בייצוא רק אם לא נאסף IDFA)
device.advertising_id מחרוזת מזהה הפרסום/IDFA.
device.language מחרוזת השפה שהוגדרה במערכת ההפעלה.
device.time_zone_offset_seconds מספר שלם הסטייה משעון גריניץ' בשניות.
device.is_limited_ad_tracking בוליאני

ההגדרה 'הגבלת מעקב מודעות' שנקבעה במכשיר.

ב-iOS 14 ואילך, מחזירה FALSE אם ה-IDFA לא אפס.

device.web_info.browser מחרוזת הדפדפן שבו המשתמש עיין בתכנים.
device.web_info.browser_version מחרוזת גרסת הדפדפן שבו המשתמש עיין בתכנים.
device.web_info.hostname מחרוזת שם המארח שמשויך לאירוע שנרשם ביומן.

geo

הרשומה geo מכילה מידע על המיקום הגיאוגרפי שבו האירוע הופעל.
שם השדה סוג הנתונים תיאור
geo.continent מחרוזת היבשת שממנה דווחו האירועים, על סמך כתובת ה-IP.
geo.sub_continent מחרוזת תת-היבשת שממנה דווחו האירועים, על סמך כתובת ה-IP.
geo.country מחרוזת המדינה שממנה דווחו האירועים, על סמך כתובת ה-IP.
geo.region מחרוזת האזור שממנו דווחו האירועים, על סמך כתובת ה-IP.
geo.metro מחרוזת המטרופולין שממנו דווחו האירועים, על סמך כתובת ה-IP.
geo.city מחרוזת העיר שממנה דווחו האירועים, על סמך כתובת ה-IP.

app_info

הרשומה app_info מכילה מידע על האפליקציה שבה האירוע הופעל.
שם השדה סוג הנתונים תיאור
app_info.id מחרוזת שם החבילה או מזהה החבילה של האפליקציה.
app_info.firebase_app_id מחרוזת מזהה האפליקציה ב-Firebase שמשויך לאפליקציה.
app_info.install_source מחרוזת החנות שדרכה הותקנה האפליקציה.
app_info.version מחרוזת שם הגרסה (versionName) של האפליקציה (Android) או גרסת החבילה המקוצרת שלה.

collected_traffic_source

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

שם השדה סוג הנתונים תיאור
manual_campaign_id מחרוזת מזהה הקמפיין הידני (utm_id) שנאסף עם האירוע.
manual_campaign_name מחרוזת שם הקמפיין הידני (utm_campaign) שנאסף עם האירוע.
manual_source מחרוזת מקור הקמפיין הידני (utm_source) שנאסף עם האירוע. הוא כולל גם פרמטרים שנותחו מפרמטרים של הפניות, ולא רק ערכים של מנטר התנועה של Urchin. 
manual_medium מחרוזת אמצעי ההגעה לאתר בקמפיין הידני (utm_medium) שנאסף עם האירוע. כולל גם פרמטרים שנותחו מפרמטרים של הפניות, ולא רק ערכים של מנטר התנועה של Urchin.
manual_term מחרוזת מילת המפתח/המונח בקמפיין הידני (utm_term) שנאספו עם האירוע.
manual_content מחרוזת המטא-נתונים הנוספים בקמפיין הידני (utm_content) שנאספו עם האירוע.
gclid מחרוזת מספר הקליק ב-Google‏ (GCLID) שנאסף עם האירוע.
dclid מחרוזת מזהה Google Marketing Platform ‏(GMP) שנאסף עם האירוע.
srsltid  מחרוזת מזהה Google Merchant Center שנאסף עם האירוע.

traffic_source

הרשומה traffic_source מכילה מידע על מקור התנועה שדרכו המשתמש צורף לראשונה. הרשומה הזו לא מאוכלסת בטבלאות של נתונים שמתקבלים במהלך היום.

הערה: הערכים של traffic_source לא משתנים אם המשתמש מקיים אינטראקציה עם קמפיינים אחרים אחרי ההתקנה.

שם השדה סוג הנתונים תיאור
traffic_source.name מחרוזת השם של קמפיין השיווק שדרכו המשתמש צורף לראשונה. השדה הזה לא מאוכלס בטבלאות של נתונים שמתקבלים במהלך היום.
traffic_source.medium מחרוזת השם של אמצעי ההגעה לאתר (חיפוש בתשלום, חיפוש אורגני, אימייל וכו') שדרכו המשתמש צורף לראשונה. השדה הזה לא מאוכלס בטבלאות של נתונים שמתקבלים במהלך היום.
traffic_source.source מחרוזת שם הרשת שדרכה המשתמש צורף לראשונה. השדה הזה לא מאוכלס בטבלאות של נתונים שמתקבלים במהלך היום.

stream ו-platform

השדות של stream ו-platform מכילים מידע על מקור הנתונים ועל פלטפורמת האפליקציה.
שם השדה סוג הנתונים תיאור
stream_id מחרוזת המזהה המספרי של מקור הנתונים שממנו הגיע האירוע.
platform מחרוזת הפלטפורמה של מקור הנתונים (אינטרנט, IOS או Android) שממנה הגיע האירוע.

ecommerce

הרשומה ecommerce מכילה מידע על כל אירוע מסחר אלקטרוני שהוגדר באתר או באפליקציה.
שם השדה סוג הנתונים תיאור
ecommerce.total_item_quantity מספר שלם המספר הכולל של הפריטים באירוע הזה, שהוא הסכום של items.quantity.
ecommerce.purchase_revenue_in_usd מספר ממשי (float) ההכנסה מרכישה של האירוע הזה, מיוצגת בדולר ארה"ב באמצעות יחידה סטנדרטית. השדה הזה מאוכלס רק עבור אירוע רכישה.
ecommerce.purchase_revenue מספר ממשי (float) ההכנסה מרכישה של האירוע הזה, מיוצגת במטבע מקומי באמצעות יחידה סטנדרטית. השדה הזה מאוכלס רק עבור אירוע רכישה.
ecommerce.refund_value_in_usd מספר ממשי (float) סכום ההחזר הכספי באירוע הזה, מיוצג בדולר ארה"ב באמצעות יחידה סטנדרטית. השדה הזה מאוכלס רק עבור אירוע של החזר כספי.
ecommerce.refund_value מספר ממשי (float) סכום ההחזר הכספי באירוע הזה, מיוצג במטבע מקומי באמצעות יחידה סטנדרטית. השדה הזה מאוכלס רק עבור אירוע של החזר כספי.
ecommerce.shipping_value_in_usd מספר ממשי (float) עלות המשלוח באירוע הזה, מיוצגת בדולר ארה"ב באמצעות יחידה סטנדרטית.
ecommerce.shipping_value מספר ממשי (float) עלות המשלוח באירוע הזה, מיוצגת במטבע מקומי.
ecommerce.tax_value_in_usd מספר ממשי (float) ערך המס באירוע הזה, מיוצג בדולר ארה"ב באמצעות יחידה רגילה.
ecommerce.tax_value מספר ממשי (float) ערך המס באירוע הזה, מיוצג במטבע מקומי באמצעות יחידה רגילה.
ecommerce.transaction_id מחרוזת המזהה של פירוט העסקה.
ecommerce.unique_items מספר שלם מספר הפריטים הייחודיים באירוע הזה, על סמך item_id‏, item_name ו-item_brand.

items

הרשומה items מכילה מידע על הפריטים שכלולים באירוע. היא חוזרת על עצמה עבור כל פריט.
שם השדה סוג הנתונים תיאור
items.item_id מחרוזת המזהה של הפריט.
items.item_name מחרוזת שם הפריט.
items.item_brand מחרוזת המותג של הפריט
items.item_variant מחרוזת הווריאציה של הפריט.
items.item_category מחרוזת הקטגוריה של הפריט.
items.item_category2 מחרוזת קטגוריית המשנה של הפריט.
items.item_category3 מחרוזת קטגוריית המשנה של הפריט.
items.item_category4 מחרוזת קטגוריית המשנה של הפריט.
items.item_category5 מחרוזת קטגוריית המשנה של הפריט.
items.price_in_usd מספר ממשי (float) מחיר הפריט, מיוצג בדולר ארה"ב באמצעות יחידה רגילה.
items.price מספר ממשי (float) מחיר הפריט במטבע המקומי.
items.quantity מספר שלם כמות היחידות של הפריט. אם לא מגדירים כמות, כמות ברירת המחדל היא 1.
items.item_revenue_in_usd מספר ממשי (float) ההכנסה של פריט זה, מחושבת כמכפלה של price_in_usd והכמות. השדה הזה מאוכלס רק עבור אירועי רכישה, בדולר ארה"ב באמצעות יחידה סטנדרטית.
items.item_revenue מספר ממשי (float) ההכנסה של הפריט הזה, מחושבת כמכפלה של המחיר והכמות. השדה הזה מאוכלס רק עבור אירועי רכישה, במטבע מקומי באמצעות יחידה סטנדרטית.
items.item_refund_in_usd מספר ממשי (float) ערך ההחזר הכספי על הפריט הזה, מחושב כמכפלה של price_in_usd והכמות. השדה הזה מאוכלס רק עבור אירועים של החזר כספי, בדולר ארה"ב באמצעות יחידה סטנדרטית.
items.item_refund מספר ממשי (float) ערך ההחזר הכספי על הפריט הזה, מחושב כמכפלה של המחיר והכמות. השדה הזה מאוכלס רק עבור אירועים של החזר כספי, במטבע מקומי באמצעות יחידה סטנדרטית.
items.coupon מחרוזת קוד השובר שהוחל על הפריט הזה.
items.affiliation מחרוזת הנתונים שמשויכים למוצר כדי לציין את החברה שמספקת אותו או את המיקום הפיזי של החנות.
items.location_id מחרוזת המיקום שמשויך לפריט.
items.item_list_id מחרוזת המזהה של הרשימה שבה הפריט הוצג למשתמש.
items.item_list_name מחרוזת שם הרשימה שבה הפריט הוצג למשתמש.
Items.item_list_index מחרוזת מיקום הפריט ברשימה.
items.promotion_id מחרוזת המזהה של מבצע על מוצר.
items.promotion_name מחרוזת השם של מבצע על מוצר.
items.creative_name מחרוזת השם של קריאייטיב שמשמש במודעת קידום מכירות.
items.creative_slot מחרוזת השם של משבצת קריאייטיב.

הרשומה item_params

הרשומה item_params מאחסנת את הפרמטרים המותאמים אישית של הפריטים שהגדרתם. חשוב לציין שפרמטרים מוגדרים מראש של פריטים, כמו item_id,‏ item_name וכו', לא נכללים כאן, אלא מיוצאים כשדות מפורשים.

קבוצת הפרמטרים שמאוחסנת ברשומה item_params היא ייחודית לכל הטמעה. מידע נוסף על הטמעות של מסחר אלקטרוני ועל מערך הפריטים של Google Analytics 4 זמין במאמר מדידת מסחר אלקטרוני.

שם השדה סוג הנתונים תיאור
items.item_params.key מחרוזת שם הפרמטר של הפריט.
items.item_params.value רשומה רשומה שכוללת את הערך של הפרמטר שהוגדר לפריט.
items.item_params.value.string_value מחרוזת אם הפרמטר של הפריט מיוצג על ידי מחרוזת, הוא יאוכלס בשדה הזה.
items.item_params.value.int_value מספר שלם אם הפרמטר של הפריט מיוצג על ידי מספר שלם, הוא יאוכלס בשדה הזה.
items.item_params.value.double_value מספר ממשי (float) אם הפרמטר של הפריט מיוצג על ידי ערך כפול, הוא יאוכלס בשדה הזה.
items.item_params.value.float_value מספר ממשי (float) אם הפרמטר של הפריט מיוצג על ידי ערך של נקודה צפה (floating-point), הוא יאוכלס בשדה הזה.

שורות

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

event_date event_timestamp event_name event_params.key event_params_value.string_value
20220222 1643673600483790 page_view page_location https://example.com
      page_title Home
      medium referral
      source google
      page_referrer https://www.google.com
      <parameters...‎> <values...‎>

 

נתוני האירוע מוצגים באופן הבא בממשק המשתמש של GA4.

שיקולים לעדכון ערכות SDK ל-Android 17.2.5 (ואילך) ו/או ל-iOS 16.20.0 (ואילך)

אם השתמשתם בגרסאות SDK קודמות ואתם מתכננים לשדרג ל-Android 17.2.5 ואילך ו/או ל-iOS 16.20.0 ואילך, עליכם לשקול את הדברים הבאים:

  • כדי להשתמש בסכימה הנוכחית של BigQuery Export, יש לשדרג את ה-SDK ל-Android 17.2.5 ואילך או ל-iOS 16.20.0 ואילך.  כשמשתמשים בגרסאות SDK קודמות, הנתונים שמיוצאים ישקפו את הסכימה הישנה
  • לאחר השדרוג יהיה אפשר לגשת לנתוני הפריטים רק ממערך הפריטים החוזרים. נתוני הפריטים לא יהיו זמינים עוד בפרמטרים רגילים של אירועים כמו שהיה לפני גרסאות ה-SDK האלה.
  • עשינו את השינוי הזה כדי לאפשר לכם לנתח נתונים של הרבה מוצרים במקביל.
  • כתוצאה מכך, ייתכן שתצטרכו להתאים את ההפניות לנתוני הפריטים או המוצרים.
הסקריפט הזה משמש להעברת מערכי נתונים קיימים של BigQuery מסכימת הייצוא הישנה לסכימת הייצוא החדשה
  1. מתחברים לCloud Platform Console > הדף ‏Manage resources (ניהול משאבים).
  2. פותחים את הפרויקט שאת הנתונים שלו רוצים להעביר ולוחצים על Activate Google Cloud Shell (הפעלה של Google Cloud Shell) בראש הדף.
  3. כשהמעטפת נפתחת, מעתיקים את הסקריפט שמוצג בהמשך לקובץ בשם migration_script.sql:
    1. שולחים את הפקודה cat > migration_script.sql
    2. מעתיקים את הסקריפט שמוצג למטה ומדביקים אותו במעטפת.
    3. לוחצים על Ctrl+D כדי לשמור ולצאת.
    הסקריפט (migration_script.sql):
      SELECT
      @date AS event_date,
      event.timestamp_micros AS event_timestamp,
      event.previous_timestamp_micros AS event_previous_timestamp,
      event.name AS event_name,
      event.value_in_usd  AS event_value_in_usd,
       user_dim.bundle_info.bundle_sequence_id AS event_bundle_sequence_id,
      user_dim.bundle_info.server_timestamp_offset_micros as event_server_timestamp_offset,
      (
      SELECT
        ARRAY_AGG(STRUCT(event_param.key AS key,
            STRUCT(event_param.value.string_value AS string_value,
              event_param.value.int_value AS int_value,
              event_param.value.double_value AS double_value, 
              event_param.value.float_value AS float_value) AS value))
      FROM
        UNNEST(event.params) AS event_param) AS event_params,
      user_dim.first_open_timestamp_micros AS user_first_touch_timestamp,
      user_dim.user_id AS user_id,
      user_dim.app_info.app_instance_id AS user_pseudo_id,
      "" AS stream_id,
      user_dim.app_info.app_platform AS platform,
      STRUCT( user_dim.ltv_info.revenue AS revenue,
        user_dim.ltv_info.currency AS currency ) AS user_ltv,
      STRUCT( user_dim.traffic_source.user_acquired_campaign AS name,
          user_dim.traffic_source.user_acquired_medium AS medium,
          user_dim.traffic_source.user_acquired_source AS source ) AS traffic_source,
      STRUCT( user_dim.geo_info.continent AS continent,
        user_dim.geo_info.country AS country,
        user_dim.geo_info.region AS region,
        user_dim.geo_info.city AS city ) AS geo,
      STRUCT( user_dim.device_info.device_category AS category,
        user_dim.device_info.mobile_brand_name,
        user_dim.device_info.mobile_model_name,
        user_dim.device_info.mobile_marketing_name,
        user_dim.device_info.device_model AS mobile_os_hardware_model,
        @platform AS operating_system,
        user_dim.device_info.platform_version AS operating_system_version,
        user_dim.device_info.device_id AS vendor_id,
        user_dim.device_info.resettable_device_id AS advertising_id,
        user_dim.device_info.user_default_language AS language,
        user_dim.device_info.device_time_zone_offset_seconds AS time_zone_offset_seconds,
        IF(user_dim.device_info.limited_ad_tracking, "Yes", "No") AS is_limited_ad_tracking ) AS device,
      STRUCT( user_dim.app_info.app_id AS id,
        @firebase_app_id  AS firebase_app_id,
        user_dim.app_info.app_version AS version,
        user_dim.app_info.app_store AS install_source ) AS app_info,
      (
      SELECT
        ARRAY_AGG(STRUCT(user_property.key AS key,
            STRUCT(user_property.value.value.string_value AS string_value,
              user_property.value.value.int_value AS int_value,
              user_property.value.value.double_value AS double_value,
              user_property.value.value.float_value AS float_value,
              user_property.value.set_timestamp_usec AS set_timestamp_micros ) AS value))
      FROM
        UNNEST(user_dim.user_properties) AS user_property) AS user_properties
    FROM
      `SCRIPT_GENERATED_TABLE_NAME`,
      UNNEST(event_dim) AS event
      
  4. פותחים מעטפת חדשה ומעתיקים את סקריפט ה-Bash שמוצג בהמשך לקובץ בשם migration.sh:
    1. שולחים את הפקודה cat > migration.sh
    2. מעתיקים את הסקריפט שמוצג למטה ומדביקים אותו במעטפת.
    3. לוחצים על Ctrl+D כדי לשמור ולצאת.
    מוסיפים לסקריפט הבא את מזהה הנכס ב-Analytics, מזהה הפרויקט ב-BigQuery, מזהה האפליקציה ב-Firebase, שם מערך הנתונים ב-BigQuery ותאריכי ההתחלה והסיום של הנתונים הרצויים.
    הסקריפט (migration.sh):
    # מזהה הנכס של הפרויקט ב-Analytics. המזהה נמצא ב'הגדרות Analytics' ב-Firebase.
    PROPERTY_ID=מזהה הנכס שלכם ב-Analytics
    
    # פרויקט BigQuery Export.
    BQ_PROJECT_ID="מזהה פרויקט BigQuery שלכם" (למשל, "firebase-public-project")
    
    # מזהה האפליקציה ב-Firebase.
    FIREBASE_APP_ID="מזהה האפליקציה ב-Firebase‏" (למשל, ‎"1:300830567303:ios:09b1ab1d3ca29bda")
    
    # מערך הנתונים שברצונכם לייבא ממנו.
    BQ_DATASET="שם מערך הנתונים ב-BigQuery שברצונכם לייבא ממנו" (למשל, "com_firebase_demo_IOS")
    
    # פלטפורמה
    PLATFORM="הפלטפורמה של האפליקציה. ANDROID או IOS"
    
    # טווח התאריכים הרצוי של ההעברה, [START_DATE,END_DATE], כולל.
    START_DATE=20180324
    END_DATE=20180327
    
    # מומלץ לא לשנות את קטע הסקריפט הבא, אלא אם יש לכם ניסיון ואתם יודעים מה אתם עושים:)
    startdate=$(date -d"$START_DATE"  +%Y%m%d) || exit -1
    enddate=$(date -d"$END_DATE"  +%Y%m%d) || exit -1
    
    # חזרה על התאריכים.
    DATE="$startdate"
    while ‎[ "$DATE" -le "$enddate" ]; do
    
            # טבלת BQ שנבנתה לפי הפרמטרים שמצוינים למעלה.
            BQ_TABLE="$BQ_PROJECT_ID.$BQ_DATASET.app_events_$DATE"
    
            echo "Migrating $BQ_TABLE"
    
            cat migration_script.sql | sed -e "s/SCRIPT_GENERATED_TABLE_NAME/$BQ_TABLE/g" | bq query \
            --debug_mode \
            --allow_large_results \
            --noflatten_results \
            --use_legacy_sql=False \
            --destination_table analytics_$PROPERTY_ID.events_$DATE \
            --batch \
            --append_table \
            --parameter=firebase_app_id::$FIREBASE_APP_ID \
            --parameter=date::$DATE \
            --parameter=platform::$PLATFORM \
            --project_id=$BQ_PROJECT_ID
    
    
            temp=$(date -I -d "$DATE + 1 day")
            DATE=$(date -d "$temp" +%Y%m%d)
    
    done
    exit
    
    # סוף הסקריפט
    
    
  5. פותחים מעטפת חדשה ומריצים את הפקודה bash migration.sh

 

סכימת הייצוא הקודמת

user_dim

שם השדה סוג הנתונים תיאור
user_dim רשומה רשומה שכוללת את מאפייני המשתמש.
user_dim.user_id מחרוזת מזהה המשתמש שהוגדר באמצעות setUserId API.
user_dim.first_open_timestamp_micros מספר שלם השעה שבה המשתמש פתח בפעם הראשונה את האפליקציה (במיליוניות השנייה).
user_dim.user_properties רשומה רשומה חוזרת של מאפייני המשתמש שהוגדרו ב-setUserProperty API.
user_dim.user_properties.key מחרוזת השם של מאפיין המשתמש.
user_dim.user_properties.value רשומה רשומה שכוללת את המידע על מאפיין המשתמש.
user_dim.user_properties.value.value רשומה רשומה שכוללת את הערך של מאפיין המשתמש.
user_dim.user_properties.value.value.string_value מחרוזת ערך המחרוזת של מאפיין המשתמש.
user_dim.user_properties.value.value.int_value מספר שלם ערך המספר השלם של מאפיין המשתמש.
user_dim.user_properties.value.value.double_value מספר ממשי (float) הערך של מאפיין המשתמש, בדיוק כפול (double)
user_dim.user_properties.value.set_timestamp_usec מספר שלם השעה (במיליוניות השנייה) שבה מאפיין המשתמש הוגדר לאחרונה.
user_dim.user_properties.value.index מספר שלם מספר האינדקס (0-24) של מאפיין המשתמש.
user_dim.device_info רשומה רשומה שיש בה מידע על המכשיר.
user_dim.device_info.device_category מחרוזת הקטגוריה שאליה משויך המכשיר (נייד, טאבלט, מחשב).
user_dim.device_info.mobile_brand_name מחרוזת שם המותג של המכשיר.
user_dim.device_info.mobile_model_name מחרוזת שם הדגם של המכשיר.
user_dim.device_info.mobile_marketing_name מחרוזת השם השיווקי של המכשיר.
user_dim.device_info.device_model מחרוזת דגם המכשיר.
user_dim.device_info.platform_version מחרוזת גרסת מערכת ההפעלה.
user_dim.device_info.device_id מחרוזת IDFV (קיים רק אם IDFA לא זמין).
user_dim.device_info.resettable_device_id מחרוזת מזהה הפרסום/IDFA.
user_dim.device_info.user_default_language מחרוזת השפה שהוגדרה במערכת ההפעלה.
user_dim.device_info.device_time_zone_offset_seconds מספר שלם הסטייה משעון גריניץ' בשניות.
user_dim.device_info.limited_ad_tracking בוליאני ההגדרה 'הגבלת מעקב מודעות' שנקבעה במכשיר.
user_dim.geo_info רשומה רשומה שיש בה פרטים על המיקום הגיאוגרפי של המשתמש.
user_dim.geo_info.continent מחרוזת היבשת שממנה דווחו האירועים, על סמך כתובת ה-IP.
user_dim.geo_info.country מחרוזת המדינה שממנה דווחו האירועים, על סמך כתובת ה-IP.
user_dim.geo_info.region מחרוזת האזור שממנו דווחו האירועים, על סמך כתובת ה-IP.
user_dim.geo_info.city מחרוזת העיר שממנה דווחו האירועים, על סמך כתובת ה-IP.
user_dim.app_info רשומה רשומה שיש בה מידע על האפליקציה.
user_dim.app_info.app_version מחרוזת שם הגרסה (versionName) של האפליקציה (Android) או גרסת החבילה המקוצרת שלה.
user_dim.app_info.app_instance_id מחרוזת המזהה הייחודי של מופע האפליקציה הזה.
user_dim.app_info.app_store מחרוזת החנות שהתקינה את האפליקציה הזו.
user_dim.app_info.app_platform מחרוזת הפלטפורמה שבה האפליקציה מופעלת.
user_dim.traffic_source רשומה השם של מקור התנועה שאחראי לצירוף המשתמש. השדה הזה לא מאוכלס בטבלאות של נתונים שמתקבלים במשך היום.
user_dim.traffic_source.user_acquired_campaign מחרוזת השם של קמפיין השיווק שאחראי לצירוף המשתמש. השדה הזה לא מאוכלס בטבלאות של נתונים שמתקבלים במשך היום.
user_dim.traffic_source.user_acquired_medium מחרוזת השם של אמצעי ההגעה לאתר (חיפוש בתשלום, חיפוש אורגני, אימייל וכו') שאחראי לצירוף המשתמש. השדה הזה לא מאוכלס בטבלאות של נתונים שמתקבלים במהלך היום.
user_dim.traffic_source.user_acquired_source מחרוזת שם הרשת שאחראית לצירוף המשתמש. השדה הזה לא מאוכלס בטבלאות של נתונים שמתקבלים במשך היום.
user_dim.bundle_info רשומה רשומה שכוללת מידע לגבי החבילה שבו האירועים האלה הועלו.
user_dim.bundle_info.bundle_sequence_id מספר שלם המזהה הרציף של החבילה שבה האירועים האלה הועלו.
user_dim.ltv_info רשומה רשומה שכוללת מידע לגבי ערך החיים של המשתמש הזה. השדה הזה לא מאוכלס בטבלאות של נתונים שמתקבלים במשך היום.
user_dim.ltv_info.revenue מספר ממשי (float) ערך החיים (הכנסה) של המשתמש הזה. השדה הזה לא מאוכלס בטבלאות של נתונים שמתקבלים במשך היום.
user_dim.ltv_info.currency מחרוזת ערך החיים (מטבע) של המשתמש הזה. השדה הזה לא מאוכלס בטבלאות של נתונים שמתקבלים במשך היום.
 

event_dim

שם השדה סוג הנתונים תיאור
event_dim רשומה רשומה חוזרת שכוללת מידע לגבי האירועים בחבילה הזו.
event_dim.date מחרוזת התאריך שבו האירוע הזה נרשם ביומן (בפורמט YYYYMMDD באזור הזמן הרשום של האפליקציה).
event_dim.name מחרוזת שם האירוע הזה.
event_dim.params רשומה רשומה חוזרת שמפורטים בה הפרמטרים שמשויכים לאירוע הזה.
event_dim.params.key מחרוזת המַּפתח של הפרמטר שהוגדר לאירוע.
event_dim.params.value רשומה רשומה שכוללת את הערך של הפרמטר שהוגדר לאירוע.
event_dim.params.value.string_value מחרוזת ערך המחרוזת של הפרמטר שהוגדר לאירוע.
event_dim.params.value.int_value מספר שלם ערך המספר השלם של הפרמטר שהוגדר לאירוע.
event_dim.params.value.double_value מספר ממשי (float) הערך של הפרמטר שהוגדר לאירוע, בדיוק כפול (double).
event_dim.timestamp_micros מספר שלם השעה (במיליוניות השנייה, לפי שעון UTC) שבה האירוע הזה נרשם ביומן באפליקציית הלקוח.
event_dim.previous_timestamp_micros מספר שלם השעה (במיליוניות השנייה, לפי שעון UTC) שבה האירוע הזה נרשם בעבר ביומן באפליקציית הלקוח.

האם המידע הועיל?

איך נוכל לשפר את המאמר?
חיפוש
ניקוי החיפוש
סגירת החיפוש
אפליקציות Google
התפריט הראשי
5079289561505544591
true
חיפוש במרכז העזרה
true
true
true
true
true
69256
false
false