מודעות מותאמות

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

מודעות מותאמות נתמכות גם ב-Authorized Buyers וגם ב-Open Bidding.

זהו תהליך העבודה של מודעות מותאמות:

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

פורמטים של הודעות

Google תומכת ב מפרט OpenRTB גם ב-JSON וגם ב-Protobuf.

במודעות מותאמות של OpenRTB Protobuf, השדות הבאים שונים מהמפרט:

מפרט JSON
(PROTOCOL_OPENRTB_2_4)
סוג JSON יישום OpenRTB
(PROTOCOL_OPENRTB_PROTOBUF_2_4)
סוג OpenRTB
BidRequest.imp[].native.request string BidRequest.imp[].native.request_native NativeRequest
BidResponse.seatbid[].bid[].adm string BidResponse.seatbid[].bid[].adm_native NativeResponse

שדות OpenRTB הם הודעות Protobuf ולא מחרוזות.

אם משתמשים בהטמעה של OpenRTB Protobuf, לא מקבלים BidRequest.imp[].native.request וצריך להגיב באמצעות BidResponse.seatbid[].bid[].adm_native. התגובות להצעות מחיר עם BidResponse.seatbid[].bid[].adm מסוננות. אין צורך במזהי נכסים כדי להגיב להצעות מחיר של OpenRTB Protobuf.

אם אתם משתמשים ב-SDK לקונה כדי לעבד מודעות מותאמות, עליכם לכלול תמונה type בתוך declared_ad כשאתם שולחים קריאייטיבים לבדיקה.

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

Google תומכת בשתי התבניות הנפוצות ביותר של מודעות מותאמות למודעות שאינן וידאו ולמודעות מותאמות של וידאו:

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

תבנית של מודעה להתקנת אפליקציה

בטבלאות הבאות מוצגים שדות שמסומנים בתווית חובה או מומלץ. יש לשים לב לכללים הבאים:

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

בטבלה הבאה מפורטים השדות של תבנית של מודעה להתקנת אפליקציה. באפליקציות לנייד נעשה שימוש בשדות אלה כדי ליצור מודעות מותאמות להתקנת אפליקציה.

שדה התיאור נדרש או מומלץ? מוצג תמיד? גודל תמונה מומלץ/מספר תווים מקסימלי דוגמה
כותרת שם האפליקציה נדרש כן 25 תווים Flood-It!
תמונה צילום מסך מהאפליקציה או תמונה רלוונטית אחרת נדרש לא 1,200px x 627px או 600px x 600px, בהתאם ליחס הגובה-רוחב הנדרש על ידי בעל התוכן הדיגיטלי. <צילום מסך מהמשחק Flood-It!>
גוף הטקסט הראשי של האפליקציה נדרש לא 90 תווים פשוט מטעה ומאתגר באופן מפתה = ממכר להפליא!
סמל האפליקציה סמל האפליקציה נדרש לא 128 x 128 פיקסלים <Flood-it! סמל האפליקציה>
קריאה לפעולה פעולת משתמש מועדפת מומלץ כן 15 תווים התקנה
Star rating מספר הכוכבים (0 עד 5) שמייצגים את דירוג האפליקציה בחנות האפליקציות מומלץ לא 0 - 5 4.5
מחיר עלות האפליקציה מומלץ לא 15 תווים חינם

הערות לגבי אורך הטקסט

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

הערות לגבי גודל התמונה

בעלי אתרים רשאים:

  • חותכים את התמונה הראשית באופן סימטרי בשיעור של עד 20% בממד אחד (גובה או רוחב).
  • משנים את גודל התמונה בלי לשנות את יחס הגובה-רוחב שלה.
  • ייתכן שהמערכת תסנן תמונות עם יחסי גובה-רוחב השונים באופן מהותי מהגובה והרוחב של התמונות.

תבנית למודעות תוכן

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

