Hall 8 Stand C016
Enriched inventory earns
70% more revenue
The moment a reader opens your page, Neuwo has already told every bidder what it is about. Start a trial on your own inventory, right here.
Get your token
Two to three weeks on your own domains. No contract, no card.
Access prepared for Acme Media
Valid until 15 October 2026
A copy is on its way to your inbox.
Why it moves
What the bidders get
IAB Content and Audience taxonomy
Every page classified into both taxonomies, in the format demand systems already read.
No cookie, no identifier
The signal describes the page, so it survives every privacy change coming at you.
Implementation
Live in one deploy
Your ad units do not change and nothing new goes on your pages.
-
1
Put the module in your Prebid build
Tick Neuwo RTD Module on the Prebid.js download page and use the file it builds, or add
rtdModuleandneuwoRtdProviderto your own build. Keep every module you already build with. Build options in the docsgulp build --modules=rtdModule,neuwoRtdProvider -
2
Paste the configuration
Drop this in wherever your other
pbjs.setConfigcalls live. Your token and endpoint are already in it. Every configuration optionpbjs.setConfig({ realTimeData: { auctionDelay: 500, dataProviders: [ { name: "NeuwoRTDModule", waitForIt: true, params: { neuwoApiUrl: "<Your Neuwo Edge API Endpoint URL>", neuwoApiToken: "<Your Neuwo API Token>", }, }, ], }, }); -
3
Send the categories to Google demand
This lifts Neuwo's categories out of the auction and hands them to Google Publisher Tag as Publisher Provided Signals, so Ad Manager can pass them to your demand channels. The Ad Manager walkthrough
// segtax 6 = IAB Content Taxonomy 2.2, segtax 4 = IAB Audience Taxonomy 1.1 const neuwoSegments = (data, segtax) => (data || []) .filter((d) => d.name === "www.neuwo.ai" && d.ext?.segtax === segtax) .flatMap((d) => (d.segment || []).map((s) => String(s.id))); pbjs.que.push(function () { pbjs.onEvent("bidRequested", function (bidRequest) { const content = neuwoSegments(bidRequest.ortb2?.site?.content?.data, 6); const audience = neuwoSegments(bidRequest.ortb2?.user?.data, 4); const taxonomies = {}; if (content.length) taxonomies.IAB_CONTENT_2_2 = { values: content }; if (audience.length) taxonomies.IAB_AUDIENCE_1_1 = { values: audience }; if (!Object.keys(taxonomies).length) return; // setConfig replaces the whole pps object, so send both taxonomies at once googletag.cmd.push(() => googletag.setConfig({ pps: { taxonomies } })); }); });Publisher Provided Signals is an Ad Manager 360 feature, and the taxonomies still have to be switched on per demand channel in the Ad Manager interface.
Prefer to talk it through? Come and find us at the stand.