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

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

מודעות מותאמות נתמכות גם ב-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 לא נדרש מזהי נכסים תגובות לבקשות להצעת מחיר של אב-טיפוס.

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

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

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

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

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

בטבלאות שבהמשך מוצגים שדות עם התוויות חובה או מומלצים. יש לשים לב לכללים הבאים:

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

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

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

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

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

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

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

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

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

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

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

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

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

הגבלות

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

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

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

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

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

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

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

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

שדות מטא

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

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

יש להגדיר אם מגיש הצעות המחיר מתכוון להגיש הצעת מחיר. זו קבוצת היעד כתובות ה-URL של קטע הקוד, כולל כתובות ה-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, שמציין ערך נדרש. לפי טבלה, הביט הראשון תואם ל-HEADLINE.

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

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

ערך תיאור חובה?
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

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