מה זה data filter ב-GA4 ומה הוא עושה לנתונים?
לפי התיעוד של Google, פילטר נתונים מאפשר להוציא נתוני אירועים נכנסים מהעיבוד של Google Analytics. שלוש תכונות שלו קובעות איך עובדים איתו.
הראשונה: הוא פועל קדימה בלבד. הפילטר חל מרגע היצירה שלו ולא משנה נתונים היסטוריים, כך שתנועה פנימית שכבר נכנסה לדוחות תישאר שם.
השנייה: הוא בלתי הפיך. התיעוד מנסח את זה בחדות: אחרי שמחילים פילטר נתונים, ההשפעה על הנתונים קבועה. נתון שהוחרג לא מעובד אף פעם ולא יהיה זמין ב-Google Analytics או ב-BigQuery. מי שסומך על ייצוא GA4 ל-BigQuery כגיבוי גולמי צריך לדעת שהאירועים המסוננים לא יגיעו גם לשם.
השלישית: יש חלופה עדינה יותר. מי שרוצה רק להסתיר נתונים מדוחות מסוימים, בלי למחוק אותם לצמיתות, צריך לפי התיעוד להשתמש בפילטרים של דוחות ולא בפילטר נתונים.
אילו סוגי data filters יש ב-GA4?
התיעוד מפרט שלושה סוגים. אפשר ליצור עד 10 פילטרי נתונים בנכס אחד. כדי ליצור, לערוך או למחוק פילטר צריך הרשאת Editor ברמת הנכס.
| סוג הפילטר | מה הוא מסנן | לפי מה מזהים את התנועה |
|---|---|---|
| Internal Traffic | גולשים מכתובת IP או מטווח כתובות | ערך הפרמטר traffic_type שנוסף לאירוע |
| Developer Traffic | פעילות של מפתחים שעובדים ב-debug mode | אירועים שנשלחו ב-debug mode |
| Web hostname traffic | תנועה מדומיינים או hostnames מסוימים | ה-hostname שממנו הגיע האירוע |
המדריך הזה עוסק בשני הראשונים. הסוג השלישי שונה מהם בפרט אחד שכדאי להכיר: לפי התיעוד יש בו שתי פעולות, Exclude שמסירה נתונים שתואמים לתנאי, לצד Include only שמעבדת רק נתונים שתואמים לו.
איך GA4 יודע שתנועה היא פנימית?
הוא לא יודע לבד, צריך לסמן אותה. הסימון הוא פרמטר אירוע בשם traffic_type. כשמגדירים כלל תנועה פנימית בהגדרות ה-Google tag, Analytics מוסיף את הפרמטר לאירועים שמגיעים מכתובות ה-IP שבכלל. ערך ברירת המחדל הוא internal. אפשר להזין ערך אחר כדי להבדיל בין קבוצות תנועה שונות (התיעוד נותן כדוגמה את הערך emea_headquarters).
הפילטר עצמו לא מסתכל על כתובות IP אלא רק על הערך של traffic_type. זאת הסיבה שיש שני שלבים וזאת גם הסיבה לתקלה נפוצה מאוד: כלל IP שהוגדר בלי פילטר פעיל, או פילטר שמחפש ערך אחד כשהכלל כותב ערך אחר. בשני המקרים התנועה הפנימית ממשיכה להיכנס לדוחות.
שני שלבים, לא אחד
מהגדרת כתובת IP ועד סינון קבוע של התנועה
איך מגדירים כלל תנועה פנימית לפי כתובת IP?
- פותחים את הגדרות התג. ב-Admin, תחת Data collection and modification, לוחצים על Data streams ובוחרים את ה-web data stream. בתחתית לוחצים על Configure tag settings ומרחיבים את רשימת ההגדרות.
- בוחרים Define internal traffic. לוחצים על Create כדי ליצור כלל חדש.
- נותנים שם וערך. מזינים שם לכלל וערך ל-traffic_type. אם אין סיבה מיוחדת, משאירים את ברירת המחדל internal.
- מגדירים את כתובות ה-IP. בוחרים match type ומזינים ערך. האפשרויות לפי התיעוד: equals, begins with, ends with, contains, is in range בסימון CIDR, או matches regular expression. יש תמיכה ב-IPv4 וב-IPv6.
- מוסיפים תנאים לפי הצורך. Add condition מוסיף כתובת או טווח נוספים. התנאים מחוברים ב-OR ולא ב-AND, כך שכל כתובת שתואמת לאחד מהם תסומן.
- יוצרים. לוחצים על Create. מכאן הפרמטר traffic_type מתווסף לאירועים שמגיעים מהכתובות האלה.
כך נראים ערכים תקינים לפי הדוגמאות שבתיעוד:
equals: 172.16.1.1
begins with: 10.0.
is in range: 192.168.0.0/16
במסך יש גם קישור בשם What's my IP address שמציג את הכתובת שלכם. כדאי להשוות אותו למה שמחלקת ה-IT מסרה, כי הכתובת שהאתר רואה היא הכתובת החיצונית של הארגון ולא הכתובת של המחשב ברשת הפנימית.
איך יוצרים את הפילטר ומה ההבדל בין Testing, Active ו-Inactive?
- פותחים את Data filters. ב-Admin, תחת Data collection and modification, לוחצים על Data filters ואז על Create Filter.
- בוחרים Internal Traffic. אם כבר קיים בנכס פילטר מהסוג הזה, פותחים אותו במקום ליצור כפילות.
- נותנים שם. לפי התיעוד השם חייב להיות ייחודי בין הפילטרים בנכס, להתחיל באות, להכיל רק אותיות, מספרים, קו תחתון ורווחים ולהיות באורך של עד 40 תווים.
- בוחרים Exclude. הפעולה מסירה אירועים שבהם הערך של traffic_type תואם לערך שהגדרתם בכלל. מוודאים שהערך בפילטר זהה בדיוק לערך שבכלל.
- בוחרים מצב Testing ויוצרים. לא מפעילים פילטר חדש ישר ב-Active.
| מצב הפילטר | מה קורה לנתונים | מתי משתמשים |
|---|---|---|
| Testing | הנתונים התואמים מסומנים במימד Test data filter name ולא נמחקים | בכל פילטר חדש, עד שהבדיקה עוברת |
| Active | הפילטר מוחל על נתונים נכנסים והשינוי קבוע | אחרי שווידאתם שהוא תופס רק את מה שצריך |
| Inactive | Analytics לא בודק את הפילטר בכלל | כשרוצים להשבית בלי למחוק |
איך בודקים את הפילטר לפני שמפעילים אותו?
במצב Testing, Analytics מסמן את הנתונים התואמים במימד Test data filter name, שהערך שלו הוא שם הפילטר. הנתונים האלה זמינים ב-Explore. לפי התיעוד הבדיקה נראית כך:
- ממתינים. לפי התיעוד יכולות לעבור 24 עד 36 שעות עד שפילטר מוחל. אם המימד עדיין ריק, חוזרים מאוחר יותר.
- בונים exploration. יוצרים exploration בטכניקת Free form.
- מגדירים שורות וערכים. ב-Rows שמים את Test data filter name ואת Event name. ב-Values שמים את Event count.
- מוסיפים פילטר. תנאי שבו Test data filter name מכיל את שם הפילטר שלכם.
- קוראים את התוצאה. אם מופיעים אירועים, הכלל והפילטר מדברים זה עם זה. בודקים שהיקף האירועים הגיוני ביחס לגודל הצוות.
- מעבירים ל-Active. רק אחרי שהתוצאה נראית נכונה. גם כאן הסינון מתחיל בתוך 24 עד 36 שעות.
שתי מלכודות בבדיקה. אם ה-exploration ריק אחרי יומיים, הבעיה היא כמעט תמיד בכלל ה-IP או בערך של traffic_type ולא בפילטר. המלכודת השנייה: לפי התיעוד המימד Test data filter name לא חל על subproperties ועל roll-up properties. שם הוא יופיע כ-(not set).
איך מסננים תנועת מפתחים?
תנועת מפתחים היא לפי התיעוד פעילות של מפתחים פנימיים שמשתמשים ב-debug mode. באתר, debug mode מופעל כשעובדים עם Google Tag Assistant או עם מצב Preview. אפשר להפעיל אותו גם בקוד, עם הפרמטר debug_mode בפקודת ה-config או באירוע בודד. ב-Google Tag Manager מגדירים את debug_mode בתג ה-Google tag או בתג האירוע. על העבודה במצב Preview כתבנו במדריך על מצב Preview ו-Tag Assistant.
הפילטר נוצר באותו מסך: Data filters, אחר כך Create Filter, בוחרים Developer Traffic, נותנים שם, בוחרים Exclude, בוחרים מצב. בסוף לוחצים על Create. היתרון שהתיעוד מדגיש: המפתחים ממשיכים לראות את האירועים שלהם ב-DebugView, אבל הפעילות שלהם לא נכנסת לדוחות.
פרט אחד שתופס צוותים לא מוכנים. לפי התיעוד, כדי לכבות את debug mode צריך להסיר את הפרמטר debug_mode לגמרי, כי קביעת הערך ל-false לא מכבה אותו. מכאן נגזרת אזהרה שלא כתובה בתיעוד במפורש אבל נובעת ממנו: פילטר Developer Traffic פעיל מסנן כל אירוע שנשלח ב-debug mode. אם debug_mode נשאר בטעות בתג בסביבת הייצור, גם התנועה של גולשים אמיתיים צפויה להיות מסוננת. לכן הכלל שאני עובד לפיו: לפני שמעבירים את הפילטר הזה ל-Active בודקים שהפרמטר לא נשלח לכל המשתמשים.
מה הפילטר לא פותר?
כמה גבולות שכדאי להכיר לפני שמבטיחים להנהלה נתונים נקיים.
אפליקציות. לפי התיעוד אי אפשר לסנן תנועה פנימית של משתמשי אפליקציה, כי הכלל מוגדר בהגדרות התג של web data stream.
עובדים מחוץ למשרד. כלל IP תופס רק את מי שגולש מהכתובות שהוגדרו. עובד מהבית או מהטלפון הנייד לא יסומן. התיעוד מציין שאפשר להוסיף את הפרמטר traffic_type לאירועים גם ידנית וזה הכיוון למקרים שכתובת IP לא מכסה.
סדר ההחלה. כשיש כמה פילטרים פעילים, לפי התיעוד פילטרי Include only מאוחדים ומוחלים ראשונים כקבוצה אחת. אחריהם מוחלים פילטרי Exclude בזה אחר זה.
העבר. הפילטר לא מנקה נתונים שכבר נאספו. אם גיליתם את הבעיה באיחור, את התקופה שלפני הפילטר מנתחים עם פילטר ברמת הדוח או ה-exploration. את הבדיקה הזאת, יחד עם שאר הגדרות הנכס, ריכזנו בצ'קליסט אודיט GA4.
שאלות נפוצות
איך מסננים תנועה פנימית ב-GA4?
בשני שלבים. קודם מגדירים כלל תחת Define internal traffic בהגדרות ה-Google tag של ה-web data stream, עם כתובות ה-IP של הארגון. הכלל מוסיף לאירועים את הפרמטר traffic_type. אחר כך יוצרים ב-Admin, תחת Data filters, פילטר מסוג Internal Traffic בפעולת Exclude. הפילטר מסנן בפועל רק כשהוא במצב Active.
האם אפשר לבטל data filter ולשחזר את הנתונים שסוננו?
לא. לפי התיעוד של Google, אחרי שמחילים פילטר נתונים ההשפעה על הנתונים קבועה. נתון שהוחרג לא מעובד ולא יהיה זמין ב-Google Analytics או ב-BigQuery. אפשר להעביר את הפילטר למצב Inactive כדי להפסיק את הסינון מכאן והלאה, אבל מה שסונן לא חוזר. מי שרוצה רק להסתיר נתונים צריך להשתמש בפילטר ברמת הדוח.
מה ההבדל בין מצב Testing למצב Active בפילטר נתונים?
במצב Testing הנתונים התואמים לא נמחקים. הם רק מסומנים במימד Test data filter name, כדי שאפשר יהיה לבדוק את הפילטר ב-Explore לפני ההפעלה. במצב Active הפילטר מוחל על הנתונים הנכנסים והשינוי קבוע. במצב Inactive, Analytics לא בודק את הפילטר בכלל.
כמה זמן לוקח עד שפילטר נתונים ב-GA4 מתחיל לעבוד?
לפי התיעוד של Google יכולות לעבור 24 עד 36 שעות עד שפילטר מוחל. זה נכון גם למצב Testing, שבו ממתינים לפני שבודקים את המימד Test data filter name. זה נכון גם למעבר ל-Active. אם המימד עדיין ריק אחרי יצירת הפילטר, חוזרים לבדוק מאוחר יותר לפני שמסיקים שמשהו שבור.
כמה data filters אפשר ליצור בנכס GA4?
לפי התיעוד של Google אפשר ליצור עד 10 פילטרי נתונים בנכס אחד. יש שלושה סוגים: Internal Traffic שמסנן לפי כתובות IP, Developer Traffic שמסנן פעילות ב-debug mode, לצד Web hostname traffic שמסנן לפי דומיין. כדי ליצור, לערוך או למחוק פילטר צריך הרשאת Editor ברמת הנכס.
איך מסננים תנועת מפתחים ב-GA4?
יוצרים ב-Admin, תחת Data filters, פילטר מסוג Developer Traffic בפעולת Exclude. הפילטר מוציא מהדוחות פעילות שנשלחה ב-debug mode, למשל דרך Tag Assistant או עם הפרמטר debug_mode. המפתחים ממשיכים לראות את האירועים שלהם ב-DebugView. שימו לב שלפי התיעוד קביעת debug_mode ל-false לא מכבה את המצב. צריך להסיר את הפרמטר.
מה השורה התחתונה?
סינון תנועה פנימית ב-GA4 הוא שני חלקים שחייבים להתאים זה לזה: כלל שכותב את traffic_type בהגדרות התג, לצד פילטר נתונים שקורא את אותו ערך בדיוק. כל פילטר חדש מתחיל ב-Testing, נבדק ב-exploration אחרי יום עד יום וחצי ורק אז עובר ל-Active, כי מה שסונן לא חוזר. לפני שמפעילים פילטר של תנועת מפתחים מוסיפים בדיקה אחת: שהפרמטר debug_mode לא נשלח בטעות לכל הגולשים. אנחנו מגדירים ובודקים את הפילטרים האלה כחלק משירות הטמעת ובדיקת GA4. אם אתם חושדים שהצוות שלכם מנפח את המספרים או שפילטר פעיל מוחק תנועה אמיתית, כתבו לנו.
מקורות
Analytics Help: Data filters, Analytics Help: Filter out internal traffic, Analytics Help: Filter out developer traffic, Analytics Help: Filter web hostname traffic in Google Analytics, Analytics Help: Monitor events in DebugView, Analytics Help: Configure your Google tag settings
