{"id":254088,"date":"2026-01-24T10:29:58","date_gmt":"2026-01-24T10:29:58","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/adx-ad-inserter\/"},"modified":"2026-05-25T20:29:29","modified_gmt":"2026-05-25T20:29:29","slug":"adx-ad-inserter","status":"publish","type":"plugin","link":"https:\/\/en-ca.wordpress.org\/plugins\/adx-ad-inserter\/","author":23188203,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.1","stable_tag":"1.3.1","tested":"6.9.4","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"AdX Ad Inserter","header_author":"Monetiscope","header_description":"Insert Google AdX, Ad Manager, popup, rewarded, interstitial, sticky, in-content ads with precise placement controls. Includes built-in ads.txt editor.","assets_banners_color":"d5d7dc","last_updated":"2026-05-25 20:29:29","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/monetiscope.com\/","header_plugin_uri":"https:\/\/monetiscope.com\/adx-ad-inserter-plugin\/","header_author_uri":"https:\/\/monetiscope.com","rating":5,"author_block_rating":0,"active_installs":60,"downloads":723,"num_ratings":3,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2.0":{"tag":"1.2.0","author":"monetiscopeadx","date":"2026-01-24 10:45:48"},"1.3.0":{"tag":"1.3.0","author":"monetiscopeadx","date":"2026-05-20 12:43:57"},"1.3.1":{"tag":"1.3.1","author":"monetiscopeadx","date":"2026-05-25 20:29:29"}},"upgrade_notice":{"1.3.1":"<p>Highly recommended premium upgrade. Adds new ad formats (AdSense, Custom, Responsive, Flying Carpet Parallax, Sticky Side Rails), centralized GPT loading for faster pages, 24h popup capping, and robust URL exclusion targeting. Completely backward-compatible.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":3},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3446062,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3446062,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3548805,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3548805,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2.0","1.3.0","1.3.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3548224,"resolution":"1","location":"assets","locale":"","width":1236,"height":865},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3548224,"resolution":"2","location":"assets","locale":"","width":1306,"height":872},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3548224,"resolution":"3","location":"assets","locale":"","width":1235,"height":791},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3548224,"resolution":"4","location":"assets","locale":"","width":1275,"height":785},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3548224,"resolution":"5","location":"assets","locale":"","width":1282,"height":777},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3548224,"resolution":"6","location":"assets","locale":"","width":1247,"height":773},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3548224,"resolution":"7","location":"assets","locale":"","width":1287,"height":803},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3548224,"resolution":"8","location":"assets","locale":"","width":1302,"height":785}},"screenshots":[]},"plugin_section":[],"plugin_tags":[4437,2533,321,148,254590],"plugin_category":[35],"plugin_contributors":[254591],"plugin_business_model":[],"class_list":["post-254088","plugin","type-plugin","status-publish","hentry","plugin_tags-ad-inserter","plugin_tags-ad-manager","plugin_tags-ads","plugin_tags-adsense","plugin_tags-google-adx","plugin_category-advertising","plugin_contributors-monetiscopeadx","plugin_committers-monetiscopeadx"],"banners":{"banner":"https:\/\/ps.w.org\/adx-ad-inserter\/assets\/banner-772x250.png?rev=3548805","banner_2x":"https:\/\/ps.w.org\/adx-ad-inserter\/assets\/banner-1544x500.png?rev=3548805","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/adx-ad-inserter\/assets\/icon-128x128.png?rev=3446062","icon_2x":"https:\/\/ps.w.org\/adx-ad-inserter\/assets\/icon-256x256.png?rev=3446062","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/adx-ad-inserter\/assets\/screenshot-1.png?rev=3548224","caption":""},{"src":"https:\/\/ps.w.org\/adx-ad-inserter\/assets\/screenshot-2.png?rev=3548224","caption":""},{"src":"https:\/\/ps.w.org\/adx-ad-inserter\/assets\/screenshot-3.png?rev=3548224","caption":""},{"src":"https:\/\/ps.w.org\/adx-ad-inserter\/assets\/screenshot-4.png?rev=3548224","caption":""},{"src":"https:\/\/ps.w.org\/adx-ad-inserter\/assets\/screenshot-5.png?rev=3548224","caption":""},{"src":"https:\/\/ps.w.org\/adx-ad-inserter\/assets\/screenshot-6.png?rev=3548224","caption":""},{"src":"https:\/\/ps.w.org\/adx-ad-inserter\/assets\/screenshot-7.png?rev=3548224","caption":""},{"src":"https:\/\/ps.w.org\/adx-ad-inserter\/assets\/screenshot-8.png?rev=3548224","caption":""}],"raw_content":"<!--section=description-->\n<p>AdX Ad Inserter by Monetiscope is a professional-grade, lightweight, and publisher-friendly ad insertion and monetization management plugin for WordPress. Completely compliant with WordPress Plugin Guidelines, Google Ad Manager (GAM), Google AdX, and AdSense policies, it helps you manage and display your ad inventory safely and efficiently without writing any code.<\/p>\n\n<p>This version introduces <strong>AdX Ad Inserter Premium Updates<\/strong>, introducing advanced ad formats, a centralized GPT manager, robust viewport-relative lazy loading, and fine-grained URL exclusions to maximize ad yield while keeping your Core Web Vitals pristine.<\/p>\n\n<h4>Key Subsystems &amp; Features<\/h4>\n\n<ul>\n<li><strong>Centralized GPT Script Manager<\/strong> - Loads <code>gpt.js<\/code> exactly once globally with proper async queuing to prevent duplicate initialization, reduce Cumulative Layout Shift (CLS), and boost page load times.<\/li>\n<li><strong>AdSense Ads \/ Custom Sections<\/strong> - 10 independent code blocks supporting raw script textareas, strict admin HTML sanitization, 8 insertion hook categories (including Before Headings!), alignments, and separate mobile\/tablet\/desktop screen filters.<\/li>\n<li><strong>Responsive Ads<\/strong> - 5 independent slots auto-mapping GAM creatives dynamically (728x90 on Desktop and 300x250 on Mobile viewports) with unique div ID allocations and custom \"Index (X)\" offset targets.<\/li>\n<li><strong>Updated Popup Overlay<\/strong> - 24-hour rate limit tracking using client-side localStorage, device filter switches, and advanced category\/post page targeting options.<\/li>\n<li><strong>Flying Carpet Ads<\/strong> - 5 parallax scrolling ad blocks with viewport-relative clipping, lazy loading, and smooth CSS acceleration.<\/li>\n<li><strong>Side Rail Ads<\/strong> - Sticky left and right column rails for screens wider than 1200px. Supports viewability-based dynamic refreshing (min 30s) and close buttons.<\/li>\n<li><strong>Exclude Links &amp; Pages<\/strong> - Suppress all ad layouts on specific pages using comma-separated paths or queries.<\/li>\n<li><strong>ads.txt Manager (Built-in)<\/strong> - Edit <code>\/ads.txt<\/code> directly from your admin panel. Includes fail-safes and query-vars rewrites.<\/li>\n<\/ul>\n\n<h4>Placement &amp; Targeting Controls<\/h4>\n\n<ul>\n<li><strong>Before Content<\/strong> - Prepend ads to the start of post contents.<\/li>\n<li><strong>After Content<\/strong> - Append ads to the end of post contents.<\/li>\n<li><strong>Before \/ After Paragraph X<\/strong> - Parse and insert ads dynamically before\/after the Xth paragraph.<\/li>\n<li><strong>Before \/ After Image X<\/strong> - Insert ads before\/after the Xth image or figure.<\/li>\n<li><strong>Before Heading X<\/strong> - Position ads right above the Xth heading tag (h1, h2, h3, h4, h5, h6).<\/li>\n<li><strong>Sticky Bottom<\/strong> - Locked bottom overlay with a user close toggle.<\/li>\n<li><strong>Parallax Carpets<\/strong> - Premium middle-of-content viewport scrolling layers.<\/li>\n<li><strong>Desktop Side Rails<\/strong> - Sticky outer columns floating next to the post wrapper.<\/li>\n<li><strong>Shortcodes<\/strong> - Insert ads manually anywhere in posts, pages, or widgets using shortcodes:\n\n<ul>\n<li><code>[ms_display_ad id=\"X\"]<\/code><\/li>\n<li><code>[ms_custom_ad id=\"X\"]<\/code><\/li>\n<li><code>[ms_responsive_ad id=\"X\"]<\/code><\/li>\n<li><code>[ms_flying_carpet id=\"X\"]<\/code><\/li>\n<li><code>[ms_side_rail]<\/code><\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h3>Configuration<\/h3>\n\n<ol>\n<li>Navigate to <strong>AdX Ad Inserter<\/strong> in your WordPress admin menu.<\/li>\n<li>Enable the master toggle: set to <strong>Plugin Active<\/strong>.<\/li>\n<li>Configure your ad blocks under individual tabs:\n\n<ul>\n<li><strong>Display Slots<\/strong>: Configure standard GAM units (adds support for 320x480 and 480x320 mobile dimensions).<\/li>\n<li><strong>Adsense Ads \/ Custom<\/strong>: Paste your raw AdSense or scripts, choose insertion (e.g. before heading), alignment, and targets.<\/li>\n<li><strong>Responsive Ads<\/strong>: Enter your responsive ad slot line and define standard placements. Supports precise \"Index (X)\" offset targets.<\/li>\n<li><strong>Popup Ads<\/strong>: Enter slot path, trigger scroll depth, target screens, and set cap to \"one time in 24 hours\".<\/li>\n<li><strong>Flying Carpet Ads<\/strong>: Enable full-screen mobile-optimized parallax slots inside content paragraphs.<\/li>\n<li><strong>Side Rail Ads<\/strong>: Add a single slot line to automatically float matching left\/right columns on desktop screens.<\/li>\n<li><strong>Exclude Links<\/strong>: Paste comma-separated URLs or paths to block ads on checkout, cart, or landing pages.<\/li>\n<\/ul><\/li>\n<li>Click <strong>Save Changes<\/strong> and enjoy safe, optimized monetization!<\/li>\n<\/ol>\n\n<h3>External Services<\/h3>\n\n<p>This plugin enqueues the following external script resources:<\/p>\n\n<ul>\n<li><p><strong>Google Publisher Tag (gpt.js)<\/strong>:<\/p>\n\n<ul>\n<li><strong>URL<\/strong>: <code>https:\/\/securepubads.g.doubleclick.net\/tag\/js\/gpt.js<\/code><\/li>\n<li><strong>Purpose<\/strong>: Serves GAM \/ AdX slots on the public frontend. Loaded once asynchronously.<\/li>\n<li><strong>Privacy<\/strong>: Google collects cookies and usage details according to <a href=\"https:\/\/policies.google.com\/privacy\">Google Privacy Policy<\/a>.<\/li>\n<\/ul><\/li>\n<li><p><strong>Zapier Chatbot (Admin Only)<\/strong>:<\/p>\n\n<ul>\n<li><strong>URL<\/strong>: <code>https:\/\/interfaces.zapier.com\/assets\/web-components\/zapier-interfaces\/zapier-interfaces.esm.js<\/code><\/li>\n<li><strong>Purpose<\/strong>: Provides administrative help desk widgets on the settings dashboard.<\/li>\n<li><strong>Privacy<\/strong>: <a href=\"https:\/\/zapier.com\/privacy\">Zapier Privacy Policy<\/a>.<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<!--section=installation-->\n<h4>Automatic Installation<\/h4>\n\n<ol>\n<li>Go to <strong>Plugins \u2192 Add New<\/strong> in your WordPress admin panel.<\/li>\n<li>Search for \"AdX Ad Inserter\".<\/li>\n<li>Click <strong>Install Now<\/strong> and then <strong>Activate<\/strong>.<\/li>\n<\/ol>\n\n<h4>Manual Installation<\/h4>\n\n<ol>\n<li>Download the plugin ZIP file.<\/li>\n<li>Go to <strong>Plugins \u2192 Add New \u2192 Upload Plugin<\/strong>.<\/li>\n<li>Select the downloaded ZIP file and click <strong>Install Now<\/strong>.<\/li>\n<li>Activate the plugin.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"why%20do%20we%20encourage%20users%20to%20register%20a%20monetiscope%20account%3F\"><h3>Why do we encourage users to register a Monetiscope account?<\/h3><\/dt>\n<dd><p>Registering your free Monetiscope account unlocks a suite of powerful benefits designed to maximize your publishing revenue. Registered users receive priority technical support directly from our ad-ops experts, access to premium monetization optimization tools, seamless plugin updates, and early access to upcoming features like advanced Header Bidding and specialized ad layouts. Registration is entirely optional but highly recommended to get the most out of your ad inventory!<\/p><\/dd>\n<dt id=\"does%20adx%20ad%20inserter%20inject%20any%20forced%20third-party%20ads%3F\"><h3>Does AdX Ad Inserter inject any forced third-party ads?<\/h3><\/dt>\n<dd><p>No. 100% control remains with you. The plugin only displays the ad units, scripts, and codes that you configure in the admin panel.<\/p><\/dd>\n<dt id=\"does%20this%20version%20support%20google%20adsense%3F\"><h3>Does this version support Google AdSense?<\/h3><\/dt>\n<dd><p>Yes. Use the new <strong>Adsense Ads \/ Custom<\/strong> section to paste AdSense auto-ads or responsive script blocks directly. The plugin handles secure script parsing for administrators.<\/p><\/dd>\n<dt id=\"how%20does%20the%2024-hour%20popup%20frequency%20cap%20work%3F\"><h3>How does the 24-hour popup frequency cap work?<\/h3><\/dt>\n<dd><p>If set to 24 hours, the plugin saves a timestamp in the visitor's browser localStorage when the popup overlay is shown. The popup will be automatically suppressed for 24 hours even if the user clears their session.<\/p><\/dd>\n<dt id=\"will%20side%20rail%20ads%20show%20on%20tablets%20or%20mobile%20phones%3F\"><h3>Will Side Rail ads show on tablets or mobile phones?<\/h3><\/dt>\n<dd><p>No. Side rails automatically hide on screen widths below 1200px to comply with layout standards and prevent overlapping main content.<\/p><\/dd>\n<dt id=\"how%20does%20viewability-based%20auto-refresh%20work%3F\"><h3>How does viewability-based auto-refresh work?<\/h3><\/dt>\n<dd><p>If auto-refresh is enabled on Side Rails, the plugin calculates whether the left\/right rails are currently visible in the active viewport. It triggers a refresh only when visible, with a minimum 30-second interval, protecting your advertiser quality score.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Added: First-time setup onboarding system to seamlessly register users with Monetiscope for priority support, updates, and optimization tools.<\/li>\n<li>Added: Display Page Exceptions \/ Target Pages checklists across all Display, Custom, Responsive, and Flying Carpet ad blocks.<\/li>\n<li>Added: Expanded Placement Insertion target options to 19 standard categories, including Excerpt, Comment Form sections, and dynamic selector HTML element transplanting.<\/li>\n<li>Added: Enable Custom Scripts Subsystem toggle control inside the Footer Script Injection Card.<\/li>\n<li>Fixed: Broken sidebar headers overlapping WordPress core top horizontal nav-tabs by isolating vertical tabs completely with <code>.adx-nav-tab<\/code> selectors.<\/li>\n<li>Restructured: Reorganized plugin into premium modular architecture (admin, public, includes, assets, templates).<\/li>\n<li>Refactored: Overhauled settings page UI with a premium, modern Slate\/Indigo HSL theme and custom Outfit\/Inter Google Fonts family.<\/li>\n<li>Improved: Grouped primary sidebar navigation under distinct Standard Placements, Advanced Ads, and Configuration categories with Dashicons, renaming the tab to a simple \"Settings\" button.<\/li>\n<li>Restructured: Split Exclude Links, Header Script, Footer Script, and Ads.txt Manager separately as distinct stacked collapsible card panels vertically.<\/li>\n<li>Improved: Refined Responsive Ads \"Index (X)\" offset field to keep it visible at all times, adding dynamic dimmed\/disabled states when standard insertions are selected, and instantly illuminating it on tag-based placements.<\/li>\n<li>Restored: Fully re-integrated the broken frontend loader for Offerwall Ads (onscroll) and added a highly requested close\/skip button, allowing visitors to temporarily skip the ad for their session.<\/li>\n<li>Fixed: Updated the Zapier chatbot script widget to run asynchronously in the admin panel.<\/li>\n<li>Added: Adsense Ads \/ Custom section supporting 10 independent blocks, raw textareas, heading insertions, and alignments.<\/li>\n<li>Added: Display Ads dimension update adding 320x480 and 480x320 selections.<\/li>\n<li>Added: Responsive Ads section auto-mapping 728x90 (Desktop) and 300x250 (Mobile) GAM slots.<\/li>\n<li>Added: Popup Ad update introducing 24-hour localStorage rate limiting, context page filters, and screen categories.<\/li>\n<li>Added: Flying Carpet Ads section supporting 5 parallax scrolling in-content blocks with viewport lazy loading.<\/li>\n<li>Added: Side Rail Ads supporting desktop left\/right sticky rails and viewability auto-refresh (min 30s).<\/li>\n<li>Added: Exclude Links section allowing global path-prefix and query-safe exclusions.<\/li>\n<li>Improved: Centralized GPT Manager enqueues gpt.js exactly once asynchronously and queues all defineSlots securely.<\/li>\n<li>Security: Implemented unfiltered_html capability filters, wp_kses sanitizations, and robust nonces on options inputs.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Bugs fixed<\/li>\n<li>Security Fixes<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Improved: Before Post ad placement finds title accurately across themes.<\/li>\n<li>Improved: Output buffering replaced with clean hooks.<\/li>\n<li>Security: Proper escaping and sanitizations.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added: Device targeting for display ads.<\/li>\n<li>Added: Page type targeting.<\/li>\n<li>Added: Sub-slots up to 10 display units.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release of AdX Ad Inserter.<\/li>\n<\/ul>","raw_excerpt":"Insert Google AdX, Ad Manager, AdSense, popup, rewarded, side rails, and in-content ads. Features an ads.txt editor and centralized GPT manager.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/254088","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=254088"}],"author":[{"embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/monetiscopeadx"}],"wp:attachment":[{"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=254088"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=254088"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=254088"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=254088"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=254088"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/en-ca.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=254088"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}