
אחת הבעיות הנפוצות באתרי איקומרס, היא שנתוני המכירות המופיעים בגוגל אנליטיקס לא ממש קשורים למספרים שמופיעים במערכת המסחר מאחורה (Shopify, מג'נטו וכו'). לפעמים מדובר בסטיות קטנות שלא מטרידות יותר מדי ומתוך 100 עסקאות מאבדים איזו אחת או שתיים, אבל לפעמים מדובר בטרלול מוחלט של מספרים. במאמר הזה אני אציג את התהליך המלא לבדיקה של כל העסק הזה, מההתחלה ועד הסוף. קחו בחשבון שזה תהליך שיכול לקחת חמש דקות או חודשיים וכרוך לעיתים בעבודת נמלים. ולמרות שמאחורינו מאות פרוייקטים כאלו, לא כולם מסתיימים בחדשות טובות.
לפני שמתחילים:
- זה לא משנה עם איזו מערכת איקומרס אתם עובדים, מג'נטו, Shopify, Woocommerce או וואטאבר. לשם פשטות הכתיבה אני פשוט אכתוב back-end.
- המצב תמיד לרעת גוגל אנליטיקס. כלומר, לא ייתכן שעסקה תירשם בגוגל אנליטיקס אבל לא תופיע לכם ב back-end. אם זה המצב, אז המפתח על סמים.
- "אני עובד עם (פלאגין מוכן/שופיפיי/מערכת סגורה כלשהי) אין צורך לבדוק" – אחלה. בכל זאת, עשו את הבדיקה ויפה שעה אחת קודם.
שלב א' – בדיקת עסקאות קיימות
לפני שאנחנו רצים לבדוק מה חסר ולמה, אני תמיד מבצע בדיקה על מה שיש, כלומר, להסתכל על העסקאות הקיימות בגוגל אנליטיקס. לצערי זו בדיקה שהמון חברות ובעלי אתרים פשוט לא עושים. מבחינתם, אם זה שם, אז זה נכון. אז מה עושים?
- נכנסים לגוגל אנליטיקס
- פותחים את הדוח Transaction Performance תחת ה E-commerce.
- הדוח הזה מציג את רשימת העסקאות.
- בוחרים בטווח תאריכים למעלה, תאריך של יום אחד ספציפי. איזה שבא לכם, רצוי מהתקופה האחרונה.
- מיון ברירת המחדל של הדוח הזה הוא לפי שווי העסקה. זה לא מעניין. אז הקליקו על הכותרת של Transaction ID על מנת לראות את העסקאות ממוינות לפי מספר העסקה.
- מתחת לטבלה, יש הגדרה של כמה שורות אתם רוצים לראות. פתחו את זה למקסימום האפשרי שמתאים לכם.
- אתם אמורים לקבל משהו כזה:

