הטמעה
סיכום
הטמעה של מעקב המרות כוללת שלושה חלקים:
-
איסוף הערך
rwg_tokenמדף הנחיתה / נקודת הכניסה לאפליקציה. -
שמירת
rwg_tokenבמשך חלון השיוך המתאים - שליחת אירוע המרה בדף התשלום
הטמעה של מעקב ההמרות הזה לא מחייבת שימוש ב-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
תצטרכו לשמור את פרמטר כתובת ה-URL 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, אתם צריכים לשלוח בקשת HTTP POST לנקודת הקצה של ההמרה. יש שתי נקודות קצה, אחת לסביבת הייצור ואחת לסביבת הארגז.
- סביבת הייצור:
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 תקף כשאתם שולחים אירוע המרה.
למטרות בדיקה בסביבת ארגז החול, אפשר להשתמש באסימון הבדיקה הבא.
AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==
בהמשך מופיעה דוגמה מלאה של מעקב המרות ברמת המכשיר (באמצעות קובץ Cookie במכשיר של המשתמש) ב-JavaScript, שמראה איך לשלוח את בקשת ה-POST הזו:
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 יום לכל אינטראקציה עם קישור למקום, בכל חנות.
חלון השיוך הזה אומר שאנחנו מצפים שאירוע המרה יישלח בכל אחד מהתרחישים הבאים:
- משתמש לוחץ על קישור לפעולה במקום ומבצע הזמנה באותו סשן
- משתמש לוחץ על קישור לפעולה במקום מסוים ואז חוזר מערוץ אחר בתוך חלון 30 הימים כדי לבצע הזמנה.
- משתמש לוחץ על קישור לפעולה במקום ואז מבצע הזמנה בחנות אחרת, באותו סשן או בסשן אחר, בטווח של 30 יום.
בנוסף, אנחנו מצפים שאירועי המרה יישלחו מכל הממשקים שמשתמש יכול להגיע אליהם מקישור לפעולה לגבי מקום. כולל:
- אפליקציות לאינטרנט במחשב או בנייד
- אפליקציות לנייד, באמצעות קישור עומק לאפליקציה או כוונת אפליקציה רשומה לדומיין שלכם
אם הטוקן מאוחסן ברמת המשתמש (ראו שמירת הטוקן), מצופה מכם לספק שיוך בין מכשירים. כלומר, אם משתמש לוחץ על קישור לפעולה במחשב ואז משלים את העסקה בנייד (באמצעות אותו חשבון משתמש), צריך להיות מופעל אירוע המרה.
אם הטוקן מאוחסן באופן בלעדי ברמת המכשיר, למשל בקובצי Cookie של הדפדפן, לא מצופה מכם לספק שיוך בין מכשירים. במקרה כזה, לכל מכשיר יהיה טוקן נפרד שנשמר אם המשתמש לחץ על קישור לפעולה במכשיר הזה, ולכל מכשיר יחולו כללי השיוך בנפרד.