My name is Stephen.

I like to write and tweet.

I work, code and photograph.

Learn more about me and my blog.

Complete Marketing Guide for WP Developers

A series of long guest posts I wrote for TutsPlus on how to market your WordPress plugins successfully. I touched on everything from idea validation, design, development, sales, marketing, PR, customer service, product iteration, data analysis, and more.

Don't Start Coding the Moment You Have Your Idea

The first problem that lots of great developers have is clarifying their ideas for plugins or themes into real world /solutions/. They come up with what they think is an awesome idea, then dive straight into the coding phase without really thinking it through in any meaningful way. This usually results in half-baked end products that make perfect sense to the creator, but don't do much to attract lots of attention from anyone else.

Before you even start coding, ask yourself these questions /immediately/ after you had your idea:

  1. What problem is your idea solving?
  2. What type of people will use it?
  3. Who are the 5 people (list them by names) that will be interested in your idea?
  4. How is the problem affecting those people right now? If you are unsure about any of these questions, your idea might not contain as much potential as you think. The logic behind this is simple. A theme/plugin /can not/ succeed without strong demand. And strong demand /can not/ be created without an existing problem.

Idea Validation

Once you have those questions answered, it's time to go out and start talking to potential customers (or users, if you are planning to make it a free theme/plugin). I consider this as the point that will make or break your theme/plugin. Because this is the time when you can learn about the market you are conquering and decide whether or not it is worth moving forward.

There are three possible outcomes:

  1. If you completed the idea validation process and learned that your idea generated interests, you are in perfect shape and you can move on.
  2. If you completed the idea validation process and learned that your idea did not generate interests, it's not too late to stop and start something new.
  3. If you /did not/ complete the idea validation process and you move on, you will be asking the question I started the series with "Why is nobody using my theme/plugin?" You can start by emailing your network of friends, colleagues and business contacts:

  4. Draft a short email (no longer than six sentences) explaining the existing problem and your proposed solution.

  5. At the end of the email, ask if they are willing to use it and if they are willing to pay $x.
  6. Send the email to a small list of people first. Start with the 5 you listed above that will be interested in your theme/plugin.
  7. Keep a list of your email records in a spreadsheet. Have a column to track status such as ready to send, sent, replied, accepted, rejected, etc.
  8. Refine the email template based on previous responses.
  9. Rinse and repeat 10 times. Here is the initial email I sent to validate the idea of Artsy Editor:

Had an idea: a distraction-free WordPress WYSIWYG editor. Similar to http://ommwriter.com & http://bywordapp.com, but runs on WP as a plugin.

Will you use it? Also, what features do you feel missing on WP's default editor?

If you have few minutes to spare, please reply. :-)

Thank you.


It doesn't matter how many responses you actually receive from all those emails... even just a couple real responses should give you a much better and more realistic view of your idea. And you should be clear on whether or not it is worth pursuing the idea further.

Create a Landing Page

This is not one of those stealth, tweet-or-like-three-times-in-order-to-get-priority-access type coming soon pages. I am talking about a real landing page that fully demonstrates your idea and collects email leads.

You should not invest a lot of time in this. When I created Artsy Editor's landing page, it took me less than 60 minutes because I use WooThemes' Placeholder theme. You can easily get a simple, clean landing page template on ThemeForest for a reasonable price or even create your own using helper tools like HTML5 Boilerplate.

Communicating your idea is the primary objective of your landing page. I recommending using visually-appealing pieces to communicate your idea. If you have video production experience, make a short intro video can maximize the results. The next approach is to show screenshots or mockups of your idea. Text on the page should be short and concise. Try using bullet points instead of paragraphs since they are a lot more readable.

Email addresses collection is the secondary objective of your landing page. You can start an email list and get embeddable forms using software such as Campaign Monitor, MailChimp, or Constant Contact, and make sure to put the email form at a prominent place after you've showed them your idea.

Here are just a handful of plugin landing pages that you might be familiar with:

