BACK TO DIRECTORY

Hafenstudios Ads – Ad Manager, AdSense & Banner Ads

by hafenstudios

5.0
(14 ratings)

Hafenstudios Ads is an ad manager for WordPress: place banner ads, AdSense units and any ad code exactly where you want them, rotate them, target who sees them, and keep an eye on impressions, clicks and CTR — without sending any analytics to an external server.

Create multiple ad blocks, insert them automatically before or after the content, after paragraph N or by shortcode, widget and Gutenberg block. Weighted ad rotation, split testing, device and post-type targeting, campaign scheduling and consent gating are built in.

New in 2.6.0: Sonar, cookieless analytics for the numbers Google Analytics never shows you. It counts the people who decline your cookie banner, detects AI crawler visits from GPTBot, ClaudeBot, PerplexityBot and 40 more, lists the visits that AI assistants like ChatGPT and Perplexity send you, and runs a consent audit that tells you whether your own site fires tracking requests before visitors have decided. No cookies, no cloud, nothing leaves your server.

Highlights

  • Sonar: cookieless visitor counting, AI crawler detection, AI referral tracking and a consent audit, all in your own database. See what GA4 does not.
  • Split test two ad variants against each other: every variant with impressions, clicks and CTR, a data progress gauge, and a mark on the one that is ahead.
  • Weighted ad rotation, cache-proof: blocks sharing a group name rotate in automatic placements and via [adjet_ad_group name="header"]; the winner is picked in the visitor’s browser, so page caches cannot freeze the choice.
  • AdSense Wizard: Publisher-ID + Slot-ID are enough for responsive AdSense units, including in-article and multiplex formats.
  • Nothing leaves your server: no external calls, no phoning home, statistics stay in your own database.
  • Template gallery with 27 free templates: banners, native cards, testimonial, book/course card, seasonal deals, events, sponsor logo wall, notification bars, popups and a cookie consent banner with selectable cookie images.
  • Automatic placements before content, after content, after paragraph N, in the middle of the content, before the last paragraph, after heading N or after the first image.
  • Manual placement via shortcode [adjet_ad id="1"], widget or Gutenberg block.
  • Clean, focused admin interface with brand bar, weekly summary and clear navigation tabs.
  • Device targeting for desktop, tablet and mobile.
  • Post type targeting plus exclusions for posts, categories, tags and custom terms.
  • Optional “Advertisement” label with editable text.
  • Lazy loading via IntersectionObserver.
  • Consent-cookie gating for common consent tools.
  • Optional anonymous local impression and click statistics.
  • Campaign scheduling with optional start and end time.
  • One-click duplicate and pause/activate actions for faster workflow.
  • Code editor and admin-side live preview that does not execute scripts.
  • AdSense Wizard: Publisher-ID + Slot-ID are enough for responsive AdSense units.
  • Optional AdSense Auto Ads script loader with clear settings.
  • 30-day statistics chart (impressions and clicks) rendered inline, no external libraries.
  • Weekly summary above the ad block list: impressions, clicks and CTR since Monday, compared with the same weekday span of the previous week.
  • Least-privilege capability manage_adjet with an optional editor-access toggle.
  • Premium templates and features unlock with Pro.
  • REST API (adjet/v1) for ad blocks, stats and settings via Application Passwords.
  • Guided assistant with optional AI copy suggestions (bring your own Anthropic Claude key).
  • Built-in cookie-consent banner template with Google Consent Mode v2 support.
  • Native newsletter opt-in for SendFox, MailerLite, Brevo, Mailchimp and Kit (ConvertKit), bring your own token, with double opt-in.
  • First-run onboarding that routes you to AdSense, a template or your own HTML.
  • JSON import and export with file-size/type checks.
  • Uninstall routine that keeps your data unless you explicitly ask for it to be deleted.

Privacy

The plugin does not contact hafenstudios servers from the WordPress admin area or frontend. Optional statistics are stored locally in your own WordPress database. Third-party ad code pasted into an ad block may contact external services; configure your consent solution accordingly.

External services

