Archive | marketing RSS feed for this section

How A Half-Broken Halloween Promotion Smashed Revenue Records

Happy Halloween!  Everyone’s favorite secular American holiday where kids are in school is invariably the best month of the year for Bingo Card Creator.  This year, it ended up being a very happy Halloween indeed.  I ended up selling $6,024.45 worth of software after returns, beating my previous record (set last Halloween) by about 30%.  Bingo Card Creator has now sold over $100,000 worth of software (now that is spooky) and is on target to hit $45,000 in sales in 2010.

I did a bit of extra work getting the Halloween promotion to work this year, and also automating/systemizing so that I’ll be able to exploit similar opportunities without needing to take time off to do custom coding.  Some parts of the strategy worked very, very well.  Other parts lagged expectations.  And, naturally, I managed to make a critical CSS error and cost myself a few thousand dollars in sales… again.

Timing A Seasonal Promotion

The best time to start preparing for Halloween is in September… preferably, a September many years ago.  This is because there is a huge, huge surge of Halloween-related queries on Google starting at about October 15th or so, and if you wait you won’t have your site ranking in time to ride the tidal wave.

[Halloween costumes], [Halloween parties], [Halloween ideas], etc etc, all follow almost the same distribution.  Most importantly for my business, so does [Halloween bingo cards].

A brief digression to understand why this is important: teachers want to play a game on Halloween because t is a children-centered holiday.  Halloween is a much more festive occasion in American schools than many other holidays, because kids are not given any time off for it and it is secular.  To make a long story short, there is a wide cultural rift in US education about the proper place of religion in public schools, and that makes celebrating e.g. Easter with a rousing game of bingo not exactly a career-enhancing move.  Despite Halloween being theoretically based on All Hallow’s Eve, in standard American practice it is totally secular in character.

Anyhow, to make a long story short, upwards of a hundred thousand people will go to the Googles and search for [Halloween bingo cards] and a passel of related terms in October.  For the last few years I’ve really wanted to be #1 for that.  This year, I was — my mini-site, established in September 2008 or so, finally hit the big time.

Halloween Bingo Cards is what SEOs call a mini-site.  It has one mission in life: for two weeks out of the year, it is supposed to be the best, most focused site on the Internet for, well, Halloween bingo cards.  Between on-page optimization, a handful of inlinks, the exact match domain bonus (it is a .net, which along with .com and .org receives a huge bonus to rankings if the domain name exact matches the query), and a bit of age, it finally edged out the competition.  The extra traffic I got was, well, a little underwhelming.

Why was I underwhelmed by 27,000 visits?  Well, the site was designed to generate trial signups of Bingo Card Creator, and most of the obvious candidates for action on the site linked people directly to a trial signup form.  Conversion rates were unspectacular, in part due to a technical failure describe later and and in part because a combination of design issues and just overall low traffic quality meant fairly few people clicked off Halloween Bingo Cards in the first place.

So:

  • 27,000 people saw the Halloween mini-site
  • 3,500 (only about 13%) clicked to the main site (and the signup form)
  • 1,300 (37%) signed up for the free trial (that is actually extraordinarily good — normally I top out at about 28 ~ 30% for scalable traffic sources)

So of those 1,300 people, how many do you think actually signed up for BCC?  Well, since I finally have end-to-end analytics running (through a combination of KissMetrics/Mixpanel and a bit of glue code I wrote myself), I can get away from half-accurate Google Analytics reports and give concrete numbers on this.  So I know, with certainty, that that answer is 15 sales directly attributable to this page.  At about 1.2% conversion that isn’t that much to write home about — for the right audiences, BCC gets about 2%+.  (It should be noted that Halloween traffic is almost always going to be the wrong audience, because most searchers are parents but most of my customers are teachers: parents have their needs 100% met by the free trial.)

So What Worked Better Then?

Email.  Holy cow, email.  This has been a blindspot of mine for years since I used to be an anti-spam researcher, do not really send or read mail that regularly outside of doing customer support, and hate newsletters with a passion.  Big mistake: my customers empirically do not feel the same way.

Halfway through last year I signed up for MailChimp with the intention of doing great things with it, but I struggled to get it to work out right.  I would lose interest for several months at a time and not send email to the list, which causes people to forget who you are and then get very peevish when they receive mail from you.  About the only thing that worked very well for me was my auto-responder, which automatically mails people 1 and 6 days after they sign up for it with hints and tricks, to basically remind them that I am still here.  (A huge percentage of BCC users never sign in after their first day, and anything I can do to remind them of my existence is worth serious money.)

Sadly, I got an automated notice from MailChimp several months ago about excessive unsubscribes from my autoresponder — about 1% (they’re serious about list quality at MailChimp), and paused it while editing to make it obvious who I was and why they were getting email from me.  (The phrase “because you went out of your way, twice, to ask for it” may have been in an initial draft.)  And then I left the autoresponder paused for several months.  sigh So I wrote a new alert for my dashboard about that, since I’m serious about making mistakes only once.

Anyhow: Rob Walling had an amazing presentation at the Business of Software conference about using email to sell more software, and I was so inspired I decided to get serious about it this year.

  • I used MailChimp filters to go down from the 8,000 or so people on my list to only the 800 signing up since June, figuring they would still remember me.  (In hindsight, I should have cut further, and I will make a point about absolutely, positively keeping the list “fresh” from here on out.)
  • I tweaked my from address from “Bingo Card Creator” to be “Patrick McKenzie (Bingo Card Creator)”, at Rob’s suggestion.
  • I mulled over reasons why teachers might open the mail, and settled on “A Halloween Activity (And Discount) From Your Friends at Bingo Card Creator”

The time-limited discount was repeatedly stressed in Rob’s presentation and in his book about selling software.  (He gave me a free copy.  You should buy it just for the email chapter.)  So I spent a few hours tweaking my shopping cart so it could use discounts, and then polished until the experience of receiving them was totally transparent to the user — they never have to fumble for a code, all they have to do is click a link in their email and they’re in.

This discount was extraordinarily effective at motivating sales, relative to many things I have tried.

  • 775 mails sent.
  • 170 (23%) opened
  • Of those, 6 people bought.

At a little less than 1% conversion from an email to a sale, I’m absolutely giddy about the future potential for email marketing.  I got perhaps excessively giddy and sent another email two weeks later to people who didn’t open the first one.  At least, that was my intention: I actually hit the button for sending it to people who didn’t open last year’s Halloween newsletter (i.e. essentially everyone who had just been mailed two weeks prior).  Doh.

One person did not appreciate getting two newsletters in one month after not getting them for several months.  I got a handful of spam complaints for that (four from the first send, one from the second).  Since MailChimp is hypersensitive to spam complaints and I likewise care about my reputation, I’m going to be more careful in the future.  I anticipate the best thing to do to keep them down is to just email people early and often to keep myself in their mind, which is almost the opposite of my natural inclination.

Anyhow, the two campaigns together:

  • 1,600 emails (total cost: $32 of MailChimp credits)
  • 60 reactivated accounts
  • 15 sales (~ $370 in revenue)

Very little I have done has scalable 1,000% ROIs on marketing spends.  You can bet I will be doing more of this in the future.  (Granted, this doesn’t count approximately 3 hours of effort upgrading my shopping cart and site to do discounts, but I can amortize that over every time I use them from here on out.  The newsletter was the 2009 Halloween newsletter with about 5 minutes of editing.)

Speaking Of Discounts

So after having huge results early in the month with the emailed discount offer, I thought “Hey, why not extend that to everybody?  I’m getting crazy 10% conversion rates on reactivated accounts — if I got 10% conversion rates on new accounts I would be making hats out of money.”  Out of an abundance of caution, I A/B tested that for the last two weeks.  Surprisingly, discounts failed to make a dent in sales numbers in the general (non-email) population.  Roughly 2.08% of people seeing the discount converted, and 1.87% converted without seeing the discount.  That is despite prominent notices on the first screen after you log in, plus the pricing page, and the exploding nature of the discount (act now or you won’t get it).  Not only is that difference below the floor of statistical significance, when you factor in the fact that I make $5 less for every discounted copy, the full-price version did better for me.

Things to try next time:

  • Only give the discount to people who I’m reactivating — their accounts are writeoffs if they don’t sign back in, after all.
  • Pick the cutoff date for the discount better.  I gave people to November 1st, because Halloween is the 31st and I wanted to be generous.  However, that diminishes the perceived urgency of the sale — on Thursday night, they still have “3 days left!” That was stupid of me because I know, from doing this for several years, that my window of opportunity for Halloween sales closes as soon as she goes to sleep on Thursday.  I should have had the Halloween sale go until Thursday night, which makes it a pretty cruddy “Halloween” sale but would almost certainly have goosed sales.

That said, that was a pretty good day for me — Wednesday before Halloween was my best day ever, right until Thursday smashed that record.  Last Halloween I was beginning to pull weeks upon weeks of crunch, and I think I probably made less in a 70 hour workweek than I did in those two days… while sleeping.  I love self-employment.

Google Enjoyed Halloween, Too

While I was #1 on Google for [Halloween bingo cards], [Halloween bingo] and a thousand words on the long tail also receive significant traffic, and many of them are sewn up by about.com, eHow, etc etc.  Luckily, most of the content mills run AdSense ads, and the guy at the front of the auction screaming “Pick me pick me!” was yours truly. I spent $1,764.84 on AdWords ads in October.  Sadly, much of it got wasted.

Why?  Well, I made one extraordinarily poor decision and followed it up with a mistake: when FireSheep (the sniff-your-credentials Firefox plugin) was announced, I immediately bumped SSL support from “something I’d eventually like Bingo Card Creator to have” to “must be done today”.  If I had had any sense, I would have let that wait until November.  Enabling SSL took about a day, but I missed some edge cases which came back to cut me: in particular, I had the registration form throwing SSL errors for about 6 hours (painful, particularly since it was during an email delivery window) and, even more painfully, I had the AdWords landing page throwing errors for 48 hours (not fun when you’re spending $150 a day driving people to it).

