The affiliate marketing space is booming, and has grown into a very important and effective channel for driving sales. Thanks in a big part to WordPress, many internet marketers are now working from home and making a living from their websites. It is typical for a consumer nowadays to look up reviews online when they are contemplating a new purchasing. And while this might be seen as a good or bad, internet marketers are right there, waiting to capitalize on this traffic. Besides working full-time here at Kinsta, I also develop and support a premium WordPress coupon plugin, specifically targeted towards affiliate marketers. Today I am going to take you on a little behind the scenes look at how it came about and some of the challenges faced when launching a plugin for the first time.

Affiliate Marketing Growth

According to a 2016 Rakuten Affiliate Network study, the US affiliate marketing spend will increase at a compound annual growth rate of 10.1% percent between 2015 and 2020, to an estimated $6.8 billion industry. And to put this into perspective, in 2016 the New York Time’s print advertising fell 16%. As the world wide web continues to grow, a lot of advertising is now shifting into the affiliate space. Word of mouth is still one of the best ways for companies to generate sales, and affiliate marketing can be seen as a type of word of mouth marketing that simply happens online. We just launched our own affiliate program here at Kinsta. Make sure to signup now and take advantage of the recurring commission!

affiliate marketing usage
Forrester survey of 150 advertising companies (min $200 million revenue) and 150 publishers ranking top 5,000 by traffic volume.

Due to the massive growth of this market, it can be tricky nowadays to tell who is telling the truth online. For example, if you Google “Best WordPress Hosting,” you are suddenly bombarded with hundreds of bloggers all claiming to know who the best host is. You will typically have two different crowds. Those who generally enjoy helping others by sharing solutions that they personally use, and those that help market products and or services simply for the commission. Unfortunately, a large portion of the crowd is in that latter group. So we always advise being careful when doing research online.

Affiliate marketing is a high-value, low-risk strategy proven to drive sales and awareness for brands and revenue for publishers… When done right, it cultivates mutually beneficial and authentic relationships between brands and publishers, and those publishers and their audience. – Adam Weiss, General Manager and Senior Vice President of Rakuten Affiliate Network.

With that being said, there are a lot of honest affiliate marketers still out there and sometimes they might need a little help or boost to get their recommendations seen.

Building a WordPress Coupon Plugin

I spend most of my free time (if only that was a real thing) on my marketing blog woorkup, and have been an affiliate marketer since the early 2000’s, as well as a heavy WordPress user. I would like to think I am in the former of those groups mentioned earlier. Just like we do here at Kinsta, I try to only review quality services and products that I personally use on a daily basis, that will actually provide value to the visitor. Unfortunately providing real value means I have to work harder than the average affiliate marketer. So in early 2015, I started experimenting with additional ways to increase conversions on woorkup, and that is where the WP Coupons plugin was born.

wp coupons

Before launching it, I looked around for different current solutions that would provide me with what I needed to do. Below is a list of what I was originally trying to accomplish:

  • Display coupons on my WordPress sidebar (both randomly and specific coupons based on the post)
  • Display a nice grid view listing of coupons on their own page
  • Have a shortcode to insert coupons on pages, posts, wherever I needed them
  • Look current and modern, or at least provide an easy way to modify design with CSS
  • Load fast, not relying on a bunch of 3rd party scripts or heavy JavaScript usage

I thought this shouldn’t be too complicated right? Well, there were a few plugins out there that did some of what I needed, but most of them were dated and didn’t have everything. So I decided to build it myself, and here are some valuable lessons I learned along the way. A lot of people don’t realize all the little details that go into actually building, developing, and selling a WordPress plugin. It doesn’t just happen overnight.

1. I Needed to Build a WordPress Plugin But I’m Not a Developer

While some people actually think I am a WordPress developer, I’m not. And I am far from it. I know my way around PHP and CSS, but when it comes to actually building my own functions and loops, my brain just isn’t wired that way. So the very first problem I had to overcome was, how do I get this plugin developed?

wordpress developer

Fortunately, this turned out to be a little easier than it might be for others. It turns out my brother is a full-time WordPress developer. So I asked if he would code everything. By the next week, we had something put together and running on woorkup. Now, obviously, not everyone has a family member who is a WP developer. I lucked out there. So if you are needing to find a reputable WordPress developer, reach out to the community first and ask before simply outsourcing things. Finding a partner, not just a developer could be one of your greatest assets later down the road.

There are a lot of great resources out there. First, you might want to check out our blog post on where to find and hire WordPress developers. David also has a great post on 7 ways to find the best WordPress developers. And don’t forget the WordPress Facebook groups where you could ask for some quick recommendations, or even find a potential partner.

2. Demand Turned into a Product

