Enable Active View refresh for Google Ad Manager ads without needing to modify any code.
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.
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).color-string
from 1.5.3 to 1.5.5 (props @dependabot via #51).path-parse
from 1.0.6 to 1.0.7 (props @dependabot via #53).follow-redirects
from 1.7.0 to 1.14.8 (props @dependabot via #55, #57).ajv
from 6.10.0 to 6.12.6 (props @dependabot via #56).tar
from 4.4.8 to 4.4.19 (props @dependabot via #58).avc_refresh_interval_value
filter applied to default refresh interval value of 30 seconds (props @simondowdles).y18n
from 3.2.1 to 3.2.2 (props @dependabot).ssri
from 6.0.1 to 6.0.2 (props @dependabot).lodash
from 4.17.19 to 4.17.21 (props @dependabot).hosted-git-info
from 2.7.1 to 2.8.9 (props @dependabot).browserslist
from 4.5.5 to 4.16.5 (props @dependabot).initializeSlotData()
now correctly receives an event instead of a Slot
(props @enshrined).isEligible()
prevents Uncaught TypeError by checking if event.size
exists before attempting to access it (props @enshrined).elliptic
from 6.5.3 to 6.5.4 (props @enshrined).avc_refresh_callback
filter to be used when an ad slot is ready for refresh (props @enshrined).viewabilityHandler()
where it was calling initializeSlotData()
and passing the individual slot instead of the expected event (props @enshrined)).ini
from 1.3.5 to 1.3.8 (props @dependabot).disable_refresh
is true
before saving the setting (props @barryceelen).dot-prop
from 4.2.0 to 4.2.1 (props @dependabot).lodash
from 4.17.15 to 4.17.19 (props @dependabot).elliptic
from 6.4.1 to 6.5.3 (props @dependabot).