Back to Bidders

Peak226

Features

Bidder Code peak226 Prebid.org Member no
Prebid.js Adapter yes Prebid Server Adapter yes
Media Types display, video, native Multi Format Support will-bid-on-any
TCF-EU Support yes IAB GVL ID 1202
GPP Support tcfeu, tcfca, usnat, usstate_all, usp DSA Support check with bidder
USP/CCPA Support yes COPPA Support yes
Supply Chain Support yes Demand Chain Support no
Safeframes OK check with bidder Supports Deals yes
Floors Module Support yes First Party Data Support yes
Endpoint Compression check with bidder ORTB Blocking Support yes
User IDs all Privacy Sandbox check with bidder
Prebid Server App Support yes

Overview

Maintainer: support@edge226.com

Description

The Peak226 adapter connects Prebid.js and Prebid Server to the Peak226 SSP (Edge226 Ltd) for banner, video and native demand. It speaks OpenRTB 2.6 and forwards standard signals — first-party data, price floors, user.eids, supply chain (schain), deals (imp.pmp), blocking (bcat, badv, bapp, battr) and consent (TCF EU, US Privacy, GPP, COPPA) — from the incoming request with no extra configuration.

Requests are routed to a per-data-center endpoint (US, EU or JP). Bids are net revenue in USD.

Bid Params

Name Scope Description Example Type
publisherId required* Your Peak226 publisher/account ID. 'hb-test' string
placementId required* Placement ID for this ad unit / impression. Sent as imp.tagid. 'hb-test' string
region optional Data center to send the request to: 'us', 'eu' or 'jp'. Defaults to 'us'. 'eu' string

* In Prebid.js both IDs may instead come from standard ORTB first party data — ortb2.{site|app|dooh}.publisher.id and ortb2Imp.tagid or ortb2Imp.ext.gpid — in which case the bid params are not needed; when both are present the bid params win, so they act as per-ad-unit overrides. ortb2Imp.ext.gpid is forwarded either way and counts as a valid placement ID. A bid is rejected only if neither the params nor ortb2/ortb2Imp supply a publisher ID or a placement ID. On Prebid Server both params are required.

An unknown region value falls back to 'us' in Prebid.js, while Prebid Server rejects it.

Prebid.js

Ad unit examples

var adUnits = [
  {
    code: 'banner-div',
    mediaTypes: {
      banner: { sizes: [[300, 250], [728, 90]] }
    },
    bids: [{
      bidder: 'peak226',
      params: { publisherId: 'hb-test', placementId: 'hb-test' }
    }]
  },
  {
    code: 'video-div',
    mediaTypes: {
      video: {
        context: 'instream',
        playerSize: [[640, 480]],
        mimes: ['video/mp4'],
        protocols: [2, 3, 5, 6],
        api: [2],
        plcmt: 1
      }
    },
    bids: [{
      bidder: 'peak226',
      params: { publisherId: 'hb-test', placementId: 'hb-test' }
    }]
  },
  {
    code: 'native-div',
    mediaTypes: {
      native: {
        ortb: {
          assets: [
            { id: 1, required: 1, title: { len: 80 } },
            { id: 2, required: 1, img: { type: 3, w: 300, h: 250 } }
          ]
        }
      }
    },
    bids: [{
      bidder: 'peak226',
      params: { publisherId: 'hb-test', placementId: 'hb-test', region: 'eu' }
    }]
  }
];

Prebid.js notes

  • Video bids are returned as VAST XML. Instream requires a Prebid Cache configuration (pbjs.setConfig({ cache: { url: '...' } })). Outstream requires a publisher-supplied renderer on the ad unit (mediaTypes.video.renderer or renderer); Peak226 does not host a renderer.
  • Requests are split per region and publisher. Bids that differ in region or publisherId are sent as separate requests.
  • ${AUCTION_PRICE} in creative markup, nurl and burl is expanded by the adapter with the bid price.
  • Native bids may carry their markup in a non-standard adm_native field instead of adm. When adm is empty the adapter uses adm_native as the markup, and ${AUCTION_PRICE} is expanded everywhere inside it, including nested tracker URLs.
  • No user sync. The adapter does not implement getUserSyncs; see the note below.

Prebid Server notes

  • Requests are split per region and publisher. Impressions that differ in region or publisherId are sent as separate requests.
  • ${AUCTION_PRICE} is expanded by the adapter. Peak226 returns the OpenRTB ${AUCTION_PRICE} macro in adm (and nurl, burl) as its counting mechanism and relies on the demand-side adapter to substitute the clearing price. The adapter resolves it before the bid is returned, so no host configuration is needed.
  • Non-bidder impression signals are preserved. Only the bidder key is removed from imp.ext; signals such as gpid, data and tid are forwarded untouched.
  • Zero-value device.ifa is cleared. When the OS reports the all-zero sentinel IFA (00000000-0000-0000-0000-000000000000, e.g. after an iOS ATT opt-out) the adapter clears it rather than forwarding it as though it were a real device ID.
  • Native adm_native is supported. When a native bid has an empty adm and the markup is in the non-standard adm_native field, the adapter uses it as adm (with ${AUCTION_PRICE} expanded).
  • GPP is passed through, not decoded. The adapter does not declare gpp-supported, so Prebid Server forwards regs.gpp / regs.gpp_sid as received without decoding or enforcing them.
  • Bid floors in a currency other than USD are converted before the request is sent.

Privacy

  • No cookie sync. Neither adapter declares a user-sync endpoint. GVL 1202 is registered as “Edge226 Ltd” but declares usesCookies: false and does not include Purpose 1 (“store and/or access information on a device”), so a TCF-compliant CMP has no basis to authorize a cookie drop. Bidding is unaffected — Purpose 2 (basic ads) is declared.

"Send All Bids" Ad Server Keys

These are the bidder-specific keys that would be targeted within GAM in a Send-All-Bids scenario. GAM truncates keys to 20 characters.
hb_pb_peak226 hb_bidder_peak226 hb_adid_peak226
hb_size_peak226 hb_source_peak226 hb_format_peak226
hb_cache_host_peak22 hb_cache_id_peak226 hb_uuid_peak226
hb_cache_path_peak22 hb_deal_peak226

Back to Bidders