Design and Develop the Theme/Plugin

I am obviously not going to dig into the details of design and development because I know many of you are much better than me at this. But there are few points you should remember when designing/developing your theme/plugin:

  1. Keep conversations going with potential customers. It's important to continue validating your idea because you will learn something new from each and every person you ask. Who are the people you should email to? Right, the ones that opted in on the landing page! They already showed interests and it is valuable to research further.
  2. Read the email responses regularly. It's easy to lose track of your objectives while you are digging deep into coding. I used to spend 15 minutes every day reading over all the email responses I got during the idea validation process. It kept my mind fresh and didn't get lost.
  3. Don't add unnecessary features. During the long period of time working on design and development, there has to be some feature ideas bouncing around your head. My advice is don't add them because they sound "pretty cool". Only include the ones that your users need, which should be clear after the idea validation process.

Create Hype for Your Launch

Send Out Previews to Email List

A week before the launch, send out a preview newsletter to your email list sharing a little bit of details that can get them excited. The purpose is to reconnect with those subscribers and give them some fresh information about your upcoming launch. Release more screenshots, tell them about your launch schedule, explain some behind-the-scene stories, or even start a pre-launch sales with heavy discount are great ways to create buzz around your email list.

Connect with Relevant Blogs

Only find the blogs your target users are subscribing to. I know it is many people's dreams to get on major tech blogs like TechCrunch or Read Write Web. But if your target market doesn't read them, it is better off saving your time to pitch a news site whose readership are your potential customers.

Don't start off by asking the bloggers to cover you. This is the time where you start to build trust with the bloggers. You should always make soft connections first, find what you both have in common. Offer something valuable upfront that makes them feel good. And do not worry about asking for press coverage just yet.

Build Up Reputation on Relevant Communities

Communities are where conversations belong. If your theme/plugin is going to solve a huge headache for members in the communities, you should be able to generate a lot of buzz.

Use the "Helping Out" attitude instead of the "Check It Out" attitude. Tell them how your theme/plugin will help them save time and money. Show them what benefits your theme/plugin provides in their workflow. Then, ask them to enter their email addresses on the landing page if they are interested. It will produce a much great outcome than simply telling me to check something out.


Let's review a little bit before closing for today. There are 5 things you need to remember during pre-launch:

  1. Don't start coding the moment you had your idea.
  2. Communicate with potential users to validate your idea.
  3. Create a real landing page to collect email leads.
  4. Keep the conversations going and don't add unnecessary features.
  5. Start to create hype for your launch by sending out previews to email list, email relevant blogs, build up reputation in relevant communities.

In our next post, I will be talking about the most meaningful and arguably the most excited moment many developers are looking forward - that is launching your theme/plugin to the world. Check back tomorrow for that post! (oh, and if you have any of your own insights into the pre-launch process, let me know in the comments!)

The Longer You Wait, The Less Chance You Will Succeed

I know a lot of developers (including me) are perfectionist. We can't stand launching the initial theme/plugin that contains rough edges. Therefore we spent countless hours working on improvement after improvement. And this process just never seems to stop.

But the truth is, if you never launch your theme/plugin, you never have a chance to tell the world what those improvements are all about. Do they really make a big difference? Will your customers even notice them? Are they cost-effective?

I was very clear to myself about this when I was 99% done with Artsy Editor. I told myself to get it out of the door in 1 week no matter how many rough edges I found. Because these rough edges might not even get customer's attention. (And indeed, they never did.) I did write them down one by one. But I never took actions unless they were causing problems to customers. And it is simply because there are more important things to focus on at this point, such as preparing for launch and promotion.

Making a Marketing Site That Sells

First of all, a marketing site is like the decoration of a brick-and-mortar store. It serves the purpose of communicating to visitors the following things:

  1. What does your theme/plugin do?
  2. Why do I need your theme/plugin?
  3. How does your theme/plugin work?
  4. How much is your theme/plugin? Before starting to build the site, I encourage you to answer these 4 questions yourself concisely, preferably in 6-8 sentences total. These are the information that will keep visitors to stay longer and continue to check out what you have to offer. If they aren't presented above-the-fold, visitors will easily leave the page.