שדה התיאור נדרש או מומלץ? מוצג תמיד? גודל תמונה מומלץ/מספר תווים מקסימלי * דוגמה
כותרת כותרת המודעה נדרש כן 25 תווים הריבית הנמוכה ביותר על המשכנתה
תמונה התמונה הראשית של המודעה נדרש לא 1,200px x 627px או 600px x 600px, בהתאם ליחס הגובה-רוחב הנדרש על ידי בעל התוכן הדיגיטלי. <התמונה הראשית של המודעה>
גוף תוכן המודעה נדרש לא 90 תווים הבית שלך בברוקלין המתוק - זול יותר ומהיר משחשבת!
לוגו לוגו של המפרסם או תמונה קטנה רלוונטית אחרת מומלץ לא 128 x 128 פיקסלים <הלוגו של .NY Mortgage Inc>
קריאה לפעולה הפעולה המועדפת על המשתמש מומלץ לא 15 תווים לקבלת הצעת מחיר
מפרסם טקסט המזהה את המפרסם או המותג נדרש לא 25 תווים NY Mortgage Inc.

תבנית של מודעת וידאו להתקנת אפליקציה

שדה התיאור נדרש או מומלץ? מוצג תמיד? גודל תמונה מומלץ/מספר תווים מקסימלי * דוגמה
וידאו תגובת VAST של וידאו שכוללת את כל הנכסים הדרושים להפעלת מודעת וידאו. נדרש לא - כתובת URL ל-VAST XML שמכילה Flood-It! מודעת וידאו
כותרת שם האפליקציה נדרש כן 25 תווים Flood-It!
תמונה תמונה (תמונה ממוזערת) שמוצגת בנגן לפני שלוחצים על מודעת הווידאו או בזמן שהיא נטענת. נדרש לא צריך להתאים ליחס הגובה-רוחב של הסרטון (לדוגמה: 1280x720 לסרטון בגודל 16x9, 4x3 לסרטון בגודל 640x480). צילום מסך מהמשחק Flood-It! או מהסרטון
גוף הטקסט הראשי של האפליקציה נדרש לא 90 תווים פשוט מטעה ומאתגר באופן מפתה = ממכר להפליא!
סמל האפליקציה סמל האפליקציה נדרש לא 128 x 128 פיקסלים סמל של האפליקציה Flood-it!
קריאה לפעולה פעולת משתמש מועדפת נדרש כן 15 תווים התקנה
Star rating מספר הכוכבים (0-5) שמייצגים את דירוג האפליקציה בחנות האפליקציות מומלץ לא 0 - 5 4.5
מחיר עלות האפליקציה מומלץ לא 15 תווים חינם

הגבלות

  • Video: כל הסרטונים חייבים להיות בפורמט של כתובת URL מסוג VAST או תג VAST. לא ניתן לציין קובץ וידאו גולמי כמו WebM , MP4 וכו'.

  • Text length (אורך הטקסט): אם קונה מציין בתשובה נכס טקסט כמו body, יכול להיות ש-Google או בעל התוכן הדיגיטלי יקטעו אותו ויצורף לו קישור. שימו לב שמגבלות החיתוך הן חצי מגודלן בסינית, ביפנית ובקוריאנית. לדוגמה, מגבלת הכותרות היא 90 באנגלית ו-45 לסינית.

  • גודל תמונה: בעלי אתרים רשאים:

    • חותכים את התמונה הראשית באופן סימטרי בשיעור של עד 20% בממד אחד (גובה או רוחב).
    • משנים את גודל התמונה בלי לשנות את יחס הגובה-רוחב שלה.

דוגמה למודעה להתקנת אפליקציה

מודעת וידאו מותאמת

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

שדה התיאור נדרש או מומלץ? מוצג תמיד? גודל תמונה מומלץ/מספר תווים מקסימלי * דוגמה
וידאו תגובת VAST של וידאו שכוללת את כל הנכסים הדרושים להפעלת מודעת וידאו. נדרש כן - כתובת URL ל-VAST XML שמכילה Flood-It! מודעת וידאו
כותרת כותרת המודעה נדרש כן 25 תווים הריבית הנמוכה ביותר על המשכנתה
תמונה תמונה (תמונה ממוזערת) שמוצגת בנגן לפני שלוחצים על מודעת הווידאו או בזמן שהיא נטענת. נדרש לא צריך להתאים ליחס הגובה-רוחב של הסרטון (לדוגמה: 1280x720 לסרטון בגודל 16x9, 4x3 לסרטון בגודל 640x480). צילום מסך מהסרטון
גוף תוכן המודעה נדרש לא 90 תווים הבית שלך בברוקלין המתוק - זול יותר ומהיר משחשבת!
לוגו לוגו של המפרסם או תמונה קטנה רלוונטית אחרת מומלץ לא 128 x 128 פיקסלים הלוגו של NY Mortgage Inc.
קריאה לפעולה הפעולה המועדפת על המשתמש נדרש לא 15 תווים לקבלת הצעת מחיר
מפרסם טקסט המזהה את המפרסם או המותג נדרש לא 25 תווים NY Mortgage Inc.

