ליקספיקס – גוגל אנליטיקס, גוגל תג מנג'ר ואופטימיזציה
  • גוגל אנליטיקס 4 – התחילו כאן
  • בלוג אנליטיקס
  • השירותים שלנו
    • ניהול קמפיינים
    • מומחה גוגל אנליטיקס
    • גוגל תג מנג’ר
    • אופטימיזציה לדפי נחיתה
    • אופטימיזציה לאתרי איקומרס
    • אופטימיזציה למובייל
  • קורסים
    • *חדש* קורס גוגל אנליטיקס 4
    • קורס תג מנג’ר אונליין
    • קורס פרסום בגוגל ופייסבוק
  • המומלצים
  • צרו קשר
  • גוגל אנליטיקס 4 – התחילו כאן
  • בלוג אנליטיקס
  • השירותים שלנו
    • ניהול קמפיינים
    • מומחה גוגל אנליטיקס
    • גוגל תג מנג’ר
    • אופטימיזציה לדפי נחיתה
    • אופטימיזציה לאתרי איקומרס
    • אופטימיזציה למובייל
  • קורסים
    • *חדש* קורס גוגל אנליטיקס 4
    • קורס תג מנג’ר אונליין
    • קורס פרסום בגוגל ופייסבוק
  • המומלצים
  • צרו קשר
ליקספיקס – גוגל אנליטיקס, גוגל תג מנג'ר ואופטימיזציה
  • גוגל אנליטיקס 4 – התחילו כאן
  • בלוג אנליטיקס
  • השירותים שלנו
    • ניהול קמפיינים
    • מומחה גוגל אנליטיקס
    • גוגל תג מנג’ר
    • אופטימיזציה לדפי נחיתה
    • אופטימיזציה לאתרי איקומרס
    • אופטימיזציה למובייל
  • קורסים
    • *חדש* קורס גוגל אנליטיקס 4
    • קורס תג מנג’ר אונליין
    • קורס פרסום בגוגל ופייסבוק
  • המומלצים
  • צרו קשר
  • גוגל אנליטיקס 4 – התחילו כאן
  • בלוג אנליטיקס
  • השירותים שלנו
    • ניהול קמפיינים
    • מומחה גוגל אנליטיקס
    • גוגל תג מנג’ר
    • אופטימיזציה לדפי נחיתה
    • אופטימיזציה לאתרי איקומרס
    • אופטימיזציה למובייל
  • קורסים
    • *חדש* קורס גוגל אנליטיקס 4
    • קורס תג מנג’ר אונליין
    • קורס פרסום בגוגל ופייסבוק
  • המומלצים
  • צרו קשר
איך לשמור את מקור התנועה הראשון בגוגל אנליטיקס
עמוד הבית » Google Tag Manager » איך לשמור את מקור התנועה הראשון בגוגל אנליטיקס

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

20 תגובות שוקי מן

בעקבות הדוגמא שהראיתי בהרצאה שלי בכנס 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 חדש:

first source custom dimension

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

first source custom dimension slot

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

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

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<script>
  if (localStorage.getItem('firstSource') ==null) {
    var firstSource;
   if ({{Page URL}}.indexOf("gclid") > -1) {
      firstSource = "AdWords"
    }
    else if ({{utm_source param}} != undefined) {
      firstSource = "{{utm_source param}} / {{utm_medium param}}"
    }
    else if ( ({{Referrer}}.indexOf('google') > -1) || ({{Referrer}}.indexOf('bing') > -1)){
      var Referrer = {{Referrer}}.split('.co')[0].split('www.')[1];
      firstSource = Referrer + " / organic"
    }
else if ( {{Referrer}} !== '') {
      firstSource = {{Referrer}}
    }
else if ({{Referrer}} == '') {
      firstSource = "direct";
    }
localStorage.setItem('firstSource',firstSource);
    dataLayer.push({'event':'setTheFirstSource','firstSource':firstSource});
  }
</script>  

 

first source analytics full code

כמו כן ניצור 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 שלנו אם אתם זוכרים מהשלב הראשון).

first source custom dimension tag manager

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


סיכום

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

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

local storage organic

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

form submitted analytics debugger

בום.

פורסם ב: Google Tag Manager, גוגל אנליטיקס תגיות: first source lead, google analytics, google tag mananger
« הקודם
הבא »

אודות שוקי מן


להציג את כל הפוסטים של שוקי מן

