300+
January 5, 2026
October 1, 2020
There is always a drive for more page views to bring more ad impressions, but publishers can often leverage their current traffic and ad slots in order to further increase ad impressions by refreshing the ad slots after a given amount of time.
Previously this required a site’s ad implementation code be modified, but not every publisher has the budget or engineers to enable this. Now with the 10up Ad Refresh Control Plugin publishers can enable the refreshing of their ads without needing to make any modifications to their existing ad implementation.
The increase in impressions will vary from site to site, depending largely on how quickly visitors scroll and how long they spend on each page. Impressions can often be improved with the use of sticky ads, allowing an ad(s) to be sticky on the screen and have a better chance of being visible long enough to be refreshed, but enabling the 10up Ad Refresh Control Plugin will allow publishers to get started immediately.
A settings page will allow adjustments such as the time between refreshes, the maximum number of refreshes, and even list advertisers who would not be happy if their ads were refreshed, but smart defaults will be active for all settings out of the box so you can feel safe activating the plugin without consulting an ads expert first.
Viewability Threshold: The percentage of the ad slot which must be visible in the viewport in order to be considered eligible for being refreshed. It is recommended you do not lower this below 50 or you risk third-party viewability tracking platforms flagging your ad impressions as not having been viewed before refreshing.
Refresh Interval: The number of seconds that must pass between an ad crossing the viewability threshold and the the ad refreshing. The plugin enforces a minimum of 30 in order to avoid your site being flagged for abusing ad refreshes by advertisers.
Maximum Refreshes: The number of times each ad slot is allowed to be refreshed. If this is set to 4 then an ad slot could have a total of 5 impressions by combining the initial loading of the ad with the 4 times it can refresh.
Excluded Advertiser IDs: Prevent ad refreshes for specific advertiser IDs in the format of a comma-separated list (e.g., 125,594,293). If an ad slot ever displays an ad creative from one of the listed advertiser IDs then that ad slot will stop refreshing for the remainder of the page view.
Line Items IDs to Exclude: Prevent ad refreshes for specific line item IDs in the format of a comma-separated list (e.g., 125,594,293).
Sizes to Exclude: Prevent ad refreshes for specific sizes in the format of a comma-separated list (e.g., 125,594,293). Sizes can be specified by name “fluid” or size 300×250, e.g. fluid,300×250.
Slot IDs to Exclude: Prevent ad refreshes for specific slot IDs in the format of a comma-separated list based on the ID of the div, e.g. div-gpt-ad-grid-1.
No FAQ provided.
browser-sync from 2.28.3 to 3.0.2 (props @dependabot, @Sidsector9 via #142).actions/upload-release-asset to softprops/action-gh-release GitHub action (props @Sidsector9, @jeffpaul via #156).lee-dohm/no-response with actions/stale to help with closing no-response/stale issues (props @jeffpaul, @dkotter via #145).CONTRIBUTING.md file (props @kmgalanakis, @jeffpaul via #146).postcss from 8.4.25 to 8.4.31, css-loader from 2.1.1 to 6.8.1, postcss-import from 12.0.1 to 15.1.0, postcss-loader from 3.0.0 to 7.3.3 and stylelint-order from 1.0.0 to 6.0.3 (props @dependabot, @Sidsector9 via #127).@babel/traverse from 7.4.3 to 7.23.2 (props @dependabot, @dkotter via #131).browserify-sign from 4.0.4 to 4.2.2 (props @dependabot, @ravinderk via #133).skaut/wordpress-version-checker to check WordPress “tested up to” during the Release Candidate phase (props @jeffpaul, @iamdharmesh via #118).stylelint from 14.15.0 to 15.10.1 (props @dependabot, @ravinderk via #121).fsevents from 1.2.8 to 1.2.13 (props @dependabot, @ravinderk via #128).minimist from 1.2.0 to 1.2.8 (props @dependabot, @cadic via #105).mkdirp from 0.5.1 to 0.5.6 (props @dependabot, @cadic via #105).loader-fs-cache from 1.0.2 to 1.0.3 (props @dependabot, @cadic via #105).ua-parser-js from 1.0.2 to 1.0.34 (props @dependabot, @cadic via #106).browser-sync from 2.27.10 to 2.28.3 (props @dependabot, @cadic via #106).yaml from 2.1.3 to 2.2.2 (props @dependabot, @faisal-alvi via #111).json5 from 1.0.1 to 1.0.2 (props @dependabot, @peterwilsoncc via #103).socket.io-parser from 4.2.2 to 4.2.3 (props @dependabot, @faisal-alvi via #112).Active to Stable (props @jeffpaul via #73).simple-git as it is no longer used after updating ancestor dependency lint-staged (props @dependabot via #82).is-svg as it is no longer used after updating ancestor dependency postcss-svgo (props @dependabot via #88).terser from 3.17.0 to 4.8.1 (props @dependabot via #71).loader-utils from 1.2.3 to 1.4.2 (props @dependabot via #74).minimatch from 3.0.4 to 3.1.2 (props @dependabot via #76).engine.io from 3.2.1 to 6.2.1 and browser-sync from 2.26.5 to 2.27.10 (props @dependabot via #78, #91).postcss from 7.0.14 to 8.4.19 and postcss-preset-env from 5.3.0 to 7.8.3 (props @dependabot via #81).lint-staged from 8.1.5 to 13.0.3 (props @dependabot via #82).set-value from 2.0.0 to 2.0.1 and union-value from 1.0.0 to 1.0.1 (props @dependabot via #86).yargs-parser from 10.1.0 to 20.2.9, stylelint from 9.10.1 to 14.15.0, and webpack-cli from 3.3.1 to 3.3.12 (props @dependabot via #87).postcss-svgo from 4.0.2 to 4.0.3 (props @dependabot via #88).nth-check from 1.0.2 to 2.1.1 and cssnano from 4.1.10 to 5.1.14 (props @dependabot via #89).trim-newlines from 2.0.0 to 3.0.1 and stylelint-declaration-use-variable from 1.7.0 to 1.7.3 (props @dependabot via #93).kind-of from 6.0.2 to 6.0.3 (props @dependabot via #94).serialize-javascript from 1.7.0 to 4.0.0, copy-webpack-plugin from 5.0.3 to 5.1.2, and terser-webpack-plugin from 1.2.3 to 1.4.5 (props @dependabot via #95).decode-uri-component from 0.2.0 to 0.2.2 (props @dependabot via #98).