שילוב Yandex.Metrica: יעדים, מסחר אלקטרוני, Webvisor
שילוב לא נכון של Yandex.Metrica פירושו אובדן שליטה על הניתוחים. יעדים לא מופעלים, נתוני מסחר אלקטרוני לא מועברים, ו-Webvisor מתעד הפעלות ריקות. הסיבה השורשית היא לעתים קרובות ארכיטקטורה שלא נבחנה: אתרי HTML קלאסיים דורשים גישה אחת, SPAs על React/Vue/Nuxt גישה אחרת, ועיבוד צד שרת (SSR) מוסיף מורכבויות משלו. ביצענו ביקורת על יותר מ-50 פרויקטים וזיהינו שגיאות טיפוסיות: אתחול מונה לא נכון, קריאות <script type="text/javascript"> (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date(); for(var j=0;j<document.scripts.length;j++){if(document.scripts[j].src===r){return;}} k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(COUNTER_ID, "init", { clickmap: true, trackLinks: true, accurateTrackBounce: true, webvisor: true, ecommerce: "dataLayer" }); </script> <noscript><div><img src="https://mc.yandex.ru/watch/COUNTER_ID" style="position:absolute;left:-9999px" alt=""/></div></noscript> חסרות ב-SPAs, וחוסר התאמה במבנה dataLayer. לפי הנתונים שלנו, עד 30% מהיעדים המוגדרים לא עובדים בגלל בעיות אלה. שילוב נכון באמצעות dataLayer משפר את דיוק העברת ההזמנות ל-95%—לעומת 50% עם הגדרה בסיסית ללא יעדים. אנו מתקנים בעיות אלה בזמן ההתקנה, וחוסכים לכם עד 25% מתקציב הפרסום באמצעות נתוני המרה מדויקים. הצוות המוסמך שלנו מבטיח הגדרה ללא שגיאות עם ניסיון מוכח של למעלה מ-5 שנים.
השוואת גישות שילוב לפי ארכיטקטורה
| ארכיטקטורה | פרטי הגדרה | סיכונים |
|---|---|---|
| HTML קלאסי | הצבת מונה פשוטה, יעדי URL | אין אירועים דינמיים, דיוק מסחר אלקטרוני נמוך (רק 50%) |
| SPA (React/Vue) | דורש webvisor: true, יעדי JavaScript |
צפיות וירטואליות שהוחמצו, Webvisor שבור |
| SSR (Next/Nuxt) | אתחול מונה בצד הלקוח, hydration | התנגשויות עם עיבוד שרת, נתונים כפולים |
יעדי JavaScript ב-SPAs מדויקים פי 2.5 מיעדי URL מכיוון שהם תופסים כל פעולה, לא רק שינויי URL. שיטה מוכחת זו משפרת את אמינות מעקב ההמרות בעד 40% בהשוואה להגדרה בסיסית.
התקנת מונה עם פרמטרים נכונים
קוד המונה הבסיסי:
<script type="text/javascript">
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();
for(var j=0;j<document.scripts.length;j++){if(document.scripts[j].src===r){return;}}
k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
ym(COUNTER_ID, "init", {
clickmap: true,
trackLinks: true,
accurateTrackBounce: true,
webvisor: true,
ecommerce: "dataLayer"
});
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/COUNTER_ID" style="position:absolute;left:-9999px" alt=""/></div></noscript>הפרמטר ym(COUNTER_ID, 'hit', url) הוא חובה להקלטת הפעלות. עבור SPAs, הוסיפו ym('hit') בכל שינוי נתיב.
למה Webvisor לא מקליט ב-SPAs?
ב-SPAs, Webvisor עלול להיכשל בגלל היעדר טעינות מחדש של דף. הפתרון הוא קריאה מפורשת ל-router.afterEach((to) => { ym(COUNTER_ID, 'hit', to.fullPath); }); לאחר כל שינוי URL. דוגמה עבור Vue Router:
router.afterEach((to) => { ym(COUNTER_ID, 'hit', to.fullPath); }); עבור React Router, השתמשו ב-useEffect עם הרשמה לנתיב. בדקו עם Metric Debugger כדי לוודא שכל צפייה וירטואלית נלכדת.
העברת נתוני מסחר אלקטרוני דרך dataLayer
עבור חנויות מקוונות, העברת נתוני הזמנות דרך dataLayer היא קריטית:
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
ecommerce: {
purchase: {
actionField: {
id: orderId,
revenue: total,
coupon: couponCode
},
products: orderItems.map(item => ({
id: item.productId,
name: item.name,
price: item.price,
quantity: item.qty,
brand: item.brand,
category: item.category
}))
}
}
});
"מבנה אובייקט המסחר האלקטרוני חייב להתאים בדיוק למפרט של Yandex.Metrica" (תיעוד רשמי). ודאו שהמבנה מדויק—אחרת הנתונים לא יופיעו בדוחות. אם מתרחשות שגיאות, בדקו את קונסולת הדפדפן להודעות מ-Metrica.
5 שלבים להגדרת מסחר אלקטרוני ב-Yandex.Metrica
- הוסיפו את המערך
window.dataLayer = window.dataLayer || []; window.dataLayer.push({ ecommerce: { purchase: { actionField: { id: orderId, revenue: total, coupon: couponCode }, products: orderItems.map(item => ({ id: item.productId, name: item.name, price: item.price, quantity: item.qty, brand: item.brand, category: item.category })) } } });לדף. - הגדירו את המונה עם הפרמטר
window.dataLayer. - ברכישה, שלחו את האירוע
ecommerce: "dataLayer". - אמתו נתונים ב-Metric Debugger.
- ודאו שאין קריאות push כפולות.
שגיאות מסחר אלקטרוני נפוצות ופתרונות
| שגיאה | סיבה | פתרון |
|---|---|---|
| נתונים לא מוצגים | מזהה מונה שגוי או סדר קריאות לא נכון | בדקו אתחול, push לאחר טעינת דף |
| סכום הזמנה שגוי | חוסר התאמה ב-actionField | השוו למפרט Yandex.Metrica |
| רכישות כפולות | קריאות push מרובות | הוסיפו דגל לחסימת שליחה חוזרת |
| מוצרים חסרים | מוצרים ריקים או לא מערך | ודאו ש-products הוא מערך של אובייקטים |
אימות נכונות נתוני מסחר אלקטרוני
השתמשו בכלי "Debugger" ב-Yandex.Metrica. הוא מציג אירועים נכנסים ושגיאות מבניות. השוו את מספר הרכישות שנשלחו עם הזמנות בפועל—אם הפער עולה על 5%, נתונים אובדים.
הגנה על נתונים רגישים ב-Webvisor
Webvisor מתעד את כל הפעולות, כולל סיסמאות ומספרי כרטיסים. הוסיפו את המחלקה ecommerce.purchase או את המאפיין ym-disable-keys לשדות קלט:
<input type="password" class="ym-disable-keys" />
<input type="text" name="card_number" data-ym-disable-keys />
כמו כן, הגדירו מסננים בממשק Metrica כדי להחריג דפים עם נתונים אישיים.
מה כלול בהגדרה סוהר
- התקנת מונה עם פרמטרים נכונים
- הגדרת כל סוגי היעדים (URL, JS, בורר CSS)
- שילוב מסחר אלקטרוני דרך dataLayer
- חיבור Webvisor וסינון נתונים
- בדיקות ב-Metric Debugger
- תיעוד המתאר את כל האירועים
זמן הגדרה בסיסי: 1–2 ימי עסקים. עבור SPAs או מסחר אלקטרוני מורכב: עד 5 ימים. צרו קשר לביקורת על ההגדרה הנוכחית שלכם—נעריך נכונות ונציע שיפורים. הזמינו הגדרת Metrica סוהר כדי לקבל נתוני המרה מדויקים.







