Web publisher docs
How to add a website, place ad slots and read results. Looking for the mobile SDK? See App docs.
1. Add your website
- Create an account and open Web → Websites.
- Add your domain. Subdomains of an approved domain are accepted by the tag.
- Wait for review. In the meantime you can test with a test-mode site.
2. Install the tag
<script async src="https://uvjz.com/uvjz.js" data-site="YOUR_SITE_KEY"></script>
<div data-uvjz-slot="YOUR_SLOT_KEY"></div>The tag fetches your slot and partner configuration, runs a Prebid.js auction when pbjs is on the page, and reports requests, fills, viewable impressions and clicks.
Demand: managed or your own accounts
Each website uses one of two modes, chosen on the website page.
- Managed demand (not available yet): we sell your ad space through the platform's SSP accounts, so you need no SSP contracts. Request it on the website page; we review the site with our partners first. Once active, the tag uses our partners automatically and the website page shows the ads.txt lines to publish (
RESELLERlines for our accounts). The revenue the SSPs pay for your site is settled monthly and your share is added to your balance under Payments; amounts shown during the month are estimates from the tag. - Your own accounts: enable the SSPs you already work with and enter their parameters. Each SSP pays you directly.
3. Prebid.js
Build Prebid.js with the adapters of the partners you enabled (for example pubmaticBidAdapter, rubiconBidAdapter, ixBidAdapter) and load it before or after the tag. Slot sizes, floors and bidder parameters come from the dashboard.
Privacy and consent
The tag does not show its own consent banner. It reads the consent tool (CMP) already on your page and passes its signals to Prebid.js and our Prebid Server.
- EEA, UK and Switzerland: ads are requested only when the page runs an IAB TCF v2.2 CMP (
__tcfapi). Google requires a Google-certified CMP for this traffic. Without one, the tag logs a warning in the browser console and leaves the slots empty. - United States: GPP (
__gpp) and US Privacy (__uspapi) signals are passed when present; ads are requested either way. - Prebid.js modules: add
consentManagementTcf,tcfControlandconsentManagementGppto your build (andconsentManagementUspfor older CMPs). Load the CMP before the tag. WithoutconsentManagementTcf, visitors from the EEA, the UK and Switzerland get no ads, and our Prebid Server skips user syncs. - Children: turn on Child-directed (COPPA) on the website page if your site is directed at children under 13.
- The website page shows, for the last 30 days, how many page views had each kind of consent tool. The tag itself stores nothing on the visitor's device.
4. ads.txt
Copy the lines shown on the website page to /ads.txt at your site root. Use “Check my live ads.txt” to confirm.
5. API
GET /api/v1/web/config?site=KEY returns slots and bidders.
POST /api/v1/web/events with JSON {"site","slot","bidder","event":"request|fill|impression|click","cpm","event_id","device"}. Requests must come from your registered domain. Duplicate event IDs, implausible CPMs, bursts from one IP and blocked IPs are ignored.
6. Revenue
Revenue shown is estimated from the CPM reported by the winning bid. With your own accounts, final earnings come from your SSP reports. With managed demand, final earnings are the monthly settlement shown under Payments.