כל מי שנכנס בשבועות האחרונים ללוקר סטודיו (או דאטה סטודיו, כפי שהוא נקרא בעבר לפני שגוגל שינוי לו את השם), בוודאי נתקל בהודעת השגיאה הבאה:
לחיצה על See details תציג בפניכם את ההודעה הבאה, או משהו בסגנון:
בפוסט הקרוב אני אדבר על הבעיה, על הפתרונות שגוגל מציעים ועל הפתרונות שאני מציע.
מה הבעיה
ב-10 לנובמבר 2022 גוגל פרסמו את העדכונים האחרונים בדאטה סטודיו:
העדכון הראשון הוא נחמד, אבל העדכון שמופיע תחתיו קצת פחות…
בגדול זה אומר שמגבלות ה-API של גוגל אנליטיקס 4, בו משתמשת כל תוכנה שרוצה למשוך נתונים מגוגל אנליטיקס, חלים מהיום גם על משיכת נתונים באמצעות דאטה סטודיו.
כדי להציג לכם את המידע בדשבורד, דאטה סטודיו עושה שימוש ב-API כדי לתשאל את גוגל אנליטיקס, ולכן מגבלות ה-API חלות גם עליו.
או כפי שהגדיר את זה Brian Stark, אחד ממנהלי המוצר בגוגל (תרגום חופשי):
״למרות שדאטה סטודיו שייך לגוגל, הוא אינו שונה מכל כלי חיצוני אחר, ולכן המגבלות של ה-API יחולו עליו בדיוק כמו שהן חלות על כל שאר הכלים שמשתמשים ב-API. אנחנו לא עושים איפה ואיפה״.
מיותר לציין שהשינוי הזה תפס את כולם בהלם מוחלט, כיוון שגוגל לא ממש רמזו שזה הולך לקרות, ויותר חמור – זה השפיע כמעט על כל מי שמשתמש בדאטה סטודיו.
קצת על המגבלות
את רשימת המגבלות תוכלו למצוא כאן, אבל בגדול יש 3 מגבלות עיקריות שמשפיעות על רוב המשתמשים:
- ניתן לשלוח עד 10 בקשות בו זמנית
- ניתן להשתמש ב-1,250 tokens בשעה לכל פרוייקט
- ועד 5,000 טוקנים בשעה עבור ה-property
לכאורה, המגבלה הראשונה אומרת שאפשר להוסיף עד 10 charts בכל עמוד (כי כל chart שולח בקשה), אבל זה ממש לא המצב מכיוון שיש סוגים של charts ששולחים יותר מבקשה אחת בכל פעם, כמו bar chart ששולח בקשה אחת כדי לקבל את הדאטה, ועוד בקשה כדי לקבל את ה-top 10 (למה? ככה).
בנוסף יש את המגבלה השניה והשלישית של הטוקנים (השניה היא זו שמגבילה אתכם). נכון לעכשיו לא ניתן לדעת כמה טוקנים הדשבורד שלכם צורך, אבל זה תלוי בהרבה גורמים כמו כמות הדאטה שאתם מתשאלים, כמות העמודות שאתם מבקשים, ועוד.
בכל מקרה, המגבלה העיקרית שכמעט כולם סובלים ממנה זו המגבלה הראשונה (אין הרבה דשבורדים שמכילים 5 גרפים בלבד), וגם אם צמצמתם את הדשבורד ופיצלתם אותו למלא עמודים כדי שלא יהיו יותר מ-10 בקשות בו זמנית – עדיין יהיה לכם מאוד קל להגיע ל-1,250 טוקנים בשעה, מכיוון שכל שימוש בפילטר, שינוי תאריך, או שימוש של כמה משתמשים במקביל – צורך טוקנים, ו-1,250 זה לא המון.
אילו פתרונות גוגל מציעה?
אם תשאלו את גוגל, יש להם מלא פתרונות שיכולים לעזור לכם. בין היתר תוכלו פשוט לשלוח את הדוח לפחות אנשים, לחכות שעה כדי שתקציב הטוקנים שלכם יתמלא מחדש, או לשדרג ל-360 בעלות של כמה אלפי דולרים לשנה.
סירייסלי גוגל?!
זה כמובן לא ריאלי ל-90% מהאנשים, ולכן בפוסט הזה אני אסקור 3 פתרונות מעשיים.
הפתרונות הריאלים
1. לחכות שהצוות של דאטה סטודיו יעשה שינוי
אתם צריכים להבין שהמגבלות הללו קצת נכפו על הצוות של דאטה סטודיו, ונובעות מזה שהם עושים שימוש בזבזני בשאילתות לגוגל אנליטיקס 4.
גוגל פרסמו התנצלות באחד מהפורומים של התמיכה (אחרי שכולם יצאו עליהם), והבטיחו שהם יעשו אופטימיזציה לקונקטור שמושך נתונים מגוגל אנליטיקס, וגם יציגו כמה tokens הדוח שלכם מנצל, כדי שתוכלו לבנות את הדשבורד בצורה יותר חסכונית.
אני לא חושב שאני ״ממליץ״ על הפתרון הזה, אבל זה יכול להיות סוג של אור בקצה המנהרה למי שעדיין אופטימי ולא רוצה לעשות שינויים לפני שנאמרה המילה האחרונה.
2. להשתמש בקונקטור של Supermetrics
את סופרמטריקס בטח כולכם מכירים, אבל אולי לא ידעתם שיש להם קונקטור שמתחבר לגוגל אנליטיקס 4 ועושה קצת אופטימיזציה לשאילתות.
אם תרצו להשתמש בו, תוכלו לעשות את זה מכאן ולהשתמש בקוד קופון shukim20 שיתן לכם הנחה של 20%.
יש גם 14 יום חינם אז כדאי לכם לבדוק את זה לפני שאתם עוברים לפתרון השלישי.
בכל מקרה, הקונקטור הזה לא מחזיר את המצב לקדמותו, אלא רק מעבד את המידע בצורה חכמה יותר באמצעות 3 תהליכים:
1. פיצול הבקשות כדי למנוע מצב של יותר מ-10 בקשות בו זמנית.
זה אומר שאם הדוח שלכם מכיל 18 בקשות, סופרמטריקס יבצעו 10 בקשות, ורק אחרי זה יבצעו 8 בקשות נוספות.
זה אמנם יאט את קצב טעינת המידע, אבל זה יפתור את הבעיה של too many concurrent requests.
2. שימוש ב-caching, כדי לא לשלוח בקשה חוזרת עבור מידע שכבר התקבל.
למשל אם הוספתם optional metric, ואז הורדתם אותו – זה לא יבצע request נוסף.
3. שליחת בקשות חוזרות במידה והתקבלה שגיאה – למרות שסופרמטריקס עושים את המקסימום למנוע מצב של שגיאות, לפעמים הם לא מצליחים ואז הם פשוט ינסו לבצע את ה-request שוב ושוב עד שהמידע יתקבל בהצלחה.
כמו שאתם מבינים, זה לא מחזיר את המצב לקדמותו אבל במידה ואתם לא משתוללים עם כמות המידע שאתם מושכים זה בהחלט יכול להיות פתרון יעיל שלא דורש הרבה עבודה.
פשוט הכנסו ללינק, חפשו את הקונקטור של גוגל אנליטיקס 4 לדאטה סטודיו, ויהיה לכם 14 יום לראות אם זה פותר לכם את הבעיה.
אם כן – השתמשו בקופון shukim20 כדי לקבל 20% הנחה (זה יוצא 350 יורו במקום 470).
3. שימוש בקונקטור Extract Data
את הפתרון השלישי שמרתי לסוף בגלל שהוא דורש את ההסבר הכי מעמיק.
לא מזמן גוגל הוציאו קונקטור חדש בשם Extract Data.
התפקיד שלו נורא פשוט – במקום לתשאל את כל הדאטה העצום שאתם שומרים בגוגל אנליטיקס בכל פעם שאתם פותחים את הדוח, משנים תאריך או מוסיפים פילטר, גוגל תוריד עבורכם רק חלק מהמידע מראש, ואז התשאול יתבצע על הטבלה הקטנה ויצרוך פחות משאבים.
אנסה להמחיש את זה בצורה פשוטה:
נגיד שיש לכם טבלה ענקית עם 100,000 שורות ו-100 עמודות.
כל אחת מהשורות מייצגת איוונט page_view שנשלח לגוגל אנליטיקס, וכל אחת מהעמודות מספקת מידע אודות העמוד הנצפה.
עמודה A מכילה את ה-URL, עמודה B מכילה את ה-title וכן הלאה.
כשאתם אומרים לגוגל תספור לי כמה צפיות היו לדף www.ga4.co.il, גוגל עוברת על כלללל אחת מה-100,000 שורות, ובודקת האם עמודה A מכילה את הערך www.ga4.co.il.
עכשיו תחשבו שאתם משנים קצת את התאריך, ומבקשים שגוגל יעשה השוואה בין מספר הצפיות בחודש הזה לעומת החודש הקודם – גוגל שוב פעם צריכה לתשאל את הטבלה הענקית כדי להביא לכם את המידע הזה.
במקום זה, הרבה יותר יעיל יהיה להוריד פעם אחת רק את עמודה A, ורק אם היא מכילה את הערך www.ga4.co.il, ואז יהיה יותר קל לתשאל את הדאטה בייס כדי לתת לכם את המידע הרצוי.
זה בגדול הרעיון שעומד מאחורי Extract Data.
איך עושים את זה בפועל?
לוחצים על add data ואז בוחרים את הקונקטור:
במסך הבא תצטרכו לבחור את המידע אותו אתם רוצים להוריד:
1. השם של ה-data source.
2. ה-data source הראשי ממנו אתם רוצים להוריד את הדאטה (במקרה שלי זה הסורס הרגיל של גוגל אנליטיקס 4).
3. הדיימנשנס אותם תרצו להוריד (וודאו שהכנסתם את Date).
4. המטריקות אותן תרצו להוריד.
5. איזה טווח תאריכים אתם רוצים להוריד (שימו לב שאי אפשר להוריד יותר מ-100 מגה, אז אל תבחרו פה ״תן לי 10 שנים אחורה״).
6. אם אתם רוצים רק חלק מסויים מהמידע, אתם יכולים להוסיף פילטר (זה יעזור לכם להקטין את כמות הדאטה כדי שלא תעברו את ה-100 מגה בטעות).
7-8-9. כאן תוכלו להגדיר אם אתם רוצים שהדאטה יתעדכן באופן אוטומטי. למשל כל יום בשעה 8 בבוקר החל מתאריך מסויים.
אחרי שתלחצו save and extract, תועברו למסך הבא שבו תוכלו ליצור שדה חדש באמצעות לחיצה על add a field בצד ימין.
למשל פה יצרתי שדה שמחשב את יחס ההמרה:
וזהו. עכשיו תוכלו פשוט ליצור את הדוח הרצוי באמצעות שימוש בקונקטור החדש:
דגשים חשובים:
כמו לכל אחד מהפתרונות שהצגתי קודם, גם ל-extract data יש חסרונות.
1. קודם כל כשאתם מורידים מידע – היוזר יוכל להשתמש רק במה שהורדתם, ולכן אם אתם רוצים לתת אפשרות לפלטר לפי Device category למשל – אתם צריכים להוריד גם את הדימנשן הזה, כלומר להוסיף אותו ל-extract.
כנל לגבי תאריכים – הורדתם 3 חודשים אחורה – לא יהיה אפשר לראות חצי שנה אחרונה.
לכן אתם צריכים לתכנן את הדוח ולשקף את זה ללקוח, ולא סתם לזרוק שם טבלאות ולתת לו לעשות מה שהוא רוצה.
2. הקונקטור extract data לא יודע לעבוד עם מטריקות שנפרסות על יותר מיום אחד. למשל אם אותו יוזר נכנס לאתר 3 פעמים בימים שונים – המטריקה users תחזיר לכם 3 במקום 1 (או סתם מספר אחר לא הגיוני).
זה נכון לגבי כל המטריקות שקשורות ליוזר (total purchasers, active users וכו׳), אז תשאירו אותן לקונקטור הרגיל של אנליטיקס.
3. אל תערבבו מטריקות/דיימנשנס בעלי scopes שונים, כמו item revenue ו-sessions, באותו extract. זה יעשה לכם בעיות.
למשל – אם אתם רוצים להציג טבלה של item name ולצדו item view ו-add to cart – אל תוסיפו דימנשן של session source/medium.
4. אם יש לכם מספרים שאתם יכולים לחשב בעצמכם בדאטה סטודיו באמצעות שדה מחושב (למשל Cart-to-view rate), תחשבו אותו בדאטה סטודיו ואל תביאו עוד מטריקה בשביל זה כי כמו שאמרתי כל extract מוגבל ל-100 מגה.
5. כדי לא לעבור את המגבלה של 100MB (וגם כדי להתמודד עם עניין ה-scopes מסעיף 3), נסו ליצור כמה extract-ים שכל אחד מהם יכיל סט של נתונים.
אני מפצל לנתונים כלליים של engagement, עוד אחד לנתונים כלליים של איקומרס (revenue, purchases וכד׳), ועוד אחד לנתונים של items (כמו item view, add to cart, item list click וכד׳).
6. מצד שני, אל תשכחו שכל extract כזה משתמש לכם בטוקנים, ואם הגדרתם auto update זה יצרוך טוקנים כל יום, אז אל תיצרו מלא extract-ים אם אתם לא באמת משתמשים בהם.
7. בהקשר הזה – כדאי לבצע את ה-auto update בשעות שבהן אף אחד לא משתמש בדוח, כדי לא לבזבז את הטוקנים של אותה שעה (יש לכם רק 1,250).
אתם יכולים להגדיר שאחד יתרענן ב-1 בלילה, השני ב-2 בלילה וכן הלאה.
8. אם יצרתם כמה extracts ובחרתם auto-update – וודאו שלא כולם מתאפדייטים באותה השעה ביום, כי יש לכם רק 1,250 טוקנים לשעה.
ועכשיו כמה טיפים אם החלטתם להמשיך להשתמש בקונקטור הרגיל של גוגל אנליטיקס 4
כמו שראיתם, הפתרון של extract לא מכסה את כל המקרים (כמו למשל נתונים על יוזרים), ולכן אני חושב שכדאי להמשיך להשתמש בקונקטור הרגיל של גוגל אנליטיקס 4 במקביל ל-extract, אבל לעשות את זה בצורה חכמה יותר.
בנוסף, יש דוחות פשוטים שבהם אין צורך להשתמש ב-extract, ועם קצת תכנון מוקדם אפשר להמשיך להשתמש בקונקטור הרגיל בצורה יחסית חופשית.
למקרים האלו, הייתי נותן את הטיפים הבאים:
1. אל תשימו יותר מדי charts בעמוד אחד כדי לא לעבור את המגבלה של 10 concurrent requests.
חוצמזה שגם ככה זה מבלבל את המשתמש.
2. אל תשימו יותר מדי פילטרים על העמוד.
נכון שזה מגביל את אפשרויות הניתוח, אבל כל שימוש בפילטרים מרענן את כ-ל הצ׳ארטים שיש בעמוד, וזה יכול לגמור לכם את הטוקנים בשניה (וגם – כדי לנתח את המידע יש את אנליטיקס. הדשבורד לא נועד למחקר מעמיק).
3. צרו לכם גרסת staging, וחברו אותה לפרופרטי אחר.
כשאתם משחקים עם העריכה של הדוח זה משתמש באותם tokens של הפרופרטי המקורי, ואז כשהלקוח ירצה להסתכל בנתונים האמיתיים של הדשבורד לא ישארו לו tokens.
5. זה הזמן למחוק את כל הצ׳ארטים שהזזתם אל מחוץ לקאנבס כי ״היוזרים גם ככה לא רואים אותם״ – הם אוכלים לכם טוקנים שלא לצורך.
6. אם החלטתם להעביר חלק מהצ׳ארטים לעמודים אחרים כדי להמנע מ-concurrent requests, וודאו שיש לכם תפריט ניווט יעיל בעמוד הראשון של הדשבורד, כדי שהיוזר לא יעשה next next next רק כדי להגיע לעמוד שהוא מחפש, ועל הדרך יגמור את כל הטוקנים.
סיכום
לגוגל נמאס לתת לכם מתנות בחינם.
אני דיי מבין את ההגיון שלהם, למרות שגם אני סובל מזה.
מה שכן, מי שעובד בשיווק דיגיטלי צריך לדעת להתאים את עצמו למציאות המשתנה, ולהוציא מהלימון לימונדה.
הנה תראו את הפוסט הזה. הגעתי בקלות ל-1,763 מילים ולא הייתי כותב אותו אלמלא השינויים 🙂