But the worst thing was keeping the freaking AdWords conversion code on HTTP, which caused some browsers to not load it from an SSL page, and cut my conversion rate in half.  Since I use Conversion Optimizer, this caused Google’s algorithms to think “Hmm, Patrick must really not want this flood of traffic we’re sending him since it apparently converts like crap.  Oh well.  I guess we’ll just send it somewhere else instead.”  Between money that I essentially set fire to, an AdWords campaign thrown into disarray (I still haven’t recovered my previous conversion rates, since the bots are in a bit of confusion and haven’t replaced me on my best performing sites yet), and missed opportunities, that mistake probably cost me a few thousand dollars.  Ouch.

Still, I generally try to see things as half-full rather than half-empty, and my jack o’lantern is overflowing at the moment: previous sales records smashed, a new scalable marketing tactic which actually works, infrastructure ready to go for Thanksgiving, Christmas, and Valentine’s Day (and a few hundred more email addresses to send to), and the SSL issues now mostly under control.  (I still am not transitioned to 100% SSL, which ironically means that the effective increase in security was minimal.  sigh)

Mini-update on Appointment Reminder

I was very busy with ongoing improvements to Bingo Card Creator, consulting, travel, and non-business life for the first six months of being self-employed.  Since midway through October I’ve refocused to get Appointment Reminder out the door (really — most of the Halloween campaign was taking advantage of things which already existed), and since previous experience has taught me that artificial deadlines really work for me, I have joined up with a bunch of Hacker Newsies to make November the Get Your Startup Accomplished month.  After some fumbling around with jQuery and other infrastructural issues, I feel like I really hit my stride today, and if I keep it up I should launch right around the end of the month.

If you’d be interested in hearing about this on a regular basis, leave me a comment — if folks care, I will post regular updates to the blog.

Dropbox-style Two-sided Sharing Incentives

Last weekend, among a whole schedule of other great presentations at the Startup Lessons Learned conference (you can watch the video here), the folks behind Dropbox had a presentation (video) about how they went about growing their business.  Apparently search ads were too expensive for them (due to bidding up by other venture-funded firms in their space) and the long tail of search was not panning out, but their referral program worked out really well for them.  Really, really superflously well for them.

(For those who haven’t used it, Dropbox is absurdly well-implemented file storage, backup, and sharing in the clooooooooooooud.  They have saved my life twice when hard drives died and save me hours of time schlepping files from my Windows PC to my Ubuntu box and back again.  Go try them out if you haven’t already — I can’t imagine not having them anymore.  Anyhow: the business model is “We’ll give you 2 GB of space for free, or you pay us to get more than that.”)

The biggest single thing about their referral program is that it has a two-sided incentive for sharing: the person who signs up for Dropbox through your referral link gets a better deal than they would have gotten from the homepage, and you also get a free bonus yourself.  That is marvelous, marvelous psychology there: it gives both parties a benefit so the email seems less like spam, and social relations being what they are, the person receiving the gift feels a wee bit obligated to accept it.  (This same dynamic is used by many of the social gaming companies on Facebook, to degrees which almost make me feel icky.)

This works great for Dropbox because they have a product which they can easily make more useful in a granular fashion: just add more space and stir.  The cost of the marginal space is truly miniscule as a cost of customer acquisition: a few pennies a month if the user actually fills it, and most will not.  However, the passionate freebie seeking techies in the audience will use their disproportionate-sized online megaphones to scrape another few gigs out of their account.

The more I thought about it, the more impressed with this idea I was.  I had considered and rejected “Tell a friend” as a marketing scheme for BCC a few years back, on the theory that it just creates more spam and few of my customers would use it, but the double-sided incentive addresses both of those issues for me.  Plus I thought I could potentially implement it very quickly.  (I had a funny idea for a minimum viable tell-a-friend page: just ask for the friend’s email address and then have it ping me when someone submits anything.  I’d send the emails and credit both users manually.  That would have taken my development time from about six hours to one hour, but I decided to do it the “right way” on the theory that a few hours isn’t much of a risk to me anymore.)

So I decided to test out a version of this for Bingo Card Creator.  Historically, I have given free trial users 15 bingo cards for free.  (This neatly segments my markets between parents, who very rarely have 16 children, and teachers and professional users, who rarely play bingo with under a dozen players.)  I’m allowing them to invite friends: each successful invite gives both parties 3 extra cards, with a cap at 12 gained from inviting.  This theoretically will allow a large portion of my core customer base to get their program for free, but I think that paying is ridiculously more efficient for most of them, so it will only be the truly inveterate skinflints who sign up four of their closest friends so that they can get 27 cards for class.

The cost of allowing users to print extra bingo cards is, of course, too low to measure.

This Feature Is Surprisingly Hard

I’m used to pushing changes which only require ten lines of code, but this feature was a monster:

  • Tell a friend page
  • Processing email addresses put into that form
  • Actually sending emails
  • Facebook sharing integration
  • Customized signup page
  • I-Can’t-Believe-They’re-Not-Affiliate URLs
  • Properly crediting people for signups
  • Anti-abuse measures (mostly making it so that folks can’t use it to spam)
  • Minimum viable stats tracking (no charts yet)

All in all, it took a solid day.

I’m really pleased with a couple of implementation choices:

Getting the user’s first name:

My gut feeling (yeah yeah, A/B test incoming) is that users will be overwhelmingly more likely to respond to an invitation from Jane than from jsmith@example.com or from “a friend.”  So I asked customers to provide it if they haven’t already.  It is totally optional but I’m thinking they’re overwhelmingly going to comply.

Highlighting the offer on the signup page:

I hit the social proof fairly hard on the signup page: mentioning again that Bob or whomever sent the invitation, and that both Bob and the user will benefit from accepting the offer.  This page could stand to be a lot prettier, and I could probably throw a testimonial in here somewhere…  In this example, our generous inviting user’s name is Bingo.

Facebook integration:

Recently, having spent far too much of my time playing Facebook games (market research, I swear!) and scouting out the ecosystem more, I’ve noticed something.  One, a quarter of the female members of my family aged 30+ are currently sheering sheep, planting pumpkins, or throwing pigs at each other.  Two, my friends seem to comment on things they share… a lot.  Whoa.  This whole Facebook thing might actually have legs.

It turns out that getting folks to share links on Facebook is child’s play: one line of code that you can copy/paste.  With a bit more work, you can customize the text Facebook will pull out of the page.  I customized the text to include a strong call to action with added social proof, naturally.  Facebook sharing: not just for blog posts.


One feature that I particularly like about the Facebook option is that it only requires two mouse clicks from users (one to open, one to confirm — assuming they’re already cookied on FB), and it doesn’t require them to understand or recall email addresses.  My users have enough problems remembering and managing their own email addresses — I don’t want to include a “look up Anne’s email address” step in the workflow.

Finding folks when they’re ready:

Here’s an idea ripped straight off of the better Facebook games: give folks an opportunity to share stuff right when they hit the wall.  (Well, most of the Facebook games artificially construct the wall such that you have to share to get around it…  but I’m not that tricky.)  For example, if someone wants to print 22 cards and only has 15 quota, that would be a great time to remind them of the incentive.

Metrics Tracking

At the moment I put in very, very basic stats tracking:

  • Who ever accessed the invite page.
  • Who sent invites via email, and how many.
  • How many folks signed up as a result of invites.  (No source tracking, but GA should show me that, easily — referrer is Facebook, etc.)
  • Daily counts of all of the above.
  • As you could probably have guessed, I turned this on via an A/B test and will be watching to see if it hurts conversion to purchases.  (This is just a first cut, since it is possible that shaving 10% off sales from inviters would be worth getting the invitees, if invitees turn out to convert well.)
  • I’ve laid the groundwork for tracking the viral coefficient, although I strongly, strongly suspect it will be far below 1.  (I am not promoting this very aggressively, at all.)

Future Directions

In addition to the obvious (testing to see if this actually works), I have a few ideas for how to improve this in the future.

One obvious thing which I will probably not do is to ask folks for their webmail login details, grab their contact lists, and assist them in selecting folks to receive emails.  That would be stupidly effective, but it teaches bad Internet practices (do not give your Gmail details to random websites!) and frankly I don’t want it to be that easy to send invites.  We’ve all got that one aunt who has not figured out netiquette for Farmville and sends 14 lost kittens a day: I do not want to be her enabler.

I’ll probably also work on placement of the offer to invite, copy on the invite page, invite email, and invitation signup page (including graphical design), and will do some much more sophisticated metrics on this if early results look promising.

Will It Work?

Your guess is as good as mine.  In favor of it working, most of my customers and many of my trial users are very thrilled with Bingo Card Creator.  Many of them have figured out how to share it with friends despite me not giving them any good way to do so (not a trivial thing for elementary school English teachers — one bragged to me that she found out how to make a link to the website on her desktop and then bring it to her sister on a floppy, and if they’re getting over barriers to conversion that high, you know there must be something going on).  There is also the natural penny-pinching nature of teachers operating in my favor — the fact that the program is not free is far and away my #1 user complaint — and the fact that they tend to travel in packs.

In favor of the idea not working out so well: these are not very plugged in people as compared to Dropbox’s early adopter userbase, the actual mechanics of sharing still require non-trivial technical expertise (understanding email addresses and knowing those of your friends, for the option I’m giving highest billing to), and there are non-trivial business risks if it either becomes too popular or if folks feel that the invitation emails are an imposition.

Speaking of which: I capped the number of invites I’ll send out per user at 5 (hard-capped at the moment), capped the number of invitations any individual will receive at 1, and have capped the system at a total of 500 a day until I have some idea of how many is safe to send.

Bug of the Year Award:

It is early, but I think this already won it: a poorly considered after_save callback on my user model caused users’ mailing list settings at MailChimp to be updated if their user record was updated.  That was previously desirable, since there was nothing in the user model which could be updated without touching either their email address or their mailing list settings, and all updates were at the user’s personal request.  However, when I put the users’ card limit in there, then updated that for 50,000 users to set it to the default value, the callback fired and suddenly I got about 30,000 Delayed jobs all waiting to ping MailChimp.  I was ignorant of this until — thank God for checklists — I was testing the deploy and found out that I could not print bingo cards.  I assumed I had botched the Delayed Job worker processes again, but no, they were up… and right after I confirmed that I got the email saying “Delayed Job has spiked to 30,000 jobs in the queue!”

