Skip to content

Direct Ad Sales & Advertiser Marketplace

Monetize your website by selling high-impact advertising inventory directly to sponsors, brands, and agencies — without relying on low-RPM third-party ad networks or giving away commissions.

AdFuz Pro Direct Ad Sales & Advertiser Marketplace provides an end-to-end self-service advertising marketplace for WordPress. When an ad space is vacant, it displays a dimension-adaptive “Advertise Here” banner. Advertisers can browse available placements, select flight dates from an interactive calendar with automated date blackout protection, upload creative banners, review real-time pricing calculations, and complete instant checkout via GateFuz (Stripe, PayPal, Bank Wire).

Publishers maintain full control through an Ad Moderation Queue, an Orders & Billings Ledger, and an automated Refund Queue integrated directly with the Stripe REST API.


Native Gutenberg Blocks

Insert the dedicated AdFuz Advertiser Portal and AdFuz Marketplace blocks into any page with in-editor live preview badges and initial tab controls.

Interactive Booking Drawer

A mobile-responsive slide-out drawer featuring a Flatpickr flight calendar, dynamic daily flat-rate and CPM pricing calculations, and banner upload previews.

Automated Date Blackouts

Prevents double-booking conflicts by automatically graying out dates already reserved by confirmed or delivering campaigns.

15-Minute Inventory Holds

Temporarily locks selected calendar dates for 15 minutes during checkout to ensure no competing advertiser can book the same slot simultaneously.

Multi-Gateway Checkout

Powered by GateFuz to support Stripe Elements (Credit Cards, Apple Pay, Google Pay), PayPal, and Direct Bank Wire Transfer.

One-Click Ad Moderation

Streamlined admin queue under Ad Moderation with instant “Approve & Go Live” and confirmation-modal “Reject & Request Refund” workflows.

Automated Stripe Refunds

One-click programmatic refund execution through the Stripe REST API (/v1/refunds), logging gateway references (re_...) and releasing reserved dates.

Advertiser Self-Service Hub

Private advertiser dashboard with delivery KPIs, real-time campaign countdowns, rejection reason notices, and official PDF invoice downloads.


2. Embedding the Advertiser Portal & Marketplace

Section titled “2. Embedding the Advertiser Portal & Marketplace”

Publishers can display the self-service marketplace or advertiser hub using native Gutenberg blocks or shortcodes.

Section titled “Method A: Native Gutenberg Block (Recommended)”
  1. Open or create a page in the WordPress Block Editor (e.g. Advertiser Dashboard or Buy Ads).
  2. Click + and search for “AdFuz Advertiser Portal” or “AdFuz Marketplace”.
  3. Insert the AdFuz Advertiser Portal block.
  4. In the block settings panel on the right (⚙), choose your Default Active Tab:
    • Marketplace Showroom (Browse Spaces): Recommended for public “Advertise With Us” pages.
    • My Campaigns (Dashboard): Recommended for private advertiser member areas.

Gutenberg AdFuz Advertiser Portal Block

You can also embed the portal or showroom into page builders (Elementor, Divi) or classic templates:

[adfuz_advertiser_portal default="marketplace"]

Or embed the dedicated showroom directly:

[adfuz_marketplace]

3. The Advertiser Hub & Marketplace Showroom

Section titled “3. The Advertiser Hub & Marketplace Showroom”

When advertisers visit the portal page on your website, they access the unified Advertiser Hub & Marketplace:

Advertiser Hub & Direct Ad Inventory Marketplace

  • Dual Tab Navigation:
    • Purchased Items: Advertisers track active campaign delivery, flight schedules, impressions, CTR, and download generated invoices.
    • Marketplaces: Displays all active sellable ad spaces across your website network.
  • Direct Ad Inventory Grid:
    • Each sellable slot displays its name (e.g. Selling Ads), precise pixel dimensions badge (300×300 px), supported file formats (PNG, JPG, GIF), placement slots, and delivery mode (Real-time Impressions & CTR).
  • Instant Booking Call-to-Action: Clicking ⚡ Book This Space → opens the interactive slide-out booking drawer.

4. The Interactive Campaign Booking Drawer

Section titled “4. The Interactive Campaign Booking Drawer”

The slide-out drawer provides a guided, friction-free booking flow:

Configure Your Campaign Booking Drawer

  1. Select Pricing Package: Choose from the available pricing packages configured by the publisher (e.g., Time-based Flight at 10 USD/day).

  2. Automated Booked Dates Blackout Notice: The interactive calendar inspects active reservations in real-time. If dates are already booked, the drawer alerts the user with an intuitive notice:

    Calendar Notice: Booked Dates Disabled
    2026-10-12 to 2026-10-29 is already reserved for this space. Booked dates are greyed out in the calendar. Next available flight starts on 2026-10-30. This guarantees zero double-booking conflicts across overlapping flights.

  3. Select Flight Dates: The advertiser selects their Flight Start Date and Flight End Date. The total flight duration (e.g., 8 day(s)) is calculated automatically.

  4. Creative & Destination Configuration:

    • Campaign Title / Label: Enter an internal reference name (e.g. Test Campaign 120).
    • Destination URL: Secure HTTPS landing page where visitors will be directed when clicking the banner.
    • Banner Image Upload: Direct upload for the banner graphic matching the required slot dimensions (e.g. 300×300 px, max 500 KB), with instant thumbnail preview and remove controls.
  5. Billing Details & Order Review:

    • Enter Full Name, Email Address, and optional Company/Organization name.
    • The summary card displays the calculated package rate, subtotal, and Total Due in real time.
  6. Lock Reservation: Clicking Lock Reservation & Proceed to Payment → transitions the drawer to the secure payment view.


5. Inventory Hold & Secure Gateway Checkout

Section titled “5. Inventory Hold & Secure Gateway Checkout”

To protect against race conditions where two advertisers try to book the same ad space simultaneously, AdFuz initiates an automated 15-Minute Inventory Hold:

Inventory Hold Reserved and Stripe Checkout

  • Inventory Hold Countdown: An active timer (e.g. 14:55) holds the calendar dates exclusively for the prospective buyer while they enter payment details.
  • Payment Gateway Selector: Support for Stripe Elements (Credit/Debit Card, Apple Pay, Google Pay), PayPal, or Bank Transfer.
  • Embedded Card Input: Secure, PCI-compliant card inputs with autofill support and SSL padlock indicators.
  • Instant Confirmation: Clicking Pay USD 73.00 Securely ✓ processes the transaction via GateFuz.

Once payment succeeds, the advertiser receives immediate visual feedback:

Campaign Submitted Confirmation

  • Confirmation Screen: Notifies the advertiser that payment is confirmed and their campaign has been submitted for editorial approval.
  • Direct Invoice Access: Single click on View Official Invoice (INV-2026-00005) ↗ downloads the official branded PDF invoice.
  • Dashboard Return: A quick link directs the advertiser straight to their personal workspace.

6. Advertiser Dashboard: Purchased Items & Delivery

Section titled “6. Advertiser Dashboard: Purchased Items & Delivery”

Under the Purchased Items tab, advertisers have full transparency into their investments and live delivery statistics:

Purchased Items & Delivery Performance Dashboard

At the top of the dashboard, aggregated KPI cards display:

  • Total Impressions: Lifetime impressions served across all campaigns.
  • Link Clicks: Total outbound clicks generated.
  • Average CTR %: Real-time click-through rate percentage.
  • Delivering Live: Count of active campaigns currently rotating on the site.
  • Lifetime Investment: Total spend across all approved and active orders.

Each purchased campaign displays:

  • Campaign & Placement: Banner thumbnail preview, campaign title (e.g. Test Campaign 120), slot dimensions (300×300 px), and order token (ADFUZ_ORD_...).
  • Schedule & Progress: Flight window dates, scheduled countdowns (e.g. Starts in 18 d or Day 1 of 5), and an animated delivery progress bar.
  • Lifecycle Status Badges:
    • In Moderation: Awaiting publisher review in the moderation queue.
    • Live / Delivering: Approved and actively serving ads to visitors.
    • Refunded: Cancelled flight showing strikethrough dates (<s>Oct 30 → Nov 1</s>), a [⊗ Flight Cancelled • Dates Released] pill, and the exact publisher rejection notice (REASON: Fake one and it will be refund).
  • Stats & Actions:
    • View Detailed Stats: Real-time delivery breakdown by geography, device, and browser.
    • Download Invoices: Access official PDF invoices for accounting and tax records (INV-2026-00005 ↗).

Every newly purchased ad enters the Direct Ad Moderation Queue under AdFuz → Ad Moderation:

Direct Ad Moderation Queue

