מעקב המרות

הטמעה

סיכום

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

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

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

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

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

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

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

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

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

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

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

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

  • הפקה: 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
    })
  });
}

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

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

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

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

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

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

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

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

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