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
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.
