Adjet

Ad Inserter Alternative: Adjet as a Clean Ad Cockpit for WordPress

Ad Inserter is powerful, but not everyone needs that much depth. Here's a fair look at where the original shines and where Adjet wins with focus, consent gating, and local stats.

Full disclosure up front: this article comes from hafenstudios, the team behind Adjet. So we have a product of our own in the race. Even so, our aim is to describe Ad Inserter fairly and give you an honest basis for deciding: no talking it down, no invented numbers. By the end you should know which solution fits you, whether that turns out to be Adjet or not.

Why look for an Ad Inserter alternative in the first place?

Ad Inserter is one of the best-known plugins for inserting ads into WordPress sites. It's established, it's widely used, and plenty of websites run it without any trouble. So why do people keep landing on a search for an alternative anyway?

In most cases it's not that something is broken, it's a question of fit. We hear three wishes again and again:

  • A cleaner interface. If you just want to place a handful of ad blocks neatly, a very dense interface with dozens of tabs and options quickly feels like overkill. You're hunting for the one setting and scrolling through dozens more.
  • Built-in consent handling. Anyone serving ads today thinks about consent automatically. The idea that an ad block only loads after consent, without wiring together three plugins yourself, is appealing.
  • Privacy-friendly, local stats. Many operators want to know whether an ad is even being seen, but without sending data to external services for it. A simple report that stays inside your own WordPress is often all you need.

If you recognize yourself in one of these points, it's worth looking at a more focused solution. If not, Ad Inserter is probably already a good choice.

What Ad Inserter does well

Let's start with the praise, because it's earned. Ad Inserter is a very powerful plugin. It can automatically insert ads at a huge range of positions: before and after the content, mid-text, in widgets, and many more spots. It supports AdSense and combines with other ad formats. There's a free version and a Pro variant with an extended feature set.

For operators with complex requirements, that depth is the big advantage: almost anything can be mapped somehow, fine-tuned, and given rules. Anyone who needs that flexibility and puts in the time to learn the interface gets a tool that barely hits a ceiling. The price for that is exactly that complexity: the interface feels dense to newcomers, and the sheer number of options can be overwhelming at first.

Adjet as an alternative: a focused cockpit instead of an options jungle

Adjet deliberately sets a different priority. Instead of maximum configurability, the focus is a clean ad cockpit where you create, place, and keep an eye on your ads without clicking through tabs.

Placement: automatic or manual

Automatically, Adjet places your ads at the usual spots: before the content, after the content, after a given paragraph, or after the first image. If you'd rather handle it yourself, place ads manually via shortcode, block, or widget:

[adjet_ad id="1"]

For rotating ads there are weighted ad groups, so you can run several creatives at one position by weight:

[adjet_ad_group name="header"]

On top of that comes device and content targeting including exclusions: you decide whether an ad appears only on desktop, only in certain content, or everywhere except defined spots.

AdSense wizard

If you work with Google AdSense, the built-in wizard helps you set it up: enter your publisher ID and slot ID, optionally enable Auto Ads, and you're done. You don't need to copy code snippets into templates by hand. What the wizard cannot do for you is the account side, and the full route to add Google AdSense to WordPress, from account verification to ads.txt, is laid out in its own guide.

Consent banner and lazy-load built in

Adjet ships with consent cookie gating for common consent tools. Ads can be served in a way that respects your consent tool's signal instead of loading unprompted. And if you don't run a consent tool yet, you don't have to add one: since version 1.8.0 Adjet brings its own cookie consent banner, with an equally prominent reject button, and it reports to Google Consent Mode v2. Since 2.1.0 you can also pick a cookie motif for it, and Adjet Pro measures banner variants against the consent rate in an A/B test. Important and worth saying honestly: this is a technical building block, not legal advice. Whether your specific setup is GDPR-compliant depends on your configuration, your consent tool, and your own legal assessment. When in doubt, have it checked by an expert.

On top of that, Adjet lazy-loads ads on demand via the IntersectionObserver, meaning only once a block enters the visible area. That saves load time and your visitors' resources.

Local, privacy-friendly stats

