Skip to content
TR

Zone codes

Create an ad zone for each placement, choose the right code for its format, and add sub-IDs to track your traffic sources.

A zone is one ad placement in one format on one website. Each zone has its own code. You create and manage zones at /app/publisher/zones.

Create a zone

  1. Open /app/publisher/zones and select New zone.
  2. Choose the website. It must be added to your account first; see Add a website.
  3. Give the zone a name, such as "Header banner".
  4. Choose the format. For a banner, also choose the size: 300 x 250, 728 x 90, 320 x 50 or 160 x 600.
  5. Optionally set the lowest CPM you accept, in US dollars.
  6. Select Create zone, then Get code.

The format and banner size cannot be changed later, because the code and the earnings history depend on them. For a different format, create another zone.

A zone serves as soon as its website is approved. Until then it can be created and placed, but it does not fill.

Available formats

Popunder, push, in-page push, native, banner, interstitial, domain redirect, in-stream video and Telegram Mini Apps. See /ad-formats for what each one looks like to visitors.

Which code to use

Every zone offers a script tag. Depending on the format, a second option is offered as well. The examples use https://ulumob.com as the ad server host and 123 as the zone id; copy the real code from the panel.

Format Codes offered
All formats Script tag
Popunder, domain redirect Direct URL
Banner Iframe
In-stream video VAST URL
Push Service worker file, JSON URL
In-page push, native, interstitial, Telegram Mini Apps JSON URL

Script tag

<script async src="https://ulumob.com/serve.js" data-zone="123" data-format="popunder"></script>

Paste it where the ad should appear, or anywhere in the page for popunders. A banner tag also carries data-size.

Push zones: service worker

A push zone sends real notifications to people who allow them on your site. Besides the script tag, it needs one small file on your own domain, because browsers only accept a service worker from the site it works for.

  1. In the zone's Get code panel, open the Service worker tab and select Download ulm-sw.js (or copy the text).
  2. Upload the file to the root of your website, so it opens at https://your-domain/ulm-sw.js. A subfolder does not work. Subdomains need their own copy.
  3. Paste the script tag on your pages as usual. On a visit, the tag registers the service worker and asks for notification permission after a short delay (3 seconds by default) or on the visitor's first click.

The file only loads UluMob's service worker code, so you never have to update it. Switching to another zone means downloading its file, because the zone id is inside. If the file is missing, the browser has no web push support or the platform has no push keys set up yet, the zone shows its ad as a card on the page instead.

In the zone's Edit form, Ask for permission after and Ask for permission set when the prompt appears for this zone (after a delay, or on the first click); copy the code again after changing them. The zone list shows the zone's subscribers: active, new today and in total. Only subscribers who allowed notifications are counted. Anyone can switch notifications off in the browser at any time, and a subscriber who did is dropped automatically.

Direct URL

For popunder and domain redirect zones. Linking or redirecting a visitor to this address opens the ad landing page:

https://ulumob.com/delivery?zone_id=123&mode=redirect

Iframe

For banner zones, an iframe of the zone size, useful where scripts are not allowed:

<iframe src="https://ulumob.com/delivery?zone_id=123&mode=html" width="300" height="250" frameborder="0" scrolling="no" loading="lazy" sandbox="allow-popups allow-popups-to-escape-sandbox"></iframe>

VAST URL

For video zones. Give this address to your video player as its ad tag:

https://ulumob.com/delivery?zone_id=123&mode=vast

JSON URL

For custom integrations. It returns the ad as JSON, including an imp_url your page must load once the ad is at least half visible, and a click_url to open on click. It returns status 204 when there is no ad.

https://ulumob.com/delivery?zone_id=123&mode=json

Sub-IDs

Add data-subid to the script tag to label the traffic source, for example the campaign you bought traffic from. You can also pass up to ten free-form values in data-sid1 to data-sid10.

<script async src="https://ulumob.com/serve.js" data-zone="123" data-format="popunder" data-subid="source1"></script>

With the URL codes, add &subid=source1 instead. The sub-ID appears in your reports; see Sub-IDs and sites.

Fallback URL

If no campaign can fill a zone, it shows nothing by default. Set a Fallback URL in the zone's Edit form (an http or https address) and the zone uses it instead: a popunder or redirect zone opens it, a banner zone loads it in its frame, a video zone passes it to the player as a VAST tag, and the other formats show it in a frame in the same slot. Use a page or tag that fits the zone format. Which campaign a zone falls back to can only be set by the UluMob team.

Anti-adblock and reverse proxy

Ad blockers filter well-known ad paths. For a zone with Anti-adblock switched on, the code uses a different path instead: /c/s.js for the script and /c/d for ad requests, with click and render links under /c/k and /c/i. The prefix /c is a platform setting and your code always shows the current one. Copy the code again after switching Anti-adblock on.

To keep the requests on your own domain, proxy the prefix to the ad server and keep the original Host header, so the links in the answers point back to your domain. For nginx:

location /c/ {
    proxy_pass https://ulumob.com;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $remote_addr;
}

Then use your own host in the script address, for example https://www.example.com/c/s.js. Forward the visitor's IP address as shown, or all your traffic looks like one visitor and is limited.

Placement guidelines

  • One code per placement. Use separate zones for separate positions so you can compare them in reports.
  • At most ten codes per page (the platform limit; the code carries it as data-max-codes, and extra codes on the page do nothing).
  • Codes must not be hidden, stacked or loaded where visitors cannot see the ad. See Traffic quality rules.

Managing zones

From the zone list you can pause, resume, rename, change the lowest accepted CPM, switch the anti-adblock option, set a fallback URL, or remove a zone. A zone that never served is deleted; one that served is archived: it stops filling, keeps its statistics and is hidden unless you show archived zones.

Each zone also has its own rules:

  • Allow animated images: off keeps ads with an animated GIF out of the zone.
  • Show the banner in a frame (banners): off places the banner straight into your page instead of an iframe; copy the code again after changing it.
  • How the ad shows (native, in-page push, Telegram): inline puts the card where the code is, floating fixes it to a corner of the screen; the default is the format's own look.
  • Opens per visitor (popunder, redirect): at most this many opens per visitor in the hours you set.
  • Ad categories blocked in this zone: on top of the categories blocked for the whole website.

Each zone also shows its last seven days: impressions, CTR, the share of flagged traffic and earnings.

Something missing or wrong? Tell us.