As soon as I realized what had happened I hit the Big Red Button on DJ, but not before a few thousand of them had been processed.  For users who had actually confirmed the signup to the mailing list before, I don’t think anything bad happened.  For those who had second thoughts before double-optin, they were all hit with another email from MailChimp on my behalf, seemingly out of the blue.  I’ve now got an inbox of “Who are you and why are you spamming me?” to deal with.  *sigh*

On the plate for tomorrow: figure out how I could have seen this one coming.  My testing and staging environments simply ignore API calls to MailChimp for the obvious reason — I wonder if I should have them throw exceptions instead unless they’re explicitly expected behavior.

Wufoo + Free Incentivization = Cheap, Effective User Surveys

The prototypical customer of Bingo Card Creator is a woman between the ages of 30 to 50 who plays bingo with her classroom. I like to think of her as Martha.  However, unlike most statements I make here about my business, this is far more a guess than it is a fact substantiated by data.

I can substantiate, for example, that in excess of 90% of BCC customers are female.  (A quick Ruby script checking names on credit cards against a dictionary of common American names reports 90%+ are female.)

They generally seem to be on the older side, too.  Sidenote: If you grew up in America you probably have the accurate impression that someone named Ethyl is likely not 18 years old.  You might not know that most names go through ups and downs in popularity.  I’m going to bet that over a few thousand customers I can probably reconstruct the average age just by inspection of first names, but that is an experiment for another day.  The US  Social Security Administration will give you name popularity data, by the by.

However, the bit about Martha being a schoolteacher?  Yeah, that is just a guess.  An educated guess, but still a guess.

Why Not Knowing These Things Matters

Prior to releasing Bingo Card Creator the core customer I had in mind was an elementary schoolteacher, and the software and site was built with that assumption.  I wrote my copy so that I would sound like a sympathetic colleague (as opposed to, say, a twenty-something WoW raid leader, or a Japanese salaryman, either of which would have been equally as true).  I concentrated the lion’s share of my content creation on the needs of schoolteachers.  I even picked designs for the website and software that looked like something a schoolteacher would like, as opposed to the “That button doesn’t have a glossy finish, reflection, and drop shadow yet, but we’ll fix that!” Web 2.0 aesthetic that I prefer.

Roughly contemporaneous with launch I changed a bit of the copy to address both parents and teachers, but parents were a nice bonus audience I could satisfy with the free trial (and get links from) while trying to separate teachers from their money.

That was my customer hypothesis, to use a buzzword much remarked on lately, and 3.5 years later I’m still not really sure if it is accurate.  On the one hand, I have received email from many, many teachers.  On the other hand, sometimes I get empirical evidence that I’ve been myopic: for example, I put Baby Shower bingo on the back burner for years before realizing that the top 25 words used by customers were all baby related.

So should I be making a massive overhaul to my copy to target a wider audience than teachers?  Or should I mostly keep doing what I’m doing?  Well, time to supplement my intuition and non-representative guesstimate based on support requests: I need to run a survey.

HTML Forms: Not Quite As Bad As Visiting An Ill-Tempered Nazi Dentist

I generally work from the hard parts first, and the hard part of doing a customer survey is:

  • figuring out what questions to ask
  • getting customers to actually take it
  • analyzing results
  • writing HTML forms.

I am very, very bad at writing HTML forms.  The input markup I can handle, but making them not look insanely ugly takes me literally days.  (Visual design is not my baliwick and what little talent I have for it gets vaporized when it meets the harsh reality of CSS.)  However, I don’t want to have to book my designer for a day just to get a few multiple choice questions coded up.

Enter Wufoo, one of my favorite SaaS providers.  They do one thing really, really well: create web forms for people who would otherwise need to pay somebody with an expensive degree to do it.  I have a Wufoo account lying around since I bought it for my younger brother, who wanted to survey readers of his superhero writing blog (my family loves niche subjects, what can I say).

It only took me about half an hour to mock up a quick survey.

What I Asked

