This article will be of interest to those who promote proprietary software products on the Internet. So, the article is of absolutely practical character. It is a report of what we have been doing for some time already to promote our product PVS-Studio. I will tell you about the things that work, the things that don't work, and share my thoughts related to this subject.
For the beginning, here are a couple of words about what we are doing. We develop and promote the PVS-Studio software product. This is a tool for programmers that costs 3500 euro for the team license. The price isn't low, but other larger yet similar solutions in this area use five-unit prices. So we are just a plain alternative for those who have a limited budget.
Whether the price is high or not, it's clear anyway that we cannot deal with all those stores, catalogues or websites like BitsDuJour.com. People don't buy such tools spontaneously. Well, programmers never wander through catalogues looking for some cool stuff among developer toolkits they could buy. Tools are purchased when there are certain tasks that must be solved.
Our promotion on the Internet comes to making programmers think of PVS-Studio when they face such a task of enhancing code quality. To achieve that, we must get them know that there is our tool out there and read at least one of our articles.
I clearly understand that sales and the number of visitors on the website are quite different things. But the more target visitors we have on our site, the more people learn of PVS-Studio and remember of it when they need a static code analyzer. We are working for the future. It often happens that a year passes between the stages of getting interested in the product and purchasing it.
We are facing the task to tell as many programmers as possible about PVS-Studio. We partly solve this task by publishing articles on various websites (Intel.com, CodeProject.com, CodeGuru.com, go4expert.com, habrahabr.ru, vingrad.ru, etc.). Unfortunately, this way has its limits: one cannot write good materials massively; there are few really good websites and there are even fewer among them we can cooperate with. We could, of course, resort to services of article catalog mailing lists. But it's meaningless in our case due to the following three reasons:
Naturally, we feel an urge to spend money/resources on alternative means of attracting programmers to our website. Of course, we could attract them to the articles posted on other sites, but you cannot measure the efficiency of these actions. That's why we started trying various methods of attracting people to our website. Let's consider these methods and our conclusions regarding them.
We are not favored by the CodeProject website and regularly have our articles removed from there - even those that became "article of the month". We understand their reason: they don't want us to mention our product PVS-Studio in the articles without paying for it. And we, on our side, don't see the point in writing articles where we don't mention PVS-Studio. I will not describe the details of our confrontation here, but the point is that CodeProject constantly "drove" us to use their paid services. We had no money for that at first - no money at all. That's why we didn't even consider the paid variants of cooperation. Then we got some money and decided to post a banner ad there.
We were greatly disappointed by the result. I won't describe rates, reports, CTR and calculations - I will tell you the cost of attracting one person to our site through the banner on CodeProject.
The price of 1 click on the banner on CodeProject is $8.4.
Note also that anyone who comes to us is not necessarily interested in PVS-Studio. Perhaps, he/she just misclicked. Or perhaps he/she is just a php-programmer who saw the picture, liked it and decided to visit our site.
By the way, you will understand now why Codeproject shows such a dislike towards our articles and is constantly "driving us away". The point is that our articles are good. People like to read them and perhaps are frequent visitors of our site.
For example, 600 people have come to our website during all this time from a plain article "About size_t and ptrdiff_t". All this is despite the fact that CodeProject has removed all the references to us from the article text - links can be found only at the bottom in the "About the author" section.
It appears that publishing this article helped us to save 8.4*600 = $5040.
Note that those people who visited our site are much more valuable to us! Since they came to us, they must have been interested by the article so that they had even read the section "About the author".
All in all, there were 13600 visitors who came to us from our articles on CodeProject. If we wanted to attract the same number of visitors through banners, it would cost us about $100 000. Of course, it takes time and money to write and publish a nice article. However, it doesn't matter because the price of writing and publishing an article is much lower than posting a banner.
The CodeProject website is cool and nice. But the banner advertising they offer is overpriced. Unless you are the Intel corporation, there is a much cheaper method to get the same number of target visitors - by writing and publishing articles.
I think we will never go back to buy banners on CodeProject until they revise their prices and policy.
Contextual advertising is nice and useful but it is not applicable in our case, unfortunately. Contextual ad doesn't create a demand; it only allows you to be the first among other offers. There is some sense in using contextual advertising when you sell bricks: many vendors sell bricks and you need to take the first place among them, and not only by the search query "buy a brick" but by related search queries as well.
In our case, we are not competing with anyone regarding the word "PVS-Studio", while it's unreal to show ads for phrases like "find error in program": there can be a great many phrases like that.
Of course, there is competition in our field. For example, it's reasonable to promote our tool exploiting the phrase "static code analysis". There exist ads like that, and we have created our own too. But the trouble is, no one clicks on them.
I think the point is in the specific character of the field and people we're working with.
Programmers, I think, are the most closed to the noise when searching for information on the Internet. I'm telling by my own example: when I'm looking for information about how the Foo() function works and why it returns a certain code error, I cannot be allured by AdWords, or some banner, or whatever. I'm closed and focused only on my search. I know exactly that whatever ad I click on, I won't see an answer to my question how this or that code or function works. I need only an article or forum.
Note the fundamental difference. If there is the word "brick" in the search query, the person is 50% likely to be wishing to buy a brick or at least read what he/she can choose later. You can lure this person by an ad like "high-quality brick". And when a search query contains the word "Visual C++", the person is 99% likely not planning to buy this very "Visual C++" or whatever. He/she is only looking for a solution to his/her particular task, and that's it. He/she doesn't need any tools for Visual C++ even for free at this moment.
We tried to work with Google AdWords several times already and were greatly disappointed by the result each time. We would always get very low CTR. If we have a fixed price, almost nobody visits our site; if we let it free, it rises up to $5 - $10 per click.
We find this per-click price too high.
AdWords doesn't suit our case.
The era of social networks has begun and, naturally, we want to try advertising services provided there. We tried Facebook and Vkontakte.
I won't tell you about Vkontakte. We could have good advertising there if only there were more foreigners, while more than half of all the foreign accounts there is fake. If you select the USA as the country in the search filter, you'll see a huge list of names in Russian: "Chuck Norris", "Maxim" and "Sweet candy bar". We don't need such foreigners.
We tried advertising in Facebook. Regarding the paid promotion services, Facebook appeared to be the most interesting. First, you can flexibly choose your target audience. Facebook knows a lot about people, which allows us to show our ads only to those who are known as members of programmer groups. Second, we found their prices rather adequate.
The price of 1 click on a mini-banner in Facebook is $0.7.
Of course, it's not guaranteed that anyone won't missclick or like the picture too much to have a look at it. But $0.7 (Facebook) compared to $8.4 (Codeproject) makes all the difference.
You can try to communicate with people in Facebook on your own: you can participate in discussions in groups, post news and so on. We tried it, though not very actively. Unfortunately, the result was almost zero. So, paid ads seem to prove worthwhile.
We haven't decided for ourselves yet whether we like advertising in Facebook or not. The price is not too high, but we are not sure about the quality of visits through it: people come to Facebook to have fun, so it doesn't look a good time to draw people's interest back to their work (programming). Advertisement of pink bear toys will be more welcome there.
Advertising in Facebook is obviously promising but we are not sure about its usefulness in our case.
If you are not familiar with the StumbleUpon website, I strongly recommend you to give a look at it. You will find it interesting to wander there, at least. To put it brief, it's the largest tab service where you navigate the tabs at random. However, your interests are still accounted for, and you can vote for the pages you see.
There are two ways to promote your website in StumbleUpon.
Free way. You add links to your site's pages. What's important, these pages must be interesting to others. Otherwise, your site will be marked with many dislikes or banned at all. We found it easy to work on StumbleUpon: we have a lot of interesting articles, so we had enough good things to add into the tabs.
The StumbleUpon website can generate hundreds of thousands of visits by your tabs. But it works only with photos of cats and articles about "Osama bin Laden's" death. Our achievements are much more modest. During about a year and a half before we learned of StumbleUpon, we had got about 11 000 visitors from there. It's few. But taking into account that we do not spend much effort on adding the tabs, it's a very good source.
Paid way. You can buy displays of particular pages. The prices are as follows: $0.05, $0.10, $0.25. The price determines the display's priority. For example, if you are going to spend much money but set the price at $0.05 per display, these displays will drag on for a very long time and you will fail to get the needed number of visitors per day. It is to avoid it that more expensive rates are offered.
We are greedy and taking our time. So, we are quite satisfied with $0.05 per display. It took approximately three days to carry out one thousand displays. It's a rather good result. We can have about 10 000 displays of some page during one month at $500.
Of course, you cannot know to whom these pages are shown. As far as I understand, StumbleUpon will bring to us those people whose interest list includes programming. But programming can be of different kinds, and StumbleUpon don't tell between the tinges (programming languages). For example, I wandered much and for a long time on StumbleUpon. I gave many likes and dislikes. But still, although SumbleUpon shows me articles on programming, 95% of them are not interesting to me. I'm interested in C/C++, and they give me PHP, JAVA, Ruby, HTML, CSS, Perl and God knows what else.
Thus, we are not yet sure about the reasonability of using the paid service on StumbleUpon. First, the free service is more or less nice. Second, we don't know how much interested in our site the attracted people are.
The free service should be used anyway. But don't spam all the pages of your site in a row there. It won't make you any good.
The paid service should be used if you are promoting something mass, intended for a wide audience.
I want to say right away that we did not try any of the paid promotion services in Twitter. The official advertising system is only appearing nowadays. There are various spamming services in Twitter but we did not even give them a look. So, we work with Twitter on our own posting interesting links to our articles and articles of other developers. Though slowly, people are gathering. By the way, if you are interested in programming, you are welcome to join us too: @Code_Analysis.
We consider Twitter as a rather promising way from the viewpoint of advertisement. But it requires rather many efforts. If you are not a TV-star, you'll find it a difficult task to gather and hold an audience. You need to publish new materials all the time and be ready to answer comments and questions. On the one hand, it's not difficult, but on the other hand, it should be done regularly. It's the task of devoting some time to Twitter regularly making interesting materials. You have to be distracted from other activities, and this constant switching between different tasks is tiresome.
We decided to find a person who will regularly deal only with the tasks related to Twitter and other social networks. But we didn't succeed, so it is only me who is handling these tasks. When we find the person we need, it will enable us to make the process of publishing new materials more regular and therefore attract more followers.
Besides your own posts in Twitter, you can use your contacts with good acquaintances to attract people to your website. It's not easy, of course, to establish such contacts and we cannot give any particular recommendations. But do not underestimate this way. Here is an example.
After publishing the article "100 bugs in Open Source C/C++ projects" we were surprised and disappointed not to get any responses at all. Still, it happens. It was a bad time for publication, or some other unknown reasons. Then I wrote a small letter to John Carmack asking him to write about this article in his Twitter. He did it. I want to thank him once again for it. This one link attracted about 2 000 visitors to our website.
Twitter is a rather promising means of information spreading. You can and should use it, provided that you have time to handle it.
Reddit is a social news website. You can post a link to some material and people will rate it. It includes a lot of sections, which is very good: programming news does not intersect with news about iPad3 release. This is a great advantage compared to Digg, for example, where you cannot make your way with a news item that doesn't cover a large group of people. But on Reddit, you can find and bring information to those few people who are interested in C++ programming. There are a lot of programmers there actually, but their number is too small compared to a group where people discuss pictures.
Note that Reddit is a rather specific resource. You cannot predict how a certain news item will be treated. Depending on day and night hours, solar flares, holidays, moderators and users online, results might be quite different. Your news can be banned, or cause a slack discussion, or, vice versa, be favored by everyone. The material's quality virtually doesn't matter in this case. An interesting article may be not given a damn, while a plain post may provoke a stormy debate. So, you should take both successes and failures on Reddit with calmness, as if they were freaks of nature.
Here is an example to show you how powerful a chance is. This rather insignificant article attracted 6 000 people to our website on the day of publication. But these wonderful lessons gave us only 4 500 visitors for all the time since it had been published.
The Reddit site allows you to post paid links. We wanted to try this type of advertising, but it appeared to be impossible due to technical reasons. As it is said here, Reddit accepts "only US, UK, and Canadian credit cards" for payment. Despite the fact that "Redditors are from everywhere!", the administration gave us the following answer: "We know. We don't like it either."
I strongly recommend the Reddit website to all of you. It can generate a lot of visits to your site. But you should understand that you have to offer something really interesting.
We mean http://news.ycombinator.com/. When I saw this collection of news items for the first time, I decided that it was another meaningless garbage heap of links. But the first impression was deceptive. Despite the website's Spartan interface and a whole lot of links posted there, it can be rather useful. Many news items get to various people's Twitter pages from there or to that very Reddit and so on. However, it's highly probable that your website will remain unnoticed. The speed of news adding is enormous, so if your link hasn't managed to interest at least several people during an hour, no one will see it at all later.
Judging by my own experience, I can tell you that most of the published links on Hacker News remain unnoticed. Still, if you are promoting something related to technology, Hacker News might be quite useful.
You can use it to promote materials on the IT-subject, but don't hope for miracles.
Let's summarize the information about the prices of attracting 1000 visitors to your website if you spend only your money, not your time:
You should naturally understand that we mean different individual visitors. Note also that these prices refer only to our situation. Let me remind you that we are promoting a highly specialized product for programmers, so your case will be quite different!
Unfortunately, we must make the PVS-Studio 4.00 static analyzer completely paid. We intended to make only the set of 64-bit rules paid while keeping the general analysis and OpenMP-software analysis free. But the world is stern and we've found no support.