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.
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
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.renderafter the container exists - Use
httpsonly; 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.