GZT üzerinden AMPHTML reklamlar

Bu sayfada, AMPHTML reklamları GZT ile kullanmaya nasıl başlayacağınız açıklanmaktadır. Başlamanıza yardımcı olacak AMPHTML reklamları ve araçları hakkında daha fazla bilgi için aşağıdaki Kaynaklar'a göz atın.

Üst düzey yaklaşım

GZT teklif isteği

GZT teklif isteği, isteğin bir AMP sayfasından gelip gelmediğini ve AMPHTML reklamlarına yönelik şartları belirtir.

OpenRTB

AMP sayfası

message SiteExt {
  enum AmpPage {
    // This is not an AMP page.
    DIALECT_HTML = 0;

    // This is an Amp page.
    DIALECT_HTML_AMP = 1;
  }

  // Whether this is an AMP page or not. Omitted if unknown.
  optional AmpPage amp = 1;
  enum VisibilityState {
    VISIBILITY_STATE_UNKNOWN = 0;

    // The page is at least partially visible. For example, in the foreground
    // tab of a non-minimized window.
    VISIBILITY_STATE_VISIBLE = 1;

    // The page is not visible to users. For example, when the page is in a
    // background browser tab, or in a minimized window.
    VISIBILITY_STATE_HIDDEN = 2;
  }

  // The visibility state of the web page containing the ad slot.
  // See https://www.w3.org/TR/page-visibility/.
  // [AdX: BidRequest.page_visibility]
  optional VisibilityState page_visibility = 2 [default =
    VISIBILITY_STATE_UNKNOWN];

  // Information about a browser window's user activation state. See
  // https://html.spec.whatwg.org/multipage/interaction.html#the-useractivation-interface.
  message UserActivation {
    // Indicates whether a user has completed an interaction since page load.
    optional bool wasact = 1;

    // Indicates whether a user is currently interacting with the page.
    optional bool isact = 2;
  }

  // User activation information from the browser for the current request, if
  // the request is for a web page.
  optional UserActivation uact = 5;

  // The set of possible web navigation types that predicate a page load. Each
  // of these types may have different performance characteristics. For example,
  // users going back and forth might experience a faster site than users
  // performing navigation for the first time or submitting forms. See
  // https://w3c.github.io/navigation-timing/#dom-performancenavigationtiming-type.
  enum NavigationType {
    NAVIGATION_TYPE_UNKNOWN = 0;

    // Navigation started by clicking a link, entering the URL in the browser's
    // address bar, form submission, or initializing through a script operation
    // other than reload and back_forward.
    NAVIGATION_TYPE_NAVIGATE = 1;

    // Navigation is through the browser's reload operation, location.reload(),
    // or a Refresh pragma directive like
    // <meta http-equiv="refresh" content="300">.
    NAVIGATION_TYPE_RELOAD = 2;

    // Navigation is through the browser's history traversal operation.
    NAVIGATION_TYPE_BACK_FORWARD = 3;

    // Navigation is initiated by a prerender hint (deprecated). See
    // https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel/prerender.
    NAVIGATION_TYPE_PRERENDER = 4;
  }

  // The type of browser navigation that led to the current page. Unset for
  // non-web ad requests.
  optional NavigationType ntype = 6;

  // Indicates that the request is using semi-transparent branding,
  // which means only a truncated version of the request URL will
  // be provided. This decision is made by the publisher, see
  // https://support.google.com/admanager/answer/4584891#urls for context.
  optional bool is_semi_transparent_request = 3;

  // The domain of the partner (of the site owner) with ownership
  // of some portion of ad inventory on the site. The partner's ads.txt file
  // will be hosted here. More detail at
  // http://iabtechlab.com/wp-content/uploads/2021/03/ctv-app-ads-explainer-guide.pdf
  optional string inventorypartnerdomain = 4;
}

AMPHTML reklam gereksinimleri