Publishers maintain full editorial control before any advertiser banner appears live on the site:

  • Banner Thumbnail: Inspect the uploaded graphic format (IMAGE/PNG), dimensions (300×300 px), and visual quality.
  • Order Reference: Unique order identifier badge (e.g. ADFUZ_ORD_WQLJZMQT4EOQTM).
  • Advertiser Information: Advertiser username and billing email address.
  • Pricing & Flight Quota: Billing rate (FLAT 73.00 USD Paid), duration (8 days), and scheduled flight window (2026-10-30 — 2026-11-06).
  • Destination Verification: Clickable external link to verify that the target URL (https://google.com ↗) is safe and compliant.

All ad space bookings, payments, and generated invoices are tracked in the centralized ledger under AdFuz → Orders & Billings:

Direct Ad Orders & Billings Ledger

  • Order Ref / Date: Order reference token and precise checkout timestamp.
  • Ad Space / Slot: Targeted ad space placement and size (Selling Ads - 300×300 px).
  • Advertiser: Registered advertiser account and email.
  • Pricing / Schedule: Rate model badge (FLAT 8 Days) and scheduled dates.
  • Total Amount: Gross transaction amount paid by the advertiser.
  • Order / Campaign Status Badges:
    • Paid Pending Moderation: Awaiting publisher approval in moderation queue.
    • Active Delivering Live: Approved and currently rotating live to visitors.
    • Refunded Paused: Cancelled or rejected order with completed Stripe refund.
  • Actions & Invoices:
    • One-click shortcut to Moderate Creative →.
    • Direct download links for official serial-numbered PDF invoices (e.g. INV-2026-00005 ↗, INV-2026-00004 ↗).

9. Direct Ad Refund Queue & Stripe Settlement

Section titled “9. Direct Ad Refund Queue & Stripe Settlement”

When a campaign is rejected during moderation, it routes to AdFuz → Refunds:

Direct Ad Refund Queue

  1. Audit Refund Cases: Review the pending cases in the queue with order reference, advertiser email, refund amount (30.00 USD), gateway (STRIPE), and publisher reason (“Fake one and it will be refund”).

  2. Execute Automated Stripe Refund: Clicking Issue Refund contacts the Stripe API (/v1/refunds):

    • Automatically determines whether the original transaction was a PaymentIntent (pi_...) or Charge (ch_...).
    • Issues the full refund to the advertiser’s payment card.
    • Logs the Stripe refund transaction reference (e.g. re_3UP0ahAbrsC...).
  3. Status Synchronization:

    • Order status transitions to Refunded.
    • On the advertiser portal, the flight is marked 100% Refunded with a ✓ Refund Settled badge.
    • The booked calendar dates are already released for other advertisers to reserve.

10. Enabling Direct Ad Sales on an Ad Space

Section titled “10. Enabling Direct Ad Sales on an Ad Space”

Publishers can turn any Ad Space into a self-service direct sales slot with a single toggle:

  1. Navigate to AdFuz → Ad Spaces in the WordPress admin and edit an existing space (or create a new one).
  2. Scroll to the Direct Ad Sales & Marketplace settings card.
  3. Toggle Allow Direct Purchase:
    • Pricing Model: Choose Flat Rate (Per Day) or CPM (Per 1,000 Impressions).
    • Price: Enter the base price (e.g., $10.00 per day or $5.00 per 1k impressions).
    • Currency: Select your billing currency (e.g., USD, EUR, GBP).
    • Minimum Flight Days: Set the minimum booking duration (e.g., 3 days).
    • Maximum Flight Days: Set the maximum allowed single flight (e.g., 30 days).
  4. Click Save Ad Space.

AdFuz Pro exposes programmatic hooks for extending marketplace behavior and delivery:

// Centralized programmatic cache busting for a campaign or ad space
\AdFuzPro\Controllers\Portal\Services\CampaignDeliveryService::bust_cache( $campaign_id, $ad_space_id );
// Filter empty space HTML when vacant
add_filter( 'adfuz/shortcode/empty_space_html', function( $html, $ad_space ) {
// Custom placeholder markup or return AdFuz Pro adaptive placeholder
return $html;
}, 10, 2 );
// Action triggered when GateFuz payment is completed
add_action( 'gatefuz_payment_completed', function( $order_id, $payment_data ) {
// Custom post-payment logic
}, 10, 2 );