Since users get less likely to complete forms with length, I kept it fairly short:

  • Gender  (I’m pretty sure I know the answer to this one, but if half my users are men and 90% of my customers are women that would be a very important thing to know.)
  • Age  (<20, 20 ~ 29, …, 60+)  (Here I’m much less certain.  Normally distributed with an average of 40ish, maybe?)
  • Who they expect to play bingo with  (“My children”, “My (adult) family”, “My coworkers”, “My class (elementary)”, etc etc)
  • Whether they feel “comfortable with computers”  (For years I have presumed that the answer to this is a resounding “no”, and it drives development choices.  For example, I can’t offer picture bingo — my #1 requested feature — if users cannot routinely succeed with finding an image file on their machine and cropping it.  If most users report facility with computers, I might consider moving picture bingo off the “To be implemented after Chinese democracy” list.)
  • Whether they find BCC easy to use or not (I prefer data on task success to subjective sentiment, but I can’t afford to ignore sentiment if the sentiment is negative.)
  • “What is your favorite thing about BCC?”  (Free response.  I figure it might tell me something I don’t know, and probably will elicit testimonial-worthy quotes.)
  • “How can we make BCC better?”  (A nice open-ended way to get users to complain without making them feel like they are complaining.)

Clever Survey Integration

There are a couple of ways to ask people to take a survey.

  • Put a discrete link on your site that no one will click.
  • Use a pop-up window, because you spend entirely too much on bandwidth and need to drive some users away.
  • Email your mailing list, offering an interruption that doesn’t improve their day.

I wanted to do something a bit trickier: integrate the survey intelligently into my site, such that users would want to take it.

  • Offer users a freebie just for taking the survey.
  • Let users dismiss the message if they want to.
  • Stop bothering users after they take it.
  • A/B test the effects of the survey on sales.
  • A/B test the effects of the freebie on survey taking.

A note on incentivizing users: Programmers live in a world where data is available in infinite abundance, and hence we often assume that data is valueless.  (If you doubt this, try asking a programmer for opinions on software pricing.  Yes, I am talking to you, Mr. Three Dollars Is Too Much For A Game On My Six Hundred Dollar Phone.)  We sometimes forget that users live in a world of scarcity, where data has definite value.  For example, you and I know that it makes no difference whatsoever to me whether Martha can print out 15 cards or 20 cards during her free trial: the marginal bits are too cheap to even calculate the cost of.  However, Martha definitely does not perceive things that way: 20 cards is 33% more of something she wants, of course that is a good thing!

This means I can give Martha something she wants, very easily, at no marginal cost to me.  That is a good carrot to use in a lot of marketing activities, from incentivizing people to take surveys to incentivizing them to link to you.

Implementation Details

This turned out to be pretty easy to do with Rails, my A/B testing framework, and MemcacheDB.  (I could have persisted survey state in the MySQL database with most of my user-specific data.  However, I really hate having to migrate my user model just to accomodate a feature that I may well rip out in two weeks, so a key/value store makes an excellent choice.  If I no longer care about the data, all I have to do is stop requesting it and bam it is like it never existed in the first place.)

First I adjusted my users’ dashboards (the main page that they are sent to right after logging in) to include an inducement to take the survey.  I set it to ask all paying customers to take the survey.  My reasoning for this was it is free for me and, if they don’t want to, it costs a maximum of one click to dismiss permanently.  However, giving trial users the survey potentially costs money through lost conversions, so I set up an A/B test to see if offering a survey is very expensive.  This could affect my desire to do them in the future.

Additionally, for trial users, I set up an A/B test on the call to action text: half are given altruism as the reason to take the survey, the other half are offered the aforementioned freebie.  (All survey takers will actually be given the freebie whether promised it or not — it is just as easy to implement either way, but I tend to default to being generous to my users unless I have a darn good reason otherwise, and I don’t here.)  I’m doing this mostly for my own curiosity.

Wufoo has a setting where you can redirect folks to a URL after taking the survey.  I set this to an action which performs housekeeping (setting the user’s survey status to “Completed”, tracking results of the A/B test, setting a thank you message, and redirecting to the dashboard).  If the user bails from the survey with the back button rather than completing it, they’ll be right back at the dashboard and nothing will have changed.

I also added a quick link to hide the survey (it sets their survey status to “Declined”, which will surpress the survey call to action forever), on the theory that users should be able to have an uncluttered experience if they wish to.  This could have been done with AJAX and link_to_remote fairly easily, but doing it the old fashioned way worked fine and only took two lines of code, so I did it that way.

Finally, implementing the freebie took a bit of surgery to some validation code.  It wasn’t very difficult at all — I copy/pasted my existing validator, added “has taken the survey” to the :unless clause to disable it, and pasted in a new copy with the higher limit.  I love the way Rails tends to make minor logical tweaks like this easy.

The total change it took to implement this intelligent, incentivized survey (plus two A/B tests) was ~20 lines of code and ~20 lines of HTML for three alternatives in the view.  It was actually quicker to write and test the code than it was to make the survey in Wufoo’s drag and drop interface.  At no time did I have to waste a week nudging CSS files around to get something that wasn’t horrendous.

Incidentally, I think this is a good demonstration of how Rails, crafty application of cheap software, and the related bag of tricks let you be more nimble than you would be if you were e.g. running on enterprise Java.  I’ve implemented surveys for the universities who are clients of my day job, and surveys of roughly comparable complexity typically require planning meetings so that we can add them to the schedule and eventually detail an engineer or two to get them started.  There’s a place for that in the world, don’t get me wrong, but I’m already collecting data.

Pictures of Implementation

Here’s the variant for trial users which offers the incentive for taking the survey:

If I had a bone of artistic ability in my body there would be a box around that with a red X in the top right corner to dismiss in addition to the textual link, but oh well.

A Possibly Controversial Note On User Privacy

Normal users don’t really want privacy.  There, I said it.

Users will say they want privacy, if you phrase the question the right way.  (“Do you want multinational corporations to put data on your machine that will let them track your visits to sites on the Internet?”  “Oh my good heavens, no!  That’s monstrous!”  “That is necessary to implement things you take for granted, like ‘Remember me’ .”  “That’s totally not the same thing!”  “Google gives you personalized search results the same way, and sells ads against what you searched for early this morning.”  “Well I like Google!”) Given the choice between privacy and convenience, they’ll choose convenience every single time, and if you prioritize their privacy over their convenience it is your problem.

I said the usual pieties about the survey being totally anonymous.  This is literally true and yet says less than what you might think it says.  Consistent with my privacy policy (that no one reads because no one cares about privacy), I will make no particular attempt to link users with their answers.  However, I can work backwords from a copy of the survey to personally identifying information (an email address, if they’ve provided it).  And that is a good thing:

The above is a slightly anonymized composite of actual support requests I have gotten over the years.  (I try my level best to satisfy people, but you can’t win every time.)  If that user submits the survey and I can’t identify who he is, I’ve essentially stolen from him, because I promised him a refund any time any time he asks for it and I have not delivered on the promise.  Granted, he didn’t ask for it in a very technically savvy fashion, but I try to make it as easy as possible for my users to succeed at the things they clearly intended to do.  Even if their clear intent is to ask for a refund.

If you think this example is far fetched: Google Checkout will, some time after the transaction has happened, mail your customers to request that they write a review of your product.  Reviews are posted in an electronic Siberia and no notification is sent to the merchant when they happen.  However, because it has a text box and is occuring in the context of a commercial relationship, customers assume you are hanging on their every word.  They’ll use the “review” to communicate time-sensitive information like “Oh by the way I need this shipped to …” or “It has been two weeks and my CD hasn’t arrived.”

My theory for why Google didn’t anticipate this failure mode is that Google assumes you care about your customers about as much as Google cares about its customers, and at Google forwarding customer complaints to Siberia would double the likelihood they were actually read.  (Do I sound bitter?)

Anyhow, the EFF can burn me in effigy if they want to, but given the choice between giving customers ironclad privacy and giving them what their actions demonstrate they actually want, I’ll give them what they actually want.

Analyzing Results

Since I started writing this post it appears that a user has taken the survey.  Take that, planning meeting.

After I have a bit more data, I’ll grab it from Wufoo, segment it by user type (trial user vs. customer, etc), and started asking the data questions to guide the further development and marketing efforts.  If I find anything interesting, I’ll post about it.

Engineering Your Way To Marketing Success

//

I visited Thomas Ptacek and the gang at Matasano (who are developing a firewall management product) over Christmas break and had a very productive discussion about marketing.  One of the things Thomas mentioned was that I should probably blog out how you can use engineering resources to improve your marketing.

In Which I Have A Revelation

Have you ever been talking to someone and had them crystallize an idea you’ve been fumbling around about but never seem to put into words?  That was what I felt like when Thomas mentioned the engineering-to-marketing conversion: the lightbulb went off.  This is what I’ve been doing so much of the last few years, with automated scalable approaches to SEO, A/B testing the living daylights out of my site, optimizing user interactions, tracking tracking tracking, implementing Mailchimp APIs, etc etc.  It is all engineering means to marketing ends: make your customers happy, get your name out there, sell more stuff.

And really, we don’t do nearly enough of it in our industry.  We’re sitting on top of more software and programmer brain juice than Saudi Arabia has oil, and when we deploy it to maximize our sales… we build marginal features that nobody has asked for and that nobody will see.

I am as guilty of that as anybody else: version 3.0 of the desktop Bingo Card Creator included a prodigious amount of time spent on integrating a bit of a client/server application into it.  I thought, hey, customers empirically ask me all the time how to get access to the same cards on their home and school computers, so allowing them to save it to the server (wait, I have to be buzzword-compliant) cloud would solve a problem for them.

It turns out that those customers with the problem had already either figured out how to email files to themselves or were part of the mass exodus to the web version of my program.  The client/server features of BCC got terrifically underused: exactly 22 of my customers have used them.  That works out to be about 1% of the customers I’ve added in the last year.  By way of comparison, adding color to my bingo cards scratched off one of my Top 3 user feature requests, took me a tenth the time, and gets used by about 8.5% of customers.

As if that weren’t painful enough, not a single customer was enticed by the client/server features being pay-only to purchase BCC to get them.  (If you’re wondering “Hmm that sounds like a curiously specific claim for someone who is not telepathic” tie a mental string around your finger to read the forthcoming part about analytics carefully.)

Features Do Not Sell Your Software

For the last three years and change I’ve been hanging out on the Business of Software discussion boards and have advised more programmers on websites than I have friends.  You can tell when someone is on version 1.0 of their website: they have The Traditional Shareware Website with six pages listed in the horizontal navigation, featuring Trial, Purchase, Features, Screenshots, Support, and About Us, and the main content on their front page and the Features page is a list of features.

The first advice we always give them is strike Features and replace with Benefits because benefits, not features, sell software.  (I have heard that this is not true in some markets comprising of very technical experts who are looking for exactly the tool to fit their problem and, if you sell to these people, hat’s off to you and please don’t ever take my advice on anything.  Well, OK, one little thing: you may not actually be selling to that customer, regardless of what you think, so go get some data.)

A quick sidenote for people who have not repeated the benefits-not-features mantra on every sunrise for the last several years: features are things that your software does.  Objectively speaking, Microsoft Powerpoint reads PPT files and lets you animate bullet points.  Benefits are the perceived improvements in the user’s life that will result from purchasing your software.  Subjectively speaking, customers of Microsoft Powerpoint buy it because it will let them close the deal, please their bosses, and get promoted.

Closing the deal has nothing to do with the internal structures of PPT files.  It answers a human need for the customer.  You could sell Powerpoint to a tribe of cavemen of spear-hunting lions on the savanna.

  • Ogg see lion.
  • Ogg poke lion with sharp pointy bits.
  • Tribe eat lion.
  • Ogg get to synergize with Ogga.

Marketers Get It.  Engineers Don’t.

I have a bit of the tribal programmers’ disdain for marketing, but marketers get this concept.  You’ll very rarely (God willing) have people in Marketing obsessing about features because they understand that benefits bring home the bacon.  Sadly, engineers typically work on features, features, features, and more features, when we could do so much more productive things with our time.

For example, when Marketing says “This software should really make the user feel like they just killed an effing lion!”, they’ll typically have, well, no clue whether it actually does or not.  Nobody in the organization does, which is when the problem gets kicked to Management, and we all know that is where interesting questions go to die and, if they were wicked in life, get reborn as meetings.

Your mission as an engineer is to stop thinking the job is building features and start thinking that the job is building systems to answer interesting questions like that.  For example, you could pretty trivially put an item on the sidebar of the software saying “Do you feel like you just killed an effing lion?  (Thumbs up)  (Thumbs down)”, and very quickly you’d have actual data on whether the software is delivering on the promise of visceral feline slaughtering action.

Measuring Vicarious Lion Slaying As A Process

Of course, engineers are expensive and building a bunch of one-off “Do you feel like you just killed a lion?” quizzes is unlikely to result in you covering your desired hourly salary.  Instead, you should be thinking of building tools and processes — give people the resources they need to ask questions like “Do you feel like you just killed a lion?” and make it so brain-dead easy and so ingrained in the culture that if somebody asked “I wonder if users prefer gazelles to lions” didn’t immediately start designing an experiment it would result in chatter about them at the water cooler.

This notion of tools and processes to use engineering as a force multiplier for everything else you do is the key to decoupling productivity from hours worked.  This is a handy feature to have for startups and small businesses.

For example, I’m a one-man shop with occasional help from freelancers, and virtually by definition I’m the most qualified man alive to write content for my website.  However, writing content for my website is a poor use of my time. While it is quite profitable for me, it is much more efficient to build a system to let somebody else do it.  This frees me up to build more force multipliers rather than grind out 757 bingo activities with 28,761 words of content about them.  (That is, incidentally, about as many as a young-adult novel.  The chief difference is that I pay more.)

Enough With The Lions.  Give Me Actual Things I Could Build Today.

A/B testing that anybody can use.  I hate to harp on A/B testing so much since it is just one arrow in the quiver and I would hate if it blinded anybody (including myself) to other productive uses of their time.  That being said, in terms of dollars gained per hour invested, it is really, really hard to beat.  You need to make it brain-dead easy to that whoever does your website and, ideally, whoever is developing the application can quickly iterate through text, button designs, and workflows to find what works for you.  Feel free to crib design points from A/Bingo, my OSS Rails testing library.

Scalable content generation.  SEO is sort of my first love in marketing, probably because of the obvious potential for automating it.  Essentially nobody hand writes every page on their website these days, which is A Good Thing because your CMS of choice will make it much less painful and greatly improve the quality of the output.

If you take that to the next step and figure out how to inject content into the CMS without having you personally type it into the HTML form area, you can fluff up your website and collect an awful lot of long-tail search traffic without overly distracting you from the business of running your business.  For example, Demand Media has creating vast oceans of garbage down to a science.  With a bit of creativity, you can use similar techniques (freelancers available as a utility, algorithmic discovery of topics to write about, and automating the quality control) and combine them with existing data sources to actually create value in your niche.

For example, a quick script I wrote up in five minutes to dump the most commonly used words on bingo cards that are not used by a bingo card I have available reported that more than 50 people in December independently typed these into their cards: Star of China, darjeeling, genmaicha, jasmine.  This taught me something I had no clue of: there is a group of people in the world who really want to play Tea Bingo.  With a little more packaging my ad hoc Ruby script can be incorporated directly into the interface for my freelancers.  Then, they could just take a gander at the list of words at the top and use them for inspiration for new writing assignments.

Automated Error Detection/Correction. I was so amused by the popularity of Tea Bingo I checked to see if I already had a tea-related activity and discovered, much to my surprise, that I did.  A handful of boring technical problems resulted in it not getting spidered properly by Google.  (Typically large numbers of customers typing the same activity into the program, rather than starting from one I’ve provided for them, indicates that I don’t have anything responsive to their needs or that they can’t find it.)  I’ve since fixed those problems, and am now contemplating how I can have the computer check this for me in an automated manner so that I never have to expend effort on it again.

There are probably bugs in your own marketing/advertising/etc systems which are leaking a percent here and a percent there of prospects.  Since improvements in many things we do are multiplicative, a percent here and a percent there is worth real money if you can recover them.  Consider automating the process of detecting and addressing these things, so it isn’t merely an ad hoc task you do when it is brought to your attention.  (Or, more often, that you don’t do, because it is boring.  I’m quite guilty of that.)

Write your own CMS.  I would have totally disagreed with this advice up until last week or so, but Thomas convinced me: writing a single-purpose CMS is pretty much the new Hello World for modern web frameworks (heck, it is the official Rails demo), and with a man-week or two you can make something much more productive for your purposes than using, e.g., WordPress.  (Though if you can do whatever functionality you need as a WordPress plugin, I’d still be inclined to suggest that.  No need to reinvent the wheel for basic CRUD operations on textual content, or HTML parsing.)

Lifecycle customer contact.  One of my big realizations in 2009 was that I was avoiding sending customers emails mostly because I hate receiving emails, and since I am not a forty-something schoolmarm with two kids, my opinion does not count.  So I signed up with MailChimp, spent three hours incorporating their API into my site, and started sending customers what I call “lifecycle” emails: thanks for signing up, wait a day, you signed up yesterday here’s some stuff you can do, wait a week, hey remember us by the way here’s advanced features.

This is stupidly cost effective relative to finding new prospects.  (It costs me a penny to send an existing trial user an email but about a quarter to recruit a new trial user via AdWords.)  Since 97.6% or so of trial users aren’t buying, scraping back a mere fraction of the waste generates great returns for me, and it is incredibly scalable.  (I write the API integration once and test variations on the emails periodically, they get sent to thousands of people without my intervention, money hats all around.)

That is, incidentally, a pretty brain-dead way to do things: with a little more work, I could e.g. send emails only to customers who weren’t active on the site, or vary the email contents with respect to how active or how sophisticated a user appeared to be, etc.  These are both things I intend to try out in 2010.

Similarly, you can create scalable systems to have your users do retention-improving activities for you.  By far the most brilliant implementation I’ve ever seen of this is on Facebook.  If you look to the top right of your main Facebook page right now, you’ll see “Suggestions” where Facebook tells you to add somebody as a friend or reconnect with someone on Facebook.  I will bet you a dollar that anyone who they suggest adding has few friends and anyone they suggest reconnecting with has not logged in recently.  Go check right now, I’ll wait.

Pretty amazing, right?  That is a few hours of engineer time, but it is going to get amazing increases in retention for Facebook (a key marketing goal) because it leverages the spontaneous-looking social pressure of a person’s own friends to keep them in the service.  And no Facebook engineer or marketer has to touch that system again, except trivially to test improvements to the textual calls to action.  You could have done this, or something which is similar for your niche or service.

Automatically generating advertising creatives. If you can create content for your website in a scalable fashion, why do you still have highly paid artisans fashioning exquisite one-off works of art for your landing pages again?  Generate a couple hundred, throw traffic at them, see what works and iterate.  If your analytics are sophisticated enough to track conversions back to whatever creative someone saw prior to signup (hint: this isn’t really all that hard but it also isn’t out-of-the-box behavior), you can quickly identify what works and what doesn’t.  Better yet, you can have a computer quickly identify what works and what doesn’t, so that you don’t have to worry about it.

I did this by repurposing the same content I use for my website and slotting it into a landing page template, which gives me about 750 distinct landing pages to work with.  If I took it to the next level and made variations on that template, I’d have thousands available for very little extra cost.  After that you just design a strategy for splitting traffic coming to them and Bob’s your uncle.

Don’t do what I do, but I just split half of my incoming traffic into a the best landing page I’ve handwritten and half into the landing page my system thinks is best.  (Check out how complicated the logic is: “Send people to the landing page corresponding to the most popular content on the site this week.”  This tends to select for holiday bingo in the runup to holidays and my most popular generic activity — currently baby shower bingo — in dull times.)

This should be the point where I tell you “My system beats the stuffing out of me, here are the numbers to prove it” but I actually don’t have the numbers handy, because I apparently had more important things to do with an hour of my time back in September than making a few thousand dollars.  Oh, that’s right, I was busy implementing the client/server feature.  Anyhow, forensic evaluation of my conversion rates for all my AdWords suggests that the 50/50 handwritten/algorithmic mix converts better than my previous 100% handwritten mix for the same landing page, so I’m betting that the system does indeed trounce my intuitions, but that is itself an intuition only marginally supported with data.  Let me get back to you on that in a few months.

Remove friction in your processes.  Another hat tip to Thomas for this idea.  One of the key insights to increasing productivity is changing things you do from disconnected tasks to processes.

This one idea explains a huge amount of why Toyota ran roughshod over Detroit, and has been discussed so often in the business literature I’d forgive you if you thought it was false.  Stopped clocks are right twice a day, and the hype about Toyota management you’ll find in your Business Books section is based on reality.

One of the corollaries to this notion is that processes which include steps that are boring, annoying, or tedious tend to fail to get performed.  For example, if anything you do for your business includes boring manual processing of data which you (consciously or otherwise) consider an insult to your intelligence, you probably will fail to do it despite the process being designed to be executed, e.g., weekly.  This is an example of friction in the process, and computers are really good at eliminating it.  You can either automate the boring bits or automate their assignment to someone more qualified than you to do them (i.e. freelancers), then automate the quality control, and then automate the notification to you that the raw data has been massaged and you can now continue with the work that actually matters.

There are literally infinite opportunities for this in your business.  Eliminate the friction in content creation by creating your own CMS or re-using existing data sources, as suggested above.  Eliminate the friction in testing by writing automatically executable tests.  Eliminate the friction in bookkeeping by having the computer do it for you.  Eliminate the friction in using your APIs by redesigning or wrapping them such that the common cases take no work at all.  etc, etc.

Try It.  You’ll Like It.

Hopefully the above list got the juices flowing on how you can do a bit of programming to improve the marketing in your business.  I’m also going to be exploring the topic quite a bit in the New Year, so stay tuned to the blog if you’re interested in it.

Credits: The beautiful lightbulb was lightly edited from a Creative Commons licensed work available through Flickr.

How To Do A Seasonal Promotion for Your App

//

Many software/web-app developers naively assume that demand for their product is roughly static year-round, despite the fact that this is true for very, very few industries. Retail (in-a-box) software lives and dies by its Christmas numbers. B2B software often sees spiky behavior around the accounting periods and business cycles of its target sector. If you take a look at the data, it is likely that your business also has hot and cold periods — so how do you exploit that?

For example, I sell software which makes bingo cards for elementary schoolteachers.  Since a huge number of my customers use bingo as a fun diversionary activity rather than a regular instructional tool (nothing wrong with either approach, incidentally), I get big spikes of interest around holidays.  Due to peculiarities of how American schools and religion relate to each other, the ideal holiday for my purposes is one where a) class is in session for b) a non-religious holiday which c) does not have an obvious history-focused lesson plan.

