מעקב המרות

יישום

סיכום

תהליך מעקב ההמרות כולל שלושה חלקים:

  1. איסוף ה-rwg_token מדף הנחיתה / מנקודת הכניסה של האפליקציה.
  2. החזקה של rwg_token לחלון השיוך המתאים
  3. שליחת אירוע המרה בקופה

ההטמעה של מעקב ההמרות לא מחייבת אותך להשתמש ב-Google Analytics או ב-JavaScript של צד שלישי אחר.

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

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

מתבצע איסוף של rwg_token

בכל פעם ש-Google מציגה action_link שציינת דרך הפידים, כתובת ה-URL הזו תשתנה ותכלול פרמטר ייחודי של שאילתה: rwg_token. הערך של rwg_token הוא מחרוזת מקודדת המכילה מטא-נתונים לגבי הקישור שעליו המשתמש לחץ. עליך לאחסן את האסימון הזה, ולאחר מכן להעביר אותו בחזרה כחלק מאירוע ההמרה.

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

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

<script>
  var query = location.search.substring(1);
  var params = query.split('&');
  var rwgToken = undefined;
  for (var i = 0; i < params.length; ++i) {
    var pair = params[i].split('=');
    if (pair[0] == 'rwg_token') {
      rwgToken = decodeURIComponent(pair[1]);
      break;
    }
  }
</script>

תמיד rwg_token

יש לשמור את הפרמטר rwg_token של כתובת ה-URL. הוא יצורף לכל הקישורים לביצוע על ידך, למשך 30 ימים. הערך של rwg_token צריך להיות מאוחסן ומוחזר ללא שינויים. אם אסימון קיים נשאר מביקור קודם, צריך להחליף את האסימון הישן ולאפס את חלון 30 הימים לאחסון.

כששומרים את האסימון, אפשר לאחסן את האסימון ברמת המכשיר או ברמת המשתמש:

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

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

<script>
  if (typeof rwg_token !== 'undefined') {
    document.cookie =
    "_rwg_token=" + rwg_token + ";max-age=2592000;domain=rootdomain.com;path=/";
  }
</script>

אם משתמשים במעקב המרות ברמת המשתמש, צריך לשמור את rwg_token בשרת ולשייך אותו למשתמש.

שליחת נתוני המרות

כשמשתמש משלים עסקה שניתן לייחס לקישור של פעולה לגבי המקום ב-Google, עליך לשלוח בקשת HTTP POST לנקודת הקצה של ההמרה. יש שתי נקודות קצה, אחת לסביבת הייצור ואחת לסביבת ה-Sandbox.

  • הפקה: https://www.google.com/maps/conversion/collect
  • ארגז חול: https://www.google.com/maps/conversion/debug/collect

גוף הפוסט צריך להיות אובייקט מקודד מסוג json בפורמט:

{
  'conversion_partner_id': partnerId,
  'rwg_token': <rwg_token_val>
}

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

ADQ7psRE9YyDSVR6YpfD-fYdxoFYVKS1xeTvXdSxqF8a3bnk0W62eMEnUjoNPwjhNHG0elwBnM1awTjr9vXET8yOowCeuODjwA==

דוגמה מלאה למעקב המרות ברמת המכשיר (באמצעות קובץ cookie במכשיר של המשתמש) ב-JavaScript שמסביר איך לשלוח את הבקשה הזו לפוסט:

const partnerId = XXXXXXXXXX;
const endpoint = `https://www.google.com/maps/conversion/collect`;

const rwgTokenCookie = document.cookie
  .split('; ')
  .find(row => row.startsWith('_rwg_token='));

if (typeof rwgTokenCookie !== 'undefined') {
  const rwgTokenVal = rwgTokenCookie.split('=')[1];
  fetch(endpoint, {
    method: "POST",
    body: JSON.stringify({
      conversion_partner_id: partnerId,
      rwg_token: rwgTokenVal
    })
  });
}

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

דרישות שיוך (Attribution) להמרות

כדי לבצע שיוך לקישור של מקום, בכל חנות צריך לעמוד בדרישה לייחוס המרות תוך 30 יום.

חלון השיוך הזה מאפשר לנו לצפות שאירוע המרה יישלח באחד מהתרחישים הבאים:

  • משתמש עוקב אחר קישור לפעולה לגבי המקום ומבצע הזמנה באותו ביקור
  • משתמש מבצע קישור לפעולה לגבי המקום ואז חוזר לערוץ אחר בתוך 30 יום ממועד ביצוע ההזמנה.
  • משתמש לוחץ על הקישור 'פעולה במקום' ולאחר מכן מבצע הזמנה בחנות אחרת בתוך אותו ביקור או במהלך חלון אחר של 30 יום.

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

  • אפליקציות למחשב או לנייד
  • אפליקציות לנייד, באמצעות קישור עומק לאפליקציה או כוונה רשומה בדומיין שלך

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

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