The plugin works fully without any external service. Every integration below is optional and only ever runs when you explicitly enable it:

  • Google AdSense (frontend): if you configure an AdSense ad unit or enable Auto Ads, the frontend loads Google’s adsbygoogle.js from pagead2.googlesyndication.com to display ads. Terms: https://www.google.com/adsense/localized-terms — Privacy: https://policies.google.com/privacy
  • Anthropic Claude (admin only, bring-your-own-key): the optional AI buttons send data to the Anthropic API (api.anthropic.com), each only after you enter your own Anthropic API key in the settings and click that button; no key, no request, never automatic. What each button sends: the “AI suggestions” button in the ad assistant sends the template’s field labels, your site name/description and any brief you type to generate draft ad copy; the “Suggest alt text” button sends the selected ad image (from your media library as encoded image data, otherwise as its URL) to describe it; the “Let the AI read the numbers” button on the statistics page sends aggregated daily totals, weekly totals and per-block impression/click counts. No visitor data, IP addresses or e-mail addresses are ever sent. The key is stored encrypted and used server-side only. Terms: https://www.anthropic.com/legal/commercial-terms — Privacy: https://www.anthropic.com/legal/privacy
  • SendFox (bring-your-own-token): if you connect SendFox in the settings and use the “Newsletter (SendFox)” template, visitor email addresses submitted through that form are sent to the SendFox API (api.sendfox.com) to be added to your list. This happens only when you have connected a SendFox access token. The token is stored encrypted and used server-side only. Terms: https://sendfox.com/tos — Privacy: https://sendfox.com/privacy
  • MailerLite (bring-your-own-token): if you connect MailerLite in the settings and use the “Newsletter (MailerLite)” template, visitor email addresses submitted through that form are sent to the MailerLite API (connect.mailerlite.com) to be added to your group. This happens only when you have connected a MailerLite API token. The token is stored encrypted and used server-side only. Terms: https://www.mailerlite.com/legal/terms-of-service — Privacy: https://www.mailerlite.com/legal/privacy-policy
  • Brevo (bring-your-own-token): if you connect Brevo in the settings and use the “Newsletter (Brevo)” template, visitor email addresses submitted through that form are sent to the Brevo API (api.brevo.com). With a double opt-in template and redirect URL configured in the settings, the signup uses Brevo’s double opt-in endpoint (/contacts/doubleOptinConfirmation) and Brevo sends the confirmation mail; without them the contact is created directly and no confirmation mail is sent, which the form’s success message states honestly. This happens only when you have connected a Brevo API key. The key is stored encrypted and used server-side only. Terms: https://www.brevo.com/legal/termsofuse/ — Privacy: https://www.brevo.com/legal/privacypolicy/
  • Mailchimp (bring-your-own-token): if you connect Mailchimp in the settings and use the “Newsletter (Mailchimp)” template, visitor email addresses submitted through that form are sent to the Mailchimp API (<dc>.api.mailchimp.com, the data center encoded in your API key) to be added to your audience with status “pending”, which triggers Mailchimp’s double opt-in. This happens only when you have connected a Mailchimp API key. The key is stored encrypted and used server-side only. Terms: https://mailchimp.com/legal/terms/ — Privacy: https://www.intuit.com/privacy/statement/
  • Kit, formerly ConvertKit (bring-your-own-token): if you connect Kit in the settings and use the “Newsletter (Kit)” template, visitor email addresses submitted through that form are sent to the Kit API (api.kit.com) to create or update the subscriber and add them to your chosen Kit form; if the form has double opt-in enabled, Kit sends its confirmation email. This happens only when you have connected a Kit v4 API key. The key is stored encrypted and used server-side only. Terms: https://kit.com/terms — Privacy: https://kit.com/privacy

Security

The plugin uses capability checks, nonces for form actions, sanitization on save and escaping on output. Raw ad code is only stored unchanged for users with the unfiltered_html capability.

Localization

  • Source language: English.
  • Included translations: German, Spanish, French and Dutch — complete and shipped with the plugin.

Support

This plugin is developed and maintained by hafenstudios. For direct support you can reach us by e-mail at moin@hafenstudios.com or by phone at +49 174 3935796. You are also welcome to use the plugin support forum on WordPress.org.

Screenshots

Sonar: real visitors, AI crawler hits and AI referrals, plus a consent audit that says whether your site sends tracking data before visitors decide.

Sonar: real visitors, AI crawler hits and AI referrals, plus a consent audit that says whether your site sends tracking data before visitors decide.

Every ad block at a glance: impressions, clicks and click rate, sortable by any column.

Every ad block at a glance: impressions, clicks and click rate, sortable by any column.

Hold back third-party scripts until visitors consent. Every rule starts in trial mode and only logs what it would block, so you see what runs on your site before anything changes.

Hold back third-party scripts until visitors consent. Every rule starts in trial mode and only logs what it would block, so you see what runs on your site before anything changes.

The consent banner assistant: text, cookie image, animation and Google Consent Mode v2, without touching any code.

The consent banner assistant: text, cookie image, animation and Google Consent Mode v2, without touching any code.

The template gallery with filter and search: pick a purpose, fill in the fields, no HTML needed.

The template gallery with filter and search: pick a purpose, fill in the fields, no HTML needed.

Split test two variants against each other, free of charge, with an honest data gauge instead of a made-up winner.

Split test two variants against each other, free of charge, with an honest data gauge instead of a made-up winner.

Local statistics: 30 days, rendered on your own server, including the clicks that click protection did not count.

Local statistics: 30 days, rendered on your own server, including the clicks that click protection did not count.

The AdSense assistant: publisher ID, slot and format, nothing else.

The AdSense assistant: publisher ID, slot and format, nothing else.

Plugin Details

Active Installs
100
Total Downloads
2,761
Version
2.6.0
Requires WP
6.2
Requires PHP
7.4
Tested Up To
7.1
Added
2026-07-30
Last Updated
2026-09-15 7:27pm GMT

Ratings

5
14
4
0
3
0
2
0
1
0