מטא שדות

כל תבניות המודעות הנתמכות משותפות לשדות המטא הבאים:

מאגר אחסון זמני לפרוטוקולים בזמן אמת של Authorized Buyers ערך שווה ערך ל-Authorized Buyers OpenRTB התיאור
NativeAd.click_link_url Link.url כתובת האתר שאליה הדפדפן יקרא כאשר המשתמש ילחץ על המודעה. זו יכולה להיות השלב הראשון בשרשרת ההפניה האוטומטית שבסופו של דבר מובילה לדף הנחיתה. במודעות מותאמות, מומלץ להשתמש בשדה click_link_url כדי להגדיר את היעד שאליו המשתמש יגיע בסופו של דבר. יש להשתמש בשדה הזה במקרה של דפי נחיתה דינמיים.
Ad.click_through_url Bid.adomain

חייבים להגדיר אם מגיש הצעות המחיר מתכוון להגיש הצעת מחיר. זוהי הקבוצה של כתובות אתרי היעד לקטע הקוד, כולל כתובות ה-URL שאליהן המשתמש יעבור אם ילחץ על המודעה המוצגת, וכן כתובות ה-URL הגלויות במודעה שעברה עיבוד. אין לכלול קריאות ביניים לשרת המודעות שאינן קשורות לדף הנחיתה הסופי. תגובת הצעת מחיר שמחזירה קטע טקסט או מודעת וידאו, אבל מוצהרת שלא תתבצע מחיקה של click_through_url. יש להגדיר את השדה הזה רק אם הוגדרו html_snippet, video_url או native_ad. הנתונים האלה משמשים כהצהרה על כתובת היעד, לדוגמה, אחרי סינון של כתובות URL שנחסמו על-ידי בעל התוכן הדיגיטלי או סיווג של מודעות. קרא את NativeAd.click_link_url שלמעלה כאשר משתמשים במודעות מותאמות.

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

במודעות מותאמות, אם המדיניות NativeAd.click_link_url לא מוגדרת, הערך הראשון של click_through_url ישמש להפניית המשתמשים לדף הנחיתה. בנוסף, כל הערכים משמשים כהצהרות של כתובות יעד (בדומה לאותיות לא מותאמות).

NativeAd.click_tracking_urls Link.clicktrackers אפשרות. כתובות URL נוספות שמאפשרות למפרסמים לעקוב אחרי קליקים של משתמשים על המודעה.
Ad.ad_choices_destination_url BidExt.ad_choices_destination_url קישור אל דף העדפות של מודעות או דף ביטול הצטרפות. אם קיים, סמל סטנדרטי של AdChoices מתווסף למודעת הקריאייטיב המותאמת ומקושר לכתובת ה-URL הזו. אפשרות זו נתמכת במודעות מותאמות, אך היא אינה חלק מהמסר המותאם בתגובה להצעת המחיר.
Ad.impression_tracking_url NativeResponse.imptrackers צריך לעקוב אחר החשיפה של המודעה המותאמת באמצעות impression_tracking_url ב-Authorized Buyers בזמן אמת של בידינג בזמן אמת או לעקוב אחר חשיפות מותאמות ב-OpenRTB.

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

בשדה סיביות משתמשים בכל ביט של ערך בינארי כדי לאחסן הצהרת true או false, שווה ערך לשליחת אותות בוליאניים רבים כמו is_logo_required, is_header_required וכו', אבל כולם ארוזים יחד.

דוגמה

בדוגמה הזו נשתמש בערך required_fields של 1085.

קודם כל, מוצאים את הערך הבינארי המקביל: 10000111101

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

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

שדה מיקום של ערך בינארי (מימין לשמאל)
HEADLINE 1
BODY 2
CALL_TO_ACTION 4
ADVERTISER 8
IMAGE 16
LOGO 32
APP_ICON 64
STAR_RATING 128
PRICE 256
STORE 512
VIDEO 1024

