יחידות מודעות ב-AdSense מתעדכנות לאחר שליחת הבקשה להצגת מודעה, כדי לציין אם יחידת המודעות מולאה בקריאייטיב של מודעה או נותרה ריקה. כדי לבדוק מהו האחוז של יחידות המודעות שלא מולאו, אפשר לבחון את הכיסוי הממוצע בדוחות AdSense.
בתום הבקשה להצגת מודעה שנשלחה ליחידת המודעות, מערכת AdSense מוסיפה לרכיב <ins>
פרמטר שנקרא data-ad-status
. הערה: אין להתבלבל בין הפרמטר data-ad-status
לפרמטר data-adsbygoogle-status
, המשמש את קוד המודעות שלנו לצורכי עיבוד מודעות.
בהתאם לסטטוס ההחזרה של המודעה (הוחזרה או לא הוחזרה), הפרמטר הזה יתעדכן לאחד מהבאים:
data-ad-status="filled" |
מודעה הוחזרה ליחידת המודעות ומוצגת עכשיו. |
data-ad-status="unfilled" |
לא הוחזרו מודעות ויחידת המודעות ריקה. |
מה AdSense עושה עם יחידות מודעות שלא מולאו?
כשנוצר מצב שבו יחידות של מודעות ב-AdSense נמצאות בסטטוס "unfilled
" (לא מולאו), אנחנו מנסים לכווץ את יחידת המודעות או להציג שטח ריק. אנחנו מכווצים יחידות מודעות רק אם הן לא עומדות לגרום לזרימה חוזרת של הדף. כלומר, אנחנו מכווצים רק יחידות מודעות שנמצאות מחוץ לאזור התצוגה. בכל שאר יחידות המודעות שלא מולאו, אנחנו שומרים על הגודל של יחידת המודעות ומציגים במקום זאת שטח ריק.
איך להסתיר את יחידות המודעות שלא מולאו
(מתקדם) אתם יכולים להרחיב את ההתנהגות הזו באמצעות CSS או JavaScript. לדוגמה, אם אתם רוצים להסתיר את כל היחידות של המודעות שלא מולאו, תוכלו להשתמש ב-CSS כדי להחיל סגנון display: none !important;
על הרכיב.
דוגמה 1: הסתרה של יחידות מודעות שלא מולאו – באמצעות CSS
אפשר להוסיף לדף את סגנון ה-CSS הבא כדי להסתיר באופן אוטומטי יחידות של מודעות שלא מולאו:
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-1234567890123456"
data-ad-slot="1234567890"
data-ad-format="auto"
data-full-width-responsive="true"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
ins.adsbygoogle[data-ad-status="unfilled"] {
display: none !important;
}
דוגמה 2: הצגת תמונה רק אם יחידת המודעות לא מולאה
אם יחידת המודעות לא מציגה מודעה, אפשר להציג במקום זאת מודעת בית:
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
style="display:inline-block;width:300px;height:250px"
data-ad-client="ca-pub-1234567890123456"
data-ad-slot="1234567890">
<a href="/page"><img src="/backup.jpg" width="300px" height="250px"></a>
</ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
ins.adsbygoogle a {
display: none !important;
}
ins.adsbygoogle[data-ad-status="unfilled"] a {
display: block;
}
לחלופין, אם אתם מעדיפים להשתמש ב-JavaScript כדי לעדכן את הדף, אפשר להשתמש ב-MutationObserver כדי לזהות שינויים בפרמטר data-ad-status
ולהפעיל קוד JavaScript על סמך השינויים האלה.
הגבלות
הפרמטר data-ad-status
נוסף ליחידות מודעות שקיימות בחלון העליון בלבד. פירוש הדבר הוא שביחידות מודעות שמוצגות דרך חלון חוצה-דומיינים, הפרמטר data-ad-status
לא יתווסף ליחידת המודעות.
כמו כן, לא מומלץ לטעון את יחידות המודעות ב-AdSense כמוסתרות כבר מההתחלה, זאת במטרה שיהפכו לגלויות בעת שינוי הפרמטר data-ad-status
. אם יחידות המודעות לא גלויות בדף בהתחלה, ייתכן שלא נבצע את הבקשה להצגת מודעה שנשלחה ליחידת המודעות הזו.