20 תגובות

  1. Shay Gabay 15/05/2017 בשעה 14:04 הגב

    הי שוקי
    תודה רבה
    שי

  2. אורן בוצ'מן 16/05/2017 בשעה 14:15 הגב

    שלום שוקי,

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

    במידה ויש לנו מזזה ייחודי (או אינטגרציה עם שרות שמספק יכול כזו) ניתן לשמור את ה”הפירסט” לפי הש בפיירבייס (remote storage) ולשלוף אותו כל ססשיון ולשמרו מקומית.

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

    • שוקי מן 16/05/2017 בשעה 15:05 הגב

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

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

      מנסיון בעבודה עם first source הוא יכול לתת תובנות משמעותיות, גם אם לא מדוייקות ב-100%

      • אורן בוצ'מן 16/05/2017 בשעה 16:40 הגב

        הי

        ב ATD הקודמים היו מספר עצות להתכונן לקרוס-דיווס.

        אגב לגוגל יש יכולות קרוס דיווס היסתברותית דרך double-click והם שיחררו עדכון בנושא לאחרונה בכל כלי הפרסום. לכן שהטעון בתגובה לא מחזיק מיים. יותר מזאת גוגל מאפשרים להאריך את שגיאה של last-click מזה מספר שנים ע”י בדיקה של מודלים כגון first-click.

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

  3. שמוליק 24/05/2017 בשעה 07:47 הגב

    הי שוקי,

    תודה על המאמר.

    נראה לי שניתן להוריד את כל השורות שמכילות כתיבה לקונסול.

    שמוליק

  4. משה 24/05/2017 בשעה 10:14 הגב

    Attribution model שמייחס את ההמרה במודל “חצי חצי” הרבה יותר פשוט ויחסוך את הצורך בסקריפט…

  5. יאנה 24/05/2017 בשעה 12:19 הגב

    היי שוקי,
    תודה על המידע!
    יש לי רק שאלה – למה לשמור ב-LocalStorage, לא עדיף לשמור ב-cookie ולהגדיר לו גם פג תוקף שמשמעותו תהיה חלון זמן להמרה?

    • שוקי מן 28/05/2017 בשעה 17:58 הגב

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

  6. רן 24/05/2017 בשעה 16:13 הגב

    בשלב 3 איבדת אותי:
    “כעת נלך לתג ה-analytics event שלנו שנורה כאשר גולש מבצע את ההמרה”
    לא בדיוק הבנתי על מה אתה מדבר ואיך אני מגיע לשם…

    • שחר 02/06/2017 בשעה 18:30 הגב

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

    • שחר 03/06/2017 בשעה 17:58 הגב

      היי, גם אני איבדתי את הדרך בשלב הזה, תוכל להסביר איפה זה נמצא?

  7. רן 24/05/2017 בשעה 16:15 הגב

    תתעלם, הבנתי (אבל אולי שווה להוסיף פה צילומסך לטובת אלה שלא מבינים)

  8. רן 24/05/2017 בשעה 17:09 הגב

    עשיתי הכל במדויק. כשאני עושה submit ב- tag manager זה כותב לי

    Invalid Template – 1st source finder – Invalid HTML, CSS, or JavaScript found in template.

  9. עינת קרפנקופ 29/05/2017 בשעה 09:24 הגב

    תודה על המתכון…
    אבל, נתונים מסכמים של המקור תנועה הראשון קיימים באופן מובנה גוגל אנליטקס תחת Conversions
    ב-Multi Channel Funnels – Top Conversion Path

    האם ההבדל במה שהצעת הוא ברמת User data layer ?

  10. גרי 04/07/2017 בשעה 17:37 הגב

    אני תקוע בשלב הראשון, לא מגיע לאפשרויות של ה slots index אלא מקבל 3 שורות עם קוד java…..rauo”העתק את קטע הקוד הבא עבור הפלטפורמה שלך. אל תשכח להחליף את dimensionValue בערך משלך.”

  11. דנה 14/02/2018 בשעה 12:44 הגב

    היי שוקי, עשיתי את כל הפעולות ובשלב ה-submit מופיעה לי ההודעה הבאה, שמתייחסת ל-variable first source finder:

    Error at line 2, character 26: Parse error. Character ‘‘’ (U+2018) is not a valid identifier start char
    מה אני עושה לא נכון?

    • שוקי מן 14/02/2018 בשעה 12:56 הגב

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

  12. דנה 15/02/2018 בשעה 14:43 הגב

    הצליח! תודה שוקי 🙂

  13. דנה 15/02/2018 בשעה 14:46 הגב

    אילו פרמרטרים עליי לכלול בדו״ח שיציג לי את הנתון הזה?

  14. יניב 20/02/2018 בשעה 14:22 הגב

    היי שוקי,

    משהו לא עובד לי נכון בסקריפט.

    כשאני בודק –
    הוא בעצם מבצע עדכון ל SOURCE ב LOCAL STORAGE בכל עמוד באתר,
    כלומר דורס את המקור.

    למה זה קורה?

השארת תגובה

ביטול

חיפוש
© כל הזכויות שמורות LIXFIX - Conversion Optimization
גלילה לראש העמוד

קורס אנליטיקס 4 מתנה!

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

ga4 intro comp
דילוג לתוכן
פתח סרגל נגישות Accessibility Tools

Accessibility Tools

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