אם נסתכל על הדוגמה הבינארית של 10000111101, הערך בביט אחד (הימני ביותר) הוא 1 ומסמן ערך נדרש. לפי הטבלה, הביט של ה-1 ביט תואם ל-HEADLINE.

הערך של 2 הביט (הערך השני מימין) 0 מציין שלא חובה. גרסת 2 הביט תואמת ל-BODY.

הנה כל שדות החובה המפוענחים בדוגמה שלנו:

Value התיאור חובה?
1 VIDEO כן
0 STORE לא
0 PRICE לא
0 STAR_RATING לא
0 APP_ICON לא
1 LOGO כן
1 IMAGE כן
1 ADVERTISER כן
1 CALL_TO_ACTION כן
0 BODY לא
1 HEADLINE כן

הודעה מסוג NativeAdTemplate

כשמקבלים בקשה להצעת מחיר שמכילה מלאי מותאם, היא כוללת ערך מאוכלס BidRequest.adSlot[].native_ad_template. בהודעה של NativeAdTemplate מפורט המפרט של:

  • שדות חובה או שדות מומלצים.
  • מידות של תמונות, סמלי לוגו וסמלי אפליקציות.
  • מפרטי הסגנון שבו המודעה מוצגת.
message BidRequest {
  //...
  message AdSlot {
    //...

    message NativeAdTemplate {
      // Defines the bits used in required_fields and recommended_fields.
      // There is one bit for each of the fields in BidResponse.Ad.NativeAd
      enum Fields {
        NO_FIELDS = 0x0;
        HEADLINE = 0x1;
        BODY = 0x2;
        CALL_TO_ACTION = 0x4;
        ADVERTISER = 0x8;
        IMAGE = 0x10;
        LOGO = 0x20;
        APP_ICON = 0x40;
        STAR_RATING = 0x80;
        PRICE = 0x100;
        DEPRECATED_STORE = 0x200;
        VIDEO = 0x400;
      }

      // Bitfield describing which fields are required by the publisher. Bid
      // responses with no value for these fields will be rejected. Click
      // and view tracking urls are always implicitly required.
      optional int64 required_fields = 1;

      // Bitfield describing which fields are recommended by the publisher.
      // All recommended field are supported, but not all recommended fields
      // are required.
      optional int64 recommended_fields = 2;

      // max_safe_length indicates the maximum number of Unicode characters that
      // are guaranteed to be shown without truncation. Longer strings may be
      // truncated and ellipsized by Ad Exchange or the publisher during
      // rendering.
      optional int32 headline_max_safe_length = 3;
      optional int32 body_max_safe_length = 4;
      optional int32 call_to_action_max_safe_length = 5;
      optional int32 advertiser_max_safe_length = 6;
      optional int32 price_max_safe_length = 15;

      // The width and height from which to calculate the required aspect ratio.
      // You can provide a larger image in the response. Images that have aspect
      // ratios substantially different than those implied by the height and
      // width may be filtered.
      optional int32 image_width = 7;
      optional int32 image_height = 8;
      optional int32 logo_width = 9;
      optional int32 logo_height = 10;
      optional int32 app_icon_width = 11;
      optional int32 app_icon_height = 12;

      // Globally distinct id for the specific style, HTML, and CSS with which
      // the native ad is rendered.
      optional int32 style_id = 16;

      // Type of style layout for each native ad template.
      enum LayoutType {
        PIXEL = 0;
        FLUID = 1;
      }
      optional LayoutType style_layout_type = 17 [default = PIXEL];

      // If the style_layout_type is Pixel, width and height of the
      // entire native ad after rendering. If the style_layout_type is
      // Fluid, the style_height and style_width may optionally
      // not be populated.
      optional int32 style_height = 18;
      optional int32 style_width = 19;
    }
    repeated NativeAdTemplate native_ad_template = 51;
  }

    // NativePlacementType describes placement of native ad slot with respect to
    // surrounding context.
    enum NativePlacementType {
      PLACEMENT_UNKNOWN = 0;
      // In the feed of content - for example as an item inside the organic
      // feed/grid/listing/carousel.
      PLACEMENT_IN_FEED = 1;
      // In the atomic unit of the content - for example, in the article page or single
      // image page.
      PLACEMENT_ATOMIC_UNIT = 2;
      // Outside the core content - for example in the ads section on the right
      // rail, as a banner-style placement near the content, etc.
      PLACEMENT_OUTSIDE = 3;
      // Recommendation widget, most commonly presented below the article
      // content.
      PLACEMENT_RECOMMENDATION = 4;
    }

    optional NativePlacementType native_placement_type = 45;

  // ...
}

