יחידות מודעות ב-AdSense מתעדכנות לאחר שליחת הבקשה להצגת מודעה, כדי לציין אם יחידת המודעות מולאה בקריאייטיב של מודעה או נותרה ריקה. כדי לבדוק מה האחוז של יחידות המודעות שלא מולאו, אפשר לבחון את הכיסוי הממוצע בדוחות AdSense.
הנושאים בדף
- מידע על הפרמטר data-ad-status
- מה מערכת AdSense עושה עם יחידות מודעות שלא מולאו
- איך מסתירים את יחידות המודעות שלא מולאו
- המגבלות של הפרמטר data-ad-status
מידע על הפרמטר data-ad-status
אחרי שיחידת מודעו מסיימת לשלוח בקשה להצגת מודעה, מערכת AdSense מוסיפה לרכיב <ins> פרמטר שנקרא data-ad-status.
data-ad-status שונה מהפרמטר data-adsbygoogle-status, המשמש את קוד המודעות שלנו לצורכי עיבוד מודעות.הפרמטר הזה יתעדכן לאחד מהבאים, בהתאם למקרה הרלוונטי:
|
|
מודעה הוחזרה ליחידת המודעות ומוצגת עכשיו. |
|
|
לא הוחזרו מודעות ויחידת המודעות ריקה. |
data-ad-status="unfill-optimized" |
לא הוחזרו מודעות ויחידת המודעות עברה אופטימיזציה על ידי AdSense. מידע נוסף על ההגדרה מילוי שטחים ריקים להצגת מודעות שמשולבות בדף |
מה מערכת AdSense עושה עם יחידות מודעות שלא מולאו
כשנוצר מצב שבו יחידות של מודעות ב-AdSense נמצאות בסטטוס "unfilled" (לא מולאו), אנחנו מנסים לכווץ את יחידת המודעות או להציג שטח ריק. אנחנו מכווצים יחידות מודעות רק אם הן לא עומדות לגרום לזרימה חוזרת של הדף. כלומר, אנחנו מכווצים רק יחידות מודעות שנמצאות מחוץ לאזור התצוגה. בכל שאר יחידות המודעות שלא מולאו, אנחנו שומרים על הגודל של יחידת המודעות ומציגים במקום זאת שטח ריק.
unfill-optimized של "data-ad-status".איך מסתירים את יחידות המודעות שלא מולאו
(מתקדם) אתם יכולים להרחיב את אופן הפעולה הזה באמצעות 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 מתווסף רק ליחידות מודעות שנמצאות בחלון העליון. פירוש הדבר הוא שביחידות מודעות שמוצגות דרך חלון חוצה-דומיינים, הפרמטר data-ad-status לא יתווסף ליחידת המודעות.
כמו כן, לא מומלץ לטעון את יחידות המודעות ב-AdSense כמוסתרות כבר מההתחלה, זאת במטרה שיהפכו לגלויות בעת שינוי הפרמטר data-ad-status. אם יחידות המודעות לא גלויות בדף בהתחלה, ייתכן שלא נבצע את הבקשה להצגת מודעה שנשלחה ליחידת המודעות הזו.