How to make custom native expanding ads (one creative)

Expanding ads are ads that increase in size to reveal the whole image or another image when the viewer clicks or hovers their mouse cursor over the ad. You can use native templates to create expanding ad items that are tailored to your needs.

A sample expanding ad

A sample expanding ad fully revealed

In this guide, we're going to create a simple expanding ad with one creative using a custom native ad template. This type of native template has all the code - HTML, JavaScript, and style element - necessary to display the ad properly.

If you'd rather sanitize the template and have only HTML inside it, you should make your expanding 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.

Templates for custom native ad items are not compatible with styled native ad items, and vice-versa.

You will learn:

  1. How to create a template for a custom expanding ad. You can customize the sample code to fit your needs.
  2. How to create a custom expanding ad item once you have a custom expanding template.

How to create a custom expanding ad (one creative) template

This template will require the user to provide the URL to where the image creative is hosted when creating the expanding ad item.

  1. Click Native Ad Templates in the left navigation menu to go to the Templates section.
  2. Click Add Native Ad Template in the Native Ad Templates table. The New Native Template window will appear.
  3. Click Custom Rendering/API. The New Native Ad Template page will appear.

Selecting a native template type

  1. Name the template then add an image URL variable for the image that will be in the ad. In our sample code, we called this variable ImageURL.
  2. Enter the code in the HTML Template (Custom Rendering) field, then click Save Changes.

Creating a custom native expanding ad (one creative) template

Here's the code we used in our example:

<!DOCTYPE html>
<html lang="en">
            .expand-container {
                position: relative;
                width: 950px;
                height: 250px;
                margin: 0 auto;

            .expand-image-container {
                position: absolute;
                top: 0;
                left: 0;
                transition: all 1s ease;
                clip: rect(0, 950px, 250px, 0);

            .expand-close-button-container {
                position: absolute;
                top: 5px;
                right: 5px;
                cursor: pointer;

            .expand-close-button {
                width: 21px;
                text-align: center;
                display: inline-block;
                color: #ffffff;
                font-size: 18px;
                background: #000000;
                border-radius: 21px;
                user-select: none;
        <div class="expand-container">
            <a target="_blank" href="[TRACKING_LINK]" class="expand-image-container" onmouseover="expandImage()" onmouseout="shrinkImage()">
                <img src="[%ImageURL%]">
            <div class="expand-close-button-container">
                <span class="expand-close-button" onclick="closeButton()">×</span>
            function expandImage() {
                document.querySelector('.expand-image-container').style.clip = 'rect(0, 950px, 700px, 0)';

            function shrinkImage() {
                document.querySelector('.expand-image-container').style.clip = 'rect(0, 950px, 250px, 0)';

            function closeButton() {
                document.querySelector('.expand-container').style.display = 'none';

You can now use this template to create a custom expanding ad (with one creative) ad item.

Back to top

How to create a custom expanding ad (one creative) ad item

  1. Go to the section of the relevant zone (Your AdButler > Publishers > Your Publisher > Your Zone) or campaign (Your AdButler > Advertisers > Your Advertiser > Your Campaign).
Custom native expanding ad ad items can be assigned only to Standard zones with the size set to Dynamic. The zone size can be configured only when creating a zone and cannot be changed afterward.
  1. Click Native (Custom Rendering/API). The New Ad Item page will appear.

Creating a native (custom rendering/API) ad item

  1. Set the ad item's size to Dynamic.
  2. Select your expanding ad (one creative) custom native ad template in the Template dropdown menu.
  3. 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.
  4. Click Save Ad Item.

Creating an expanding ad (one creative) custom native ad item

Back to top

Can't find what you're looking for?

Send us an email

Visit the blog

For more ad serving tips, industry news and AdButler insights.