גשר PostHog, Mixpanel & Amplitude

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

1. הבעיה: מספרים ללא פנים

ניתוח מוצר מציג משפך: 1,000 משתמשים הגיעו לתשלום, 620 נטשו. זו מדידה מדויקת של בעיה שעדיין אי אפשר לראות. צפייה בכמה מתוך 620 ההקלטות בדרך כלל עונה על השאלה בתוך דקות — אך רק אם אפשר להגיע מהתרשים לסשנים הנכונים בלי לייצא מזהים ולחפש ידנית.

גשר ניתוח המוצר מסיר את הפער. הוא פועל בתוך mp.js ומקשר אוטומטית בין שתי המערכות:

  • יוצא: כל אירוע שכלי הניתוח מקליט כולל מאפיין mouseplayer_session_url — פתיחת אירוע ולחיצה על הקישור מאפשרות צפייה בסשן.
  • נכנס: המזהה של המבקר, distinct_id נקרא בחזרה ונשמר בסשן MousePlayer, כך שניתן לחפש הקלטות לפי אותה זהות שכבר משמשת ב-PostHog, ב-Mixpanel או ב-Amplitude.

ללא צורך בקוד. הגשר מזהה בעצמו את SDK הניתוח. אין צורך לקרוא לפונקציה של MousePlayer או לשנות את אופן המעקב אחר אירועים.

2. הפעלה

שיטה א׳: לוח מחוונים (ללא קוד)

  1. יש לפתוח את הפרויקט ולעבור ללשונית שילובים
  2. יש להעביר את גשר PostHog, Mixpanel & Amplitude למצב ON.
  3. יש לבחור את הפלטפורמה שבשימוש. השינויים נשמרים אוטומטית.

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

שיטה ב׳: הגדרת סקריפט ידנית

להגדרה בקוד, יש להגדיר את שני הערכים בתוך window.mp_config:

<!-- MousePlayer SDK with the Product Analytics Bridge enabled --> <script> window.mp_config = { channel: 'YOUR_CHANNEL_ID', analytics_bridge_active: true, analytics_provider: 'posthog' // 'posthog', 'mixpanel' or 'amplitude' }; </script>

3. מה קורה בכל פלטפורמה

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

פלטפורמהיוצא (URL הקלטה)נכנס (זהות)
PostHog posthog.register() — נרשם כ-super property, ולכן מצורף לכל אירוע הבא אחריו posthog.get_distinct_id()
Mixpanel mixpanel.register() — אותה התנהגות של super property mixpanel.get_distinct_id()
Amplitude setUserProperties() — מוגדר כמאפיין משתמש getDeviceId(), עם מעבר לשימוש בערך getInstance().options.deviceId ב-SDK הישן

Super property לעומת מאפיין משתמש: ב-PostHog וב-Mixpanel ה-URL של ההקלטה מצורף לאירועים מכאן ולהבא, ולכן נמצא בכל אירוע שמופעל לאחר אתחול הגשר — ולא באירועים שכבר נשלחו קודם במהלך טעינת הדף.

4. זהות: מ-distinct_id לסשן מזוהה

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

לאחר הפעלת הגשר, המזהה distinct_id מכלי הניתוח נכתב לשדה הסשן custom_user_id — אותו שדה שאליו כותבת קריאת SDK ידנית:

// The manual equivalent - you do NOT need this when the bridge is active mp('set', { user_id: 'your-internal-id' });

אם כבר נעשית קריאה לפונקציה mp('set') בקוד שלך, יש להמשיך בכך. זהות שסופקה במפורש אמינה יותר, כי זהו המפתח הראשי שלך ולא מזהה ניתוח נפרד לכל דפדפן.

הערת פרטיות: מועבר רק המזהה שכלי הניתוח כבר הקצה. לא נקראים מה-SDK כתובת דוא״ל, שם או שדה אישי אחר. יש לוודא שמדיניות הפרטיות מכסה עיבוד זה, ולחסום את סקריפט המעקב בכלי ההסכמה אם הבסיס המשפטי הוא הסכמה.

5. התנהגות טכנית

רכיבי SDK לניתוח נטענים בדרך כלל באופן אסינכרוני, ולעיתים לאחר שהרכיב mp.js כבר פועל. לכן ניסיון יחיד בעת ההפעלה היה נכשל ברוב האתרים האמיתיים.

  • הגשר מנסה שוב בכל 1.5 שניות, עד עשר פעמים, ועוצר ברגע ששני הכיוונים הושלמו.
  • כל כיוון מסתיים בנפרד, כך שה-URL של ההקלטה לעולם אינו נשלח פעמיים בעת ההמתנה להופעת זהות.
  • אם ה-SDK אינו מופיע, הגשר מפסיק לנסות בשקט לאחר כ-15 שניות. דבר אינו נכתב למסוף והקלטת הסשן ממשיכה ללא הפרעה.
  • מזהים ארוכים מ-128 תווים נזנחים במקום להיחתך, כדי לא לשמור חצי מזהה שלעולם לא יתאים לדבר.

6. בדיקת הפעולה

  1. יש לפתוח את האתר בלשונית דפדפן רגילה ולבצע בו אינטראקציה קצרה.
  2. בכלי הניתוח יש לפתוח את האירוע החדש ביותר ולחפש את mouseplayer_session_url במאפייניו. פתיחתו אמורה להוביל ישירות להקלטה.
  3. ב-MousePlayer יש לפתוח את User Explorer. סשנים עם זהות מציגים אותה במקום כינוי המבקר האוטומטי.

אם דבר אינו מופיע

  • המאפיין חסר בכל האירועים: יש לבדוק ש-SDK הניתוח אכן נטען בדף ושהפלטפורמה המתאימה נבחרה. בחירת PostHog לא תקרא Mixpanel.
  • המאפיין מופיע רק באירועים מאוחרים יותר: זה צפוי, ראו הערה בסעיף 3.
  • ה-URL קיים אך הזהות חסרה: ה-SDK עדיין לא הקצה מזהה distinct_id — וזה תקין לפני זיהוי משתמש. הוא ייקלט בטעינת דף מאוחרת יותר.
  • הבדיקה נעשית כמנהל מחובר: בחלק מההתקנות תעבורה פנימית מוחרגת. אפשר לנסות חלון פרטי.

כל הסימנים המסחריים המוזכרים כאן שייכים לבעליהם בהתאמה. ל-MousePlayer אין קשר עסקי עם ספקים אלה.