שלב 3: מעקב המרות

הטמעה

סיכום

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

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

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

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

  • ברמת המכשיר אפשר להשתמש בקובצי cookie של הדפדפן, באחסון מקומי, באחסון מקומי של האפליקציה או בכל שיטה אחרת שיכולה לשמור את האסימון בחלון השיוך (Attribution) של 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 של כתובת האתר, שיצורף לכל קישורי הפעולות שסיפקת, למשך זמן כולל של 30 יום. צריך לאחסן את הערך של rwg_token ולהחזיר אותו ללא עריכות. אם נותר אסימון קיים מביקור קודם, צריך להחליף את האסימון הישן ולאפס את חלון 30 הימים לאחסון.

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

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

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

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

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

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

כשמשתמש משלים עסקה שניתן לשייך לקישור פעולה ב-Google Place, עליך לשלוח בקשת 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>
}

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

AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==

דוגמה מלאה של מעקב המרות ברמת המכשיר (באמצעות קובץ 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
    })
  });
}

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

הדרישות לגבי שיוך המרות

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

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

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

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

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

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

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