העברת המרות בשרת בלי ספירה כפולה: מה מגדירים ולמה

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

צוות העריכה של ADS Beastפורסם 9 דקות קריאה

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

בקצרה

  • העברת המרות בשרת נדרשת כשחסימת קוקיז, מצבי פרטיות בדפדפנים או iOS מונעים מדידת המרות מדויקת.
  • ספירה כפולה נמנעת כשהדפדפן והשרת שולחים את אותו event_id לאותה המרה.
  • מפתח deduplication יכול להיות מזהה הזמנה, session_id או מזהה ליד ייחודי.
  • ב-Meta Events Manager יש עמודת Deduplication Rate לכל אירוע; אחוז גבוה של אירועים לא מאוחדים מצביע על בעיה.
  • פער של יותר מ-10% בין הפלטפורמה ל-GA4 או ל-CRM הוא סימן לספירה כפולה או לחסרים.

מהי העברת המרות בשרת ולמה היא נדרשת

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

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

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

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

איך נמנעים מספירה כפולה: מנגנון ה-event_id

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

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

בנוסף ל-event_id מגדירים מפתח deduplication בשני הצדדים. זה יכול להיות מזהה הזמנה, session_id, או מזהה ליד ייחודי. המפתח הזה הוא מה שמאפשר לפלטפורמה להבין שמדובר באותה פעולה, גם אם שאר השדות שונים במעט.

מה קורה בפועל בשני הצדדים

  1. המשתמש משלים פעולה, למשל רכישה או השארת ליד.
  2. הדפדפן מייצר event_id ייחודי ושולח אותו לפלטפורמה דרך הפיקסל.
  3. אותו event_id נשמר ומועבר לשרת שלך יחד עם פרטי ההמרה.
  4. השרת שולח את האירוע לפלטפורמה עם אותו event_id ואותו מפתח deduplication.
  5. הפלטפורמה מזהה את שתי השליחות כהמרה אחת ומסמנת אותן כמאוחדות.

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

איך נראה מפתח deduplication תקין

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

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

למה ספירה כפולה מזיקה יותר ממה שנראה

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

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

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

השוואה: פיקסל בצד הלקוח מול העברה בצד השרת

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

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

בדיקת ספירה כפולה לפני מסקנות. event_id משני הצדדים: נוצר בדפדפן ולא מחדש בשרת; מפתח deduplication זהה: אותם תווים, אותיות ופורמט; אחוז איחוד ב-Events Manager: אירועים לא מאוחדים מסמנים בעיה; השוואה ל-GA4 או ל-CRM: פער מעל 10% דורש בדיקה; לוגי שרת אחרי 24 שעות: אם אין נתונים, בודקים את השליחה
שני מקורות נתונים לפחות, אחרת הכפילות נסתרת

איפה בודקים אם יש ספירה כפולה

ב-Meta Events Manager רואים עמודה של Deduplication Rate לכל אירוע, ואחוז גבוה של אירועים לא מאוחדים מעיד על בעיה. ב-Google Ads אפשר להשוות בין המרות שדווחו בפלטפורמה לבין הנתונים ב-GA4 או במערכת ה-CRM. פער של יותר מ-10% בין המקורות הוא סימן לספירה כפולה או לחסרים.

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

רשימת בדיקה לפני שמסיקים מסקנות

  1. ודאו שה-event_id נשלח משני הצדדים ולא נוצר מחדש בשרת.
  2. ודאו שמפתח ה-deduplication זהה בתווים, באותיות ובפורמט.
  3. בדקו את אחוז האיחוד ב-Meta Events Manager לאירוע הרלוונטי.
  4. השוו בין המרות בפלטפורמה לבין GA4 או ה-CRM באותה תקופה.
  5. בדקו את לוגי השרת אם עברו יותר מ-24 שעות ואין נתונים.

מה קורה אם event_id לא תואם בין הפיקסל לשרת

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

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

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

כמה זמן לוקח直到 שההמרות מתחילות להופיע בדוחות

בדרך כלל ההמרות מופיעות תוך 15 עד 60 דקות מהאירוע, אך עיבוד מלא בדוחות יכול לקחת עד 24 שעות. בפלטפורמות כמו Meta Events Manager אפשר לראות את האירועים בזמן אמת תוך דקות. אם עברו יותר מ-24 שעות ואין נתונים, כדאי לבדוק את הלוגים של השרת.

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

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

טעויות נפוצות בהפעלה ואיך לזהות אותן מוקדם

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

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

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

איך מתחילים בלי לשבור את מה שעובד

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

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

השאלות הנפוצות

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

איך נמנעים מספירה כפולה כשמפעילים גם פיקסל בצד הלקוח וגם העברה בצד השרת? משתמשים במזהה אירוע ייחודי (event_id) שמועבר גם מהדפדפן וגם מהשרת, ופלטפורמות כמו Meta ו-Google מזהות אותו כאותה המרה. בנוסף מגדירים deduplication key זהה בשני הצדדים, למשל מזהה הזמנה או session_id. בלי מזהה משותף, כל המרה תיספר פעמיים.

כמה זמן לוקח עד שההמרות בצד השרת מתחילות להופיע בדוחות? בדרך כלל ההמרות מופיעות תוך 15 עד 60 דקות מהאירוע, אך עיבוד מלא בדוחות יכול לקחת עד 24 שעות. בפלטפורמות כמו Meta Events Manager אפשר לראות את האירועים בזמן אמת תוך דקות. אם עברו יותר מ-24 שעות ואין נתונים, כדאי לבדוק את הלוגים של השרת.

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

איפה בודקים אם יש ספירה כפולה של המרות? ב-Meta Events Manager רואים עמודה של Deduplication Rate לכל אירוע, ואחוז גבוה של אירועים לא מאוחדים מעיד על בעיה. ב-Google Ads אפשר להשוות בין המרות שדווחו בפלטפורמה לבין הנתונים ב-GA4 או במערכת ה-CRM. פער של יותר מ-10% בין המקורות הוא סימן לספירה כפולה או לחסרים.

מה הצעד הבא

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

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