מעקב המרות

הטמעה

סיכום

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

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

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

בנוסף ל-rwg_token, צריך לשמור את השדה merchant_id שמשויך לקישור לפעולה.

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

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

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

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

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

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

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

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

  • הפקה: https://www.google.com/maps/conversion/collect
  • Sandbox: https://www.google.com/maps/conversion/debug/collect

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

{
  "conversion_partner_id": <partnerId>,
  "rwg_token": <rwg_token_val>
  "merchant_changed": 1|2
}

הערך merchant_change משמש כדי לקבוע אם המוכר השתנה מהמוכר המפנה הראשוני. יש שני ערכים שניתן להעביר

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

גם ב-Sandbox וגם בסביבות ייצור, אתם צריכים לספק 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,
      Merchant_changed: merchantChanged
    })
  });
}

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

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

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

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

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

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

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

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

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