About 6 months went by where we were running our homegrown plugin on woorkup. We instantly saw increases in clicks, signups, and affiliate sales across the board. The ability to target a coupon to a specific post and then have it scroll with the user was something that increased affiliate sales overnight. During those 6 months, I noticed that I kept getting inquiries from people asking about the plugin I was using to display coupons on my site, and where they could purchase it. For quite a while I simply responded saying it was something we had custom built and it wasn’t available for sale.

product demand

We never had intentions to sell the plugin when we first built it. But we finally realized we were missing out on an opportunity as emails from bloggers kept flowing in. So I ended up partnering up with my brother 50/50 to actually turn our homegrown project into a premium WordPress plugin. This is another reason why before I mentioned you should find a developer who could be a trustworthy and reliable partner. If you want to ever take things to the next level, you already have some of the hard work done.

Another word of warning is to also play it safe. Even though you might be getting lots of emails about something still doesn’t necessarily mean there is enough demand to warrant spending time developing and selling a plugin. My brother and I decided to play it safe, taking it slow, and determine this based on user feedback and sales over an extended period of time.

3. Deciding on a Brand and Domain Name

I did some quick research on trademarks and brand names already being used around the web. We wanted to keep things simple and find a suitable domain name, and so we finally settled upon WP Coupons. Perhaps not the most creative name in the world, but it gets the job done. We also knew that we couldn’t use “WordPress” in the name, as this would be a trademark infringement against Automattic. As we saw with the WordPress Helpers a few years ago, they do take action on these types of things.

choosing domain name

I am personally a big fan of .io domains, and so that also played a part in our branding, as we wanted the name to match our domain name, Of course, the .com was simply a broken webpage, not being used. I did try to reach out the owner, but never heard anything back. And as far as trademarks go, the same goes for using WordPress in the domain name. Be very careful when choosing branding for your WordPress plugin.

4. Picking a Platform, ECommerce Solution, and Hosting

Now that we had to sell the plugin, we needed a website and platform to distribute it. Of course, we chose WordPress, since we think it is the best CMS on the web! We then had to choose whether or not we wanted to go down the freemium model or not. Many developers that create plugins have a free version on the WordPress repository and a premium version on their own site. The whole goal here is to utilize the traffic from the repository to upsell people on the premium version. We chose not to go down this route.

wordpress repository
WordPress repository

Having worked in the WordPress community for a while now, I have seen a lot of horror stories about the repository. You remember what happened to the Zerif theme a while back, when it was suspended from Each case like this has its own circumstances, and while I have the utmost respect for the WordPress core admins, I decided that I didn’t want to hassle with this. Even if it meant less traffic and less sales! There are also other time-consuming hoops you have to jump through to stay in the repository. With that being said, you should carefully consider whether or not you want to be in the WordPress repository.

We also needed an ECommerce solution to distribute our plugin. I was very familiar with WooCommerce already but had heard great things about Easy Digital Downloads. Everything Pippin creates seems to turn to gold. While WooCommerce can be setup to distribute digital files, EDD seemed to be the better choice. And looking back, we are glad we went down this route because we have never once had any issues. EDD is very straightforward and hooking it up to a payment processor and pushing out new plugin updates is a breeze.

easy digital downloads

And last but not least, we had to choose hosting for our WordPress site. Believe it or not, I was actually one of Kinsta’s first customers. I connected with Mark over Skype when I first saw what they were doing. This is years before joining the team. I had personally tried every WordPress host under the sun and the performance was simply unbeatable. Combine EDD with Kinsta and you get a super fast loading ECommerce site (Pingdom Test).

edd load time
Easy Digital Downloads load time

5. Affiliate Program

Due to the fact that both my brother and I had full-time jobs, we knew we needed to go down the affiliate program route. We didn’t have time to market this plugin on a daily basis, and we were hoping to rely on the WordPress community to spread the word. Also, being an affiliate marketer myself, I knew what could happen if people knew they could get a commission from helping sell the plugin.

The next big decision we had to make was, how much commission are we willing to give away to others if they help sell the plugin? What we did was we actually started lower, and eventually arrived at the 20% mark after getting some user feedback.

And for getting everything to work properly, we ended going up with AffiliateWP, which is also created by Pippin. And we are glad we did! The setup was a breeze and we were up and running in a few minutes. If you are looking to launch an affiliate program for your WordPress plugin or service, AffiliateWP really can’t be beat! The affiliate program is now responsible for around 50% of sales each month.

affiliate sales plugin
Affiliate sales plugin

6. Development

We also had to figure out how we were going to do ongoing development for the plugin. Developing locally is great, but when it comes to sharing it with someone else (in this case my brother sharing it with myself) it just doesn’t work. This is actually where Kinsta’s staging environments came in super handy.

