How to make custom native in-image ads
In-image ads are ads that appear over an image that is part of the page's content. They can be as simple as text or an image, or have interactive content that appear when the viewer hovers their mouse over the ad or clicks on it. You can use native templates to create in-image ad items that are tailored to your needs.
If you'd rather sanitize the template and have only HTML inside it, you should make your in-image ad using a styled 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 custom in-image ad. You can customize the sample code to fit your needs.
- How to create a custom in-image ad item once you have a custom in-image template.
How to create a custom native in-image ad template
This template will require the user to provide the URL to where the image creative is hosted when creating the in-image 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 Custom Rendering/API. The New Native Ad Template page will appear.
- Name the template then add an image URL variable. In our sample code, we called it ImageURL.
- Enter the code in the HTML Template (Custom Rendering) field, then click Save Changes.
Here's the code we used in our example.
<!DOCTYPE html>
<html lang="en">
<head>
<style>
.in-image-close-container {
position: absolute;
top: 2px;
right: 2px;
cursor: pointer;
}
.in-image-close-button {
width: 18px;
display: inline-block;
text-align: center;
color: #ffffff;
border-radius: 18px;
background: #000000;
user-select: none;
}
</style>
</head>
<body>
<div class="in-image-container">
<a href="[TRACKING_LINK]" target="_blank">
<img src="[%ImageURL%]">
</a>
<div class="in-image-close-container">
<span class="in-image-close-button" onclick="closeButton()">×</span>
</div>
</div>
<script>
function closeButton() {
document.querySelector('.in-image-container').style.display='none';
}
</script>
</body>
</html>
You can now use this template to create a custom in-image ad item.
How to create a custom native in-image 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 (Custom Rendering/API). The New Ad Item page will appear.
- Set the ad item's size.
If the ad item or its campaign will be assigned to a Standard zone, you must set the ad item's size to Dynamic.
If the ad item or its campaign will be assigned to a Native zone, you must enter the ad item's exact size. You can do this either by selecting Preset Size and then selecting the matching width and height values from the dropdown menu, or selecting Custom Size then entering the values in the fields that appear.
- Select your in-image custom native ad template in the Template dropdown menu.
- Fill in the rest of the fields as needed, including the image URL. 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 in the AdButler interface. However, in the case of in-image ads, you will still need to insert the ad into your website's code. The zone tags need to be placed in the same parent container as the image over which the ad will be placed. Further, the zone can't fully handle the ad item's CSS; the position of the ad needs to be handled by your code.
This is how you would insert our sample in-image ad to your website:
<!DOCTYPE html>
<html lang="en">
<head>
<style>
.image-container {
text-align: center;
margin: 0 auto;
position: relative;
}
.plc104301 {
width: 320px;
height: 50px;
position: absolute;
left: 50%;
transform: translate(-50%,-10%);
bottom: 0;
}
</style>
</head>
<body>
<!-- Your image and the zone tags must be within the same parent element -->
<div class="image-container">
<!-- To Edit 1: update src to your image. This is the image that ad is placed over. -->
<img src="https://naomisimson.com/wp-content/uploads/image-placeholder.jpg">
<!-- To Edit 2: 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="plc104301"></div>
<script type="text/javascript">
var AdButler = AdButler || {}; AdButler.ads = AdButler.ads || [];
var abkw = window.abkw || '';
var plc104301 = window.plc104301 || 0;
(function(){
var divs = document.querySelectorAll(".plc104301:not([id])");
var div = divs[divs.length-1];
div.id = "placement_104301_"+plc104301;
AdButler.ads.push({handler: function(opt){ AdButler.register(######, ######, [0,0], 'placement_104301_'+opt.place, opt); }, opt: { place: plc104301++, keywords: abkw, domain: 'servedbyadbutler.com', click: 'CLICK_MACRO_PLACEHOLDER' }});
})();</script>
<!-- Replace Zone Tags above here with your own -->
</div>
</body>
</html>