מחזור חיים (בצד השרת)

שליחת קישור ההקלטה ל-ActiveCampaign, Mailchimp, Iterable או Klaviyo מהשרת שלנו ברגע שסשן מקבל את מזהה הלקוח שלך.

1. מדוע הוא קיים לצד גשר הדפדפן

ל-MousePlayer כבר יש גשר מחזור חיים שכותב ל-SDK שפועל בדף שלך — Klaviyo, Braze, Customer.io ושישה נוספים. הגשר הזה מבצע אותה עבודה מהשרת שלנו, והוא קיים כי בשתיים מהפלטפורמות הגדולות ביותר נתיב הדפדפן פשוט אינו זמין:

  • ל-ActiveCampaign אין כלל API דפדפן לאירועים. הרכיב שלה, vgo() יכול להגדיר חשבון וכתובת דוא״ל ולהתחיל מעקב — אך לא לשלוח אירוע. אירועים עוברים דרך Event Tracking API עם מפתח אירועים נפרד, בצד השרת בלבד.
  • ל-Mailchimp יש API כזה, אך עם אוצר מילים סגור. פיקסל מעקב האתר שלה מקבל PAGE_VIEWED, PRODUCT_VIEWED, PURCHASED ועוד כמה שמות מוגדרים מראש. אין מקום לאירוע מותאם, ודחיסת הנתונים שלנו לאירוע PAGE_VIEWED תהיה שקר בתוך מודל הנתונים שלך.

ב-Iterable וב-Klaviyo נתיב השרת פשוט אמין יותר: ללא חוסם פרסומות, ללא SDK שאולי נטען ואולי לא, וללא סגירת לשונית מוקדמת.

2. מה נדרש

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

פלטפורמהשדה חשבוןמפתח
ActiveCampaignactidWebsite → Site Tracking, לצד מפתח האירועים
Mailchimpמזהה הקהלמפתח API — יש לשמור על הסיומת שלו בסגנון -us14 — שממנה נקרא מרכז הנתונים
Iterableלא נדרש — יש להשאיר ריקמפתח עם ההרשאה “Allow event track calls”
Klaviyoלא נדרש — יש להשאיר ריקמפתח פרטי ל-API

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

Mailchimp: יש לשמור על הסיומת של מפתח ה-API. החלק שאחרי המקף האחרון (-us14) מציין את מרכז הנתונים שבו נמצא החשבון, וממנו נבנית הכתובת. מפתח בלעדיו נדחה בהודעה ברורה במקום להיכשל במקום שאי אפשר לראות.

3. מתי הוא מופעל — ומתי לא

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

רק עם כתובת דוא״ל

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

איש הקשר חייב להיות קיים מראש. אף אחת מהפלטפורמות אינה יוצרת איש קשר מאירוע; ActiveCampaign משליכה את האירוע כולו אם אינה מכירה את הכתובת. הגשר מעשיר אנשי קשר קיימים — הוא אינו בונה את הרשימה שלך.

כל אירוע כולל מזהה

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

4. מה מגיע לצד השני

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

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

המפתח לעולם אינו יוצא מהשרת שלנו

הוא נשמר בהצפנת AES-256-GCM, לעולם אינו מוצג שוב לאחר השמירה, ובמכוון אינו נכלל בתור הפנימי שנושא את המשימה — ה-worker מאחזר אותו בעצמו מבסיס הנתונים.

HTTP 200 אינו אומר שהאירוע נמסר

ActiveCampaign משיבה בסטטוס 200 ועם {"success":0} כשהיא דוחה אירוע. אנו קוראים את גוף התשובה ולא רק את הסטטוס, כך שדחייה מופיעה ככשל ביומן המשלוחים ולא כהצלחה שקטה.

5. Braze, Customer.io ו-Brevo

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

מה מספקיםזיהוי לפי
Brazeנקודת קצה REST ומפתח APIכתובת דוא״ל
Customer.ioמזהה אתר, מפתח API והאזור שלךמזהה הלקוח שלך
Brevoמפתח המעקב בלבדכתובת דוא״ל

שתיים מהן נמצאות במקום מסוים

Braze מפעילה נקודות קצה REST התלויות במופע; Customer.io פועלת בשני אזורים נפרדים עם מארחים שונים. אי אפשר להסיק אף אחד מהם מהמפתח, ובחירה שגויה מחזירה 401 — שמובילה לבדיקה מיותרת של המפתח. שני השדות קיימים רק מהסיבה הזאת.

Customer.io היא היחידה שאינה דורשת דוא״ל

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

ללא פרופילים חדשים

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

Brevo משיבה 204, Braze משיבה 201 עם הסתייגות

Brevo אינה מחזירה גוף כלל — שם 2xx הוא אכן כל הסיפור. Braze מחזירה "message": "success" ועשויה לכלול לצידו מערך errors נוסף: בעיות חמורות מופיעות בהודעה, ואובדן שדות נסבל מופיע רק ב-errors. קריאה של אחד מהם בלבד שוגה בכיוון זה או אחר.

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