Adjet counts impressions locally and anonymously and shows you an SVG chart of the last 30 days right in the cockpit. Crucially, this stat comes without any external calls: the data stays inside your WordPress. That's deliberately privacy-minded and matches what many operators want: to see reach without building up extra tracking.

Campaigns, permissions, and a REST API

For time-limited promotions there's campaign scheduling with a start and end date, so ads start and stop automatically. Access is governed by its own manage_adjet capability, and for automation there's a REST API under adjet/v1. Adjet is licensed under GPLv2.

What has been added since this post appeared

Update, 7 September 2026: This post originally described the feature set as of June 2026. In the WordPress directory the free edition is listed as Hafenstudios Ads, and as of early September 2026 it sits there at version 2.5.0. The core of placement, targeting, consent gating and stats has stayed as it was. These pieces came on top.
  • Its own cookie consent banner. Adjet no longer only waits for a third-party consent tool to speak. It ships a banner of its own with an equally prominent reject button, sets exactly the signal your blocked ads are waiting for, and reports Google Consent Mode v2. If you are still choosing which consent tool suits you, the comparison of cookie consent plugins narrows the field.
  • Popups and notification bars. Overlay placements for popups and slim bars at the top or bottom, without installing a second popup plugin for it.
  • Template gallery. Ready-made layouts as a starting point: image banner, sticky bottom bar, countdown and social bar. The premium templates come with Pro.
  • Newsletters wired in directly. Five providers natively: SendFox, MailerLite, Brevo, Mailchimp and Kit. The token is stored encrypted and used server-side, and you pick the list right inside the template.
  • Split tests with a verdict. Variants rotate cache-safely, in automatic placements as well. Pro works out uplift and confidence and switches the losers off with one click. How to set such a test up is in the post on split testing ads in WordPress.
  • Editor with a live preview. A code editor with an admin preview that runs no scripts, plus an optional "Advertisement" label.
  • Counted honestly. An impression only counts once the ad was really in view. Stats and delivery keep working behind a page cache.

That last point is the quietest one and the one that matters most day to day. A counter that tallies every ad it delivers also tallies the footer banner nobody ever scrolls down to. Adjet counts only real visibility. That gives you smaller numbers than a pure delivery counter, and numbers you can actually judge a position by.

The counting itself is shown in a 48-second short on a demo site: the count happens in the reader's browser once the page has arrived, an ad further down only counts after it has been scrolled into view, and every count stays in your own WordPress database. Ad blockers can stop some counts, and the figures on screen were seeded for the recording.

Short: a newsletter box inside a demo post, captioned that ads further down the page only count once the reader scrolls them into view Video: Did anyone actually see that ad?48 seconds · YouTube Short · loads only after a click

Honestly compared: where each one is strong

No plugin is the best choice for everything. Here's the fair side-by-side.

FeatureAd InserterAdjet
Interfacedense, with many tabs and optionsone focused cockpit
Time to learntakes a while, overwhelming at firstshort, few options to work through
Insertion positions and rulesa huge range plus a deep rule setthe usual spots, plus device and content targeting with exclusions
Complex, individual setupshome turf: almost anything can be mapped and fine-tuneddeliberately narrower, focus before configurability
Track recordestablished and widely used: over 300,000 active installs, 4.9 out of 5 from 2,430 reviews, and guides everywhereyoung and small: at least 100 active installs, 5.0 out of 5 from 14 reviews, so far less third-party material
Consent gating and lazy-loadconsent integration via TCF 2.0, nothing documented on lazy-loadbuilt in, plus its own consent banner with Consent Mode v2
StatsPro edition only, according to the feature list on adinserter.prolocal and anonymous, optional, 30-day chart without external calls, already in the free edition
When an impression countsnot checked for this postonly on real visibility, behind a page cache as well
Moving over from the other pluginnot checked for this postImport wizard for Ad Inserter: ads and placements travel with you, old stats stay in the old plugin
AdSensesupported, alongside other ad formatssupported, with a wizard for publisher ID and slot ID
PricingFree version plus a Pro variant: Personal costs 20 euros once, covers 2 websites with one year of updates, renewal at a 20 percent discount (source: adinserter.pro)Free plus Pro at €59/year for one site, €109 for three, €199 unlimited, renewal at the same price
Money backruled out after download: refunds only within 14 days of purchase and only if the file has not been downloaded yet (source: adinserter.pro)30 days money back, plus 14 days to try it for free