העמודה הראשונה כאמור מציגה את מספר הטרנזקציה. המספר הזה אמור להיות תואם למספרים ב Backend ובדר"כ אלו מספרים רציפים. אפשר לראות בתמונה שעסקה שמסתיימת ב 33 משום מה לא קיימת, ואולי צריך לחקור את זה, אבל זה עוד לא הזמן. כאמור, קודם כל מסתכלים על מה שיש ולא מה שאין.
שימו לב בתחתית הטבלה כתוב לכם כמה שורות יש. זו כמות העסקאות שגוגל אנליטיקס תפס באותו היום. השוו את זה למספר האמיתי ב Back-end וקבלו מושג לגבי כמות העסקאות החסרה. בגדול, אני יכול לקבל אובדן של עסקה אחת או שתיים מתוך 100 עסקאות, אבל לא יותר. וגם את אלה הייתי בודק.
מה השגנו עד עכשיו? הבנה של כמה עסקאות "נפלו" לנו.
עכשיו מסתכלים על כמה עסקאות אקראיות מתוך הדוח הזה ומשווים את הנתונים המספריים שמוצגים לנו עם המספרים שיש לכם ב Backend, ובעיקר להשוות את ה Revenue (שווי העסקה), Shipping ו Quantity המייצג את מספר המוצרים בעסקה. במידה ויש חוסר התאמה עם המספרים ב Back-end, סביר להניח שהיא תהיה גורפת לכל העסקאות ולא רק לאחת. ובמידה ויש בעיה כזו, הגורם הוא בדר"כ הטמעה לא טובה של ה E-commerce ויש לפנות למפתח. אבל לפני שאנחנו פונים אל המפתח, כדאי להיות קצת יותר מבושלים עם הבעיה.
מה השגנו עד עכשיו? בדיקת תקינות נתונים ברמת העסקה.
צוללים פנימה לעסקה ספציפית
הקליקו על עסקה מסויימת על מנת שגוגל אנליטיקס יציג לכם את המוצרים שנרכשו בעסקה הזו. שם המוצר, SKU, המחיר שלו והכמות. אם אתם לא רואים את ה SKU, הקליקו מעל רשימת המוצרים על הכותרת SKU. במידה ואין שום קשר בין מחט לתחת, כאמור – פנו למפתח. עם זאת, התרחישים הבאים מאד נפוצים:
- מוצרים מסויימים נשלחים עם מחיר אפס
- לא משנה מה הלקוח קנה וכמה, תמיד הכמות של כל מוצר היא 1.
- כל המחירים של המוצרים זהים.
- לא משנה כמה מוצרים המשתמש קנה, בפועל תמיד מופיעים עד X מוצרים ולא יותר.
כך או כך, ממליץ גם לבדוק את ה SKU של המוצרים והשמות שלהם ולוודא שיש התאמה ל Backend.
מה השגנו עד עכשיו? בדיקת נתוני מוצרים בתוך עסקה ספציפית, ובדיקה ששם המוצר וה SKU תקינים.
לסיכום, המטרה של החלק הראשון היא לוודא שמה שכן מופיע בגוגל אנליטיקס מדוייק ב 100%, גם ברמת הטרנזקציה עצמה וגם ברמת המוצרים בתוך הטרנזקציה. כל תרחיש שתיארתי ניתן לזיהוי בקלות ולטיפול מול המפתח.
שלב ב' – בדיקת שעון
זה החלק הכי נחמד שנסתר מעיני הרבה אנשים.
- בחרו יום ספציפי ב Backend ויצאו את רשימת העסקאות לאקסל.
- לכו לגוגל אנליטיקס, לאותו היום ולאותו הדוח שהוצאנו בשלב א' והסתכלו ברשימת העסקאות.
- כל עסקה שמופיעה ב Back-end ולא מופיעה באנליטיקס, צבעו אותה באקסל.
- חזרו לאנליטיקס, אבל הפעם שנו את טווח התאריכים ל 5 ימים כאשר היום הבעייתי ממוקם באמצע. כלומר, אם החלטנו לתחקר את ה 10 ליולי, הדוח באנליטיקס צריך להתייחס לתאריכים 8-12 ליולי.
- חפשו שוב את העסקאות ה"חסרות".
מה אנחנו מחפשים? לפעמים עסקאות נרשמות בגוגל אנליטיקס בתאריך הלא נכון. יום אחרי, יום לפני או אפילו יותר. אז הן לא חסרות. אבל למה זה קורה?
- השעון של השרת לא תואם לשעה שהגדרתם ב View Settings בגוגל אנליטיקס. עסקה שבוצעה באחת עשרה בלילה ביום א' יכולה להירשם על יום ב' באחת בלילה. וודאו שהשעונים בשרת ובגוגל אנליטיקס תואמים.
- גליצ'ים בצד של גוגל אנליטיקס. לא כזה קריטי, כל עוד העסקה נרשמה באופן תקין, פחות מטריד אותי אם זה זז יום אחד קדימה או אחורה.
אם הגעתם עד לכאן, ותיקנתם מה שצריך, זה אומר שכל העסקאות שכן מופיעות בגוגל אנליטיקס תקינות ועכשיו צריך לעבור לצד המורכב יותר וזה העסקאות החסרות באמת.
שלב ג'- איתור עסקאות חסרות
עכשיו הגענו ל Money Time ולשאלה הכי חשובה – למה לעזאזל יש עסקאות שלא מופיעות בגוגל אנליטיקס?
האם הפיקסלים אשמים או האתר אשם?
הבדיקה הראשונה שהייתי עושה, זה לבדוק מה הכתובת של דף התודה. היא יכולה להיות נניח domain.com/transactionSuccess. הולך לדוח של All pages ומסתכל כמה צפיות יש ב URL של דף התודה. נניח שיש 1000 Pageviews, זה אומר בגדול שיש כ 1000 עסקאות. אבל אם בדוחות האיקומרס יש לנו 700 עסקאות זה אומר שייתכן ומשהו מתפקשש בקוד ששולח את נתוני האיקומרס ואז אפשר להמשיך במאמר לשאר הפתרונות, ולדלג על הפסקה הבאה.
אבל(!), יצא כבר שגיליתי שדף התודה בעצמו מופיע מעט פעמים ביחס לכמות הטרנזקציות. כלומר, הדף נטען 500 פעמים בגלל בעיות ביצועים או השד יודע למה, ויש לי בבקאנד 600 עסקאות שנספרו. זה אומר ש 100 עסקאות פוספסו, לא כי הקוד לא תקין, אלא כי הדף לא נטען בכלל כמו שצריך! אז אם חסרים לי Pageviews ברור שגם כל מה שנגזר מזה יתפספס – כל המידע של העסקאות לא ישלח וכמובן כל הפיקסלים למיניהם של רשתות הפרסום. אז מה בודקים? קודם כל זמני טעינה של הדף, עומס של קוד, צמצום הקונטיינר של GTM וכו'. כך או כך, זו שיחה שאתם צריכים לנהל מול המפתח.
טיפ קטן: קחו בחשבון שייתכן שהבקאנד סופר עסקאות שבוצעו באופן אחר (נניח באמצעות הטלפון, או דרך דפים אחרים, שותפים וכו'), אז וודאו שאתם משווים עגבניות לעגבניות.
ממשיכים…
אז בהנחה וכמות ה Pageviews זהה לכמות העסקאות ב Backend, ועדיין חסרות עסקאות בדוחות האיקומרס, נחזור לאקסל.
בגליון האקסל שיצאתם נתונים מה Back-end כבר הייתם אמורים לסמן את כל העסקאות שלא מופיעות בגוגל אנליטיקס. ככל שיש לכם יותר מידע על העסקאות, יותר סיכוי שנמצא את הגורם. אז השלב הראשון והחשוב ביותר הוא לנסות לזהות האם יש משהו משותף בין כל העסקאות שנפלו. אבל שימו לב, כשאני מתכוון משהו משותף, הכוונה שזו תכונה שיש רק לעסקאות האלה החסרות ואין לעסקאות התקינות. כלומר, אם כל מה שמשותף לעסקאות החסרות זה שהמשתמש שילם בכרטיס אמריקן אקספרס, יש לבדוק אם יש עסקאות באמריקן אקספרס שכן עברו לאנליטיקס. אם כן, זה לא הגורם. שוב, חפשו גורם שלא רק שהוא משותף לכל העסקאות האחרות, אלא הוא גם ייחודי להם. למשל:
- כל העסקאות החסרות הן של PayPal או סולק ספציפי אחר, או כרטיס אשראי ספציפי.
- לכל העסקאות יש הטבה שהופעלה, כגון קוד קופון.
- בכל העסקאות שנפלו יש משלוח בתשלום/בחינם.
- כל העסקאות כוללות את אותו מוצר ספציפי (כמו מתנה שמתווספת בקופה), או סוג מוצר (נניח באנדלים, שזה אומר קבוצה של מוצרים שנמכרים כיחידה אחת כמו חבילת שי)
- כל העסקאות שנפלו התרחשו באותן שעות (נניח בלילה, או בין 8-9 בבוקר או וואטאבר)
- כל העסקאות שנפלו כוללות מעל X מוצרים (בעיה מאד מוכרת)
- כל העסקאות שנפלו בעלות הכנסות מעל סכום X.
כל אחת מהסיבות שתוארו לעיל, למעט 6, אלו סיבות נהדרות. למה אני אומר את זה? כי ניתן היה לאבחן אותן בקלות ולפיכך גם הפתרון דורש בדר"כ תיקון קל בקוד. נורא קל להסביר למפתח איפה הכשל וניתן כמובן לתקן ולבדוק מחדש. מעבר לכך, כל המידע הזה נמצא בכל Backend, ולא משנה עם איזו מערכת אתם עובדים. אבל סיבה מספר 6 היא מאד מיוחדת.
עסקאות הכוללת מעל X מוצרים
לגוגל אנליטיקס יש מגבלה של נפח המידע שנשלח ב event אחד. הבעייה מחמירה באתרי סופרמרקט למיניהם ששם עסקה יכולה להכיל עשרות אם לא מאות מוצרים, ועל כל מוצר יש כל מיני Custom dimensions שהוספתם. איך יודעים? כל המידע שנשלח לגוגל אנליטיקס בקריאה אחת לא יכול לעבור משקל של 8kb שזה בערך 8200 תווים. זה אמור להספיק לכמה עשרות מוצרים ברמה בסיסית. במידה וזה המקרה וחרגתם מהמקסימום, אתם תראו בלשונית של ה Console ב DevTools בדפדפן, את ההודעה "Payload Size is too large" וגם יצויין המשקל הנוכחי של הקריאה ותדעו כמה צריך לצמצם. יש כמה דרכים לצמצם את הקריאה אבל זה רחוק מלהיות טריוויאלי או שאוכל לכסות את זה כאן. אחד הפתרונות אגב, זה לפצל את הטרנזציה לכמה טרנקזציות קטנות יותר או כל מיני תכמונים ותרגילים אחרים.
אוי שכחתי, גם אם אין לכם הרבה מוצרים בכל עסקה, אבל משום מה אתם דוחפים המון נתונים אפילו לעסקה של שלושה מוצרים, התרחיש הזה אפשרי לגמרי.
תרחישים נוספים ללא מידע
לפעמים מה שמשותף לכל העסקאות שנפלו, זה משהו שחמק מעינינו. משהו שמערכת ה Back-end פשוט לא יודעת. למשל, אם הייתי אומר לכם, שכל העסקאות נופלות מ IP אמריקאי, או רק במובייל, או רק בפיירפוקס. כאן זה מתחיל להיות מאד בעייתי כי העסקאות האלה לא נמצאות בכלל בגוגל אנליטיקס, אז מידע כמו מדינה, רזולוציית מסך, סוג מכשיר , דפדפן וכו' – פשוט לא קיים לנו. ולא רק זה, רוב מערכות ה Back-end פשוט לא אוספות את המידע הזה. אז ייתכן באמת ושום עסקה בפיירפוקס לא נרשמת – אבל איך מוכיחים את זה מתוך הנתונים אם אף מערכת לא אוספת את המידע הזה?
יש לכם שתי אופציות לחקור את זה:
- לעשות טסטים פושט עם VPN, או ממכשירים שונים או דפדפנים שונים שוב ושוב ושוב ולנסות לזהות מכנה משותף בין כל העסקאות שנפלו אם בכלל.
- לשכלל את מערכת ה Backend שלכם כך שתאסוף עבור כל טרנזציה גם מידע טכני כמו דפדפן, כתובת IP, סוג Device, רזולוציית מסך וכו'. מסובך, מגעיל, לא פתרון אסתטי – אבל זה מה שיש.
ועוד קצת..
עוד כמה סיבות אפשריות לפספוס עסקאות באיקומרס:
- לקוח סיפר שכמות המוצרים שאנליטיקס דיווח גדולה מכמות המוצרים שנמכרה בפועל. מה שגיליתי זה שהמשלוח נשלח כמוצר נפרד. כלומר, עסקה שכללה מוצר אחד, נשלחה כעסקה עם שני מוצרים (מוצר+משלוח) שזה כמובן שגוי. משלוח אינו מוצר.
- המשתמש חוסם את גוגל אנליטיקס – או שהוא חוסם קוקיז. כל הטרנזקציות שלו נרשמות כמובן ב Back-end אבל לא בגוגל. ישנן כמה שיטות למדוד האם למשתמש יש או אין חוסם קוקיז/פרסומות וכיו"ב.
- אספתם יותר מדי מידע על כל משתמש וזה חרג מכמות המידע שניתן לאסוף על משתמש בסשן אחד (500 היטים). זה קורה שאתם משתמשים בגוגל אנליטיקס לאיסוף של מידע זבל על המשתמש כמו תנועות עכבר, מעקב אחרי גלילה וכו'. יש כלים אחרים בשביל זה.
- אתם שולחים את המידע על הטרנזקציה תוך כדי Redirect לדף התודה. וייתכנו מקרים שזה פשוט "נופל" בדרך. זה רחוק מלהיות מומלץ, ואני מעדיף כי את כל הפרטים תשלחו לגוגל בדף התודה עצמו ולא בדרך אליו.
- בעיות ביצועים בדף התודה – יותר מדי סקריפטים רצים בדף התודה, וגוגל אנליטיקס איכשהו מתועדף נמוך, כך שהמשתמש מספיק לצאת מדף התודה לפני שהסקריפט רץ. זה אומר שאתם צריכים לנקות את הדף התודה מזבל, לנתח את הביצועים ובעזרת Google Tag Manager לסדר את הסקריפטים לפי עדיפות.
- האתר שלכם מבקש מהמשתמש לאשר או לא לאשר שמירת קוקיז. המשתמש מחליט להתעלם מההודעה או לדחות קוקיז – שום דבר לא יעבוד.
פתרון נפוץ לבעיות שצוינו לעיל, הוא לא לשלוח את העסקה מהדף תודה, אלא מהשרת באמצעות Measurement Protocol. אמנם תקבלו מידע מדוייק אבל יש לזה יותר חסרונות מיתרונות ולכן אני מתייחס לזה כאל פתרון בעדיפות הכי נמוכה.
עסקאות כפולות
בתגובות למטה מישהי ציינה בעייה של ספירה כפולה. יש פה כמה תרחישים:
- בדוח העסקות, כל עסקה מופיעה פעמיים או יותר. זה אומר שבדוח של ה Transaction, תראו 100 שורות במקום נניח 50. אז בהנחה וכל עסקה מדוייקת כשלעצמה, הבעיה היא ככל הנראה טריגרים שלא מוגדרים נכון ב GTM. בנוסף, יש מקרים בהם היוזר יכול לחזור לדף התודה ואז כל הפיקסלים והמידע ייטען שוב. זו תקלה והיא לא אמורה לקרות. ברגע שיוזר עוזב או סוגר את דף התודה, אסור לאפשר טעינה שלו מחדש, ואם זה קורה זו תקלת פיתוח חמורה שצריך לטפל בה. לדפי תודה בעסקאות איקומרס, חייב להיות "תוקף".
- רשימת העסקאות תקינה, אבל בתוך כל עסקה, כל מוצר מופיע פעמיים – זו תקלה בקוד שאתם שולחים לגוגל אנליטיקס או ב GTM. קל לתקן יחסית.
- רשימת העסקאות תקינה, בתוך כל עסקה מספר מוצרים תקין, אבל הסכומים כפולים – במקום שפריט יעלה 10 שח, כתוב שהוא עולה 20 שח. גם כאן, תקלה בקוד שאפשר לתקן יחסית בקלות.
תוספים ומערכות איקומרס סגורות
אם אתם משתמשים בשופיפיי או וורדפרס ונעזרים באפליקציות, תוספים למיניהם וכו' – אז לכאורה אין לכם יותר מדי מה לעשות. הפלטפורמות האלה שולטות בדאטה שהן שולחות לגוגל אנליטיקס וזה באשמתן בעיקר.
אם Pixel Your Site מפספס הרבה עסקאות באתר ה WooCommerce שלכם, סביר להניח שזו לא בעיית קונפיגורציה אלא שהתוסף פשוט לא מתאים לאתר שלכם. זה קורה כי עשיתם שינויים רבים בטמפלטים ושינויים בקוד. ברמה האישית, אני חושב ש PYS הוא מוצר בינוני שלא יכול להתמודד עם כל השינויים ב WP וב WOO ולא מתוחזק ברמה הראויה. אני ממליץ לא להשתמש בו ולפנות לאיש פיתוח שיעשה לכם את זה.
אם אתם עובדים עם Shopify אני ממליץ לעבוד עם Elevar שמטפל בכל הפיקסלים ואנליטיקס דרך GTM בצורה נוחה, פשוטה ומדוייקת וגם עושה בקרה על הנתונים. אתם מוזמנים ליצור איתי קשר לגבי המוצר הזה.
ו..אני חושב שזהו. עכשיו שימו את המאמר הזה ב Bookmarks ושלפו אותו כשיגיע הצורך.
כתבה מצויינת! גיליתי שכמעט בכל הרכישות – באנליטיקס נראהשהכל כפול…אם בפועל רכשו מוצר מסויים, באנליטיקס נראה שמוצר זה נרכש על ידי אותו אדם כפול 2. אשמח לקבל כיוון כיצד אני מתקנת דבר כזה.
מה זה "אותו אדם"? השאלה היא אם יש שתי טרסנקציות עם אותו מספר או שיש באותה טרנזקציה כל מוצר נרכש פעמיים.
נעזרתי במאמר. עדין לא מצאתי את מקור הבעיה, אבל בוודאי התקדמתי הרבה, ויש לי עוד ש"ב…
שמחתי למצוא באנליטיקס נתונים שלא ידעתי על קיומם… וביניהם גם הוספתי פילוח ברכישות, ובכך ווידאתי שבאופן כללי הרכישות מגיעות מכל סוגי המכשירים (טבלט, נייד ונייח) ואני חושבת שכדאי להוסיף במאמר המצוין את הרעיון לבדוק ע"י פילוחי האנליטיקס אפשרויות (סקירה כללית על מסחר אלקטרוני) ולראות אם נרשמו העיסקאות בכל הפילוחים המוצעים שם.
מאמר טוב אע"פ שלא סייע למצוא את החוסרים בגוגל אנליטיקס.
חסרים הרבה עיסקאות כאשר מתבוננים בביצועי מכירות.
בהמשך השוטטות גיליתי שבסעיף "המרות" תת סעיף "סקירה כללית" בשלב 6 "רכישה" מופיעים כל העיסקאות.
אבל לא מופיעים בשאר נתוני האנליטיקס – יש השערה למה ?
תודה מראש
אני לא עובד עם הגרסה העברית של אנליטיקס (ואני לא ממליץ גם כי התרגו םקלוקל), אז לא מכיר את המונחים האלה. בנוסף, בהתחלה אמרת שחסרות לך עסקאות ואחר כך כתבת שכל העסקאות כן מופיעות. לא ברור לי מי מה מו. ממליץ לך לשאול בקבוצה, ולצרף צילומי מסך.