Second, remember video > image > text. A well-done 30-second intro video on the page can almost guarantee every visitor will know what your theme/plugin is all about. The video should not be just a screen cast showing how it works. But instead, emphasize on the benefits and convince visitors why they need something like this.

If you don't have the experience or the budget to create an intro video, putting up real screenshots about the theme/plugin can help a lot too. A picture is worthy a thousand words. Visitors will at least get a sense of what your theme/plugin looks like as soon as they land on the page. You can use different techniques like sliders, lightboxes, or picture galleries to display your screenshots.

Now, I am not saying you don't need any text on the page at all. You do. But they have to be concise and on-point. For example, your main tagline should tell the visitors your theme/plugin's target audience (e.g. "/WordPress Editor for Bloggers/" is what I use for Artsy Editor). If you need text to explain more details, use bullet points instead of long paragraphs to increase readability. Also, highlight (in terms of bold, italicize, underline, use different background) the major benefits that most visitors are looking for.

Lastly, offer an easy-to-access demo. The purpose is to let visitors get a first-hand, realistic experience of your theme/plugin. So don't ask them to sign up for an account or even enter any information.

I pulled this off pretty well with Artsy Editor. Because it is a plugin that sits in the admin panel, a username and a password is required to get in. But I used a little jQuery script that fills in the credentials for them. Whenever a visitor comes, they simply click Submit and they will be redirected right to the Add New Post screen. And in that screen, I added few tweaks that help them get started very easily.

Some Examples...

