Title: Sell Ads – Sell your ad space. Without middleman.
Author: Joe
Published: <strong>October 9, 2023</strong>
Last modified: August 6, 2026

---

Search plugins

![](https://ps.w.org/sell-ads/assets/banner-772x250.png?rev=3626502)

![](https://ps.w.org/sell-ads/assets/icon-256x256.png?rev=2976395)

# Sell Ads – Sell your ad space. Without middleman.

 By [Joe](https://profiles.wordpress.org/wpflamingojoe/)

[Download](https://downloads.wordpress.org/plugin/sell-ads.1.9.9.zip)

 * [Details](https://test.wordpress.org/plugins/sell-ads/#description)
 * [Reviews](https://test.wordpress.org/plugins/sell-ads/#reviews)
 *  [Installation](https://test.wordpress.org/plugins/sell-ads/#installation)
 * [Development](https://test.wordpress.org/plugins/sell-ads/#developers)

 [Support](https://wordpress.org/support/plugin/sell-ads/)

## Description

You want to sell ads? Do you want to sell your ad space easily, directly and without
any advertising network? This is exactly the solution of Sell Ads Plugin:

 * Rent out advertising space monthly.
 * Rent out ads directly to advertisers, with no network in between.
 * Set the price for your advertising yourself.
 * Shady advertisements can simply be rejected.
 * Gives website owners control back over what they advertise and their price: you
   decide who may rent out ads on your pages.
 * Try the whole thing first: test mode lets you click through every step without
   setting up Stripe.
 * Get an e-mail the moment someone pays for an ad space, so a sale never sits unnoticed
   in your dashboard.
 * Revolutionizes the way advertising can be sold on WordPress.

👉 TEST the plugin on our [Demo website](https://cybie.de/demo)

#### PROBLEMS SOLVED BY THE SELL ADS PLUGIN

All features of Sell Ads are designed only to help you to sell your valuable ad 
space monthly, simple and safe. Sell Ads gives you:

 * Finally no need of low-paid ad networks anymore.
 * Opportunity to earn more money from direct advertising sales.
 * Anyone can now rent out advertising space, whatever the size of their audience.
 * Advertisers pay securely through Stripe with credit card, Apple Pay and more.
 * Payments go straight into your own Stripe account. Use your own Stripe API key
   and pay us nothing at all, or connect with Stripe in one click and pay a 7 % 
   Sell Ads fee.
 * Website can benefit from secure and long-term advertising revenues.
 * New website owners, small blogs and million-user platforms can all rent out ads
   immediately, on the same terms.

#### WHO SELL ADS IS FOR

 * **Blogs and niche sites with a loyal audience.** If your readers care about one
   subject, that space is worth far more to the right advertiser than an ad network
   will ever pay you for it.
 * **Small and new websites.** Ad networks turn you away below a certain traffic
   level. Here there is no minimum: if one advertiser thinks your page is worth 
   it, you can rent out ads from day one.
 * **Anyone tired of being paid per thousand views.** A monthly subscription is 
   planned income that does not move with the season or with someone else’s algorithm.
 * **Site owners who want to stay in control.** You set the price, you see every
   ad before it goes live, and you can reject or cancel anything at any time.
 * **Publishers who care about page speed and privacy.** Ads sold here are a plain
   image and a link. No third-party ad scripts, no tracking cookies, nothing loading
   from an ad network.
 * **Developers and agencies.** Place an ad space anywhere with a shortcode or a
   single function call in the theme, hand the finished setup to your client, and
   let them rent out ads without ever touching the code.
 * **Newsletters, magazines, local portals and clubs** that already know their advertisers
   by name and only need a way to rent out ads and take the money every month.

#### WHAT MAKES SELL ADS DIFFERENT

 * **You can keep 100 % of the price you set.** With your own Stripe API key the
   plugin takes no commission and no revenue share — only Stripe’s own processing
   fees apply. If you would rather not deal with API keys, connect with Stripe in
   one click instead and a 7 % Sell Ads fee applies on top of Stripe’s fees. The
   choice is yours and you can switch at any time.
 * **The money goes to your own Stripe account.** Not to us, not to a network that
   pays out sixty days later. Rent out advertising space today and the payment is
   yours as soon as Stripe settles it.
 * **No ad network in the middle.** No revenue share, no rules about what counts
   as acceptable content, no waiting to reach a payout threshold.
 * **It runs itself.** The advertiser pays, uploads the banner and the link, and
   gets a self-service link to cancel — all without a single e-mail back and forth
   with you. You rent out ads while you sleep.
 * **Try everything before you sign up anywhere.** Test mode walks you through every
   step, including the buyer’s side, without a Stripe account and without taking
   a payment.
 * **Nobody is left waiting.** You get an e-mail the moment someone pays, and any
   request you do not answer within 14 days has its subscription cancelled automatically,
   so an advertiser never keeps paying month after month for a space that never 
   went live.

#### FEATURES

 * Rent out ads in any number of positions as a recurring monthly subscription through
   Stripe.
 * Set your own price and currency per ad space, plus your own headline and button
   text.
 * Place an ad space with the `[wpsap_ads id="…"]` shortcode or with `wpsap_show(
   id )` anywhere in your theme.
 * Two ways to take payments: your own Stripe API key (no fee from us) or Connect
   with Stripe in one click (7 % Sell Ads fee).
 * Test mode: click through the whole plugin, buyer’s side included, with no Stripe
   account and no payment.
 * Buyers pay by credit card, Apple Pay, Google Pay and the other methods you have
   enabled in Stripe.
 * After paying, the buyer uploads the banner and the target link themselves — the
   pages for this work on a phone as well as on a desktop and keep their look in
   every theme.
 * Review every ad before it appears: accept, reject, or publish it from your dashboard.
 * An e-mail reaches you as soon as a payment is confirmed. On by default, to any
   address you like, sent through whatever this site already uses for e-mail, so
   an SMTP plugin is picked up automatically.
 * Requests left unanswered for 14 days are cancelled automatically, so nobody keeps
   paying for a space that never went live.
 * Buyers can cancel themselves at any time through the Stripe billing portal — 
   and so can you, from the WordPress dashboard.
 * Every order in one list with its status, the amount paid, and the buyer’s e-mail
   address.
 * Link your own Terms of Service, Uploading Policy and Cancel Policy pages, and
   add your own notes to the upload page, the thank-you page and Stripe’s payment
   page.
 * No third-party ad scripts and no tracking cookies are added to your site — an
   ad is an image and a link.
 * No account with us, no registration, no external dashboard — you rent out advertising
   space from your own site, under your own name.

#### HOW THE SELL ADS PLUGIN WORKS

Sell Ads gives you:

 1.  Visit the plugins page within your dashboard and select ‘Add New’.
 2.  Search for ‘Sell Ads’.
 3.  Activate Sell Ads from your Plugins page.
 4.  Select “Sell Ads” in the Menu.
 5.  Choose how you take payments: enter your own Stripe secret key and webhook secret,
     or click “Connect with Stripe”.
 6.  Create your advertising campaign.
 7.  Place your campaign where you want to rent out ads.
 8.  Buyer pays, uploads advertisement and product link.
 9.  Request is sent to your dashboard.
 10. Buyer receives a link to the Stripe billing portal and can cancel at any time.
 11. If you accept the request, you can post the ad.
 12. Also the Site owner can cancel in wordpress dashboard at any time.
 13. This monthly advertising deal remains active until one of the two parties cancels.
 14. Requests you do not answer within 14 days are cancelled automatically.

#### WHY RENT OUT ADVERTISING SPACE INSTEAD OF JOINING AN AD NETWORK

An ad network pays you for attention it resells. You hand over your best positions,
the network
 finds the advertiser, keeps a share nobody ever shows you, and sends
what is left once you pass a payout threshold. When you rent out advertising space
yourself, that middleman disappears. The advertiser pays your price, the money lands
in your own Stripe account, and the arrangement renews every month until one of 
you ends it.

The difference is easiest to see in the numbers. A thousand views of a banner might
earn a couple
 of euros through a network. The same position, rented for a month
to a company that wants to reach exactly your readers, is worth what that company
is willing to pay — and that is a conversation about your audience, not about impressions.
Site owners who sell ads directly regularly find that one direct advertiser is worth
more than a month of network revenue.

There is a second difference that has nothing to do with money. Networks load their
own scripts
 into your pages. They set cookies, they slow your site down, and they
decide what appears next to your writing. When you rent out ads through this plugin,
an advertisement is an image and a link, served from your own site. Nothing is loaded
from anywhere else. You see every banner before it goes live, and anything you do
not want simply gets rejected.

Finally, a network can turn you away. Most have traffic minimums, and a new blog
rarely clears
 them. To rent out advertising space you need no minimum at all. If
a single advertiser thinks your page is worth fifteen euros a month, you have income
that a network would never have given you.

#### WHAT TO CHARGE WHEN YOU RENT OUT ADS

There is no formula, and anyone who gives you one is guessing. What follows is how
most people who
 sell ads directly arrive at a number.

Start with what the space is worth to the advertiser, not with what it costs you.
A visitor who
 reads a long review of espresso machines is worth a great deal to
someone selling espresso machines, and very little to everyone else. The narrower
your subject, the more you can ask.

A practical starting point is to look at what an ad network currently pays you for
that position
 over a month, and to ask for several times that amount. You are offering
something the network cannot: a guaranteed, exclusive placement for a whole month,
with no competition rotating through it. If you have never run ads at all, start
low enough that saying yes is easy — many site owners rent out ads for their first
month at a price they later double.

Set the price per ad space, not per site. A banner directly under the header and
a small square
 far down the sidebar are not worth the same, and this plugin lets
each campaign carry its own monthly price, its own headline and its own button text.

Remember that this is a subscription. A modest monthly price that renews for a year
beats a large
 one-off payment that never repeats. When you rent out advertising
space as a monthly arrangement, predictability is the product.

#### WHERE TO PLACE AN AD SPACE ON YOUR SITE

You can place an ad space anywhere a shortcode works: in a post, on a page, in a
widget area, or
 directly in a theme template with a single function call. The positions
that sell ads most reliably are the ones a reader passes on the way to what they
came for.

 * **Directly below the header.** The most valuable position on most sites, and 
   the one to price highest.
 * **In the sidebar, above the fold.** The classic place to rent out advertising
   space, still effective on desktop.
 * **Inside long articles.** After the introduction or between sections, where attention
   is already engaged.
 * **At the end of a post.** Readers who finish an article are the most receptive
   audience you have.
 * **In the footer.** Cheap, always visible, and an easy first sale for advertisers
   testing you out.

Nothing stops you from running several at once. Many site owners rent out ads in
three or four
 positions at different prices, so that a small advertiser and a large
one both find something they can afford.

#### WHAT YOUR ADVERTISERS EXPERIENCE

Selling is easier when buying is easy. The whole point of this plugin is that an
advertiser can
 rent out advertising space from you without ever writing you an 
e-mail.

They see your ad space with your headline and your price, and click the button. 
Stripe takes the
 payment — card, Apple Pay, Google Pay, whatever you have enabled.
They land on a page where they upload their banner and enter the link it should 
point to. They get a confirmation, plus a private link that opens the Stripe billing
portal, where they can see their invoices and cancel whenever they like.

Then it is your turn. The order appears in your dashboard, you get an e-mail about
it, and you
 decide: accept and publish, or reject. If you do nothing for fourteen
days, the subscription is cancelled automatically, so nobody keeps paying for a 
space that never went live.

For the advertiser, the appeal is that they deal with you and not with a platform.
They know
 exactly which site their ad appears on, they know the price, and they
can stop at any time. That is why direct arrangements to rent out ads keep running
for months, while network placements are forgotten the moment a budget changes.

#### TYPICAL SETUPS

Every site is different, so treat the following as illustrations rather than promises.
They show
 how differently people rent out advertising space with the same plugin.

**A niche blog.** A woodworking site with a few thousand monthly readers might rent
out ads in a
 single sidebar position for 30 € a month to a tool supplier. One position,
one advertiser, one predictable payment. This is the simplest way to rent out advertising
space and the one most people start with.

**A local news site.** Three positions at three prices: a header banner for the 
regional bank, a
 sidebar square for the garden centre, a footer strip for the driving
school. Each advertiser renews independently, and the site owner never sends an 
invoice.

**A comparison or review site.** Here the readers arrive with an intention to buy,
so the ad space
 is worth considerably more. Such sites often rent out ads at prices
a network would never reach, because the advertiser knows exactly what kind of visitor
they are paying for.

**A hobby project.** A model railway forum might rent out advertising space for 
10 € a month
 purely to cover hosting. Small numbers, but recurring, and far more
than an ad network would pay for the same traffic.

**A site that wants no tracking at all.** Some publishers rent out ads specifically
because it
 lets them remove every third-party script from their pages. An image
and a link load from their own server, and nothing else follows the reader around.

**An agency running client sites.** One setup, repeated: place the ad space, set
the price, …

## Installation

### INSTALL SELL ADS PLUGIN FROM WITHIN WORDPRESS

 1. Visit the plugins page within your dashboard and select ‘Add New’;
 2. Search for ‘Sell Ads’;
 3. Activate Sell Ads from your Plugins page;
 4. Go to ‘after activation’.

### INSTALL SELL ADS PLUGIN MANUALLY

 1. Upload the ‘wp-sap’ folder to the /wp-content/plugins/ directory;
 2. Activate the Sell Ads plugin through the ‘Plugins’ menu in WordPress;
 3. Go to ‘after activation’.

### AFTER ACTIVATION

 1. Select “Sell Ads” in the Menu;
 2. If you just want to look around first, set the mode to “Test mode” — you can then
    click through
     the entire process without setting up Stripe. Switch to “Live” whenever
    you are ready;
 3. Choose one of the two ways to take payments (you can switch at any time):

**Option A — your own Stripe key.** Free of any fee or commission on our side.

 1. Open the settings page and paste your Stripe secret key (Stripe Dashboard  Developers
    API keys);
 2. Add a webhook endpoint in your Stripe Dashboard pointing to the URL shown on that
    settings page, subscribe to the events “checkout.session.completed”, “customer.
    subscription.deleted” and “invoice.payment_failed”, then paste the signing secret
    back into the settings;

**Option B — Connect with Stripe.** No API key and no webhook setup; a 7 % Sell 
Ads fee is deducted from each payment.

 1. Pick the country your business is registered in and click “Connect with Stripe”;
 2. Complete Stripe’s onboarding form. That is all — the connection and the webhooks
    are set up for you;

Then, whichever option you chose:

 1. Create your first advertising campaign and set a monthly price;
 2. Place your campaign where you want to sell advertising space.

### AFTER AD SPACE PURCHASE

 1. Buyer pays, uploads advertisement and product link;
 2. Request is sent to your dashboard;
 3. Buyer receives a link to the Stripe billing portal and can cancel at any time;
 4. If you accept the request, you can post the ad;
 5. Also the Site owner can cancel in wordpress dashboard at any time;
 6. This monthly advertising deal remains active until one of the two parties cancels.

### AFTER AD SPACE PURCHASE ACCEPTED

 1. Requests that are not accepted within 14 days are cancelled automatically in Stripe.
 2. This monthly advertising deal remains active until one of the two parties cancels.

## FAQ

### Is this plugin free?

Yes. The plugin itself is free, and nothing in it is locked, limited or disabled.
There are two ways to take payments and you choose freely:

 * **Your own Stripe API key** — the plugin takes no service fee and no commission
   at all. Advertisers pay into your own Stripe account, so the only costs are Stripe’s
   regular processing fees.
 * **Connect with Stripe** — the payment runs through our Stripe Connect platform
   at sellads.cybie.de and a 7 % Sell Ads fee is deducted from each payment, on 
   top of Stripe’s own processing fees. In return you do not have to create an API
   key or configure a webhook.

You can switch between the two at any time on the settings page. Either way you 
need a Stripe account.

### Can I try the plugin before setting up Stripe?

Yes. The settings page has a mode switch: **Live** or **Test mode**. In test mode
the payment step
 is left out entirely — no checkout session is created and nothing
is sent to Stripe, so no API key is needed. Clicking the buy button leads straight
to the upload page, and from there you can walk through the whole process: upload
an ad, see the confirmation, then accept and publish the order in your dashboard.
The ad space says plainly that no payment is taken, and orders created this way 
are marked as test orders in the order list.

This is not the same as Stripe’s own test mode. If you want to test with Stripe’s
test cards, stay
 in Live and enter an sk_test_ key.

### Is it using any third party service?

Yes. Payments, subscriptions and cancellations are handled by Stripe. Once you have
entered your own Stripe API key, this plugin sends requests from your site directly
to the Stripe API (https://api.stripe.com) in order to create checkout sessions,
read their result, cancel subscriptions and open the Stripe billing portal. The 
data transmitted is limited to what a payment requires: the campaign name, the monthly
price and your site URL. Buyers enter their payment and contact details on Stripe’s
own checkout pages; those details are never handled by this plugin. Your site also
receives webhook notifications from Stripe, which are verified by signature.

Stripe terms of service: https://stripe.com/legal
 Stripe privacy policy: https://
stripe.com/privacy

**Only if you choose “Connect with Stripe”:** your site additionally talks to our
own service at https://sellads.cybie.de. It acts as the Stripe Connect platform,
which is why the plugin never needs a Stripe API key of yours in that mode. The 
data your site sends is: your site URL, your WordPress admin URL, the administrator
e-mail address, the plugin version, the country you selected, the campaign name 
and description, the monthly price and currency, and the Stripe identifiers of a
purchase (checkout session, subscription, customer). The service passes Stripe’s
webhook notifications back to your site, signed with a shared secret. No payment
details, no card data and no visitor data are transmitted to us — those stay between
the buyer and Stripe. If you use your own Stripe API key instead, this service is
never contacted at all.

Sell Ads service terms of service: https://sellads.cybie.de/terms.html
 Sell Ads
service privacy policy: https://sellads.cybie.de/privacy.html

No other third party services are used.

### Do I need to register anywhere to use this plugin?

If you use your own Stripe API key: only with Stripe. There is no account, sign-
up or connection with us required in that mode, and no data is sent to us at all.

If you choose “Connect with Stripe” instead, your site registers itself with our
service at sellads.cybie.de as described above, and a Stripe Express account is 
created for you during the onboarding. You can disconnect at any time and go back
to using your own key.

### Can I rent out advertising space in more than one position?

Yes, and most site owners do. Create one campaign per position, each with its own
monthly price,
 headline and button text, and place each one where it belongs with
its own shortcode. A banner under the header, a square in the sidebar and a footer
strip can all be rented out at the same time and at three different prices. There
is no limit on how many ad spaces you run.

### Do I need an ad network account to rent out ads with this plugin?

No, and that is the whole idea. You rent out ads directly to the advertiser, without
a network in
 between. No account, no application, no traffic minimum and no revenue
share. All you need is a Stripe account so the money has somewhere to land.

### How much traffic do I need before I can rent out advertising space?

None in particular. Ad networks impose minimums because they sell impressions in
bulk; you are
 selling one position on one site to one company that wants to reach
your specific readers. A small, focused audience is often worth more per visitor
than a large, general one. If a single advertiser considers your page worth paying
for, you can rent out advertising space today.

### What happens when an advertiser stops paying?

Stripe tells your site, and the plugin acts on it. A failed payment and a cancelled
subscription
 both arrive as webhook notifications, the order is marked accordingly,
and the ad stops being shown. You do not have to watch for it.

### Can I reject an advertisement after it has been paid for?

Yes, at any time. Nothing appears on your site until you accept it, and even afterwards
you can
 cancel from your dashboard. Rejecting an order cancels the subscription
at Stripe so the advertiser is not charged again. Whether you refund the first payment
is your decision and is done in your Stripe dashboard.

### Can I rent out ads without showing the price publicly?

The ad space always shows the monthly price, because the purchase is meant to run
without you.
 If you would rather negotiate, leave the ad space off that position
and simply place the ad manually once you have agreed on terms — but then you lose
the automatic monthly billing, which is the reason to rent out advertising space
this way in the first place.

### Does this work with page caching?

Yes. The buy button carries no nonce and no session, precisely so it keeps working
behind a full
 page cache. The pages that follow — the upload step and the confirmation—
are never cached, as they are generated for one specific order.

### In which currency can I rent out advertising space?

In whichever currency your Stripe account supports; you pick it on the settings 
page. The price
 you set for each campaign is charged in that currency, and buyers
see it on Stripe’s checkout page.

### How do I get support?

From the purchase of advertising to the monthly payout, everything happens automatically
through Stripe. If you need assistance with anything or would like to write to us,
do not hesitate to [contact us](https://cybie.de/support).

## Reviews

![](https://secure.gravatar.com/avatar/51d8e2cc7c26c03672c3b95d39cdec5a1c8d0a24e54a078992b7e691833c8000?
s=60&d=retro&r=g)

### 󠀁[Really good idea](https://wordpress.org/support/topic/really-good-idea-3/)󠁿

 [angerman](https://profiles.wordpress.org/angerman/) January 8, 2024

I think it’s a great idea to gain more control over your own advertising in the 
form of subscriptions. I will add this plugin to suitable places in my blog.

 [ Read all 2 reviews ](https://wordpress.org/support/plugin/sell-ads/reviews/)

## Contributors & Developers

“Sell Ads – Sell your ad space. Without middleman.” is open source software. The
following people have contributed to this plugin.

Contributors

 *   [ Joe ](https://profiles.wordpress.org/wpflamingojoe/)

[Translate “Sell Ads – Sell your ad space. Without middleman.” into your language.](https://translate.wordpress.org/projects/wp-plugins/sell-ads)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/sell-ads/), check out
the [SVN repository](https://plugins.svn.wordpress.org/sell-ads/), or subscribe 
to the [development log](https://plugins.trac.wordpress.org/log/sell-ads/) by [RSS](https://plugins.trac.wordpress.org/log/sell-ads/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.9.9

 * The settings page is now split into two tabs: “General” holds all the existing
   options, and a new “Support Us” tab lets you leave a review in one click.

#### 1.9.8

 * New plugin title and an introductory video at the top of the plugin description.

#### 1.9.7

 * The “PHP” and “Shortcode” copy fields in the campaign list were restyled to match
   the WordPress admin, with a clearer copy button and a short “Copied!” confirmation
   when you copy.

#### 1.9.0

 * New: the campaign list shows a “Clicks” column again, counting how often each
   ad space was clicked. Published ads now link through a first-party /goto/ redirect
   on your own domain that counts the click and forwards the visitor to the advertiser—
   no cookies and no third-party script are involved, and clicks from logged-in 
   editors are not counted.
 * Fixed: the “PHP” and “Shortcode” columns showed their raw HTML instead of a usable
   field. They are copyable input fields again, each with a copy button.

#### 1.8.4

 * The confirmation step is now a single centred column, matching the upload step.
   The left column that repeated your site name, the ad space and the monthly price
   has been removed; the confirmation badge, the summary table and the cancellation
   link stay.

#### 1.8.3

 * The buyer flow was reworked to match the intended design. The ad space now shows
   as a rounded card instead of a square band.
 * The upload step is a single centred column again, with your site logo on top,
   the ad space name below the heading, and a clearly separated blue upload button.
   Your terms and refund pages are linked right there.
 * The confirmation step keeps its two columns and now opens with a confirmation
   badge and a four-row summary: when the request was submitted, the expected review
   window, that the partnership runs until either side cancels, and the expected
   first billing date.
 * Uses your WordPress site logo (Appearance  Customize) on both pages when one 
   is set, otherwise your site name.

#### 1.8.2

 * The plugin description has been expanded considerably. It now explains who this
   plugin is for, what it does differently from an ad network, how to price an ad
   space, where to place one, how to find your first advertiser, and what your advertisers
   experience — plus a section on who this plugin is honestly not the right tool
   for.
 * Eight new entries in the FAQ: running several ad spaces at once, traffic requirements,
   what happens when a payment fails, rejecting an ad after it has been paid for,
   page caching, and currencies.
 * No changes to the code in this release. Nothing to test, nothing to reconfigure.

#### 1.8.1

 * Fixed: the pages your buyers see after paying were not usable on a phone. They
   are built as their own document and were missing the line that tells mobile browsers
   the width of the screen, so the layout was rendered for a desktop and scaled 
   down. They now adapt from 375 pixels upwards.
 * The upload step and the confirmation step share one layout now, so nothing jumps
   when a buyer moves from one to the other. Both show the ad space and its monthly
   price alongside, and the buttons sit with the content instead of being pinned
   to a corner of the window.
 * Both pages now keep their own appearance in every theme. Until now the active
   theme reached into them and could move the upload icon out of place, change the
   type or leave the notice and the form at different widths.
 * The buy button, the upload step and the confirmation now take their colours and
   typeface from one place, so the buyer sees the same button throughout instead
   of a blue one in the middle of the flow.
 * The two pop-up dialogs shown when the image or the link is missing were replaced
   by a message inside the form.
 * Fixed: buyers were told they would automatically get their money back if their
   request was rejected or left unanswered, and the order list said “rejected & 
   refunded”. Neither was true — rejecting an order cancels the subscription at 
   Stripe and nothing else. Both now say what actually happens: the subscription
   ends and the buyer is not charged again. Refunding the first payment is your 
   decision and is done in your Stripe dashboard.

#### 1.8.0

 * New: you get an e-mail as soon as someone has paid for an ad space, so you know
   about a sale without looking into the dashboard first. This matters because orders
   you do not answer within 14 days are cancelled automatically. The mail is on 
   by default, goes to your WordPress admin address unless you enter another one,
   and is sent through whatever this site uses for e-mail, so an SMTP plugin is 
   picked up automatically. Orders placed in test mode never trigger a mail.
 * The settings page has been rebuilt. The mode switch comes first, the payment 
   choice second, and the fields belonging to the way you picked now appear the 
   moment you pick it — until now you had to save before they showed up at all.
 * Everything that is not about taking payments — the policy pages and the three
   text snippets — has moved into a section of its own that starts collapsed.
 * New installations start on “Connect with Stripe”, since there is nothing to set
   up in that mode. Existing installations are not touched: if a Stripe key is already
   stored, the plugin stays on your own key.
 * Fixed: the note for the upload page was stored but never displayed anywhere. 
   It now appears where its name says. The note for the buyer is used for the description
   on Stripe’s payment page only; if you had written something there, it is copied
   over on update so nothing disappears from the upload page.

#### 1.7.1

 * Fixed: the page where buyers upload their ad after paying was shown without its
   stylesheet and without its script. The stylesheet was queued under a handle that
   was already taken, and the script declared a dependency on a library that is 
   not part of the plugin, so WordPress dropped both.
 * Fixed: the button that copies the link to the Stripe billing portal now works
   without any third party library.
 * An ad space with no headline of its own now shows “This Ad Space is for Sale”
   instead of an empty line, matching the button, which already defaulted to “Buy”.
 * The buy button now looks the same as the button buyers see on the upload page—
   same size, weight, typeface and shadow — instead of inheriting whatever the theme
   does to buttons.
 * The test mode notice under the buy button no longer inherits the theme’s font
   size, where it could end up larger than the headline. It is now half that size
   and grey.
 * The notice above the upload form is easier to read: white background instead 
   of yellow, and no longer squeezed into a fixed width.
 * The demo and the support link now point to pages that exist. The addresses used
   before had gone offline, which left the “contact us” link in the FAQ leading 
   nowhere.

#### 1.7.0

 * New: “Connect with Stripe” — set up payments in one click through Stripe Connect
   Express. No API key, no webhook configuration. A 7 % Sell Ads fee applies to 
   each payment, on top of Stripe’s own processing fees.
 * New: test mode. Try the whole plugin without setting up Stripe at all — the payment
   step is skipped, nothing is sent to Stripe, and the buy button leads straight
   to the upload page. Test orders are marked as such.
 * The existing way is unchanged: with your own Stripe API key the plugin still 
   takes no fee and no commission at all. Existing installations keep this mode 
   after the update and nothing has to be done.
 * Both modes can be switched at any time on the settings page, and you can disconnect
   whenever you want.
 * The settings page now caches the Stripe connection status instead of querying
   it on every page load.

#### 1.6.0

 * Payments now run directly between your WordPress site and Stripe. The external
   payment service the plugin used before has been removed entirely.
 * You now use your own Stripe account and your own API key. No service fee and 
   no commission is charged anymore.
 * Added a Stripe webhook endpoint so cancellations and failed payments are reflected
   in your dashboard.
 * Cancellation now happens through the official Stripe billing portal instead of
   a custom page.
 * Currency is now configurable (USD, EUR, GBP, CHF, CAD, AUD).
 * Fixed: campaign fields (title, button text, price) were never saved.
 * Fixed: purchased ads never appeared in the frontend because the order status 
   was stored under two different keys.
 * Security: image uploads are now bound to the buyer’s checkout session and validated
   server-side.
 * Security: accepting, rejecting and publishing an order now requires a nonce and
   the proper capability.
 * Security: orders are no longer publicly queryable, and the WordPress core “pending”
   status is no longer overridden.

#### 1.0

 * First Release.

## Meta

 *  Version **1.9.9**
 *  Last updated **2 weeks ago**
 *  Active installations **10+**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.0.4**
 *  PHP version ** 7.0 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/sell-ads/)
 * Tags
 * [ad manager](https://test.wordpress.org/plugins/tags/ad-manager/)[ads](https://test.wordpress.org/plugins/tags/ads/)
   [ads.txt](https://test.wordpress.org/plugins/tags/ads-txt/)[adsense](https://test.wordpress.org/plugins/tags/adsense/)
   [amp](https://test.wordpress.org/plugins/tags/amp/)
 *  [Advanced View](https://test.wordpress.org/plugins/sell-ads/advanced/)

## Ratings

 5 out of 5 stars.

 *  [  1 5-star review     ](https://wordpress.org/support/plugin/sell-ads/reviews/?filter=5)
 *  [  0 4-star reviews     ](https://wordpress.org/support/plugin/sell-ads/reviews/?filter=4)
 *  [  0 3-star reviews     ](https://wordpress.org/support/plugin/sell-ads/reviews/?filter=3)
 *  [  0 2-star reviews     ](https://wordpress.org/support/plugin/sell-ads/reviews/?filter=2)
 *  [  0 1-star reviews     ](https://wordpress.org/support/plugin/sell-ads/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/sell-ads/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/sell-ads/reviews/)

## Contributors

 *   [ Joe ](https://profiles.wordpress.org/wpflamingojoe/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/sell-ads/)