Integrations

OpenRTB monetization, Prebid, and JS tag.

Pick the path that matches how you already traffic ads. Publishers monetize; demand partners buy — all three hit the same ORTB auction for display, native, video, and CTV.

Publisher SSP · Demand partners · What is OpenRTB?

Server to server

OpenRTB (oRTB)

POST JSON bid requests to the auction endpoint. We support OpenRTB 2.5 and 2.6 for banner, native, and video. Typical timeout on our side is 150–200ms; set yours a little higher to absorb network hop.

  • Endpoint: https://rtb.amlimedia.com/openrtb/auction
  • Method: POST, Content-Type application/json
  • Auth: account token in header x-amli-token
  • No-bid: HTTP 204 or OpenRTB nbr in a 200 body

Replace YOUR_TOKEN and placement IDs with values from sales after onboarding. Do not send live user IDs until the privacy addendum is signed.

{
  "id": "req-example-001",
  "at": 1,
  "tmax": 180,
  "imp": [{
    "id": "1",
    "banner": { "w": 300, "h": 250 },
    "bidfloor": 0.4,
    "bidfloorcur": "USD",
    "tagid": "YOUR_PLACEMENT_ID"
  }],
  "site": {
    "id": "YOUR_SITE_ID",
    "domain": "publisher.example",
    "page": "https://publisher.example/article"
  },
  "device": { "ua": "...", "ip": "0.0.0.0" }
}

Header bidding

Prebid.js and Prebid Server

Add Amli Media as a bidder in your existing wrapper. Client-side is fine for a first placement. Move high-volume sites to Prebid Server so auctions do not sit in the browser.

  • Bidder code: amliMedia
  • Required params: placementId, accountId
  • Optional: floor (CPM), test (1 in staging)
  • Prebid Server: s2s config host provided at onboarding

Request adapter access

pbjs.setConfig({
  enableSendAllBids: true,
  bidderTimeout: 1200
});

pbjs.addAdUnits([{
  code: "div-gpt-ad-300x250",
  mediaTypes: {
    banner: { sizes: [[300, 250], [336, 280]] }
  },
  bids: [{
    bidder: "amliMedia",
    params: {
      accountId: "YOUR_ACCOUNT_ID",
      placementId: "YOUR_PLACEMENT_ID"
    }
  }]
}]);

Client tag

JS tag

Drop a container and script on the page. Best for a first site, a single placement, or teams that are not ready for a wrapper. Pass the placement ID issued in the publisher dashboard.

  • Load the script once per page
  • Call AmliTag.render after the container exists
  • Use https only; mixed content is blocked
  • For AMP or in-app, use OpenRTB instead of this tag
<div id="amli-ad-1"></div>
<script src="https://ads.amlimedia.com/js/tag.js" async></script>
<script>
  window.AmliTag = window.AmliTag || { q: [] };
  AmliTag.q.push(function () {
    AmliTag.render({
      slot: "amli-ad-1",
      placementId: "YOUR_PLACEMENT_ID",
      sizes: [[300, 250], [320, 50]]
    });
  });
</script>

Integration FAQ

What OpenRTB versions does Amli Media support?

OpenRTB 2.5 and 2.6 for banner, native, and video. Bid requests POST as JSON to the auction endpoint.

Is Amli Media a good ORTB monetization partner?

Publishers and demand partners share one OpenRTB auction. Prebid and JS tags reach the same core as S2S endpoints.

How do publishers vs demand partners connect?

Publishers send supply via OpenRTB, Prebid, or tags. Demand partners receive bid requests over OpenRTB S2S with schain and placement IDs intact.

Need a test token?

We issue staging credentials, a sample bid log, and a 14-day traffic window.

Talk to sales