AdGhost Lite puts your Google Ad Manager (GAM) ad units on your WordPress site and keeps them in good positions.
AdGhost Lite is complete on its own and free. An optional paid add-on, AdGhost Pro, is sold separately.
Placement
Control
Fast and private
The ad script is built into your site’s own uploads folder when you deploy, or you can host it on your own server or CDN. The plugin sends no data to its author.
Everything this plugin runs in the browser is built from human-readable source that ships inside the plugin, in ad-setup/: the ad engine, its format modules and the invalid-traffic detector. The files served to readers, in cdn-free/, are generated from those sources in two steps, each checked to leave the program unchanged: comments and indentation are removed, then local variable names are shortened. Both tools are included in ad-setup/tools/ (strip.mjs and mangle.mjs). No code is obfuscated.
This plugin loads Google Publisher Tag (GPT), Google’s ad library, from https://securepubads.g.doubleclick.net/tag/js/gpt.js on the front end of your site, so that the ad units you configure can request and display ads from your own Google Ad Manager account. It is loaded only after you enter a network code and deploy, and never on pages without ads. When it loads, the visitor’s browser connects to Google, and Google receives what it needs to serve ads, such as the page address, the ad unit codes and browser details.
You are responsible for any consent your visitors’ jurisdiction requires before ads load, for example with a consent management platform.
The plugin makes no other requests to external services.
Invalid traffic detection is off until you switch it on (AdGhost Settings Invalid traffic). When it is on, a first-party cookie named adghost_sid identifies the browser session, and the visitor’s browser reports the names of the bot checks that fired to your own site through the WordPress REST API. Your site works out the result from them; nothing is sent anywhere else. The deeper device checks (graphics, fonts) follow the visitor’s choice: they are skipped under Global Privacy Control, and where a consent platform is on the page they run only with consent. A visit found to be a robot is remembered for the rest of that browser session (session storage, key agh_ivt). When “Block ads for obvious bots” is chosen and a session shows a clear robot sign, a second cookie, adghost_ivt, tells the site’s pages to show that browser no ads; it expires with the session. Verdict reports are limited per visitor address; the address is only kept as a hash that changes daily.