צ’אטבוטים זה השחור החדש. כולם מדברים עליהם, כולם מוסיפים אותם לאתרים שלהם, ויש אפילו קורס מצוין של דימה קגנוביץ’ שמלמד איך להכין אותם.
אבל השאלה הגדולה היא – איך מודדים אותם?
למה בכלל צריך למדוד?
אחת מאסטרטגיות העבודה עם צ’אטבוטים היא באמצעות flows:
אנחנו מנצלים את העובדה שהמשתמש נמצא איתנו בשיחה, ולכן אנחנו לא נזרוק עליו את כל האינפורמציה בבת אחת (כמו שאנחנו עושים בניוזלטר) אלא ניקח אותו שלב אחר שלב ובכל פעם נוסיף עוד ועוד אינפורמציה.
ה-flow יכול לכלול גם אפשרויות בחירה, ולהציג לגולש הודעות בהתאם לאפשרויות שהוא בחר.
ופה נשאלת השאלה – איך אני יכול לדעת כמה גולשים ראו הודעה מסוימת ב-flow של הבוט? איך אפשר לדעת כמה מהם התקדמו מהודעה 1 להודעה 2? איך אפשר לדעת על מה הם לחצו ובאיזה אופציה הם בחרו במידה ואני נותן להם לבחור בין כמה אופציות?
ובכן, פה יש 2 אפשרויות, ולכל אחת יש יתרונות וחסרונות משלה –
אפשרות 1 – חיבור למערכת ייעודית למדידת צ’טבוטים.
אפשרות 2 – מדידה באמצעות גוגל אנליטיקס.
אפשרות #1 – חיבור למערכת ייעודים למדידת צ’טבוטים
נכון לזמן כתיבת שורות אלו, מבין שתי המערכות המובילות בשוק (ManyChat ו-Chatfuel) רק צ’אטפיול מאפשרת אינטגרציה מובנית עם פלטפורמה למדידת בוטים, וככה זה נראה:
אחרי שתתחברו לאחת הפלטפורמות תגיעו למסך שיראה לכם כמה Active Users יש לכם, מאיפה הם הגיעו לבוט, ניתוח של המילים הפופולאריות ביותר ועוד כל מיני נתונים מעניינים.
היתרון של הפלטפורמות הללו הוא בכך שהם מבצעות את כל המדידה באופן אוטומטי באמצעות חיבור ל-API, ומספקות הרבה מאוד נתונים שיכולים לעזור לכם בניתוח הפעילות של הבוט.
החסרון של השיטה הזו, הוא בכך שהיא לא מאפשרת לחבר בין הפעילות בתוך הצ’אט בוט לבין הפעילות באתר, שלרוב נמדדת באמעצות גוגל אנליטיקס.
אפשרות #2: מדידת צ’אטבוט באמצעות גוגל אנליטיקס
תחשבו על סיטואציה שבה היוזר מתחיל שיחה עם בוט ואז הבוט שולח לו לינק למעבר לאתר לצורך השלמת הרכישה – בתור בעלי האתר היה מעניין אותנו קודם כל לקבל נתונים אודות האינטרקציות שהגולשים ביצעו עם הבוט, ודבר שני היה מאוד מעניין אותנו לדעת איך האינטרקציות הללו השפיעו על המכירות באתר.
במילים אחרות, אנחנו צריכים לבצע 2 פעולות:
1. מדידה של פעולות הגולשים בתוך הבוט – באמצעות איוונטים בגוגל אנליטיקס (אילו הודעות הוא ראה, על מה הקליק ובאילו אופציות בחר).
2. חיבור של הפעילות שבוצעה בתוך הבוט עם הפעילות שבוצעה בתוך האתר (בכמה עמודים צפה, מה רכש ובאיזה סכום).
אבל רגע, לכאורה יש פה רצף של פעולות שקרו בפעם אחת אז למה צריך את שלב 2? הרי הגולש נכנס לבוט, התכתב איתו קצת ואז לחץ על לינק כלשהוא שהעביר אותו לאתר וסייע לו להשלים את הרכישה – וכל זה קרה ברצף אחד אז איפה בדיוק הבעיה?
אז זהו שלא.
באופן כללי צריך לדעת שבפעם הראשונה שהגולש מגיע לאתר שלנו, גוגל אנליטיקס נותן לו מספר מזהה בשם clientId שהולך איתו לאורך כל הביקורים העתידיים שלו. בכל פעם שהוא יצפה בדף, יבצע איוונט כלשהוא או ישלים רכישה באתר – הפעולות הללו ישוייכו לאותו clientId שנוצר בביקור הראשון.
אבל מה קורה אם אנחנו מודדים את הגולש בצ’אטבוט ואז מעבירים אותו לאתר מבלי לחבר ביניהם?
נכון מאוד, אנחנו נראה את הנתונים של הבוט בנפרד, ואת נתוני הגלישה באתר בנפרד.
שימו לב שגם אם הגולש מבצע את השיחה באמצעות ה-messenger chat שמוטמע באתר שלנו, אם תעשו Inspect Element על הווידג’ט של הבוט, תוכלו לשים לב שהוא פועל מתוך iframe שיושב על הדומיין של פייסבוק, וכמובן שאין לנו אפשרות לשתול שם תג מנג’ר או גוגל אנליטיקס כדי לבצע חיבור כזה או אחר.
אז איך נשלח מידע על האינטרקציות שבוצעו בתוך הבוט לתוך גוגל אנליטיקס?
לצערי רק Chatfuel מאפשרים את האינטגרציה הזו נכון להיום, ולכן אם אתם משתמשים בפלטפורמה אחרת אין לי פתרון עבורכם (כרגע).
אני יודע ש-ManyChat עובדים על משהו דומה, אבל כרגע זה עדיין בבטא.
בכל אופן, השלבים של ה-flow בצ’אטפיול נקראים בלוקים.
בכל בלוק כזה יש אפשרות להציג למשתמש הודעה אחת או יותר, אפשרויות בחירה, שדות input ועוד – הדברים הללו נקראים Cards.
מה שאנחנו צריכים לעשות הוא פשוט מאוד –
שלב 1: הגדרה של ערכי האיוונט
כמו שאתם רואים, בבלוק שלפניכם הגולש רואה הודעה מסויימת ומיד אחריה אני מגדיר שדה פנימי בשם event_action ונותן לו ערך של “מה זה הכנס הזה” (זה השם של הבלוק):
את הדבר הזה אני צריך לעשות בכל אחד מהבלוקים של הבוט שלי, כי זה מה שיוצג אחר כך בערכי האיוונטים שלי בגוגל אנליטיקס.
שלב 2: יצירת webhook בזאפייר שיקבל את הנתונים, ושליחת הערך שיש בתוך event_action ל-webhook שיצרנו
למי שלא יודע, וובהוק זו כתובת URL שיודעת לקבל נתונים ולעשות איתם דברים כלשהם.
במקרה שלנו, צרו זאפ חדש בזאפייר, ובחלק של ה-Trigger חפשו את המילה webhook ואז בחרו Webhooks by Zapier:
לחצו על Continue ובשלב הבא בחרו Catch hook:
אחרי שהמשכתם, חזרו לשלב של Set Up Webhook והעתיקו את ה-URL שמופיע לכם:
חזרו לצ’אטפיול, צרו CARD מסוג JSON API, בתפריט של TYPE בחרו POST ובשדה והדביקו את ה-URL שהעתקתם מזאפייר:
בנוסף, בשדה של USER ATTRIBUTES הכניסו את ה-event_action שיצרנו קודם וגם messenger user id שהמערכת מספקת לכם בעצמה (פשוט כתבו “}}” וזה יפתח לכם תפריט עם המשתנים הזמינים).
מה שהולך לקרות פה, זה שבכל פעם שהבלוק הזה יופיע לגולש, הוא קודם כל יציג לו את ההודעה של הבוט, ואז הוא ייצור מאחורי הקלעים שדה בשם event_action שיכיל את הערך “מה זה הכנס הזה”, ומיד לאחר מכן ישלח לוובהוק של זאפייר את תוכן השדה ביחד עם ה-ID הייחודי של היוזר במסנג’ר.
שימו לב: את שתי ה-CARDS הללו יש להוסיף בכל פעם שאתם רוצים לשלוח מידע כלשהוא – זה יכול להיות פעם אחת בבלוק או אפילו 10 פעמים בבלוק אם יש לכם 10 פעולות שונות שיכולות לקרות באותו בלוק (מה שלא מומלץ אגב). כל צמד כרטיסים כזה קובע ערך אחר ל-event_action ואז שולח אותו לזאפייר (ששולח אותו לאנליטיקס, כפי שנראה בשלב הבא).
כמובן שאפשר לקבוע באופן ידני ערכים גם לשדות Event Category, Event Label ו-Event Value אבל לי זה לא היה קריטי ולכן הסתפקתי ב-Event Action בלבד.
שלב 3: שליחת המידע לאנליטיקס
חזרו לזאפייר, ובחלק של Action בחרו שוב פעם Webhook אבל הפעם בחרו ב-GET:
בפעולה הזו אתם שולחים לגוגל אנליטיקס את המידע שהתקבל מצ’אטפיול באמצעות ה-measurement protocol, שמאפשר לשלוח נתונים לאנליטיקס גם בלי שהגולש נמצא פיזית באתר שלכם.
בשדה URL רשמו https://www.google-analytics.com/collect (לשם הנתונים יישלחו).
תחת Query String Params הוסיפו את השדות כפי שמופיעים בצילום שלפניכם:
cid ו-uid זה ה-clientId וה-User Id של הגולש. למעשה זה ה-messenger user id שאנחנו מקבלים מצ’אטפיול, אבל מכיוון שאנחנו צריכים גם clientId וגם userId – אין בעיה להשתמש באותו מספר בשניהם.
תחת ea הכניסו את הפרמטר event action שמתקבל מהצ’אטפיול באמצעות הוובהוק שיצרתם בשלב הקודם.
ec זה event category. כמו שציינתי קודם, במקרה שלי חסכתי לעצמי עבודה והגדרתי אותו בתור ערך קבוע, למרות שגם אותו היה אפשר להגדיר בנפרד עבור כל בלוק בצ’אטפיול כמו שעשינו עם event_action (כנ”ל לגבי el – event label ו-ev – event value).
t זה event type, במקרה שלנו יהיה event כי אנחנו שולחים איוונט.
v זה הגרסא של ה-measurement protocol. כרגע פשוט רשמו שם 1.
tid זה המספר של האנליטיקס שלנו (tracking id). אתם בטח יודעים איפה למצוא אותו…
ו… זהו! מעכשיו בכל פעם שה-CARD מסוג JSON API ירוץ בצ’אטפיול, הוא ישלח את הנתונים לכתובת הוובהוק של זאפייר, ומיד לאחר מכן הנתונים יישלחו לחשבון האנליטיקס שהגדרתם בזאפ:
שלב 4 – צפייה בנתונים בגוגל אנליטיקס
כאן זה קצת מסתבך, כי כמו שאמרנו קודם, לשלוח את הנתונים מצ’אטפיול לגוגל אנליטיקס זה החלק הקל, אבל אני רוצה לדעת את הביקור באתר כהמשך של השיחה בצ’אט (או לפחות לדעת ששניהם שייכים לאותו גולש, מה שלא מתאפשר כרגע כי בכל אחד מהם הגולש מקבל clientId שונה).
כדי לעשות את השיוך הזה אני צריך להשתמש בפיצ’ר של גוגל אנליטיקס בשם User Id, שמחבר בין שני client Ids (או יותר) ומתייחס אליהם בתור גולש אחד.
במילים אחרות, אני רוצה להגיד לגוגל אנליטיקס שגולש עם clientId מספר 123 שהגיע מצ’אטפיול זה אותו גולש עם clientId מספר 987 שהגיע לאתר ועשה בו מה שעשה.
(אותו דבר אגב קורה בחיבור בין כמה מכשירים – בכל אחד מהמכשירים (מובייל, דסקטופ וכו’) הגולש מקבל clientId שונה, ואני צריך להשתמש במזהה שנמצא מעליהם (-userId) ויודע להגיד ששני ה-clientIds שייכים לאותו גולש.)
באתרים שבהם יש לוגאין הכי קל להטמיע User Id, כי ברגע שהגולש מתחבר לחשבון שלו אני יודע לזהות אותו ולתת לו userId ייחודי ולא משנה מה ה-clientId שהמערכת נתנה לו.
במקרה שלנו זה קצת יותר מסובך כי הגולש לא עושה לוגאין באתר, ולכן נצטרך למצוא דרך “לפתות” אותו להגיע לאתר דרך לינק בצ’אט, וללינק הזה אנחנו נשרשר את ה-userId.
אגב, כמו שבאתר אני אנסה לתת לגולש סיבות מספיק טובות לעשות לוגאין, ככה במקרה שלנו אני צריך למצוא סיבות מספיק טובות שיגרמו לו ללחוץ על הכפתור ולהגיע לאתר.
כאשר הגולש ילחץ על הכפתור, אני אשרשר את ה-messenger user id לפרמטר שנמצא בלינק, ואז אשלוף אותו עם התג מנג’ר ואשתמש בו בתור userId:
שליפת הפרמטר מה-URL:
הוספת ה-userId כדי שישלח ביחד עם ה-pageview לגוגל אנליטיקס:
אגב, ברגע שהצלחתם לגרום לגולשים לעבור לאתר מתוך הבוט שלכם, תוכלו לשרשר גם את ה-gender האמיתי שלהם ולא להסתמך על ההערכות של גוגל אנליטיקס.
שלב 5: פתיחת View ייעודי לגולשים עם UserId
כאן עליכם להדליק את האופציה של User Id תחת הגדרות הפרופרטי, לאשר את תנאי השימוש ואז לפתוח View ייעודי אליו יכנסו כל הגולשים המזוהים באמצעות הפרמטר של User Id:
וזהו!
סיכום ותובנות עסקיות
מה שעשינו בפוסט הזה יאפשר לכם לעשות 2 דברים:
1. לעקוב אחרי האינטרקציות שהגולשים מבצעים עם הבוט שלכם,
2. אם הצלחתם למצוא תמריץ שיגרום להם לעבור מתוך הבוט לאתר – תוכלו גם לעקוב אחרי פעולות ההמשך שלהם בתוך האתר ולשייך אותם לפעולות שהם ביצעו או לא ביצעו בתוך הבוט.
אם נדבר רגע על התובנות העסקיות שאפשר להוציא מזה, אז לאחר שתבצעו את האינטגרציה תוכלו לענות על שאלות כמו “האם גולשים שבחרו X בבוט רוכשים בסכום גבוה יותר מאשר גולשים שבחרו Y” או “מה ה-LTV של גולשים שנחשפו לקמפיין A לעומת ה-LTV של גולשים שנחשפו לקמפיין B”.
הערה חשובה לסיום: גוגל אנליטיקס מחייבת לשלוח את ה-userId עם כל היט שאתם שולחים אליה, ולכן עליכם לשמור את ה-userId בתוך איזה localStorage או קוקי, כדי שגם בסשנים הבאים תוכלו להשתמש באותו userId ולא רק ב-pageview הראשון.
זהו, אם שרדתם עד לכאן תנו איזה שיתוף או משהו כזה כדי שאראה שאתם עדיין חיים 😉