If you take a quick look at the school calendar for those three criteria, you might find yourself saying Halloween.  And if you do, congratulations: the spike in traffic I get in October every year as a result of  interest in Halloween routinely makes October my best month of the year.

So knowing that, this year I’ve done a bit of optimization for Halloween, which you might be able to adapt to your own businesses:

Mini-Sites

The keyword profile for new customers coming in as a result of seasonal interest is generally very, very different from your everyday customer.  SEOing for these transient customers requires doing a bit of work, and (especially for those of us who do not have the budgets of Amazon) significantly altering the front page of the site to fit a Halloween theme (with the appropriate keywords everywhere) might be a bit too radical.

Enter the mini-site: you can take a handful of pages or, if you’re feeling generous, an entire new domain name, and then use an on-target visual design with optimized keywords to make it very, very obvious that you’re attentive to the desires of your holiday searchers.  As competition for the holiday keywords is likely fairly low relative to the “head of the long tail” keywords in your niche, you can rank a mini-site fairly easily.

For example, I registered halloweenbingocards.net and put up a simple WordPress installation with 5 pages about, well, Halloween bingo.  It looks much, much more Halloween-y than my main site, and empirically has been converting rather well for the first two weeks of October.  (I know from experience last year, when I had no mini-site but did have pages with Halloween-related content on my main site, that the 300 or so visits a day it is getting this week are about to increase by more than an order of magnitude over the next three weeks.)

The total cost for this site (domain registration, content written by freelancers, directory listings for SEO purposes, etc) was less than $500 and probably another 10 hours ($1,000) of my time.  (I wrote the first draft of it by hand, myself, before getting smart and automating/outsourcing things.  You live and you learn.  My next dozen ideas in this general vein are getting done much more efficiently.)

Incidentally: That WordPress design is based on a free template from WP Design, who graciously gave me permission to use it commercially (it comes with a Creative Commons non-commercial license by default, and I only realized that when writing this blog post, and promptly offered to pay for their blessing, because if software developers can’t respect license terms then we are doooooomed).  It is beautiful and saved me a lot of time in designing the site, and I’ll probably be going back to them for design projects in the future.

PPC Campaigns/Landing Pages

Mini-sites require a fair bit of work and creativity to do right, but if you can’t do anything else, you can quickly create PPC campaigns for the seasonal keywords.  Many businesses would use a holiday as a wonderful excuse to do a periodic sale — that is wonderful for you if it works.  However, with just a little work you can respin your existing content into an on-target landing page and then toss up some AdWords at it.