הודעה במודעה מותאמת

במהלך הבידינג על מלאי שטחי פרסום מותאם, הקונה צריך לאכלס את השדה BidResponse.ad[].native_ad בשדות החובה המוצהרים ב-BidRequest.adSlot[].native_ad_template המתאים.

message BidResponse {
  //...
  message Ad {
    //...

    message NativeAd {
      // A short title for the ad.
      optional string headline = 1;

      // A long description of the ad.
      optional string body = 2;

      // A label for the button that the user is supposed to click.
      optional string call_to_action = 3;

      // The name of the advertiser or sponsor, to be displayed in the ad
      // creative.
      optional string advertiser = 4;

      // Next tag to use: 4
      message Image {
        optional string url = 1;

        // Image width and height are specified in pixels. You may provide a
        // larger image than was requested, so long as the aspect ratio is
        // preserved.
        optional int32 width = 2;
        optional int32 height = 3;
      }

      // A large image.
      optional Image image = 5;

      // A smaller image, for the advertiser's logo.
      optional Image logo = 6;

      // The app icon, for app download ads.
      optional Image app_icon = 7;

      // The video file. Only set this field if the video field is requested.
      oneof video {
        // The URL to fetch a video ad. The URL should return an XML response
        // that conforms to VAST standards.
        string video_url = 13;

        // The VAST document to be returned.
        string video_vast_xml = 16;
      }

      // The app rating in the app store. Must be in the range [0-5].
      optional double star_rating = 8;

      // The URL that the browser/SDK will load when the user clicks the ad.
      // This can be the landing page directly, or the first step of a redirect
      // chain that eventually leads to it. For backward compatibility, if this
      // is not set, the first Ad.click_through_url is used.
      optional string click_link_url = 14;

      // The URL to use for click tracking. The SDK pings click tracking url on
      // a background thread. When resolving the url, HTTP 30x redirects are
      // followed. The SDK ignores the contents of the response; this URL
      // has no effect on the landing page for the user.
      // This field is planned to be deprecated and we are moving to the
      // repeated click_tracking_urls field.
      optional string click_tracking_url = 11;

      // The URLs to use for click tracking. This will be used throughout the
      // serving stack and will incorporate any URL in click_tracking_urls.
      repeated string click_tracking_urls = 15;

      // The price of the promoted app including the currency info.
      optional string price = 10;

    };
    optional NativeAd native_ad = 18;

    // The set of destination URLs for the snippet. This includes the URLs that
    // the user will go to if they click on the displayed ad, and any URLs that
    // are visible in the rendered ad. Do not include intermediate calls to the
    // adserver that are unrelated to the final landing page. A BidResponse that
    // returns a snippet or video ad but declares no click_through_url will be
    // discarded. Only set this field if html_snippet or video_url or native_ad
    // are set. This data is used as a destination URL declaration, for example
    // for post-filtering of publisher-blocked URLs or ad categorization.
    //
    // For non-native ads, it is not used for click tracking or any
    // other ad functionality; it is only used as a destination URL
    // declaration.
    //
    // For native ads, if NativeAd.click_link_url is not set, the first
    // value of click_through_url is used to direct the user to the landing
    // page. In addition, all values are used as destination
    // URL declarations (similar to the non-native case).
    repeated string click_through_url = 4;

    //...

    // The URLs to call when the impression is rendered. The SDK pings
    // impression urls on a background thread and ignores the contents
    // of the response.
    repeated string impression_tracking_url = 19;

    // Link to ad preferences page. This is only supported for native ads.
    // If present, a standard AdChoices icon is added to the native ad creative and
    // linked to this URL.
    optional string ad_choices_destination_url = 21;
    // ...
  }
}

בקשות לדוגמה להצעות מחיר

בקשות להצעות מחיר שאינן של וידאו

Google

קובץ JSON של OpenRTB

OpenRTB Protobuf

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

דוגמאות לתשובות להצעות מחיר

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

תגובות להצעות מחיר שאינן של וידאו

Google

קובץ JSON של OpenRTB

OpenRTB Protobuf

תגובות להצעת מחיר בווידאו