ליקספיקס – גוגל אנליטיקס, גוגל תג מנג'ר ואופטימיזציה

איך לשמור את מקור התנועה הראשון בגוגל אנליטיקס

בעקבות הדוגמא שהראיתי בהרצאה שלי בכנס All Things DATA האחרון, ובעקבות בקשות לשיתוף הסקריפט, החלטתי לכתוב על זה פוסט.

איך לשמור את מקור התנועה הראשון של הגולש בעזרת גוגל אנליטיקס וגוגל תג מנג’ר

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

לדוגמא, גולש שהגיע מאדוורדס ולא המיר, נכנס שוב מפייסבוק ולא המיר, נכנס שוב מניוזלטר ולא המיר ואז נכנס שוב מתוצאה אורגנית והמיר – הקרדיט ילך ל-google / organic כיוון שהוא היה האחרון שהביא את הגולש.

האם זה פייר? לא נכנס לזה כרגע (תקראו קצת על attribution בגוגל).

בכל אופן יש הרבה עסקים שרוצים לדעת את ה-first lead source שלהם, כלומר רוצים לדעת מי היה מקור התנועה שהכניס את הגולש לפאנל, גם אם הוא לא היה המקור האחרון ש”סגר” את ההמרה.

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

הפתרון – Custom Dimension בשילוב localStorage ו-Google Tag Manager

נשמע מסובך? אז זהו שממש לא.

המרשם שלנו יראה כך:

1. בכל פעם שהגולש נכנס לאתר אנחנו נבחן האם הוא גולש חוזר או גולש חדש.

1.1. במידה והוא גולש חוזר (כלומר יש לנו מידע על ה-First Source שלו) – ניתן לו להמשיך לגלוש כרגיל.

1.2. במידה וזיהינו שהוא גולש חדש (כלומר אין לנו מידע על ה-First Source שלו) – נבצע מספר בדיקות שיספקו לנו את מקור התנועה ממנו הוא הגיע.

2. לאחר שקיבלנו את מקור התנועה, נשמור אותו ב-local storage שזה בעצם משהו שדומה מאוד לקוקי ומאפשר לנו לשמור ערכים לשימוש חוזר בעתיד.

3. כאשר הגולש משאיר ליד (או אפילו מבצע את ה”המרה הגדולה” = הפקדה של כסף) – נשלוף את הערך ששמרנו ב-local storage ונשלח אותו בתור custom dimension לגוגל אנליטיקס.

שלב ראשון – יצירת custom dimension

קאסטום דיימנשן זה בעצם dimension משלנו שלא קיים בדוחות הרגילים בגוגל אנליטיקס.

מי שרוצה יכול להרחיב על הנושא כאן או כאן, אבל בקצרה אציין שדימנשן זה country למשל, והערכים של הדימנשן הזה הם israel, united states וכו’ וכו’.

כאשר נרצה לראות כמה גולשים הגיעו מכל מדינה ומה היה אחוז ההמרה של כל מדינה – נשים את הדימנשן Country לצד מטריקות כמו Sessions ו-Goal Conversion Rate.

גם במקרה שלנו אנחנו רוצים לדעת כמה גולשים הגיעו כאשר מקור התנועה הראשון שלהם היה XYZ, ומה היה אחוז ההמרה של כל מקור תנועה ראשון שכזה.

לצורך כך ניצור custom dimension חדש:

ונראה מה ה-index שלו, כלומר לאיזה slot עלינו לשלוח את הערכים של ה-first source שיתקבל בהמשך.

שלב שני – זיהוי מקור התנועה ושמירתו ב-local storage

כעת נעבור לתג מנג’ר, נוסיף תג מסוג Custom HTML ונדביק בו את הקוד הבא (עם טריגר של All Pages כמובן):

 

כמו כן ניצור 2 variable נוספים שיקלטו את הפרמטרים utm_source ו/או utm_medium מתוך ה-URL:

הסקריפט שכתבתי למעלה מדמה את הפעולות שגוגל אנליטיקס בעצמו עושה כדי לזהות את מקור התנועה של הגולש:

בדיקה ראשונה: האם ה-URL מכיל את הפרמטר gclid – אם כן הגולש הגיע מאדוורדס, אחרת תמשיך לבדיקה הבאה,

בדיקה שניה: האם ה-URL מכיל פרמטר של utm_source? אם כן – מקור התנועה הוא source / medium (פרמטר אחד או יותר, על פי מה ששורשר. במקרה שלי לא עשיתי בדיקה אם utm_medium קיים כי הנחתי שאם אני שולח utm_source כנראה שאני שולח גם utm_medium), אם לא מכיל – תעבור לבדיקה הבאה,

בדיקה שלישית: האם האתר המפנה מכיל דומיין שמזוהה בתור מנוע חיפוש (אני שמתי רק google או bing) – אם כן, זה אורגני, אם לא תמשיך לבדיקה הבאה,

בדיקה רביעית: האם יש referrer? אם כן – מקור התנועה הוא ה-Referrer (מדובר ב-variable בילטאין בתג מנג’ר), אחרת תמשיך לבדיקה הבאה,

בדיקה חמישית: האם Referrer הוא ריק? אם כן – מקור התנועה הוא דיירקט.

[למתקדמים]

ליתר בטחון הוספתי תנאי נוסף על דרך החיוב שבודק האם Referrer ריק, כי לא רציתי להתבסס על דרך השלילה (אם כל התנאים שלמעלה לא התקיימו), אבל אפשר לעשות שם else רגיל שקובע את מקור התנועה בתור דיירקט גם בלי בדיקה נוספת.

[/למתקדמים]

לבסוף הסקריפט שומר את הפרמטר firstSource בלוקאל סטורג’, ושולח איוונט כלשהוא לדטאלייר למקרה שתרצו לעשות עם זה משהו.

שלב שלישי: שליחת המידע לגוגל אנליטיקס

כעת נלך לתג ה-analytics event שלנו שנורה כאשר גולש מבצע את ההמרה (שליחת ליד במקרה שלנו), ונגיד לו לשלוח custom dimension לסלוט מספר 6 (שם נמצא ה-CD שלנו אם אתם זוכרים מהשלב הראשון).

הערך של ה-custom dimension יהיה variable מסוג Custom JS, שיקח את הערך שמוטמע בלוקאל סטורג’ עבור firstSource.


סיכום

בואו נראה שזה עובד –

נחפש “ליקספיקס” בגוגל, נקליק על התוצאה האורגנית ונראה שהסקריפט שלנו אכן שמר את מקור התנועה בלוקאל סטורג’:

עכשיו נשלח ליד ונבדוק אם הוא שולח את הערך בתור custom dimension בסלוט מספר 6 –

בום.