AdWords optimization is generally a little outside of my comfort zone, but here’s what I did:

  1. I ran a report on what URLs were showing my ads on the Content Network, and eyeballed them for the ones which were specific to Halloween.
  2. I banned those URLs from showing ads in my default ad group.
  3. I created a new ad group for Halloween-themed ads, and put the ads into it as Managed Placements, plus added in some Halloween related keywordery.
  4. I created some Halloween-themed creatives, to catch the clicks on the Halloween themed pages that my ads would be showing on.  For example:
  5. I re-used a quick variation on my main AdWords landing page, replacing the usual content with a bit of Halloween content.

This whole process took less than 15 minutes, mostly as a result of futzing around in the AdWords interface, as the landing page was already pre-written.  When I spent some time reworking my default landing page a few months ago, I linked it to the I-can’t-believe-its-not-a-CMS that drives most of the content on my website.  This lets me re-use any of my pre-existing content (bingo card word lists which I pay my freelancer to write for me) as a landing page just by changing the URL for it — for example, if instead of http://www.bingocards.com/lpc/halloween I were to write http://www.bingocards.com/lpc/christmas it would suddenly be a Christmas-oriented landing page.

I strongly recommend that you have some way to quickly generate landing pages like this — if not a custom-built CMS lurking in the background, at least consider having a pre-made template which can be customized and uploaded in a few minutes.  This lets you throw up a quick seasonal campaign anytime you get the inkling to — I don’t know if Dropbox does better on Boxing Day but if you can launch campaigns this quickly there is no reason why they can’t find out in the time it takes to brew coffee.

Work Your Mailing Lists

Many software companies offer interested people the opportunity to opt-in to receiving mails about special promotions & etc.  (I actually didn’t do this for almost three years, because I was worried about being spammy.  Then I dipped my toe in the water and found, to my surprise, that not only can you do email marketing in a non-spammy fashion, some people actually enjoy it so much that they’ll email you to ask why the September newsletter hasn’t arrived yet.  Really!)

For example, when folks sign up for the free trial of Bingo Card Creator, they’re given the opportunity to opt-in to a monthly-ish newsletter.  These folks are solid gold to talk to: all of them have used my product and expressed an interest in hearing about how it can make their classes run smoother.  Halloween is the perfect opportunity to get in touch with them — to hum a few bars, “Hey guys, do you have a Halloween activity planned yet?  Oh, you were too swamped and are putting it off to the last minute?  How about bingo, using that software you already tried out this summer?  It is fun, will fit in your class time, lets you use the candy you were planning on distributing as marketers, etc etc sales pitch.”

For bonus points, you can re-use or re-adapt mini-sites or PPC landing pages for your email audience.  I won’t be doing 100% re-use, since folks who have signed up to the free trial before are at a different point in the sales cycle than folks clicking on those PPC campaigns: they know the software works for their needs, they just haven’t seen $30 worth of value for it yet, so they need to be told how much hassle it is going to save them in late October.  Folks coming in from the PPC campaign, by comparison, know they want to play bingo in late October, but they don’t know that my software can help them do that and that I am not some evil scammer on the Internet.  (Fear and distrust of the Internet and the evil virus-spreading Spammy McPhishertons on it runs rampant in my market, so I spend significant efforts trying to demonstrate that I’m on the up-and-up.  That would make a good topic for a blog post, actually…)

You can also offer incentives to responding to an email.  Discount coupons are traditional, but as web-savvy software engineers we can be much, much more devious.  If you have a game or StackOverflow-type site you can offer a time-limited themed achievement.  I’m planning on offering to give them a Thanksgiving activity for free if they log in before October 31st.  (If that sounds wacky: giving them a Halloween activity for free would destroy any need for them to pay me money right now, but giving them a Thanksgiving activity for free creates a powerful incentive to come to your site and listen to your best possible Halloween sales pitch.  If they weren’t going to log in in October anyhow, giving them a freebie for Thanksgiving costs me nothing, since they were vanishingly unlikely to decide “Hey, I think I’ll log into that dormant account and whip something up for Thanksgiving, fall in love, and decide to purchase it.”)

I want to expand on that last idea a little bit, because it is so powerful for software developers: any IP you create can be replicated essentially indefinitely for no marginal cost, much like your main product.  However, customers don’t see the world that way — they live in a world where scarcity is a reality, and accordingly perceive value in things they don’t have but might want.  Thus, you can trade your customers access to IP in return for going further towards a conversion with you, and scale this offer across all your customers.  The economics of this are staggeringly efficient compared to e.g. PPC advertising, and you’re giving the offer to folks who are already pre-disposed to liking you, so the conversion rates should be much higher than similar techniques aimed at “cold” prospects.

Both making the offer and fulfilling it can be automated, so it costs a static amount of labor no matter how many customers you have and how many take you up on the offer.  If you’re smart and make this process repeatable, it actually takes less time every time you do a similar promotion, since you’ll have the infrastructure already and all you have to do is create or buy the premium.

Trick or Treat

Well, there you have it — three simple techniques you can adapt to almost any holiday or seasonal promotion.  I hope they got the juices flowing a bit.  If you’ve got any fun ideas in the same vein feel free to leave a comment — I love brainstorming with folks.

Look for a post in early November on how these techniques actually ended up working for me.  Early results look rather positive.

Testing a New Marketing Strategy: Email

Since all of the users of BCC online give their email addresses to sign up, I thought I would start with some email marketing.  I’m using MailChimp, chiefly because their website is pretty and I had heard good things about their API.  With the help of the hominid gem it has only taken me about 4 hours to get up and running with my first email.

Emails I’ll be sending:

  • Transactional stuff (lost passwords, purchase confirmations, etc — pretty boring, not through MailChimp)
  • Monthly-ish newsletters, to the people who request them.  Since an absolutely ginormous portion of my business is seasonal, this will let me get in touch with the thousands of users who will sign up before Halloween again at Halloween, and remind them that they can have a great activity ready for only $30.
  • Hints & Tricks: customers who request it will receive a pair of emails, 1 one day after signup and 1 six days after signup.  The first covers basic how-to-use instructions and is just to jog people’s memory that they signed up.  The 2nd is to show some of the more advanced features of BCC and it will probably include a strong suggestion that they buy it… maybe a coupon, too.

The emails run me 2 cents apiece, so I’ll be looking to see if they generate enough marginal business (about 1 sale per every thousand) to justify.  I’m fairly sure I can do at least that well, but we’ll see.  One more lever to optimize…

How To Successfully Compete With Open Source Software

(This post recently got linked on Japanese blogs.  英語より日本語の方が楽な方:これを和訳しようとしています。日本語版はこちらです。)

Every once in a while, somebody on the Business of Software forums asks whether there is any point to trying to compete with open source software (OSS — essentially, software anyone can use and modify without needing to pay money or receive permission).  This is very possible, as folks such as Joel Spolsky pointed out in the ensuing discussion.    I particularly liked one comment on Hacker News about how to compete as Enterprise software.  However, relatively few people in the discussion mentioned B2C (Business To Consumer — you know, the stuff that isn’t paid for by an expense account) software, which people often tell me is doomed, doomed, doomed.  Seeing as how I run a small B2C software business, and am experiencing a crushing shortage of doom, I thought I would explain why this is possible.

My bona fides: I run Bingo Card Creator, which makes educational bingo cards for teachers and parents.  It is about as B2C as you can get.  Sales last year were in the $20,000 range, sales this year are up substantially, and I expect profits will exceed my day job salary/benefits/etc by the end of April.  I started the business in July 2006, when there were already at least two OSS projects which did roughly the same thing: BingoCardMaker and bingo-cards.  (You can tell we really spend a lot of time thinking about naming in my niche, can’t you.)

Thus, my comments are about the other 99% of OSS projects, the low-profile projects which a) do useful things for people and b) you have never heard of.  All OSS is not Firefox in the same way that all proprietary software is not Microsoft Office.

I like OSS, too: I make extensive use of OSS in my business and at my day job.  I routinely contribute code to projects, OSS my own software when it makes competitive sense (you can download my shopping cart), and generally love the stuff.  I don’t see OSS and proprietary software as existential threats to each other.

Thus, when I give developers advice on how to compete with OSS, its not in the sense that I want to trample over the movement’s corpse, burn their homes, and hear the lamentations of their women.  I just believe in getting people to the right tools for the right problems, and often, that tool is going to cost money.  (Nothing wrong with that!)

Places Where Software Developers Can Outdo OSS:

1)  Marketing

Software solves problems.  Customers have problems.  Customers do not know that their problems are sometimes solvable with software.

Less than 1% of customers perceive their problem as a software problem: Whether your software makes bingo cards or drafts table plans or helps people improve their poker game, all it is doing is helping someone get around a problem they had long before they sat down at the computer.  After getting frustrated with their existing attempted solution to the problem, they probably Googled something pretty generic like [how do I make bingo cards].  Empirically, only about 800 people out of the 147,000 who found me from Google in the last year were specifically looking for software.  Add in another 1,600 who were looking for a download, and that’s still 97% who had a bingo problem, not a software problem.

OSS concentrates on the software, not the problems the software can solve: Take a look at an OSS site, any OSS site.  You’ll see a whole lot of talking about the software, the implementation of the software, the source code for the software, how you can contribute to the software, etc.  You’ll almost never see anything about the problem domain — the assumption is that, if you’ve stumbled upon the site, you already know you have a software problem.  

If your marketing is premised around your user knowing they have a software problem, you won’t SEO to capture people looking for solutions for the issues in their problem domains.  Your evangelists will talk with other people who are enthusiastic about software, not with people who consider software about as intrinsically interesting as toasters.  (Many of my most enthusiastic customers despise every minute of using their computers.  They put up with it because it gets them back to their kids faster than any non-computer alternative.)

2) Design

OSS projects, particularly the 99% that are relevant to this discussion, routinely do not allocate resources to creating attractive designs.  For whatever reason, opened source graphical work is still rather rare, most developers (myself included) have the artistic skill of inept mole rats, and the obvious pay-somebody-who-does-it-better solution runs into the problem that the typical OSS project has no budget and no patience to deal with “unfree” licenses, which are the only kind commercially available stock icons have.

This results in a lot of OSS software looking something like:

That design is nice and clean.  However, it looks like the properties dialog box in Eclipse — lots of functionality optimized for packing as many things onto one screen as possible.  There is little thought given to incorporating color into the design, giving the program its own logo or visual identity, or arranging the 13 controls in a user-centric fashion.  Even with those criticisms, this is a good design for OSS software.  I have seen far, far worse.  But we could do so much better, and when we have an incentive to, we do.

The importance of design: I don’t personally use Macs but I think everyone in B2C software needs to take lessons from Apple and the Mac community.  They have proven, again and again, that people will pay a premium for products which are attractive.  Often in B2C the first glimpse of the software makes the sale and everything after that is just justifying to the customer that their gut decision was the right one.  (Same with publishing, incidentally: people really do judge books based on their cover.)

Example: I doubled sales of Bingo Card Creator waaaaay back in August 2006 by adding some more attractive stock icons to it than the fairly staid Java icons I had been using previously.  (That first link has the before/after shots if you want to see it.) 

The workflow is fundamentally different than BingoCardMaker (more about that later), but you can see that this design makes use of bright, pleasing colors.  (Its absolutely amazing how a few bucks worth of icons makes a bog-standard Swing app look so little like a Swing app, isn’t it?)  This is more inviting to the primarily non-technical users who make up the core of my market: it promises to be fun, not painful, to use.

3)  User Experience

“User experience” is easiest to define as “that touchy-feely stuff that Apple does really freaking well”.  The more formal description is that all stages of interaction with the software — from downloading it, to installing it, to using it the first time, to using it the 400th time, and all points in between — should induce joy and contentment, not frustration and rage.

Here’s a bit of homework: find yourself a non-technical person.  Tell them the name of a piece of software on, say, Sourceforge.  Then tell them to download and run it.  Stay in the room but don’t help with completion of the task.

This is so frustrating to most users that the test should probably not be allowed by the human subjects board at most universities.  Somebody might get killed.

Here’s a true story for you.  BingoCardMaker supports one feature which my program does not (picture bingo cards), and which I have no intentions of adding, despite the fact that it is the most requested feature by far.  Accordingly, I used to tell customers who needed that feature “I’m very sorry I can’t help you, but this software can — why don’t you try it?” and I would direct them straight to the download page.

One customer (who is by no means unintelligent) was furious because she spent fifteen minutes on the page unsuccessfully trying to download before deciding it was broken.  Here’s the section of the page: can you tell me what went wrong?

Those words architecture or operating system are pretty confusing, but the word “download” is not.  My customer knew she had to “download”.  So she clicked it, and “the screen blinked away”.  (Clicking download takes you to a list of packages published by the product — totally obvious to a non-technical user, right?)  Then she got back and clicked on options, figuring that it would offer “options for downloading”, but nothing she clicked there worked either.  Finally, frustration mounting rapidly, she clicked Bingo Card Maker because that was what she wanted… and the screen “blinked” again.  (It collapses the tree of options for that package, causing the BingoCardMaker-5.5.1.jar link to vanish.  That link is the one you have to click.  This is quite obvious if you are a Java developer — not quite so obvious if you hold a PhD in English Literature.)

Do not bury the goal: I should mention that if you’re coming from the project page at Sourceforge, the above is three clicks deep after clicking download.  By comparison, downloading Bingo Card Creator takes one click for most people — its the big, blue button that says Download Free Trial.  Folks whose browsers don’t support that are showed the following: 

That was once described as “big pancake buttons” by one of the international developers on the Business of Software forums, and the name sort of stuck.  Pancake buttons work.  They are far, far, far more effective at helping users complete their task (downloading the software) that unobtrusive text links or smaller download buttons — the pancake buttons outperformed by smaller buttons by a factor of 3, and those buttons were themselves much improved successors of my original buttons which had outperformed plain text links by a factor of two.

Wow, it sounds that I’m saying that most prospective users of OSS can’t even manage to download it.  Let me be clear: that is exactly what I am saying.  It isn’t their fault — when our users can’t use our software (and websites are just a special case of software), that means we have failed in our jobs, whether we’re proprietary or OSS developers.  

On to installation: User experience scarcely ends with the download.  Oh no, the opportunities to frustrate and enrage are just beginning!  For example, that JAR file they just downloaded got dumped in a downloads folder somewhere and… well… that is about it.  To execute it, you need to be able to find your downloads folder and double click on it.  The next time you want to execute it, you have to do that again.

By comparison, if you were downloading Bingo Card Creator, you’d get a prompt from your browser asking if you wanted to run it.  It would then take you through a Windows installer which, in a very simple fashion with sensible defaults, would put links on your desktop and start menu to the program, then start it up for you.  At no point do you have to learn any irrelevant trivia like “JAR files are special things created by Java which are sort of like programs, except when they aren’t, and sometimes double clicking on them runs them, except when it causes nasty errors.”

There is a JAR file sitting at the heart of Bingo Card Creator, too — and if my users need to know that then I have failed.  Incidentally, if you do desktop Java development for Windows, please use JET or Launch4j or something.  Java developers deploying to Mac should use the JAR bundler.  (You can even do this from a Windows machine with an OSS ant task.  It is a lifesaver for all of us committed Vista users who need to deploy to OS X.)

User Experience never ends: All interaction with your program, with your site, with your community has user experience implications.  There are many, many opportunities to flub it.  I can’t cover all of them in this article, but I hope to expand on ways to not flub them at a later date.

4) Speaking the users’ language

In keeping with the “Users do not have a software problem” and “Users do not care about your technology choices” points covered above, users fundamentally do not talk like developers.  See this description for one of my OSS competitors:

GPL bingo card printing program (numeric, letter bingo and picture bingo). Also prints a calling sequence (equivalent to the output from a barrel full of balls). XML output for later linking to multimedia engine.

Let’s try that again with the technobabble removed:

GPL bingo card printing program (numeric, letter bingo and picture bingo). Also prints a calling sequence (equivalent to the output from a barrel full of balls). XML output for later linking to multimedia engine.

Those two surviving sentence fragments are all the publicly available description of this program.  Yep, that’s it.  You might have heard that OSS is weak on documentation?  That is only a problem if there is enough of a reason to suspect that the program will work for you in the first place, and two sentences is probably not enough to do it.

I want to quote a real customer of mine, who captures the B2C mindset about installing software very eloquently: “Before I download yet another program to my poor old computer, could you let me know if I can…”  Painful experience has taught this woman that downloading software to her computer is a risky activity.  Your website, in addition to making this process totally painless, needs to establish to her up-front the benefits of using your software and the safety of doing so.  (Communicating safety could be an entire article in itself.)

Incidentally, the Internet sucks the literacy out of people, so be prepared to explain the same thing several times to get the message across.  The most common question I have is “Is every bingo card unique?”  Yep, they’re randomized — that is the only reason you’d use the program and that feature has been the core of it since v1.0.  That fact is mentioned twice in bold on my front page, printed on the main UI of the program itself, etc.  And people still manage to ignore all that, find my email address, and ask me.  

Can you imagine how confused users would be if key features were documented only in blog postings distilled from commit logs, and present nowhere on the product site itself?

(I’m looking at you, Rails.)

5) Support

If you’ve been around OSS for any length of time, you know that almost every community has members who are caring, helpful, and patient.  Unfortunately, they’re not the only people handling support.  I get a lot of questions which sound something like “I clicked the button and it didn’t work” or “plz help can’t print” or “I downloaded the program to my printer and now my screen is grey.  Did you give me a virus?”

(If you don’t understand the significance of the screen being grey, look at the photo here.)

You can probably imagine how well those would go over on the typical OSS mailing list.  To say nothing of basic computer operation questions like “I bought a new computer last week and need to put your software on it.  What do I need to do?  Its not the old computer, which has your software on it, its a new computer.”

Most customers with B2C software — in my experience, about 95% as of late — don’t actually need to ask a question of you, ever.  You can handle all of their needs with well-thought-out automatic processes, FAQs, help files, rigorous improvement of any part of the software that routinely causes confusion, and the like.  However, users like know that there is someone who will be happy to help them out if they need it.  That is the main purpose of offering customer support — decreasing the perceived risk of using your software by demonstrating that there is a safety net.  (This is one reason you should write your support page with an eye to it being seen by someone who isn’t even using your software.)

6)  Technical superiority

You’ll notice I’ve been concentrating mostly on the 90% of the software busines that happens outside of the IDE.  However, there is no reason to assume that OSS is superior on a technical front, either.  I know, a million eyes makes all bugs shallow, yadda yadda yadda.  Back in my reality:

  • the median number of developers per OSS project hosted on Sourceforge is 1. 
  • Perhaps one project in five will ever leave beta.
  • All software has bugs, OSS is no exception.
  • The average software, commercial or OSS, is a usability nightmare.
  • Many programs have not been updated in years and lack the benefit of significant improvements in the state of the art made recently, from modern interface design to first-class integration with the Internet.  
  • Some OSS tries to be everything for everybody and ignores niche markets with pressing specific issues.  
  • Other OSS is hyper-adapted to the problems of a handful of developers scratching their own itches and is unusable by anyone with other requirements.

In other words, you can compete with OSS on a technical level the same way you compete with proprietary software on a technical level: execute better.  There’s really no magic to that.

Conclusion

All of these are opportunities for commercial developers to compete with OSS.  

The world is changing all the time, but plain-ol’ commercial desktop software still has a place in it.  Don’t get worried — concentrate on doing what you do well, from development to marketing to support, and the market will take care of the rest.

If you found this article interesting, try looking around the blog or signing up for the RSS feed.  There’s a lot more where this came from.

Steph Grenier On Generating Traffic For Your Website

I think I mentioned that I don’t really like ebooks the last time I reviewed one.  Please incorporate that total hatred by reference here.  Nonetheless, I gave that ebook, which was written by a professional colleague, an unreservedly positive review, because I sincerely think it will help many of my readers sell software.

Now I’m in sort of a conundrum — I received a copy of another e-book to review.  I respect the author greatly.  The other author who I already gave a positive review to praised the e-book lavishly.  So what’s my problem?