What the difference costs over three years

On price alone Ad Inserter wins, and by a wide margin. That belongs in an honest comparison, even when the piece is describing its author's own product. For one website with updates running, the sum looks like this.

Three years, one websiteThe sum
Ad Inserter Pro Personal20 euros once, then two renewals at 16 euros with the 20 percent discount: 52 euros
Adjet Prothree times 59 euros, the price is promised to stay put: 177 euros

The Personal licence even covers two websites. If price is your only criterion, you can stop reading here. What the invoice does not show: with Adjet Pro you get 30 days money back and 14 days to try it for free beforehand, while Ad Inserter only refunds as long as the file has not been downloaded. And stats and A/B testing, which Ad Inserter keeps for its Pro edition, already sit in the Adjet cockpit in the free edition: local stats and one split test.

Where Ad Inserter is strong

  • A very large feature set with many insertion positions and rules.
  • High flexibility for complex, individual requirements.
  • Established and widely used: over 300,000 active installs and 4.9 out of 5 from 2,430 reviews in the WordPress directory, with a corresponding amount of knowledge online.
  • TCF 2.0 consent handling and adblock detection are already in the free edition.
  • A cheap way in: the Personal Pro licence costs 20 euros once and covers two websites.

Where Adjet wins

  • A clean ad cockpit with clear focus instead of an abundance of options.
  • Consent cookie gating and lazy-load built in from the start, plus its own cookie consent banner with Consent Mode v2 signalling.
  • Local, anonymous 30-day stats without external calls, already in the free edition.
  • Honest counting: an impression only counts once the ad was in view, behind a page cache as well.
  • AdSense wizard, weighted rotation, and a REST API at adjet/v1.
  • 30 days money back, and renewals at the same price.

Switching from Ad Inserter: what the import wizard takes over

Adjet ships an import wizard for Ad Inserter, and a second one for Advanced Ads. It takes over ads together with their placements, creates everything it imported in a paused state for you to check, and names in plain words which rules it could not map. Nothing disappears quietly. What does not travel with you is the old statistics: those live in Ad Inserter's own tables and stay there.

The import in the video below starts from Advanced Ads, because the demo site carries three Advanced Ads ads with three placements. In under four minutes you watch one click bring over the names, the ad code, the AdSense publisher ID and slot and the placement “after paragraph two”, every block arrive paused, and the plugin list by name what it could not take along. The video also names the gaps on the Advanced Ads side: ad groups and rotation stay behind, and so do the targeting rules, which the list does not mention.

Video thumbnail: three ads named Newsletter box, Sponsor banner and AdSense in-article, each marked Advanced Ads, headline No retyping Video: Import your ads from Advanced Ads or Ad Inserter3:54 minutes · One click, and only then, loads content from YouTube

The low-risk route has four steps.

  1. Install the free edition, Hafenstudios Ads, alongside your running Ad Inserter. Both plugins may be active at the same time during the move.
  2. Run the import and start with the list of rules the wizard could not map. That is where the handwork sits, and only there.
  3. Check and activate the paused ads one at a time, position by position, instead of arming everything at once.
  4. Only then switch Ad Inserter off. Your ads keep running without a gap, and you get to see whether the cockpit suits you before you decide.
Tip: Note down what your most important positions bring in per month before the import. After the move the 30-day chart gives you something to compare against. Expect the Adjet numbers to come out below those of a pure delivery counter, because an impression only counts once the ad was really in view. That is not lost reach, it is a different way of measuring.

Conclusion: which solution fits whom

If you run a very complex ad setup, need lots of special rules, and don't mind learning a dense interface, Ad Inserter is a solid, powerful choice. The depth is real, and for power users it pays off.

