Campaign

How do you integrate a static ad unit?

Author

Tom Wendt

30 Apr 2026

Integrate Static Ads quickly and reliably on your website. Learn which integration method is suitable, which parameters are available, and how to configure ads optimally.

Overview

With a Static ad unit, you integrate an advertising medium with a fixed size on your website. The ads are loaded inside an iFrame and displayed in the position where you place the integration code.

Static Ads are particularly suitable for classic desktop placements with fixed advertising formats.

If your website is structured to be fully responsive or if ads are to be displayed flexibly on different screen sizes, we recommend using Responsive Ads instead.

Prerequisites

Before you integrate a Static ad unit, you require:

  • a website set up in your publisher account

  • an ad unit

  • a matching ad unit layout

Important:

In the layout of the ad unit, the type of integration must be set to “Static Ads”.

How Static Ads work

When loading your website, an iFrame is generated in which the AdUp ads are delivered.

You can freely configure the size, quantity, and design of the ads in the ad unit layout.

The ad unit is always integrated exactly where you place the integration code or the HTML container.

Integration types

Static Ads can be integrated in two ways.

Asynchronous integration (recommended)

Asynchronous integration is the recommended variant.

With this, your website is loaded first. Subsequently, the AdUp JavaScript API loads the ads in the background.

This ensures:

  • faster loading times

  • better performance

  • less blocking during page load

  • more flexibility

Additionally, extra features such as callbacks and events are available to you.

This integration type is particularly suitable if you are using multiple ad units on one page.

Example

<div id="adup1"></div><script>window.uAd_init = function () {    window.uAd.embed("adup1", {        placementkey: "YOUR_PLACEMENT_KEY"    });};if (typeof window.uAd === "object") {    window.uAd_init();} else {    (function(d, t) {        var g = d.createElement(t),            s = d.getElementsByTagName(t)[0];        g.src = "https://s.d.adup-tech.com/jsapi";        g.async = true;        s.parentNode.insertBefore(g, s);    }(document, "script"));}<
<div id="adup1"></div><script>window.uAd_init = function () {    window.uAd.embed("adup1", {        placementkey: "YOUR_PLACEMENT_KEY"    });};if (typeof window.uAd === "object") {    window.uAd_init();} else {    (function(d, t) {        var g = d.createElement(t),            s = d.getElementsByTagName(t)[0];        g.src = "https://s.d.adup-tech.com/jsapi";        g.async = true;        s.parentNode.insertBefore(g, s);    }(document, "script"));}<
<div id="adup1"></div><script>window.uAd_init = function () {    window.uAd.embed("adup1", {        placementkey: "YOUR_PLACEMENT_KEY"    });};if (typeof window.uAd === "object") {    window.uAd_init();} else {    (function(d, t) {        var g = d.createElement(t),            s = d.getElementsByTagName(t)[0];        g.src = "https://s.d.adup-tech.com/jsapi";        g.async = true;        s.parentNode.insertBefore(g, s);    }(document, "script"));}<

Synchronous integration

With synchronous integration, a script is integrated directly at the desired position on the website.

When the page is opened, the advertising medium is loaded immediately.

This variant is suitable for simple integrations, but offers fewer configuration options than asynchronous integration.

Example

<scriptsrc="https://s.d.adup-tech.com/ads/display.js?placementkey=YOUR_PLACEMENT_KEY"></script>

Required parameter

placementkey

The placementkey uniquely identifies the ad unit.

Example (asynchronous):

placementkey: "dd9e2c6e8a1ec4bc5d1561564fcf946d"

Example (synchronous):

placementkey=dd9e2c6e8a1ec4bc5d1561564fcf946d

Important optional parameters

responsive

Activates the responsive feature for the ad unit.

responsive: true

lazy

Loads ads only when they enter the visible area of the page.

This improves loading times and prevents unnecessary impressions.

lazy: true

lazyoffset

Determines how many pixels before the visible area ads are already loaded.

Example:

lazyoffset: 500

query

Filters ads based on specific keywords.

Single term:

query: "Mallorca"

Multiple terms:

query: ["Mallorca", "Flight"]

mincpc

Defines the minimum cost per click.

The lower the value, the greater the number of potential campaigns usually is.

mincpc: 0.15

pageurl

Should be set if the ad unit is located within nested iFrames.

pageurl: "https://www.example.com"

skip

Skips a defined number of already delivered ads.

Practical if multiple ad units are integrated on the same page.

skip: 2

colormode

Forces a specific colour mode.

Available values:

  • auto

  • light

  • dark

colormode: "light"

placeholdervalues

Passes values to Dynamic Ads.

placeholdervalues: { destination: "Paris", price: "299.99 €"}

flyin

Activates Fly-In Ads.

flyin: true

Further information can be found in the article on Fly-In Ads.

adtest

Activates the test mode.

During test mode, neither impressions nor clicks are counted.

adtest: true

gdpr

Passes GDPR status manually.

Normally, this information is automatically identified via the TCF API.

gdpr: true

gdpr_consent

Passes the IAB Consent String manually.

gdpr_consent: "[CONSENT_STRING]"

Available events (asynchronous only)

onAds

Executed as soon as ads have been successfully loaded.

onNoAds

Called if no matching ad could be delivered.

onClick

Reacts to clicks within the ad unit.

onResize

Triggered when the size of the advertising medium changes.

Best practices

Use asynchronous integration where possible

It improves the performance of your website and offers additional functions such as events and callbacks.

Activate lazy loading

Activate lazy loading to load ads only when they actually become visible.

This improves loading time and ensures more precise impression tracking.

Define placements clearly

Use a separate placementkey for each ad unit so that ads can be correctly delivered and evaluated.

Test ads in live operation

Use the adtest parameter during implementation to test integrations without tracking impressions or clicks.

Common error sources

Incorrect Placement Key

An invalid or missing placementkey prevents the delivery of ads.

Multiple initialisations

An ad unit should only be initialised once. Multiple calls can lead to unexpected behaviour.

Missing data protection information

If no TCF API is available, gdpr and gdpr_consent must be passed manually.

Synchronous integration with many ads

If multiple ad units are integrated synchronously, this can have a negative impact on the loading time of your website.