Marketing is often regarded by software developers as magic. I hope to convince you that marketing is logical and can be analyzed analytically. I'll share a few tactical tips and mention common pitfalls to avoid.
This advice is targeted at solo developers or small teams. I assume that you have only so much time to develop the software, a very limited marketing budget etc.
Marketing starts with a product
The most important marketing decision is: what product to build.
You want to build something that other people want and are willing to pay for.
Your vision vs. reality
Let's say you want to build woodworking software for ferrets. How would you find out if there's demand for such software?
Are you a ferret who is also an avid woodworker? Scratching your own itch is a great way to find problems to fix. People are not that unique so chances are there are other ferrets into woodworking as well. Being a user of your own software gives you insight into what features are useful, motivates you to fix usability bugs quickly.
What if you're not a woodworking ferret, how to determine the size of the market then? Here's a few ideas.
Type "ferret woodworking" into Google. How many results do you get?
A lot? There's probably a market there.
Not many? You might have over-estimated the willingness of ferrets to woodwork.
Are there paper magazines about ferret woodworking? On-line forums? Meetups? Sub-reddits?Guides and tutorials on the web? Conferences?
You're very excited.
You've read the above tips about figuring out what software to write and a great idea hits you.
Yesterday you and your girlfriend wanted to go to dinner but couldn't agree on which restaurant to pick. Surely there are other couples or groups of friends have the same problems.
There are obviously plenty of restaurants and they want more people to pick their restaurant over a competing restaurant.
Everyone you know has either iPhone or Android smartphone.
The world clearly needs a mobile app that helps groups of people to decide which restaurant to pick. Once you get enormous user base you'll get restaurants to pay you for advertising in your app.
It seems to perfectly fit criteria for a good idea: a problem you had yourself, a pain that lots of people plausibly face, huge market and a clear monetization strategy.
And yet it's a terrible idea for several reasons.
1. You don't understand restaurant market and its economics.
If you don't get restaurants to pay you to advertise, you don't have a business but a time consuming hobby.
A restaurant owner, being the one who pays, is the real customer of your app, not the people who use it.
It costs a certain amount of money to acquire a customer (customer acquisition cost) and a certain amount of money you get from hime (LTV - Life-Time Value of the customer).
If customer acquisition cost is greater than LTV then you loose money.
In your initial excitement you probably assume that customer acquisition cost is 0. Restaurant owners all over the country will hear about your great app, will figure out by themselves that it's a great advertising platform for them, will find your website, sign up for your advertising service and start running advertising campaigns.
That way even if you only make $1 per month per restaurant, you only need 10 thousand restaurants for a decent salary.
It's a very tempting math but also very wrong.
Restaurants run on very thing margins so they can't afford to pay much to acquire a customer. If the meal is $20, after you substract the cost of food, cooks and rent, there isn't much left for things like advertising on an unproven platform.
People who run restaurants don't spend their time seeking out novel advertising ideas. It costs a lot to make them your customer. A real human being has to cold-call or visit them in person, convince them that your app will bring them additional customers, sign them in, educate them about running good advertising campaings, offer customer support when things don't work for them.
It's enormous amount of work and you need full-time employees who do that and those employees cost a lot of money.
Even Yelp, a giant in this space, struggles making such advertising model work and they have all the advantages in the world (massive user base, massive amount of data, lots of smart employees who spent a lot of time thinking how to make it work).
2. You underestimate difficulty of building a user base.
I'll cover how to get users for your software after you build it, but the default state of universe is cold indifference.
No one knows about your software. No one is searching for it. It's not enough to publish it to App Store.
Ideas that require building massive audiences to work from business perspective need a really good answer to the following question: how do I acquire lots of users cheaply?
If your strategy is: it's going to be so good that it'll spread because people will tell each other about it, then you're most likely wrong. It worked for Facebook and Twitter but it won't work for you.
Personally I don't see a way for this particular application to acquire lots of users at a reasonable cost.
3. Pain is not big enough.
The number of people who use smartphones is huge. Unfortunately the studies show that people settle into using just a few key apps.
Your app needs to solve an acute pain in order to be one of those apps.
I use Yelp and Four Square often but I've also tried and then abandoned other apps that recommend restaurants. They weren't good enough to replace Yelp or even complement it.
4. You underestimate difficulty of building it.
It's just a mobile app that helps people pick a restaurant. How hard can it be to build? Surely you can have something ready in a couple of weeks.
In this particular case the code is not the issue but the data. You can't have a good restaurant recommendations without pictures and reviews for all the restaurants in the area.
Yelp has it. Google has it. FourSquare has it. You don't.
Maybe you think you'll just scrape (potentially illegal) or make a deal with Yelp (why would they help a direct competitor that can't even pay anything at the beginning?)
How to get users
Your app is ready. The last 6 months of hard work produced an app or a website. Now what?
There are people who would benefit from your software. You made sure of that analyzing the market and making sure to build the right product.
The challange is to inform them that your software exists and convince them that it solves their problem.
A website reigns supreme
You start with a website as it is your primary marketing tool. It needs to describe the software in a way that is both clear and enticing.
An example of bad description is: "FeWood is the most sophisticated tools for ferret woodworking assistance". It tries to be enticing but fails to be clear. How exactly does it assist? If it's not clear from feature list that it's sophisticated, then writing it won't connvince anyone. Ferrets are distrustful animals.
If a ferret happens to arrive at your website, a good website for ferret woodworking will make the ferret want to buy the software.
You need as much documentation as you can bear to write: screenshots, a manual, an faq.
You need taglines and explain benefits but don't go overboard. Sometimes people think they explain benefits but really write baseless assertions that are not very convincing.
When in doubt, describe what software does and let people connect the dots and form the benefit in their own head.
When you write "Our car is the fastest way to get around", the reader of your website thinks "That's nice, Mr. Marketer, but I don't believe you. Are you faster than Farrari? And also there are planes, you know".
When you write "Our car goes from 0 to 60 mph in 4.3 seconds" the reader thinks "Holly molly, that's fast. I don't need that but I surely want it.".
It should be clear how to buy the software and purchasing flow should be buttery smooth.
It's also good to provide a way for current or potential users to contact you privately (support e-mail) or publicly (a forum where users can talk to you or other users and you can talk to your users).
Most developers don't put enough effort into their website.
SEO and organic search traffic
Now that you have a great website that does awesome job of selling the software, you need people to visit it.
The best and cheapest way is organic search traffic. A ferret types "ferret woodworking" into search engine. He gets a list of 10 results. He clicks some of them, rarely going to the second page of results.
You really want to be on that list.
First you need to decide which search terms you want to target.
Sometimes it's obvious. I wrote a PDF reader for Windows. When people search for such software they'll most likely type "pdf reader", maybe "pdf reader windows" so I want to rank high for that term.
Ooops, I think I lied. It's rarely obvious. What if people type "pdf viewer" instead of "pdf reader"? I don't know what is more likely to be used.
Thankfully we can get more insight by typing both queries into Google. "pdf reader" returns 367 million results, "pdf viewer" only 13 million. I'll assume "pdf reader" is more popular and target it more.
How do you get on that list? The logic behind search engines is simple:
- they index words on your website and look for a match to the search query
- of all the websitess that have the right words, they must decide which website is better
If you want to rank highly for "ferret woodworking" you have to have those words somewhere on your page so keep that in mind when writing the content.
How to convince Google that your website is absolutely the best website about "ferret woodworking"? Start by following Google's SEO Starter Guide.
Other than that it's just a lot of hard work writing high quality content related to ferret woodworking.
It's tough because you're competing with many other people using the same tactits to boost their websites but as with most things in life, high effort, high quality content has less competition that quickies, so focus on writing that.
Don't be tempted by shortcuts like hiring shady SEO services to boost your position. Most likely it won't work and when it does work, it might stop working when Google improves their smarts dealing with spammers and you might end up much worse than if you never used the shady tactits to boost your SEO.
Other free marketing channels
If you're cash poor but time rich, there are other free ways to get people to visit your website.
Keep in mind 2 important caveates:
- they usually aren't very good
- this is not a comprehensive list because things change. New channels come up, old channels disappear or become ineffective, some channels only work for certain kinds of software
With that warning off my chest, here are few ideas.
Do you have a twitter account with lots of followers? Tweet about your product.
Is it relevant to the crowd of Hacker News? Post it there and pray for upvotes.
Is there a sub-reddit for it? Post your stuff there.
Are there other on-line forums related to you software? You guessed it, post it there.
Instagram it. Snapchat it.
Don't be too aggressive. If you think that others might mistake your enthusiasm with spamming, you're most likely spamming.
You've tried all the free ways of getting traffic and you still want more.
If economics allow, you can pay to advertise.
The most common web advertising is AdSense. Remember that list of 10 search results for a search query? If you pay Google, you can have your ad at the very top of that page.
If you $1 per ad click and 10% of people who click the add buy your software, if you charge more than $10 per sale, you make money.
You can also pay for advertisement to Twitter, Facebook and many other less known advertising businesses.
They all want your money, you need to make sure that you get more out of it than you pay, by measuring effectiveness of each channel.
There are countless other advertising channels: radio, tv, newspapers, conferences.
My goal is not to enumerate them all, just to point out that if you start by asking "how can I advertise my website" you'll have no trouble finding many ways to do it.