Well, frankly, I can’t imagine the book being all that useful to you, with the exception of three pages that are absolutely dynamite.  (It very well might be useful to some folks who don’t read this blog.  Why write a review for them, though?)

The story in 60 seconds: Steph Grenier of LandLordMax  wrote an e-book on How To Generate Traffic To Your Website.  (I also contributed a chapter to a real on-dead-tree book that Steph is getting published later this year.  The project is unrelated.)  The e-book includes 136 pages, with quite a few full-page annoted screen captures of Google.  We’ll call it about 120 pages of content, in which he covers 11 chapters, from SEO to Blogging to AdWords.

If you do the math there, that is about 11 pages per subject.  Now, supposing you were trying to explain blogging in 11 pages or less to someone who had never heard of the concept before, what do you think you could write before running out of space?

Well, maybe a good introduction to blogging for someone who is never heard of it.

And that is, in a nutshell, what about 95% of the e-book is.  A good introduction to SEO, AdWords, or blogging, for someone who has never heard of the topic.  At all.  If you have done any significant reading on the topics, this e-book will not teach you much that you don’t know.

Example excerpt from the chapter on Blogging:

[One reason why to blog is that it] can personalize your business. Instead of being just another faceless website it can give your website a second personality. It can give it that personal touch that people like. A lot of sales are through emotions, and people like to connect with people they like and trust. If you’re honest and real on your blog, and not just writing what you think people want to hear, you’ll create a personal bond with your customers. This will create long term traffic.

That paragraph is true.  It is fairly well-written.  It just doesn’t teach you anything you don’t already know if you habitually read blogs.  If you have ever read a blog post about why to blog, which are legion, you know it already.  If you already have a blog, you know this in your bones.  This section is also representative of the depth this book goes into on almost all subjects.  If you’re a non-technical small business owner who reads email but isn’t quite hip on this whole Internet thing yet, you might well learn quite a bit from this chapter.  If you’re running an ISV, this is almost certainly going to be akin to having a computer programmer sit through a middle school Algebra I lecture (“OK, class, I’m going to introduce a deep concept — sometimes, instead of a number, you can do math using a letter!  We call this a variable.”)

Topic Selection

I’m somewhat interested in SEO and linkbait, as long time readers of this blog know.  I really can’t recommend the chapter on SEO that much — if you have read almost anything on the subject you already know everything written here, and the topic selection leaves much to be desired.  For example, it covers Keyword Density (a metric which is, frankly, useless because it leads to no actionable insights on how to write your pages) at multi-page length.  Meanwhile, it almost ignores methods of getting links.  (Which is a shame, because this would have been a great time to mention the next section.) 

Three Pages I Really Loved

Pages 52-54 are, far and away, the best part of the book.  It provides a case study (incredibly rare in this book – most of it is basic techniques unconnected with any real examples) of how Steph used a free calculator on his website to double his traffic.  If this had been written elsewhere in the book, the level of detail would have been something like:

Freebies do attract traffic. Unfortunately it’s not always good traffic, some people will only come for the freebies and leave, but many will also stay and re-visit your website in the future (and possibly tell others about it). If you’re a blogger, they may read your other blog posts, buy your services, etc. If you’re a company they may look through your website for other interesting pages, they may tell others about what they found, etc. Freebies have always been a great way to attract attention and traffic. The key is how well you can convert the traffic coming from the freebies.

(Actually, the chapter on Freebies does start out like that.  Nothing you didn’t know already.)  But when grounded in the case study, the chapter suddenly becomes much more useful.  It examines the calculator from multiple points of view — promoting the freebie (which I’d call linkbait, incidentally, and mention REPEATEDLY in the SEO chapter because I will *guarantee* you this did more good for Steph than all his metatags could ever hope for) with a press release, for example.  If the entire book was like these three pages I’d be telling everybody I knew to go out and buy it today, but sadly they are an anomaly.

A Trend I’m Not That Fond Of

One of the reasons I hate e-books is they have a distressing tendency to turn into MLM schemes, with folks writing e-books to promote e-books to…  you get the general idea.  So when I see affiliate links in an e-book, that generally sends my spidersense tingling.  It means that the reader is paying for the privilege of reading an advertisement.  Moreover, unlike say an advertisement in your favorite magazine, rather than being adjacent to the content and clearly marked as not influencing the editorial judgement, these these affiliate ads are built into the content.  Example:

Today what we’ll attempt to do is give you an overview of the most effective SEO techniques at your disposal. I can’t hope to cover everything SEO related, there’s too much material. Indeed, I’d recommend the SEO Bookby Aaron Wall as further reading. I bought his EBook about 2 years ago and I still continue to personally reference it as a great resource. And as new SEO techniques surface and others expire, Aaron continues to update his EBook.

I broke that link intentionally.  Now, SEOBook is a great resource, I’ll agree.  I joined Aaron Wall’s (the author’s) training program for $100 a month, and feel I have gotten enough out of it to justify my first month (ask me about the second in another month).  But if you had found the chapter on SEO a little lacking in the useful detail department, and clicked on that link to go from the beginners’ class to the intermediate one, you’d have caused Steph to pretty much double his money on selling the book to you. 

This troubles me — not because making money on the Internet is a bad thing or anything, but once you start down this road, it becomes difficult for the reader to differentiate between the advice that you’re giving because it is solid advice and the advice you are giving because it offers a solid commission.

Similarly, Bob’s review also uses affiliate links for both Steph’s book and the inline reference to SEOBook.  And we’re off to the Internet Marketing races.  Instead of focusing on selling products of value to customers, we start down the merry path of cannibalizing members of our community for revenue by selling them on the dream of being a successful uISV.  They, in turn, then get to make money by selling the same products to other folks dreaming of being successful uISVs.  Who get to sell the same products to others hoping to be uISVs.  Instead of being an involved community of software entrepeneurs, it would be a community of MLM hucksterism, which does not bring value to anyone and doesn’t generate any revenue from outside the pyramid.

This concern is why I don’t put affiliate links on my site.  Keep in mind that I have the utmost respect for both Steph and Bob, I just think this trend is not in the long-term best interests of this community.

Review In Ten Seconds

Steph Grangier: great guy, successful uISV.  This book: not so hot for most uISVs.  If you buy it: save time, read and implement pages 52 to 54.

Google Features Bingo Card Creator

I’m sorry, this post was due a week ago but I have been a combination of sick and busy.

Regular readers of this blog might remember that, around September, I started using Conversion Optimizer on my Content Network campaign and had a lot of successwith it.  My success came to the attention of the project manager for marketing Conversion Optimizer, and after a bit of discussion we agreed to cooperate in the production of a case study.  Google published that case study fairly recently — it doesn’t include much that you didn’t already read in the above posts and the followup, but it might be interesting to see how their take on it is subtly different than my take on it.  You’ll note, for one thing, that they don’t mention that the prevailing view of the the Content Network is that it is a “hive of scum and villainy”.  I can’t imagine why.

I don’t have definitive knowledge as to why Google chose to select me for the case study.  I have theories, though.  The first was that I took an early lead in staking out the topic area when it was released, and it made excellent sense for Google to talk to someone who was already ranking high for their own product name.  It couldn’t have hurt that I was largely positive and transparently willing to share the exact statistics, which is great for someone who doesn’t want to waste their time going through 15 levels of corporate officers and ultimately failing to get the go-ahead to release the numbers.

I also think that authenticity mattered.  On an Internet which is chock-full of scam artists and folks wanting to make a fast buck at others’ expense, you can stand out pretty easily just by bucking the trend.  If you have 15 competitors and you’re the only one who is radically transparent about your business, then for many opportunities you have no competitors.  You’re sailing in a Blue Ocean, and you’re the only ship there is, from one side of the horizon to the other. 

I think uISVs should make use of this, not necessarily by being radically transparent, but by running businesses which stick out because they are meant to stick out.  The software can be cloned, the keyword lists duplicated, the advertising imitated, but no one has come up with a copy machine which can Xerox the soul of an organization that has one.  If your differentiating factor is a sense of humor, fanatical devotion to customer support, personal expertise in your domain, an emotional connection to your niche, or just the bare fact of being the little guy, that helps you stand out in a sea of mediocrity. 

OK, that is enough of the theorizing.  So, further thoughts on Conversion Optimizer: it still rocks.  I pay about 24 cents for trial downloads from the Content Network these days and, after someone corrected my mistaken impression that you couldn’t use it for search, my search campaign has had a solid three months below 30 cents (which was my gold-standard for execution back when I was hand optimizing).  This has also freed up well in excess of four hours a month, which I have been using to convalesce (boo!) and plot my next improvements to my website (yay!).  I really can’t recommend it enough.

Full disclosure: Google gave me a laptop bag as a thank-you gift for participating in this case study.  Some folks might think that compromises my objectivity.  I don’t think it compromises it nearly as much as helping me make a few thousand bucks, because that buys me an awful lot of laptop bags.  (Although those wouldn’t get me stopped at customs — “Oh, you work for Google!?  ARE YOU FEELING LUCKY?!  Sorry, sorry, I tried to make a joke.  Was it funny?”  Frankly, we need more good bad jokes to pass the time at airport security.)

Fantastic Article on SEO For Bloggers

This article on SEO for bloggers is just amazing.  I highly recommend anyone with a blog who doesn’t already consider them past the intermediate stage on SEO read it.  I recommend absolutely everyone read the followup on how the original article was designed and marketed as a stunningly effective piece of linkbait.  (Some might say that this makes the original article cynical.  I disagree — it was and is very useful to many people, and there is no reason you shouldn’t promote things which are useful to your audience for your mutual benefit.  Rails is another project which has proven that just because you’re professionally marketed and designed to go viral doesn’t mean you have to suck.)

If you’re interested in SEO for bloggers, the author of that piece and I will both be contributing chapters to Steph’s book on blogging.  You might find them of interest.  If Steph lets me I’ll post an early excerpt from my chapter as an early Christmas present to you all.

P.S. Speaking of Christmas, I know you want to play Christmas bingo with your family, right?