// Ad Exchange extensions for the Imp object.
message ImpExt {
...
  // Possible requirement types for AMP ads.
  enum AmpAdRequirementType {
    // AMP ad requirements unknown.
    UNKNOWN_AMP_AD_REQUIREMENT_TYPE = 1;
    // AMP ads are not allowed.
    AMP_AD_NOT_ALLOWED = 2;
    // Either AMP ads or non-AMP ads are allowed;
    // AMP ads are not early rendered.
    AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED = 3;
    // Either AMP ads or non-AMP ads are allowed;
    // AMP ads are early rendered.
    AMP_AD_ALLOWED_AND_EARLY_RENDERED = 4;
    // AMP ads are required.
    // Ads that are non-AMP may be rejected by the publisher.
    AMP_AD_REQUIRED = 5;
    // Exchange-specific values above 500.
  }
  optional AmpAdRequirementType ampad = 8
    [default = UNKNOWN_AMP_AD_REQUIREMENT_TYPE];
}

Authorized Buyers GZT

AMP sayfası

// Whether this is an AMP page or not.
enum AmpPage {
  // AMP page status unknown.
  UNKNOWN_AMP_PAGE = 0;

AMPHTML reklam gereksinimleri

// Possible requirement types for AMP ads.
enum AmpAdRequirementType {
  // AMP ad requirements unknown.
  UNKNOWN_AMP_AD_REQUIREMENT_TYPE = 0;

GZT teklif yanıtı

OpenRTB

OpenRTB 3.0 ve beraberindeki Reklamcılık Ortak Modeli'nde, AMPHTML reklamlarını desteklemek için yapılan birkaç ekleme, IAB'nin en son taslak özelliklerine eklenmiştir.

Teklif Alan Attr Tür Açıklama
İstek Site.amp amp tam sayı Site.amp alanı, sayfanın AMP'de oluşturulup oluşturulmadığını belirtir, bilinmiyorsa atlanır:
0 = sayfa AMP değilse
1 = sayfa AMP HTML ile oluşturulur
İstek ampformat rend tam sayı AMP Biçimi Spesifikasyonu, AMPHTML reklamları için gereksinimleri ve oluşturma davranışını belirtir:
1 = AMP reklamı koşulları bilinmiyor
2 = AMP reklamlarına izin verilmez
3 = AMP reklamlarına veya AMP olmayan reklamlara izin verilir; AMP reklamlara erken oluşturulmaz
4 = AMP reklamlarına veya AMP olmayan reklamlara izin verilir ve AMP reklamları erken oluşturulur
5 = AMP reklamları gereklidir. AMP olmayan reklamlar yayıncı tarafından reddedilebilir
500+ = Exchange'e özel değerler; teklif verenlere önceden iletilmelidir
Yanıt display curl dize display.curl, AMPHTML reklamları desteği de dahil olmak üzere, bir URL aracılığıyla reklam öğeleri gönderebilecek şekilde teklif yanıtına eklendi.
Bu, reklam öğesi işaretlemesinin bulunacağı URL'dir. AMP Reklamları, VAST ve DAAST ve Yerel gibi reklam öğesi türleri için geçerlidir. Normalde belirli bir reklamda adm veya curl özelliklerinden yalnızca biri geçerlidir.

Authorized Buyers GZT

Authorized Buyers teklif yanıtlarındaki BidResponse.Ad.amp_ad_url alanı, AMPHTML reklam içeriğine yönlendiren bir URL'yi kabul eder. Aynı alan, Google'ın OpenRTB uygulamasındaki Bid nesnesinde bir uzantı olarak bulunur.

// The URL to fetch an AMPHTML ad. Only one of the following should be set:
// html_snippet, video_url, amp_ad_url, native_ad.
optional string amp_ad_url = 23;

Geçerli AMPHTML doğrulaması

AMPHTML reklamlarının erken oluşturulması için exchange'in bunları doğrulayıp imzalaması ve reklamın amp4ads <html amp4ads> reklam öğesi biçiminde yazıldığını belirtmesi gerekir.

Geçerli AMPHTML reklamların AMP sayfaları tarafından erken oluşturulmasına izin verilir. Geçerli AMPHTML olarak doğrulanmayan reklamlar, AMPHTML olmayan reklamlarla aynı hızda oluşturulur.

amp_ad_url içinde yalnızca AMPHTML reklamları döndürülmelidir.

Gelecekte, bir yayıncı yalnızca AMPHTML reklamlarına ihtiyaç duyarsa AMPHTML olarak imzalanmamış reklamlar oluşturulmaz.

Authorized Buyers ile teklif verenler, AMPHTML olmayan bir reklamı AMPHTML reklamı gerekli bir reklam alanına döndürürlerse ücretlendirilmeye devam eder.

Sunucu tarafı getirme

AMPHTML reklamlarının erken oluşturulması için AMPHTML reklam içeriğinin, istemciden ek atlamalara gerek kalmadan oluşturulması gerekir. Bu özellik, reklam gecikmesi ve ek istemci tarafı çağrılar nedeniyle kötü kullanıcı deneyimlerini önlemek için tasarlanmıştır.

Teklif veren açık artırmayı kazandıktan sonra exchange, amp_ad_url içinde sağlanan URL'de bulunan AMPHTML reklam içeriğini almak için sunucular arası bir istek gerçekleştirir. Reklam öğesi sunucuları, 300 ms içinde yanıt vermeli ve içerik döndürmelidir.

Reklam öğesi sunucusundan döndürülen AMPHTML reklamı, reklam alanına eklenir ve ardından oluşturulur. Geçerli bir AMPHTML reklamının iframe'ler veya diğer <amp-ad> etiketleri içeremeyeceğini unutmayın. Daha ayrıntılı bilgi için AMPHTML reklamları spesifikasyonuna bakın.

Sadece beta özellik: Gerekirse hesap ekibinizle iletişime geçin

AMPHTML reklamının sunucudan sunucuya alınması sırasında (amp_ad_url içinde belirtilmiştir) Authorized Buyers, kullanıcının tarayıcısından reklam öğesi sunucusuna HTTP üst bilgisini ve IP'yi iletebilir. Bu, reklam öğesi sunucusunun standart bir istemci taraflı getirme işleminden gönderilenlere benzer bilgiler almasını sağlar. Bazı durumlarda IP adresi yalnızca ilk 3 bayta (IPv4) veya ilk 6 bayta (IPv6) ayrılacak şekilde kısaltılabilir. Bu özelliğe ihtiyacınız varsa hesap ekibinizle iletişime geçin. Aşağıda örnek bir HTTP üstbilgisi verilmiştir:

Gösterim izleme URL'leri ve tıklama makroları

GZT alıcıları, genellikle gösterim izleyicileri teklif yanıtına yapılandırılmış bir alan olarak ekler (bu, OpenRTB 2.5'teki "faturalandırma bildirimi URL'si" Bid.burl'dır).

Authorized Buyers ile bunlar istemci tarafında tetiklenir; amp-pixel, reklam öğesi oluşturulduğunda izleme URL'lerini tetikler. amp-analytics, oluşturma işleminin ötesinde daha gelişmiş izleme kullanım alanlarını ele alabilir.

AMPHTML reklamların, AMPHTML'de geçerli bir tıklama makrosu içermesi gerekir. Bu işlem, genellikle şuna benzer şekilde yapılır:

<a href="%%CLICK_URL_UNESC%%http%3A%2F%2my.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>
<a href=”https://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC%%”></a>

Reklam öğeleri genellikle reklam öğesi kodu içinde çerez eşleştirme pikselleri içerir. AMPHTML reklamları, bu kullanım alanı için amp-pixel ve amp-analytics bileşenlerini kullanabilir. Kullanım alanınız amp-analytics veya amp-pixel kullanılarak karşılanamıyorsa alternatif seçenekleri görüşmek için bir GitHub sorunu açın. Bir dizi farklı şirket tarafından yaygın olarak kullanılabilecek yeni uzantıları memnuniyetle karşılarız. Yeni bir uzantı oluşturmayla ilgili ayrıntılı yönergelere veya bir teknik kılavuza bakın.

Test için örnek AMP Reklamı URL'leri

Test için aşağıdaki örnek AMPHTML reklam içeriğini kullanabilirsiniz:

Kaynaklar

AMP Projesi ve Google, başlamanıza yardımcı olmak için birkaç kaynak yayınladı:

AMP'de reklam oluşturma
IAB / OpenRTB Grubu için GZT'ye özel teklifler