How to make styled native animated wallpaper ads
Animated wallpaper ads are large display ads that take up the middle background of a page. However, unlike standard wallpaper ads, the main creative is completely hidden from view. By default, only a small creative is visible on top of the page. When the viewer clicks on that small image, the content on the page appears to fall and lie flat at the bottom of the page, revealing the main creative.
You can use native templates to create animated wallpaper ad items that are tailored to your needs.
If you'd rather have all the necessary code (HTML, JavaScript and CSS) in the template, you should make your animated wallpaper ad using a custom native ad template instead. For more information on the differences between custom native ads and styled native ads, read About native ad templates.
You will learn:
- How to create a template for a styled animated wallpaper ad. You can customize the sample code to fit your needs.
- How to create a styled animated wallpaper ad item once you have a styled animated wallpaper template.
How to create a styled in-feed ad template
This template will require the user to provide the URLs to where the image creatives are hosted when creating the animated wallpaper ad item.
- Click Templates in the left navigation menu. The Templates section will appear.
- Click Native Ad Templates. The Native Ad Templates subsection will appear.
- Click Add Native Ad Template. The New Native Template window will appear.
- Click Styled. The New Native Ad Template page will appear.
- Name the template then add two image URL variables: one for the default image, and another one for the hidden image. In our sample code, we called these variables triggerImageURL and mainAdImageURL.
- Enter the code in the HTML Template (Styled) field, then click Save Changes.
Here's the code we used in our example:
<div class="animated-wallpaper-container">
<div class="animated-wallpaper-trigger">
<img src="[%triggerImageURL%]">
<div class="animated-wallpaper-close-button-container">
<span class="animated-wallpaper-close-button">×</span>
</div>
</div>
<div class="animated-wallpaper-revealed-wallpaper-container">
<a href="[TRACKING_LINK]" target="_blank" class="animated-wallpaper-revealed-wallpaper">
<img src="[%mainAdImageURL%]">
</a>
</div>
</div>
You can now use this template to create a styled animated wallpaper ad item.
How to create a styled animated wallpaper ad item
- Go to the section of the relevant zone (Your AdButler > Publishers > Your Publisher > Your Zone) or campaign (Your AdButler > Advertisers > Your Advertiser > Your Campaign).
- Click Add Ad Item in the Ad Items table. The Add Ad Item window will appear.
- Click Native (Styled). The New Ad Item page will appear.
- Select your animated wallpaper styled native ad template in the Template dropdown menu.
- Fill in the rest of the fields as needed, including the image URLs. If you entered a destination URL, you can test it by clicking Open Destination URL to the right of the field.
- Click Save Ad Item.
At this point, you have finished setting up the ad item on the AdButler interface. You must now add the JavaScript and style element needed to display this ad properly directly to your website. Here's the sample code that we used in our example. You must replace the zone tags and zone class in the code with your own zone tags and zone class.
<!DOCTYPE html>
<html lang="en">
<head>
<style>
.animated-wallpaper-trigger {
position: relative;
margin: 0 auto;
width: fit-content;
height: fit-content;
}
.animated-wallpaper-trigger img {
width: 795px;
height: 155px;
}
.animated-wallpaper-revealed-wallpaper-container {
width: fit-content;
height: fit-content;
margin: 16px auto 0 auto;
}
.animated-wallpaper-revealed-wallpaper {
width: fit-content;
height: fit-content;
}
.animated-wallpaper-revealed-wallpaper img {
height: 0;
width: 668px;
transition: height 0.3s ease;
}
.animated-wallpaper-close-button-container {
position: absolute;
top: 2px;
right: 2px;
cursor: pointer;
}
.animated-wallpaper-close-button {
width: 18px;
display: inline-block;
text-align: center;
color: #ffffff;
border-radius: 18px;
background: #000000;
user-select: none;
}
</style>
</head>
<body>
<!-- To Edit 1: Replace Zone Tags below here with your own -->
<script type="text/javascript">if (!window.AdButler){(function(){var s = document.createElement("script"); s.async = true; s.type = "text/javascript"; s.src = 'https://servedbyadbutler.com/app.js'; var n = document.getElementsByTagName("script")[0]; n.parentNode.insertBefore(s, n);}());}</script>
<div class="plc104304"></div>
<script type="text/javascript">
var AdButler = AdButler || {}; AdButler.ads = AdButler.ads || [];
var abkw = window.abkw || '';
var plc104304 = window.plc104304 || 0;
(function(){
var divs = document.querySelectorAll(".plc104304:not([id])");
var div = divs[divs.length-1];
div.id = "placement_104304_"+plc104304;
AdButler.ads.push({handler: function(opt){ AdButler.register(######, ######, [0,0], 'placement_104304_'+opt.place, opt); }, opt: { place: plc104304++, keywords: abkw, domain: 'servedbyadbutler.com', click: 'CLICK_MACRO_PLACEHOLDER' }});
})();</script>
<!-- Replace Zone Tags above here with your own -->
<script>
// To Edit 2: Update this class with your zone's class
var zoneClass = 'plc104304';
var wrapper = document.querySelector('.' + zoneClass);
AdButler.ads.push(function () {
var wallpaperVisible = false;
wrapper.addEventListener(AdButler.EVENTS.LOAD, function (e) {
var closeButton = document.querySelector('.' + zoneClass + ' .animated-wallpaper-close-button');
closeButton.addEventListener('click', function () {
document.querySelector('.' + zoneClass + ' .animated-wallpaper-container').style.display = 'none';
});
var wallpaperTrigger = document.querySelector('.' + zoneClass + ' .animated-wallpaper-trigger img');
wallpaperTrigger.addEventListener('click', function () {
var revealedWallpaper = document.querySelector('.' + zoneClass + ' .animated-wallpaper-revealed-wallpaper img');
if (wallpaperVisible) {
revealedWallpaper.style.height = '0';
} else {
revealedWallpaper.style.height = '500px';
}
wallpaperVisible = !wallpaperVisible;
});
});
});
</script>
</body>
</html>