Displaying multiple ads on one location on your website makes your ad setup more dynamic and flexible. When you refresh ads on one spot with a specified interval, your ads will possibly get more impressions and clicks.

With Advanced Ads, you can show ads from an Ad Group dynamically rotating in one Placement. In order to use an existing Placement for multiple ads or to fight ad blindness, you can rotate ads on the same spot during the same page impression.

In Advanced Ads, this is possible with three features:

Example of two ads rotating in on Placement with a refresh interval:

Ad rotation with Advanced Ads Pro

When you have installed Advanced Ads Pro, you will find additional options to enable a refresh interval for random and ordered ad groups.

In order to use that feature, you need to enable the Cache Busting module in Advanced Ads > Settings > Pro.

When the setting is enabled, you will find a checkbox and a text field to enable and set the Refresh interval in the settings of an Ad Group.

The ads within the ad group will then reload automatically with the specified interval.

Refreshing ads and Tracking

If you are using the Tracking add-on, the impression will be counted once per page and only, if the ad really showed up.

What else you need to know

  • The number of visible ads at the same time is limited to one when the ad refresh is enabled.
  • Counting impressions for rotating ads is taking some performance since every call to an ad is loading parts of WordPress. The impact of multiple ad rotations per page set up like above on your server should be monitored by a server admin.
  • Since this type of integration violates the guidelines of Google AdSense, you should not use this feature on ads from this ad network.

Customizations

Different delay per ad

If you create a rotation like above and would like to customize the period on a per-ad basis, e.g., for a video or gif to finish, you can use the following code template in your functions.php  file.

add_filter( 'advanced-ads-group-refresh-intervals', 'advads_refresh_intervals' );
function advads_refresh_intervals( $intervals ){
    // pattern: $intervals[ AD_ID ] = PERIOD_IN_MILLISECONDS;
    $intervals[ 4 ] = 4000;
    $intervals[ 15 ] = 1500;
    return $intervals;
};

The example above defines the delay of the ad with the ID 4 to 4 seconds and ad 15 to 1.5 seconds.

Prevent ads from jumping

You might need to adjust some CSS in order to prevent ads from jumping on the first or any other following load.

Use the CSS code (in an adjusted form) from this link.