Skip to content

Works with your stack

Cookie consent for ad plugins

ads wait for the choice

← Cookie Rocks for your stack

Ad plugins place ad code on your pages. Neither Ad Inserter nor Advanced Ads has a banner or uses WP Consent API. Each has its own way to make ads wait, and neither does it by default.

What each ad plugin does about consent

Ad Inserter
Many blocks are printed with their code encoded, out of sight of a banner reading the page. Each block can wait for a cookie in its Cookies list. Ad blocking detection adds bait tags to Google and other ad servers.
Advanced Ads
Shows all ads without consent by default. Its Privacy module can wait for a cookie or for the IAB TCF signal. Its non-personalised option still loads AdSense before the choice.

What matters for consent with Ad plugins

Ads need consent

Ads from an ad network set cookies and track visitors. They wait for marketing consent.

Hidden ad code

Both plugins can keep ad code encoded in the page until they decide to run it. A consent plugin that reads the HTML cannot hold what it cannot see.

Cookies and caching

A consent check made on the server is frozen by page caching. Keep the check in the browser.

Extra trackers

Ad blocking detection in Ad Inserter and the ad blocker counter in Advanced Ads can add Google Analytics to every page. Cookie Rocks holds known trackers until the visitor agrees.

What our tests found on Ad plugins

  • Good to know · Advanced AdsWhat Advanced Ads stores in visitors' browsers

    Advanced Ads: 2 cookie(s) or browser key(s) for visitors, recognised by Cookie Rocks from 2.9.8.

    NameKept inCategoryWhat it is for
    advanced_ads_page_impressionscookiePreferencesCounts the visitor's page views to show ads only after a set number
    advanced_ads_visitorcookiePreferencesRemembers ad display conditions for the visitor

    Seen in our tests, 2 November 2026, Advanced Ads.

    Full detail

    Advanced Ads can store these in a visitor's browser: advanced_ads_page_impressions (cookie, preferences: Counts the visitor's page views to show ads only after a set number); advanced_ads_visitor (cookie, preferences: Remembers ad display conditions for the visitor). Cookie Rocks recognises them from 2.9.8, with this category and purpose, and lists them in the cookie policy when it sees them.

  • Depends on a setting · Ad InserterAd blocking detection loads Google and ad scripts before the choice

    setting “Use external scripts (ad blocking detection)” · by default: on

    • Off by default; the problem starts when you turn it on.
    • Adds bait tags for Google Analytics, Tag Manager, Quantcast and Media.net.
    • Also loads an image from dummyimage.com and checks Google's AdSense script.
    • Sets the cookies aiADB, aiADB_PV, aiADB_PR and aiBLOCKS.

    What to do: Turn off Use external scripts, or define AI_ADB_NO_GOOGLE_ANALYTICS, AI_ADB_NO_GTM, AI_ADB_NO_QUANT, AI_ADB_NO_MEDIA_NET, AI_ADB_NO_DUMMYIMAGE and AI_ADB_NO_GOOGLESYNDICATION in wp-config.php.

    Read in its code, 16 October 2026, Ad Inserter 2.8.19.

    Full detail

    Ad Inserter's ad blocking detection is off by default. When it is on with Use external scripts (on by default), every page footer gets bait tags before any choice: <object> tags pointing to google-analytics.com/analytics.js, googletagmanager.com/gtag/js, secure.quantserve.com/quant.js and contextual.media.net/dmedianet.js, an <img> from dummyimage.com, and after load a HEAD fetch to pagead2.googlesyndication.com/pagead/js/adsbygoogle.js whose address is base64-encoded in an inline script. Cookies: aiADB (30 days by default) and aiADB_PV (365 days) when a blocker is handled, aiADB_PR for redirection, and aiBLOCKS (365 days) for per-block close and view limits.

  • Set before the choice · Ad InserterAd Inserter hides ad code from banners that read the page

    setting “Dynamic blocks” · by default: Client-side insert

    Blocks with a browser-side check or lazy, manual or delayed loading are printed encoded, so a banner reading the page cannot see the ad address. Default blocks are printed in clear.

    What to do: Put the consent condition in each ad block's Cookies list (whitelist) instead of relying on a banner reading the HTML.

    Read in its code, 16 October 2026, Ad Inserter 2.8.19.

    Full detail

    With Dynamic blocks set to Client-side insert (the default), an Ad Inserter block that has a check run in the browser (cookie, URL parameter, referrer or client list, scheduling, a device selection other than all) or uses lazy, manual or delayed loading is printed with its code base64-encoded in a data-code attribute of a div (ai-dynamic, ai-lazy, ai-manual). Ad Inserter's own script decodes it and inserts it, and the inserted scripts run. A consent plugin that reads the page markup cannot see the ad network address. A block with default settings and no list is printed in clear.

  • Depends on a setting · Advanced AdsAdvanced Ads' ad blocker counter can load Google's tag on every page

    setting “Ad blocker counter: Google Analytics ID” · by default: empty

    With a Google Analytics ID in the counter, a footer script loads gtag.js and sends an AdBlock event. It is held on the server only with the Cookie or TCF privacy methods.

    Read in its code, 16 October 2026, Advanced Ads 2.0.29.

    Full detail

    When a Google Analytics ID is entered in Advanced Ads' ad blocker counter, an inline footer script on every page loads googletagmanager.com/gtag/js and sends an AdBlock event; it is held on the server only with the Cookie or TCF privacy methods. Advanced Ads also marks its critical inline script (id ending in 'ready', no tracker) to be skipped by WP Rocket's delay and by one consent plugin's blocker, and does nothing for other delay tools.

  • Set before the choice · Advanced AdsAdvanced Ads can load AdSense before the choice with non-personalised ads

    setting “Show non-personalized AdSense ads until consent is given”

    With the Privacy module on, Auto ads wait for the accepted signal. With 'Show non-personalized AdSense ads until consent is given', AdSense loads before any choice.

    Read in its code, 16 October 2026, Advanced Ads 2.0.29.

    Full detail

    AdSense Auto ads in Advanced Ads print adsbygoogle.js in the head; with the Privacy module on, an inline script creates it when the advanced_ads_privacy event says accepted. With 'Show non-personalized AdSense ads until consent is given' (Cookie method), Advanced Ads sets requestNonPersonalizedAds=1 and loads AdSense before any choice.

  • Depends on a setting · Advanced AdsAdvanced Ads shows all ads without consent by default

    setting “Privacy > consent method” · by default: Show all ads even without consent

    • No banner, no WP Consent API, no Consent Mode defaults.
    • Its Privacy module shows all ads without consent by default.
    • Cookie method: looks for a consent cookie; with page caching, the free version serves one result to everyone.
    • IAB TCF method: waits for TCF and needs purpose 1 consent.

    Read in its code, 16 October 2026, Advanced Ads 2.0.29.

    Full detail

    Advanced Ads has no banner and does not use WP Consent API or set Consent Mode defaults. Its Privacy module defaults to showing all ads without consent. The Cookie method looks for a cookie name containing a value, checked in PHP (substring) and re-read in JavaScript every 333 ms for 60 seconds; with page caching the free version serves the cached result to everyone. The IAB TCF method waits for window.__tcfapi and needs purpose 1 consent; ads are kept base64-encoded in a text/plain script and decoded only at load. It fires a DOM event, advanced_ads_privacy.

Questions

Does Cookie Rocks replace the plugin’s own setting?

No. Set the ad plugin to wait for consent too. Its encoded blocks are out of sight of any banner that reads the page.

What happens after the 30-day trial?

The banner, your visitors’ choices and your proofs of consent keep working. Without a key, most settings lock, updates and support stop. Take a key at any time and everything opens again.

For sites with ads

Ads after the choice.

set the gate

Every feature of the complete plugin for 30 days, no card.

  • During the trial: everything, including the full settings and the scans
  • After 30 days without a key: the banner, your visitors’ choices and your proofs of consent keep working
  • What waits for a key: most settings, updates and support

How the trial works, in detail

Get your trial key

Your e-mail and your site. Your key arrives as soon as you confirm your e-mail.

One trial per domain. Local and staging sites never use up your key.

We keep your e-mail address to send your key and help you with it, as explained in our privacy policy. No newsletter, nothing else.