If instead you want a clean cockpit, don't want to piece together consent gating and lazy-load yourself, and value privacy-friendly, local stats, then Adjet was built for you. The focus is on what most websites actually need: clear, lean, and built with GDPR-friendliness in mind, though the legal assessment always stays with you. Ad Inserter comes as a free version and a Pro variant, so if you want to weigh the cost side too, our overview sets out what the plugins cost.

Want to compare further? Take a look at our posts on the Advanced Ads alternative and the AdRotate alternative too. And if your main topic is AdSense and consent, the guide on AdSense in WordPress and GDPR compliance can help.

Adjet: manage ads without losing the overview

A clean cockpit, AdSense wizard, consent gating, lazy-load, and local stats, all in one plugin.

See Adjet

Frequently asked questions

Is Adjet a good alternative to Ad Inserter?

Yes, for sites that want a clean ad cockpit instead of a dense options jungle, Adjet is a good alternative to Ad Inserter. For very complex, individual ad setups with lots of special rules, though, Ad Inserter remains a powerful choice thanks to its deep rule set. Adjet instead scores with auto-placement, an AdSense wizard, consent cookie gating, lazy-load, and local, anonymous 30-day stats without external calls. Which solution fits mainly depends on whether you value depth or focus more.

What's the difference between Ad Inserter and Adjet?

Ad Inserter scores with a very wide range of insertion positions and rules for complex requirements, but feels denser with its many tabs and options and needs more time to learn. Adjet uses a leaner cockpit with auto-placement, shortcodes like [adjet_ad id="1"], weighted ad groups, an AdSense wizard, consent cookie gating, lazy-load, and local, anonymous 30-day stats without external calls. On top of that come its own manage_adjet permission and a REST API at adjet/v1 for automation, and Adjet is licensed under GPLv2.

Does Adjet offer consent handling for ads?

Yes, Adjet ships with consent cookie gating for common consent tools, so ads can only load after the corresponding consent. Since version 1.8.0 it also brings its own cookie consent banner with an equally prominent reject button and Google Consent Mode v2 signalling, so you don't need a separate consent plugin for the ad case. That's complemented by lazy-load via the IntersectionObserver, which only loads ads once a block enters the visitor's visible area. This is a technical building block, not legal advice. Whether your specific setup is GDPR-compliant depends on your configuration, your consent tool, and your own legal assessment. When in doubt, have it checked by an expert.

How do I place ads with Adjet?

Adjet places ads either automatically at defined spots such as before or after the content, after a given paragraph, or after the first image, or you set them manually via shortcode like [adjet_ad id="1"], block, or widget. For rotating ads, several ads can be combined into weighted groups via [adjet_ad_group name="header"]. On top of that, device and content targeting including exclusions let you control whether an ad appears only on desktop or only in certain content, for example. For Google ads, the built-in AdSense wizard also helps with setup.

Does Adjet collect data about my visitors?

Adjet counts ad impressions locally and anonymously and shows them as a 30-day chart in the cockpit, with no external calls at all. The data therefore stays inside your own WordPress instead of being sent to an external service. The consent cookie gating also works together with your existing consent tool instead of building its own tracking mechanisms. This privacy-minded design is deliberate and matches what many operators want: to see reach without introducing extra tracking.

Can I move my ads from Ad Inserter over to Adjet?

Yes, Adjet ships an import wizard for exactly that. It takes over ads together with their placements, creates everything it imported in a paused state for you to check, and lists which rules it could not map. What does not travel with you is the old statistics: those stay in Ad Inserter's tables. The low-risk route is to install the free edition alongside your running Ad Inserter, run the import, check the paused ads one at a time, and only then switch the old plugin off. That way your ads keep running without a gap while you move.

What does Ad Inserter Pro cost compared to Adjet Pro?

Ad Inserter Pro Personal costs 20 euros once, covers two websites and includes one year of updates, with renewals at a 20 percent discount. Over three years that comes to 52 euros. Adjet Pro costs 59 euros a year for one website and stays at the same price on renewal, so 177 euros over three years. On price alone Ad Inserter is ahead. In return, Adjet Pro comes with 30 days money back and 14 days to try it for free beforehand, while Ad Inserter, according to its website, only refunds as long as the file has not been downloaded.

Back to blog A post by hafenstudios