Let's return to the example sites that we first visited on Day 01. I'd like you to take notice of some of the common elements in each one (we'll review these after the screencaps):

Common Design Elements

You likely took note of several similar elements in each of the 5 examples. While the actual design styles are quite diverse, there are a few things that each one include quite prominently. Here they are in no particular order:

Launch to Your Email List

The people in your email list are the people already knew the problem you are solving. So the rule of thumb when writing your campaign is to be brief.

In few sentences, emphasize the benefits your theme/plugin provides, why should they use it, and give them a direct link to the demo. At this point, there is nothing better for them to do than to try out the demo and get the real experience on what they've been waiting for for 3 months.

At the end of the email, offer them a discount code as saying thank-you for opting in to your list so early and helping out in your idea validation process. Also, remember to make the discount code only available for a short period of time (a week will be appropriate). This will help boost the conversion rates by a huge margin.

Here is what my email campaign for Artsy Editor looks like:

Hello there,

Today we are proud to announce the official launch of Artsy Editor.

Instead of describing with a wall of text, I encourage you to try out Artsy Editor yourself (no signup required) or check out our page with pricing and feature info.

If you have /any/ questions, feel free to reply this email. I am happy to talk to you.

Stephen Ou, founder of Artsy Editor


If you don't want to receive any more emails, unsubscribe instantly.

Launch to Media

As I mentioned in the pre-launch post, it is critical to start cultivating relationship with relevant bloggers beforehand. If the bloggers are showing genuine interests, shoot them an email and ask if they can cover your theme/plugin at launch.

Here is my pitch template which successfully delivered a coverage on Artsy Editor:

Hi $name,

Just came across your post about WP 3.2 and want to tell you about Artsy Editor: http://artsyeditor.com. It's a premium editor with an better implementation than WP's distraction-free editor. It lets you drag-and-drop images, Photoshop-style resize images, customize the interface, and more. You can try it out: http://demo.artsyeditor.com/wp-login.php

All of your readers are awesome WP devs, and I am sure they will be interested in a tool that can save their clients lots of headache. So I have a 20% discount code for you guys: $discount_code.



I also have 5 tips for you about how to write an email pitch that works:

  1. Have a story line. This is how the blogsophere works - every story needs a compelling hook that grabs reader's attention. So when you write your email pitch, talk about how you are better than your competitors, mention any personal backstory about the problems you are solving, relate to current hot trends, etc.
  2. Connect the dots. This is where it gets personal. Mentioned few posts that blogger wrote about related topics or even your competitors. This can help them instanly have a better understand of what you have to offer. Plus, the bloggers will feel that you actually understand and care about them.
  3. Show how readers can benefit. Bloggers care about the readers. If what you have is solving a huge problem for their readers, they are more than happy to cover your story. The best way to illustrate this is to explain in a real scenario of how your theme/plugin can help somebody out.
  4. Provide lots of copyable details. Bloggers are busy people. You will have a better chance of getting coverage if you give bloggers information that they can put directly into their posts. It doesn't have to be in your email pitch. Simply include a link to your marketing site that contains detailed information. It will save bloggers a lot of time.
  5. Offer discount codes/giveaways. Discount codes and giveaways will get people start talking about your theme/plugin, and this is a chance to consolidate the buzz even further. Work with the bloggers to do things like offer the discount or giveaway to 5 people who retweeted/liked/commented on the story. As you can see, they all fall into the same category - think as you are the one receiving this email. Put yourself in the shoes of those bloggers. Imagine what will motivate you to cover a new theme/plugin.

Connect with Relevant Influential People

You should only find the Big Names that are relevant in your industry. Because only them are the people your potential customers listen to the most. If you can garner a little tweet or an honorable mention in one of their blog post, you should consider it as victory.

Influential people are busy people as well. The number 1 rule is to keep your email pitch short and on-point. Simply describe your theme/plugin in one sentence and append the URL. You might think putting few paragraphs will help them understand better, but the fact is they don't have time to read them. Therefore, that one sentence is the key. Focus on the benefits instead of features. Tell them how it is going to help them instead of the cool technology you use behind-the-scene.


In this post, we spent a fair amount of time focusing on how to create the buzz for your launch. Let's review before we move on to our last part of our series. Here are 15 key points you can take away from today's post:

  1. Don't wait until your theme/plugin is 100% ready.
  2. Know the What/Why/Who/How/How much for your theme/plugin.
  3. Use videos first, then images, then text.
  4. When using text, remember bullet points are more readable than paragraphs.
  5. Offer a one-click-access demo.
  6. Be brief when telling your email subscribers about the launch.
  7. Have a short expiration date for discount codes.
  8. Have a story line when pitching to bloggers.
  9. Connect the dots between your theme/plugin and posts written by that blogger before.
  10. Show how the blog readers can benefit from your theme/plugin.
  11. Provide copyable details that bloggers can use in their posts.
  12. Offer discount codes and giveaways.
  13. Only find the ones that are relevant to your customers.
  14. Be short and brief in your email pitch.
  15. Focus on benefits instead of features.

Look for People Who Need Your Solution

Go on social networks, forums, discussion boards, communities, and use their search tools to find people who are looking for the solutions your theme/plugin provides. Post a reply with a link to your marketing site and tell them how it is going to fix their problems and make their lives easier.

Remember, do not become spammy. For example, if you are looking for opportunities on Twitter, do not use the same tweet template every time. Because once they noticed your timeline looks all the same, they know you are spamming. And that not only doesn't help you gain a sale, it also loses the trust from people.

Provide Exceptional Customer Service

Support is where top-notch themes/plugins can differentiate from crappy ones. If you provide high-quality support, your customers will be satisifed and more than happy to spread the word out about your theme/plugin. In contrast, if you provide low-quality support, your customers will probably go out and talk about the horrible experience they've just gone through. You can get any worse than that.

There are 6 different ways you can power up your customer service:

  1. Reply to support requests as soon as you see it. A prompt reply under 5 minutes can almost always prove you are a trustworthy and helpful company.
  2. Giving no answers is better than giving incorrect answers. Make sure your response to a request is accurate because mistakes are irreversible sometimes!
  3. Have a self-served FAQ area. This will not only reduce the amount of email inquiries, it will also make the customers happier because they can get instant answers instead of waiting for a reply, especially if it is something urgent.
  4. Do the extra work for the customers. If there are steps either you or your customers need to complete, do it yourself and save your customer some time.
  5. Be as personal as possible. This is a chance for you to build a strong relationship with your customers. So try to be as honest, polite, and personal as you can. Do not use corporate language, write as you are participating in a daily casual conversations with your customers.
  6. Don't hesitate to learn more about the customers. Once you get all the issues sorted out, do not afraid to learn more about the customers since the trust is already in place. You can ask where they originally heard about you or how they felt about the theme/plugin so far. The response rates tend to be very high.

Promote Through Education

If you know a lot about the space you are in, don't hesitate to publish things you think are useful for other people. Through constant, high-quality content publishing, you can build up a reputation as the expert in your area. And therefore, potential customers will have less worries when purchasing what you have to offer.

How-to articles are great ways to get started (just like the one you are currently reading). They are easy to remember, actionable, and will impact the readers because they feel they learn something right away.

Ask Feedback Regularly

Once or twice per year, conduct a thorough customer survey so you can learn about how your theme/plugin is doing from a customer's perspective. And in order to get the maximum and complete responses, you should send out an email to all your customer base.

Here are some example questions you can ask to your customers:

Connect with People Personally

If you ever come across people who you think your product is perfect for, do not hesitate email them personally. Remember though, it is annoying if you just come up and ask them to buy your theme/plugin in the first email conversation. Instead, offer it as solution and tell them nicely how it is going to save them time and money.

Here is my email template:

Hey $name,

Just came across your portfolio through $referrer. Have you had any clients asking for a better editor in WordPress? Our tool Artsy Editor might be able to save both you and your clients lots of headache. http://artsyeditor.com


Get on Top 10 List

Once you get on the Top 10 list on a major blog, people will consider you as one of the leaders in the space. It adds a lot of credibility and trust to your theme/plugin that can not be achieved through other ways.

A good way to get blogger's attention to write a Top 10 list post is to have a nicely-designed comparison page between your product and your competitor's. Put emphasis on the ones you excel. But do not completely ignore the ones you aren't. A one-sided comparison will turn people off due to the lack of honesty.

Track Every Metrics You Can

The earlier you start tracking your metrics, the less money you lose. For every metric you test, you can learn what is working and what is not. So you can continue doing what has been going great and start fixing what hasn't been going great.

You can track any of the following:

Cultivate Every Possible Partnership Opportunity

It is hard to succeed in business if you are going all alone without anybody's help. There are a lot of great opportunities for partnerships if you are working on a WordPress theme/plugin. You can have a cross-promotion sales with someone who has a product that complements with yours. You can partner with someone who is doing something similar outside of WordPress and offer two products together as a complete package. You can head to one-deal-a-day promotion site like AppSumo, Startups.com and negotiate a deal that will not only bring you revenue but also increase brand awareness.

Engage People Through Contests and Giveaways

Once in a while, design and launch a fun contest. It has a lot of benefits:

Do Customer Interviews and Case Studies

Customer interviews and case studies are beneficial both ways. It helps your potential users understand the real use-cases about your theme/plugin. It will also create some extra exposure to the customers you interviewed.

When doing customer interviews, it is all about honesty. Do not put restrictions nor limitations on what to talk about. Let your customers (who, ideally, should be in love with your theme/plugin) tell everyone else how great it is and how other people can use it to help improve their lives.


Now, after spending time on reading 3 long, educational posts talking about marketing, it will be worth nothing if you don't take actions. So I encourage everyone out there to take one piece of advice from the series and execute it right away. If you have an idea, remember to go through a full idea validation process with your potential customers before writing code. If you are about to launch, keep in mind how important a story line is when pitching to the media as well as influential people. If you already launched and are stuck on growing your theme/plugin, use one of the ten ways I teach you and I am sure it will bring you some fresh hope and lead you to the path of success.

What are you waiting for?