The first thing we had to do when getting the plugin ready for production was to test it with different WordPress themes to ensure compatibility. We simply created a new staging environment and started installing hundreds of WordPress themes. Below are just a few of the popular themes we tested our plugin with:

  • WordPress Twenty Eleven
  • WordPress Twenty Twelve
  • WordPress Twenty Thirteen
  • WordPress Twenty Fourteen
  • WordPress Twenty Fifteen
  • WordPress Twenty Sixteen
  • Avada
  • Themex
  • Divi
  • Sparkle
  • Schema
  • Newspaper
  • WordX
  • Extra
  • Sydney
  • Activello
  • Zerif Lite
  • Athena
  • Orca
  • Total
  • Dante
  • Superior
  • ColorMag
  • Spacious
  • Poseidon
  • evolve
  • Nisarg
  • Tortuga
  • Gadgetine

The beauty of staging is that when we were done theme testing, we simply deleted our staging environment. We then re-created a fresh staging environment specifically for testing plugin updates. Staging environments are publicly accessible with their own URL, so my brother was able to code new features in and then I could test them immediately before we pushed the code changes to production.

And if one staging environment isn’t enough for you, Kinsta also offers the option to add on up to five Premium Staging Environments, giving you the flexibility to test multiple iterations at the same time.

If you’re developing a WordPress plugin, is it very important to have a simple workflow down, especially when dealing with multiple people. You should never do development work on your live site!

7. Performance Matters

The performance was very important to us from the very beginning. One of my biggest pet peeves with WordPress developers is that some don’t care. Even on small plugins like this, it is still important. Performance has to start somewhere. Currently, our plugin doesn’t use any JavaScript and is under 40 KB on the backend and under 2KB on the frontend. Everything is self-contained with no 3rd party dependencies.

wp coupons performance
WP Coupons performance

The ability to target a coupon to a specific post and then have it scroll with the user, was a feature that increased affiliate sales overnight on our woorkup site. So for the scrolling feature, instead of building this integration in ourselves, we actually utilized the already great free Q2W3 Fixed Widget plugin.

scrolling wordpress widget
Scrolling WordPress widget

If it ain’t break, don’t fix it! The benefit of doing it this way allowed us to keep JavaScript out of the plugin for those that didn’t want the scrolling feature. I advise developers to look at all your options before adding additional weight to your plugins. We could have added this feature in ourselves and made the scrolling feature optional, but again, this came down to time.

8. Taking Action on User’s Feedback and Keep a Changelog

If I had to guess, I would probably say that 90% of the features we have added are from user feedback. Many of them are clever ideas we would have never thought of on our own. For example, a Tweet from Colin the other day asked us about adding the forge widget option on custom post types. This was actually a very simple thing to add, and in fact, we just pushed this out in our most recent update.

Another important thing I recommend doing is creating a changelog and features request page and make them public. Not only do these allow people to see you are dedicated to improving your WordPress plugin, but they also help you keep track of what you should be working on. You could also use a premium service like UserVoice if you wanted to automate this part even further, and allow people to vote on new features.

Feature Requests Example

wordpress coupon feature requests
Feature requests

Changelog Example


Some Hard Lessons Learned

We have seen awesome growth on our WordPress coupon plugin over the past year. So much growth actually that we are now dedicating more of our time towards further development of it. However, that’s not to say we didn’t learn a few hard lessons along the way:

  • Always overestimate time involved when developing a new WordPress plugin from scratch. If you think it might take you five hours one week, estimate ten hours.
  • Give people documentation and tutorials. The more you give means the less time you spend answering support tickets. We ended up using the Heroic Knowledge Base plugin which works great!
  • Have discussions internally about new feature requests when they come in. You shouldn’t try to please everyone. Add things that add value to the plugin.
  • Leverage your contacts and people you know in the WordPress community already to drive more sales. Give them custom discount codes to promote your plugin on their sites, along with your affiliate program. We weren’t doing this from the beginning and should have been.


As you can see, there is a lot that goes on behind the scenes, even with something as simple as a WordPress coupon plugin. Many developers out there right now are having to do everything from coding, to marketing, and support. Throughout this process, I have definitely gained a lot of respect for WordPress developers in general, especially teams that are bootstrapping things from the ground up.

If you are interested in learning more about the actual WP Coupons plugin and its features, feel free to check it out at We would love to hear what you think on this subject, especially if you are a developer. Have you had similiar lessons you have had to learn along the way? Or any additional advice to those just starting down this road?

Brian Jackson

Brian has a huge passion for WordPress, has been using it for over a decade, and even develops a couple of premium plugins. Brian enjoys blogging, movies, and hiking. Connect with Brian on Twitter.