Archive | marketing RSS feed for this section

What Heartbleed Can Teach The OSS Community About Marketing

If you’re a technologist and you’re not living under a rock, you’ve heard about Heartbleed, which is a Severity: Apocalyptic bug in the extraordinarily widely deployed OpenSSL software.  Heartbleed lets anyone capable of finding a command line read encryption keys, passwords, and other private data out of affected systems.  If you don’t remember addressing this in the last 48 hours close this window immediately and get to work.

Now that we’re past the immediate panic phase, though, I want to share some lessons learned.  Security experts can tell you more than I can about what it means for good C coding practices in high-criticality security libraries.  I want to take a moment to point at the marketing aspects of it: how the knowledge about Heartbleed managed to spread within a day and move, literally, hundreds of thousands of people to remediate the problem.

Heartbleed is much better marketed than typical for the OSS community, principally because it has a name, a logo, and a dedicated web presence.

What’s In A Name

Remember CVE-2013-0156?  Man, those were dark days, right?

Of course you don’t remember CVE-2013-0156.

The security community refers to vulnerabilities by numbers, not names.  This does have some advantages, like precision and the ability to Google them and get meaningful results all of the time, but it makes it very difficult for actual humans to communicate about the issues.

CVE-2013-0156 was the Rails YAML deserialization vulnerability.  “Oh!  I remember that one!”, said the technologists in the room.  Your bosses don’t.  Your bosses / stakeholders / customers / family / etc also cannot immediately understand, on hearing the words “Rails YAML deserialization vulnerability”, that large portions of the Internet nearly died in fire.  After I wrote a post about that vulnerability I was told for weeks by frustrated technologists about e.g. VPs nixing remediation efforts due to not understanding how critical it was.  That’s a failure of marketing.

Compare “Heartbleed” to CVE-2014-0160, which is apparently the official classification for the bug.  (I say “apparently” because I cannot bring myself to care enough to spend a minute verifying that.)  Crikey, what a great name that is.

  • It references the factual underlying technical reality of the vulnerability, which is data leakage during a heartbeat protocol.
  • It is very emotionally evocative.  Think of your associations — “my heart bleeds for you”, the Sacred Heart and associated iconography, etc.
  • It sounds serious and/or fatal.

Geeks sometimes do not like when technical facts are described in emotionally evocative fashion.  I would agree if it were for the purpose of distortion, but “If you use OpenSSL 1.0.1a-f you could be leaking server memory” actually is serious and/or fatal, so describing it as such has the benefit of making people seek immediate resolution, which should be our goal as technologists.

Unique names (and “Heartbleed” is unique, given that you’d be hard pressed to find any mention of it which predates the vulnerability) are useful for communicating shared concepts between people.  My Twitter stream for the last few days is people sensibly discussing e.g. “Don’t forget, you can be heartbled in a client context”, “How do you fix Heartbleed on Ubuntu?”  “Depends — older versions aren’t vulnerable, newer versions can just apt-get update & upgrade”  “Thanks!”

This is a substantial improvement on conversations I’ve had about previous vulnerabilities, where you often end up discussing, e.g., “the Rails bug.”  Which one?  You know, THE bug.  Wait THE bug or the other bug?  The YAML bug.  Wait wait the YAML bug in the XML handling or the class of bugs caused by YAML deserialization?  Man, would that have been an easier month if we had all been talking about DeserialKiller.

Names which don’t involve arcane trivia like “OpenSSL 1.0.1g” are also easy to communicate with non-technical stakeholders.  If you had a launch yesterday, and you were forced to choose between making the launch date and fixing Heartbleed, you absolutely should have scrubbed the launch.  We were all racing against for loops and the prize for 2nd place was “Our customers’ security gets horribly abused.”  To actually scrub the launch, you might need to convince e.g. a manager that despite the company having dropped $100k on a splashy ad campaign, Heartbleed was priority #1.  The image of your lifeblood dripping out was more likely to successfully accomplish that than a CVE number.

Clear Communication

The Heartbleed announcement should be taught in Technical Writing courses.  It is masterful communication.  Let me quickly excerpt the first three paragraphs:

The Heartbleed Bug is a serious vulnerability in the popular OpenSSL cryptographic software library. This weakness allows stealing the information protected, under normal conditions, by the SSL/TLS encryption used to secure the Internet. SSL/TLS provides communication security and privacy over the Internet for applications such as web, email, instant messaging (IM) and some virtual private networks (VPNs).

The Heartbleed bug allows anyone on the Internet to read the memory of the systems protected by the vulnerable versions of the OpenSSL software. This compromises the secret keys used to identify the service providers and to encrypt the traffic, the names and passwords of the users and the actual content. This allows attackers to eavesdrop on communications, steal data directly from the services and users and to impersonate services and users.

What leaks in practice?

We have tested some of our own services from attacker’s perspective. We attacked ourselves from outside, without leaving a trace. Without using any privileged information or credentials we were able steal from ourselves the secret keys used for our X.509 certificates, user names and passwords, instant messages, emails and business critical documents and communication.

That is tight, precise, hard-hitting writing, of the sort which we normally associate with journalists rather than cryptographers or software engineers.  It is both technically accurate and yet comprehensible if you are not a technologist.  It doesn’t bury the lede about severity: “popular $MUMBOJUMBO software library” “allows stealing the information protected” on your “web, email, IM, and virtual private networks” “without leaving a trace” including “user names and passwords, instant messages, emails, and business critical documents and communication.”

The website goes on to provide technical details and remediation advice, but you can already tell your boss “I can’t do that today, boss.  We have to respond to”  If he spends even 30 seconds glancing at that executive summary he’ll say “Crikey.  Yep, you do.”  I particularly liked the recognition that most remediation of Heartbleed would be done by businesses, which is probably why the writer focused on “business critical documents” rather than the more anodyne “data.”  Data gets weighed by the gigabyte but business critical documents spur immediate action when threatened.

The Benefits Of A Dedicated Web Presence

I often tell OSS practitioners to use dedicated web presences for projects they consider important, as opposed to dangling them off of (without loss of generality) Github.  Why?

People will generally try to link to something to describe a project / vulnerability / etc, and having an easy and obviously linkable canonical description is both best for clarity and best for your own personal interests as the project/etc creator. is the canonical explanation of Heartbleed, both because people trust $8.95 domain names and because it was first published, came with a design/logo and comprehensive information, and is suitably authoritative in character.

Compare it to the best canonical reference you can find about CVE-2013-0156.  That would be an archived copy of a plain-text email, hosted on Google Groups.  It isn’t particularly attention grabbing, doesn’t really scream “citable” to either a technical or non-technical audience, and is optimized for a fairly narrow strand of practitioners rather than the much larger audience of people who should have cared about CVE-2013-0156.

Visual Identity Is Important

The Heartbleed logo is probably one of the highest ROI uses of ~$200 in the history of software security.  (I don’t actually know whether they got it done for $200, but that is about what I paid the last time I had a logo done for an OSS project.)

Heartbleed Logo

I saw some kvetching on Twitter to the effect that the logo designer heard about Heartbleed before the distribution maintainers at e.g. Ubuntu and RedHat did.  This kvetching is wrongheaded, because the logo designer only needed the instruction “We have a project named Heartbleed.  Come up with a logo which says serious danger.”  rather than “Apropos of nothing, mostly non-technical logo designer, the heartbeat protocol in OpenSSL 1.0.1a through 1.0.1f has been fubared for 2 years now.  Don’t tell the Ubuntu guys though, we’re trying to keep it a secret!”

(I am, for what it is worth, absolutely agnostic on who should have preferential access to information of upcoming vulnerabilities with regards to a particular project.  This strikes me as something which should be bought from maintainers/security researchers if you care about it, but I’m only weakly committed to that.)

Why spend the extra money for a logo?  Because it suggests professionalism and dedicated effort, because it will be used exhaustively in media coverage of the vulnerability, because it further deepens the branding association of the vulnerability, the name, the logo, and the canonical web presence, and because it also suggests danger.  Is it the best logo in the history?  No.  This one won’t win design awards.  But it certainly does the job with aplomb.

OSS projects often don’t have logos or, ahem, do not devote to them the level of technical excellence that they devote to their products.  I will refrain from pulling in examples here to make my point.

Marketing Helps Accomplish Legitimate Goals

There exists a huge cultural undercurrent in the OSS community which suggests that marketing is something that vaguely disreputable Other People do which is opposed to all that is Good And Right With The World, like say open source software.  Marketing is just a tool, and it can be used in the cause of truth and justice, too.

As technologists, the Heartbleed vulnerability posed an instant coordination problem.  We literally had to convince hundreds of thousands of people to take action immediately.  The consequences for not taking action immediately were going to be disastrous.  They were not limited to “mere” violations of computer security, but would have had dire economic and social consequences in the real world.  Livelihoods (and, likely, lives) were at stake.

Given the importance of this, we owe the world as responsible professionals to not just produce the engineering artifacts which will correct the problem, but to advocate for their immediate adoption successfully.  If we get an A for Good Effort but do not actually achieve adoption because we stick to our usual “Put up an obtuse notice on a server in the middle of nowhere” game plan, the adversaries win.  The engineering reality of their compromises cannot be thwarted by effort or the feeling of self-righteousness we get by not getting our hands dirty with marketing, it can only be thwarted by successfully patched systems.

This makes marketing an engineering discipline.  We have to get good at it, or we will fail ourselves, our stakeholders, our community, and the wider world.

More OSS marketing like Heartbleed, please.

What I Would Do If I Ran Tarsnap

Tarsnap is the world’s best secure online backup service.  It’s run by Colin Percival, Security Officer Emeritus at FreeBSD, a truly gifted cryptographer and programmer.  I use it extensively in my company, recommend it to clients doing Serious Business (TM) all the time, and love seeing it successful.

It’s because I am such a fan of Tarsnap and Colin that it frustrates me to death.  Colin is not a great engineer who is bad at business and thus compromising the financial rewards he could get from running his software company.  No, Colin is in fact a great engineer who is so bad at business that it actively is compromising his engineering objectives.  (About which, more later.)  He’s got a gleeful masochistic streak about it, too, so much so that Thomas Ptacek and I have been promising for years to do an intervention.  That sentiment boiled over for me recently (why?), so I took a day off of working on my business and spent it on Colin’s instead.

After getting Colin’s permission and blessing for giving him no-longer-unsolicited advice, I did a workup of my Fantasy Tarsnap.  It uses no non-public information about Tarsnap.  (Ordinarily if I were consulting I wouldn’t be black boxing the business, but Tarsnap has unique privacy concerns and, honestly, one doesn’t need to see Colin’s P&L to identify some of the problems.)  This post is going to step through what I’d do with Tarsnap’s positioning, product, pricing, messaging, and marketing site.  It’s modestly deferential to my mental model of Colin — like any good consultant, I recommend improvements that I think the client will accept rather than potential improvements the client will immediately circular file because they compromise core principles.

Let me restate again, before we get started, that I am going to criticize Tarsnap repeatedly, in the good-faith effort to improve it, at Colin’s explicit behest.  I normally wouldn’t be nearly as vocally critical about anything created by a fellow small entrepreneur, but I know Colin, I want Tarsnap to win, and he wanted my honest opinions.

What’s Wrong With Tarsnap Currently?

Tarsnap (the software) is a very serious backup product which is designed to be used by serious people who are seriously concerned about the security and availability of their data.  It has OSS peer-reviewed software written by a world-renowned expert in the problem domain.  You think your backup software is written by a genius?  Did they win a Putnam?  Colin won the Putnam.  Tarsnap is used at places like Stripe to store wildly sensitive financial information.

Tarsnap (the business) is run with less seriousness than a 6 year old’s first lemonade stand.

That’s a pretty robust accusation.  I could point to numerous pieces of evidence — the fact that it is priced in picodollars (“What?”  Oh, don’t worry, we will come back to the picodollars), or the fact that for years it required you to check a box certifying that you were not a Canadian because Colin (who lives in Canada) thought sales taxes were too burdensome to file (thankfully fixed these days), but let me give you one FAQ item which is the problem in a nutshell.

Q: What happens when my account runs out of money?

A: You will be sent an email when your account balance falls below 7 days worth of storage costs warning you that you should probably add more money to your account soon. If your account balance falls below zero, you will lose access to Tarsnap, an email will be sent to inform you of this, and a 7 day countdown will start; if your account balance is still below zero after 7 days, it will be deleted along with the data you have stored.

Yes folks, Tarsnap — “backups for the truly paranoid” — will in fact rm -rf your backups if you fail to respond to two emails.

Guess how I found out about this?

I use Tarsnap to back up the databases for Appointment Reminder.  Appointment Reminder has hundreds of clients, including hospitals, who pay it an awful lot of money to not lose their data.  I aspire to manage Appointment Reminder like it is an actual business.  It has all the accoutrements of real businesses, like contracts which obligate me not to lose data, regulations which expose me to hundreds of thousands of dollars of liability if I lose data, insurance policies which cost me thousands of dollars a year to insure the data, and multiple technical mechanisms to avoid losing data.

One of those mechanisms was Tarsnap.  Tarsnap is a pre-paid service (about which, more later), so I had pre-paid for my expected usage for a year.  I tested my backups routinely, found they worked, and everything was going well.

Fast forward to two weeks ago, when idle curiosity prompted by an HN thread caused my to check my Tarsnap balance.  I assumed I had roughly six months remaining of Tarsnap.  In fact, I had 9 days.  (Why the discrepancy?  We’ll talk about it later, I am not good at forecasting how many bytes of storage I’ll need after compression 12 months from now, a flaw I share with all humans.)  I was two days away from receiving an email from Tarsnap “Your account is running a little low” warning.  Seven days after that my account would have run down to zero and Tarsnap would have started a 7 day shot clock.  If I didn’t deposit more money prior to that shot clock running out, all my backups would have been unrecoverably deleted.

I am, in fact, days away from going on a business trip internationally, which previous experience suggests is a great way for me to miss lots of emails.  This is pretty routine for me.  Not routine?  Getting all of my backups deleted.

Getting all of my backups deleted (forgive me for belaboring that but it is a fairly serious problem in a backup service) would be suboptimal, so I figured there must be a way to put a credit card on file so that Colin can just charge me however many picodollars it costs to not delete all the backups that I’d get sued for losing, right?

Quoth the Colin:

But if you’re saying I should have a mechanism for automatically re-billing credit cards when a Tarsnap account balance gets low — yes, that’s on my to-do list.

Lemonade stands which have been in business for 5 years have the take-money-for-lemonade problem pretty much licked, and when they have occasional lemonade-for-money transactional issues, the lemonade does not retroactively turn into poison.  But Tarsnap has been running for 5 years, and that’s where it’s at.

The darkly comic thing about this is I might even be wrong.  It’s possible Colin is, in fact, not accurately stating his own policies. It is possible that, as a statement about engineering reality, the backups are actually retained after the shot clock expires e.g. until Colin personally authorizes their deletion after receiving customer authorization to do so.  But even if this were true, the fact that I — the customer — am suddenly wondering whether Tarsnap — the robust built-for-paranoids backup provider — will periodically shoot all my backups in the head just to keep things interesting makes choosing Tarsnap a more difficult decision than it needed to be.  (If Colin does, in fact, exercise discretion about shooting backups in the head, that should be post-haste added to the site.  If he doesn’t and there is in fact a heartless cronjob deleting people’s backups if they miss two emails that should be fixed immediately.)

Positioning Tarsnap Away From “Paranoia” And Towards “Seriousness”

Let’s talk positioning.

You may have heard of the terms B2B and B2C.  Tarsnap communicates as if it were a G2G product — geek 2 geek.

How does Tarsnap communicate that its G2G?  Let me quickly screengrab the UI for Tarsnap:

15 6 * * * /usr/local/bin/tarsnap -c -f database_backups_`date +\%Y-\%m-\%d` /backups/ /var/lib/redis && curl &> /dev/null

I’m not exaggerating in the slightest.  That’s literally pulled out of my crontab, and it is far and away the core use case for the product.

Other things you could point to in describing Tarsnap’s current positioning are its web design (please understand that when I say “It looks like it was designed by a programmer in a text editor” that is not intended as an insult it is instead intended as a literal description of its primary design influence), the picodollar pricing, and numerous places where the product drips with “If you aren’t a crusty Unix sysadmin then GTFO.”

Example: Suppose you’re using Tarsnap for the first time and want to know how to do a core activity like, say, making a daily backup of your database.  That’s the need which motivated that command line soup above.  What does the Tarsnap Getting Started guide tell you to do?

If you’ve ever used the UNIX tar utility, you’ll probably be able to go from here on your own…

If you actually aren’t a master of the UNIX tar utility, don’t worry, there’s a man page available.  (It won’t actually help you accomplish your goal, because you are not a crusty UNIX sysadmin.)

This positioning has the benefit of being pretty clear — you will, indeed, quickly get the point and not use Tarsnap if you are not a crusty UNIX sysadmin — but it is actively harmful for Tarsnap.  Many people who would benefit most from Tarsnap cannot use it in its current state, and many people who could use it will not be allowed to because Tarsnap actively discourages other stakeholders from taking it seriously.

How would I position Tarsnap?

Current strap line: Online backups for the truly paranoid

Revised strap line: Online backups for servers of serious professionals

What does Tarsnap uniquely offer as a backup product?  Why would you use it instead of using Dropbox, SpiderOak, Backblaze, a USB key, or a custom-rolled set of shell scripts coded by your local UNIX sysadmin?

Tarsnap is currently defined by what it doesn’t have: no Windows client.  No UI.  Essentially no guidance about how to use it to successfully implement backups in your organization.

Tarsnap should instead focus on its strengths:

Tarsnap is for backing up servers, not for backing up personal machines.  It is a pure B2B product.  We’ll keep prosumer entry points around mainly because I think Colin will go nuclear if I suggest otherwise, but we’re going to start talking about business, catering to the needs of businesses, and optimizing the pieces of the service “around” the product for the needs of businesses.  We’ll still be pretty darn geeky, but treat the geek as our interface to the business which signs their paychecks and pays for Tarsnap, rather than as the sole customer.

Why should Tarsnap focus on backing up servers rather than even attempting to keep regular consumers in scope?

  • The average consumer is increasingly multi-device, and Tarsnap absolutely sucks for their core use case currently.  They want photos from their iPhone to work on their Windows PC.  They have an Android and a Macbook.  They have multiple computers at use simultaneously in their family.  Tarsnap is absolutely unusable for all of these needs.  These needs are also increasingly well-served by companies which have B2C written into their DNA and hundreds of millions of dollars to spend on UXes which meet the needs of the average consumer.  Colin has neither the resources nor the temperament to start creating compelling mobile apps, which are both six figures and table stakes for the consumer market right now.
  • Tarsnap’s CLI is built on the UNIX philosophy of teeny-tiny-program-that-composes-well.  It’s very well suited to backing up infrastructure, where e.g. lack of a GUI would cripple it for backing up data on workstations.  (We’ll ignore the lack of a Windows client, on the theory that UNIX has either won the server war or come close enough such that durably committing to the UNIX ecosystem leaves Tarsnap with plenty of customers and challenges to work on.)
  • Data on servers is disproportionately valuable and valuable data is disproportionately on servers.  Consumers like to say that their baby photos are priceless.  Horsepuckey.  Nobody rushes into burning houses for their baby photos.  Empirically, customers are not willing to spend more than $5 to $10 a month on backup, and that number is trending to zero as a result of rabid competition from people who are trying to create ecosystemic lock-in.  Businesses, on the other hand, are capable of rationally valuing data and routinely take actions which suggest they are actually doing this.  For example, they pay actual money to insure data, just like they buy insurance on other valuable business assets.  (Appointment Reminder, a fairly small business, spends thousands of dollars a year on insurance.)  They hire professionals to look after their data, and they pay those professionals professional wages.  They have policies about data, and while geeks might treat those policies as a joke, they are routinely enforced and improved upon.

An immediate consequence of focusing Tarsnap on servers is that its customers are now presumably businesses.  (There exist geeks who run servers with hobby projects, but they don’t have serious backup needs.  Have they taken minimum sane steps with regards to their hobby projects like spending hours to investigate backup strategies, incorporating to limit their liability, purchasing insurance, hiring professionals to advise them on their backup strategies, etc?  No?  Then their revealed preference is that they don’t care all that much if they lose all their hobby data.)

How do we talk to the professionals at businesses?  First, we can keep our secret geek handshakes, but we also start recognizing that most businesses which are serious about their data security will have more than one person in the loop on any decision about backup software.  Why?  Because having something as important as the security of their data come down to just one person is, in itself, a sign that you are not serious.  No sophisticated business lets any single person control all the finances for the company, for example, because that is an invitation to disaster.  We also recognize that these additional parties may not be geeks like the person who will be physically operating Tarsnap, so we’re going to optimize for their preferences as well as the geeks’.

What does this mean?

We decide to look the part of “a serious business that you can rely on.” is getting a new coat of paint (see below) such that, if you fire your boss an email and say “Hey boss, I think I want to entrust all of our careers to these guys”, your boss doesn’t nix that idea before Malcom Gladwell can say blink.

We start arming our would-be-customer geeks to convince potentially non-technical stakeholders that Tarsnap is the correct decision for their business’ backup needs.  This means that, in addition to the geek-focused FAQ pages, we create a page which will informally be labeled Convince Your Boss.  Many conventions which geeks would be interested in, for example, let their would-be attendees print letters to their bosses justifying the trip in boss-speak (ROI, skills gained as a result of a training expenditure, etc).  I sort of like Opticon’s take on this.  Tarsnap will similarly create a single URL where we’ll quickly hit the concerns non-technical stakeholders would have about a backup solution: reliability, security, compliance, cost, etc.  This page would literally be 1/5th the size of this blog post or less and take less than an hour to write, and would probably double Tarsnap’s sales by itself.  The page will not mention command line interfaces, tar flags, crontabs, or picodollars.

We speak our customers’ language(s).  This doesn’t mean that we have to suppress Colin’s/Tarsnap’s nature as a product created by technologists and for technologists.  It just means that we explicitly recognize that there are times to talk tar flags and there are times to talk in a high-level overview about legitimate security concerns, and we try not to codeshift so rapidly as to confuse people.

We burn the picodollar pricing model.  With fire.  It’s fundamentally unserious.  (Ditto Bitcoin, the availability of which is currently Tarsnap’s view of the #1 most important they could be telling customers, rather than boring news like “Tarsnap is used by Stripe” or “Tarsnap hasn’t lost a byte of customers’ data in history.”)

Pricing Tarsnap Such That People Who Would Benefit From It Can Actually Buy It

Tarsnap’s current pricing model is:

Tarsnap works on a prepaid model based on actual usage.

Storage: 250 picodollars / byte-month
($0.25 / GB-month)
Bandwidth: 250 picodollars / byte
($0.25 / GB)

These prices are based on the actual number of bytes stored and the actual number of bytes of bandwidth used — after compression and data deduplication. This makes Tarsnap ideal for daily backups — many users have hundreds of archives adding up to several terabytes, but pay less than $10/month.

Colin, like many technologists, is of the opinion that metered pricing is predictable, transparent, and fair.  Metered pricing is none of predictable, transparent, or fair.

Quick question for you, dear reader: What would you pay for using Tarsnap to back up your most important data?

You don’t know.  That’s not a question, it’s a bloody fact.  It is flatly impossible for any human being to mentally predict compression and data duplication.  Even without compression and data duplication, very few people have a good understanding of how much data they have at any given time, because machines measure data in bytes but people measure data in abstractions.

My abstraction for how much data I have is “One MySQL database and one Redis database containing records on tens of thousands of people on behalf of hundreds of customers.  That data is worth hundreds of thousands of dollars to me.”  I have no bloody clue how large it is in bytes, and — accordingly — had to both measure that and then do Excel modeling (factoring in expected rate of growth, compression ratios, deduplication, etc etc) to guess what Tarsnap would cost me in the first year.  (Why not just say “It’s a lot less than $1,000 so I’ll give Colin $1,000 and revisit later?”  Because I have two countries’ tax agencies to deal with and my life gets really complicated if I pre-pay for services for more than a year.)

I screwed up the Excel modeling because, while I correctly modeled the effect of increasing data requirements due to the growth of my service in the year, I overestimated how much data compressed/deduplication would happen because I was storing both plain text files and also their compressed formats and compressed files do not re-compress anywhere near as efficiently as non-compressed files.  Whoopsie!  Simple error in assumptions in my Excel modeling, Tarsnap actually cost 4X what I thought it would.

By which I mean that instead of costing me $0.60 a month it actually costs me $2.40 a month.

This error is symptomatic of what Tarsnap forces every single customer to go through when looking at their pricing.  It is virtually impossible to know what it actually costs.  That’s a showstopper for many customers.  For example, at many businesses, you need to get pre-approval for recurring costs.  The form/software/business process requires that you know the exact cost in advance.  “I don’t know but we’ll get billed later.  It probably won’t be a lot of money.” can result in those requests not getting approved, even if the actual expense would be far, far under the business’ floor where it cared about expenses.  It is far easier for many businesses to pay $100 every month (or even better, $1,500 a year — that saves them valuable brain-sweat having to type things into their computer 11 times, which might cost more than $300) than to pay a number chosen from a normal distribution with mean $5 and a standard deviation of $2.

So the pricing isn’t clear/transparent, but is it fair?  “Fair” is a seriously deep issue and there are all sorts of takes on it.  As happy as I would be to discuss the intersection of Catholic teaching on social justice and SaaS pricing grids, let’s boil it down to a simple intuition: people getting more value out of Tarsnap should pay more for it.  That quickly aligns Tarsnap’s success with the customer’s success.  Everybody should be happy at that arrangement.

So why price it based on bytes?  Metering on the byte destroys any but the most tenuous connection of value, because different bytes have sharply different values associated with them, depending on what the bytes represent, who owns the bytes, and various assorted trivialities like file format.

Here’s a concrete example: I run two SaaS products, Bingo Card Creator and Appointment Reminder.  Bingo Card Creator makes bingo cards, sells to $29.95 to elementary schoolteachers, is deeply non-critical, and is worth tens of thousands of dollars to me.  Appointment Reminder is core infrastructure for customers’ businesses,  sells for hundreds to tens of thousands per year per customer, is deeply critical, and is worth substantially more than tens of thousands of dollars.

So the fair result would be that BCC pays substantially less than Tarsnap for AR, right?  But that doesn’t actually happen.  My best guesstimate based on Excel modeling (because BCC never bothered implementing Tarsnap, because I’m not mortally terrified that I could wake up one morning and Mrs. Martin’s 8th grade science bingo cards created in 2007 could have vanished if my backups failed) is that BCC would pay at least five times as much as Appointment Reminder.

What other intuitions might we have about fairness?  Well, let’s see, my company is engaged in arms length dealings with Tarsnap and with many other vendors.  I think it sounds fair if my company pays relatively less money for non-critical things, like say the cup of coffee I am currently drinking ($5), and relatively more money for critical things, like say not having all of my customer data vanish (Tarsnap).

I recently did my taxes, so I know with a fair degree of certainty that I spend more than $10,000 a year on various SaaS products.  (Geeks just gasped.  No, that’s not a lot of money.  I run a business, for heaven’s sake.  By the standards of many businesses I have never even seen a lot of money, to say nothing of having spent it.)

This includes, most relevantly to Tarsnap, $19 a month for Dead Man’s Snitch.  What does DMS do for me?  Well, scroll back up to the entry from my crontab: it sends me an email if my daily tarsnap backup fails.  That’s it.  Why?  Because “the backup did not happen” is a failure mode for backups.  Tarsnap does not natively support this pretty core element of the backup experience, so I reach to an external tool to fill that gap… and then pay them 10X as much for doing 1/1000th the work.  What?

(Let me preempt the Hacker News comment from somebody who doesn’t run a business: Why would you use DMS when you could just as easily run your own mail server and send the mail directly?  Answer: because that introduces new and fragile dependencies whose failure would only be detected after they had failed during a business catastrophe and, incidentally, be designed to avoid spending an amount of money which is freaking pigeon poop.)

So how do we charge for Tarsnap that accomplishes our goals of being predictable, transparent, and fair?

  • We’re going to introduce the classic 3 tier SaaS pricing grid.  This will give the overwhelming majority of our customers a simple, consistent, predictable, fair price to pay every month.
  • We’ll keep metered pricing available, but demote it (both visually and emphasis-wise) to a secondary way to consume Tarsnap.  It will now be called Tarsnap Basic.  Tarsnap Basic customers are immediately grandfathered in and nothing about their Tarsnap experience changes, aside from (perhaps) being shocked that the website suddenly looks better (see below).
  • We honor Colin’s ill-considered price decrease which he awarded customers with following the recent AWS/Google/Microsoft/etc platform bidding war.

We’re going to use our pricing/packaging of Tarsnap to accomplish price discrimination between customer types.  Our primary segmentation axis will not be bytes but will instead be “level of sophistication”, on the theory that quantum leaps in organizational sophistication/complexity roughly correspond with equal or higher leaps in both value gotten out of Tarsnap and also ability to pay.

Here’s some potential packaging options as a starter point.  These don’t have to be frozen in time for all eternity — we could always introduce them in April 2014, keep them around for 6 months, and then offer a new series of plans at that point in response to customer comments, our observations about usage, the degree to which they accomplish Tarnsap business goals, and the like.

The questions of what the pricing/packaging is and how we present it to customers are related but distinct.  This is the version for internal consumption — actual design of the pricing grid took more than 15 minutes so I decided to nix it in favor of shipping this post today.

Tarsnap Professional Tarsnap Small Business Tarsnap Enterprise
$50 / month $100 / month $500 / month
All of Tarsnap Basic All of Tarsnap Basic All of Tarsnap Basic
10 GB Unlimited storage, up to 500 GB of media Unlimited storage, up to 1 TB of media
Priority support Priority support
Onboarding consultation Onboarding consultation
Custom legal / compliance documentation
POs & etc

That’s the offering at a glance. What changed?

We’re de-emphasizing “count your bytes” as a segmentation engine. I picked 10 GB for Tarsnap Professional because it feels like it is suitably generous for most backup needs but could plausibly be exceeded for larger “we want our entire infrastructure to be Tarsnapped” deployments. Importantly, I’m *not* segmenting by e.g. number of machines, because I think the market is moving in a multi-machine direction and Tarsnap is so effective and elegant at supporting that sort of incredibly valuable and sticky use case that I don’t want to impede it. (Tarsnap also must implement multi-user accounts and permissions for larger businesses, because that is a hard requirement for many of them. They literally cannot adopt Tarsnap unless it exists. That’s a natural addition at the Small Business or Enterprise level, but since that feature does not currently exist I’m punting from including it in the current packaging offering. Once it’s available I say put it on Enterprise and then grandfather it onto all existing customers to say “Thanks for being early adopters!”, and consider adding it to Small Business if you get lots of genuinely small businesses who both need it but balk at $500 per month.)

We’ve added “effectively unlimited” storage to Tarsnap.  I think Colin just blew approximately as many gaskets at this change as I blew when I heard he was lowering his prices.  Revenge is sweet.  See, Colin has always priced Tarsnap at cost-plus, anchoring tightly to his underlying AWS costs.  Tarsnap is not AWS plus a little sauce on top.  AWS is a wee little implementation detail on the backend for most customers.  Most Tarsnap customers don’t know that AWS underlies it and frankly don’t care.  If you assert the existence of strangely technically savvy pixies who have achieved redundant storage by means of writing very tiny letters on coins guarded by a jealous dragon, and Tarsnap used that instead, Tarsnap would be the same service.

Tarsnap isn’t competing with AWS: the backups being safely encrypted is a hard requirement for the best customers’ use of Tarsnap.  I can’t put my backups on AWS: instant HIPAA violation.  Stripe can’t put their customers’ credit cards on AWS: instant PCI-DSS violation.  We both have strong security concerns which would suggest not using unencrypted backups, too, but — like many good customers for Tarnsap — we never entertained unencrypted backups for even a picosecond.

So we’re breaking entirely from the cost-plus model, in favor of value-oriented pricing?  What does this mean for customers?

They don’t have to have a to-the-byte accurate understanding of their current or future backup needs to guesstimate their pricing for Tarsnap anymore.  You could ask people interviewing for position of office manager, without any knowledge of the company’s technical infrastructure at all, and they would probably correctly identify a plan which fits your needs.  Stripe is on Enterprise, bam.  Appointment Reminder is on Small Business, bam.  Run a design consultancy?  Professional, bam.  Easy, predictable, fair pricing.

Why have the media limit in there?  Because the only realistic way you can count to terabytes is by storing media (pictures, music, movies, etc).  Colin is in no danger of selling Tarsnap to people with multiple terabyte databases — there’s only a few dozen of those organizations in the world and they would not even bring up Tarsnap to joke about it.  (That’s, again, said with love. AT&T will not be using Tarsnap to store their backed up call records.)  You won’t hit a terabyte on e.g. source code.  If someone does, ask for their logo for the home page and treat their COGS as a marketing expense.

How does Colin justify the “media” bit to customers?  Simple: “Tarsnap is optimized for protecting our customers’ most sensitive data, rather than backing up high volumes of media files.  If you happen to run a film studio or need backups for terabytes of renders, drop us a line and we’ll either custom build you a proposal or introduce you to a more appropriate backup provider.”

Colin probably blew his stack about Tarsnap no longer being content neutral, because this requires us knowing what files his customers are storing in Tarsnap.  No, it doesn’t.  You know how every ToS ever has the “You are not allowed to use $SERVICE for illegal purposes” despite there being no convenient way to enforce that in computer code?  We simply tell customers “Don’t use this plan if you have more than 1 TB of media.  We trust you.  We have to, since the only information our servers know about your use is $TECHNICAL_FACT_GOES_HERE.”   If this trust is ever abused in the future Colin can code up a wee lil’ daemon which checks customers accounts and flags them for review and discussion if they hit 30 TB of post-compression post-deduplication usage, but it’s overwhelmingly likely that nobody will attempt to abuse Colin in this fashion because serious businesses take stuff that you put into contracts seriously.  That’s 99.54% of why contracts exist.  (Most contracts will never be litigated.  If anyone ever abuses Colin and does not correct their use when told to, he’ll simply point to the “We can terminate you at any time for any reason” line in his ToS written there by any serious lawyer.)

I will briefly observe, with regards to cost control, that if every customer used 100 GB of data then this would cost Colin single-digit dollars per customer per month, that 100 GB of (de-duplicated, compressed) data is actually incredibly rare.  Since the happy use case for Tarsnap involves virtually never downloading from the service (because backups are inherently write-seldomly-read-very-very-very-infrequently) AWS’ “bandwidth free incoming, bandwidth cheap outgoing” will not meaningfully affect costs-of-goods (i.e. Colin’s marginal expenditure to have the Nth marginal client on Tarsnap).

I will also briefly observe that Colin does not currently have a terminate-your-account option in his ToS.  Why?  Probably because no lawyer was involved in creating it, a decision which should be revised in keeping with positioning Tarsnap as a serious business which transacts with other serious businesses.  Lawyers will occasionally ask technologists for silly contractual terms which have no relation to technical reality.  Reserving the right to terminate accounts is not that kind of term.  If any clients strongly object to it, they can have their own lawyer draw up a contract and pay Enterprise pricing after Colin’s lawyers have reviewed and negotiated the contract.  You want to hear why SaaS businesses should always keep a no-fault-terminate option available?  Get any group of SaaS owners together and ask for horror stories.  A surprising number of them involve literal insanity, involvement of law enforcement, threats, and other headaches you just don’t need to deal with for $29/$50/whatever a month.

What does priority support mean?

It means that Colin will answer emails to prioritysupport@ before he answers emails to support@.  That’s it.

I know, I know, this blows geeks’ minds.  Is it OK to charge for that?  Of course it is.  You advertised what they were getting, they accepted, and you delivered exactly what you promised.  That’s what every legitimate transaction in history consists of.

Why would customers buy this?  Perhaps because they have company rules such that they always purchase the highest level of support, and the difference between $50 and $100 a month is so far below their care floor that that avoiding requesting an exception is worth the marginal cost to them.  Perhaps because when their backups have a problem a difference of a few minutes is actually an issue for them.  Perhaps because it isn’t really an issue for them (if it is, Tarsnap’s SLA is a nonstarter, seeing as Tarsnap has no SLA) but they like to see themselves as important enough that it is.  Perhaps because they’re worth billions of dollars and run credit card transactions for hundreds of thousands of people and why are we even having this discussion of course they want priority support for our backups.  (That’s called “price insensitivity” and every B2B SaaS ever should take advantage of it.)

What is an onboarding consultation?

Nobody buys Tarsnap because they want to use Tarsnap.  They buy Tarsnap because they have a burning need in their life for encrypted reliable backups (or a need for not losing their data in event of a breach or a fire or a hard drive failure or all the other ways you can lose data).  Tarsnap is a piece of the puzzle for meeting that need, but it isn’t all of it.

Can I confess ineptitude with UNIX system administration?  I founded a company, but I’m not a sysadmin.  My first several days of using Tarsnap were marred because the cronjob entry which I thought was supposed to do a timestamped backup every day was failing because of improper use of backticks in bash or some nonsense like that.  Whatever.  Now that it works it doesn’t matter what the problem was, but back when I implemented Tarsnap, that was a problem for me.  I guarantee you that Colin could have dealt with that problem in seconds.  I would love to have had him available to do that.  Now in actual fact I could probably have just sent Colin an email and he would have gladly helped me, but I didn’t do that because I’m a geek and I hate imposing on people, so why not make that offer explicit?

There’s many other ways to fail at backups other than screwing up your crontab.  Did you want to backup your MySQL database?  Did you backup the actual data files rather than a mysqldump?  Sucks to be you, but you won’t know that until the most critical possible moment, likely several years from now.  Did you forget to print a hard copy of your Tarsnap private key?  Sucks to be you, but you won’t know that until your hard drive fails.  etc, etc

Colin is a very smart guy and he has more experience at backups than many of his customers, so why not offer to make sure they get up and running on the right foot?  He does consulting anyhow (or did, back when Tarsnap was not paying the bills), so just do it in the service of the product: ask customers about their businesses, make sure they’re backing up the right information on a sensible schedule, and offer to assist with the non-Tarsnap parts of the puzzle like monitoring, auditing, compliance, etc etc.  (That would, incidentally, expose Colin to real-life justifications for features which should absolutely be in-scope for Tarsnap, like monitoring.)  It makes it easier for clients to justify using Tarsnap, easier for them to succeed with using Tarsnap, and easier for them to justify to other stakeholders why they went for the Enterprise plan rather than the Professional plan.  Businesses are quite used to paying for experts’ time.

(From Colin’s perspective, by the way, the effective hourly rate on these free consultations will eventually absolutely ROFLstomp his highest hourly rate.  I charged $30k a week back when I was a consultant, and onboarding Appointment Reminder customers is still monetarily a better use of my time.  “Hundreds of dollars a month” multiplied by “many customers” multiplied by “years on the service” eventually approaches very interesting numbers.)

What does custom legal / compliance documentation mean?

Many larger businesses require certain contractual terms to buy software, even SaaS which those contractual terms do not contemplate.  (e.g. “You should provide us with media containing the newest version of the software on request, delivered via courier within 7 business days.” <– an actual term I’ve been asked to sign for SaaS).  Instead of saying “We have a ToS which is a take-it-or-leave-it proposition”, say “We’re willing to have our lawyers look over any terms you have, and will either counteroffer or accept them depending on whether they’re reasonable.  This is available at our Enterprise pricing level.”

If your organization is sophisticated enough such that it can afford counsel and layers of scar tissue that generate custom language required to use software, it can afford Enterprise pricing.  If it’s not, you can use the easy, affordable options in the other columns.  (And while we won’t say this in so many words to clients, if you think you get custom legal work done for you at the lowest price, you are irrational and we do not desire your custom.  I’ve had clients ask me to sign their handwritten-and-scanned contracts which all but obligate me to give them my firstborn if Microsoft eats their Googles… and could I get the $29 a month pricing, please.  I’m not even going to waste my lawyer’s time with looking at it for less than $500 a month.)

In addition to improving Colin’s ability to get people up to Enterprise pricing, this opens new markets up for him.  For example, an IT company working with US healthcare clients might ask Colin to sign a BAA.  (I think, as a founder of a company which has to care about that, that Tarsnap is likely out of BAA scope, but somebody might ask him to sign that anyhow.  Better safe than sorry, etc.)  Rather than saying “No.”, Colin should say “Let me one that run by the lawyer.”, who will advise him that while it’s a paperwork hassle the first time it exposes him to zero legal risk.  So Colin would gladly cash that $500 a month check while mentioning explicitly on the website “Do you need HIPAA compliance for your backups?  We can accommodate that!”

Speaking of which: there should, eventually, be a Tarsnap in $INDUSTRY pages on the website for all of the top use cases.  On the healthcare page you could brag about HIPAA compliance, on the payment processing page about “Stripe uses us!” and DCI-PSS compliance, etc etc.

What is the transition strategy from metered pricing?

Simple.  Metered pricing is now called Tarsnap Basic and is available from one weeeeee little text link somewhere on the pricing page, or alternately by contacting Colin directly.  It has everything Tarsnap has as of the writing of this article.  Nobody who has ever used Tarsnap Basic has anything taken away.

Colin will be shocked and amazed at this, but very few customers are going to actually search out and find that link, he will not experience significant decreases in the number of new accounts he gets per month, and — I will bet pennies to picodollars — he discovers that, amazingly, the people who prefer Tarsnap Basic are, in fact, his worst customers in every possible way.  They’re going to take more time, use the service less, and in general be more of a hassle to deal with.

We grandfather in existing Tarsnap Basic clients.  If there is anybody paying Colin more than $100 or $500 a month for Tarsnap currently, Colin can either a) advise them that they should upgrade to one of the new plans (if they’re not using media files), b) immediately upgrade them to the new plan himself, or c) tell them “You’re now on a special variant of the new plans, such that you have no limit on your media files.  Otherwise it just purely saves you money.  Have a nice day.”  I feel that all of these are the right thing to do, and they might be the only recommendations in this post which Colin actually won’t object to.  Yay.

Why grandfather in clients?  It will cost us a bit of money in opportunity costs, but a) keeping commitments is the right thing to do, b) we can justify it as being a marketing expenditure to reward the loyalty of our early adopters, and c) the portion of customers receiving deeply discounted Tarsnap services will quickly approach zero because Tarsnap has yet to even scratch the surface of its total addressable market.

Why keep Tarsnap Basic at all?  Honestly, if this were a paid consulting gig, I would be pulling out my This Is Why You Brought Me In card here and going to the mattress on this issue: Tarsnap’s metered pricing is a mistake and should be killed, not rehabilitated.  You pick your battles with clients, but this one is worth fighting for.  Unfortunately, I believe that years of ragging Colin about picodollar pricing has caused him to dig in his heels about it, such that he feels it would be a rejection of the core of Tarsnap if he were to go to better pricing options.  Since I hope that Tarsnap actually improves as a result of this post, I’d be more than happy with an incremental improvement on the pricing.

What is a PO?

A PO is a Purchase Order.  It is a particular document enshrined as part of the purchasing ritual at many businesses, which often require a bit more ceremony to buy things than “Give us your credit card and we’ll Stripe it.”  Colin can now respond to any requirement for heightened purchasing ceremony with my magical phrase “I can do that with a one year commitment to the Enterprise plan.”

Can we pay with a PO?  “I can do that with a one year commitment to the Enterprise plan.”

Do we get a discount for pre-paying? “I can do that with a one year commitment to the Enterprise plan.”  (Let’s be generous: $500 a month or $5k for the year.  Cheaper than a week of a sysadmin’s time!)

Can you help us work up an ROI calculation for our boss?  “I can do that with a one year commitment to the Enterprise plan.”

Do you accept payment in yen?  “I can do that with a one year commitment to the Enterprise plan.”

Can we pay you with a check?  “I can do that with a one year commitment to the Enterprise plan.”

Tarsnap’s clients and Tarsnap will both benefit from Tarsnap charging more money

More money in the business will underwrite customer-visible improvements to the business, such as e.g. buying actual insurance for data which is in his care.  It will allow him to prioritize features that core customers really need, like e.g. the recurring billing thing which has been on the back burner for several years now.  It will let him not have to worry about cash flow as much as he is presumably doing currently, allowing him to take customer-favorable actions like not deleting all of your backups within days of a transient credit card failure.

It will allow Colin to buy his way around the bus number question.  (“What happens if you get hit by a bus?”  Currently: Nothing immediately, but eventually the service might fail.  We hope we fail at a time convenient for you to not have any of your backups?  Later: Don’t worry, we have systems and processes in place to cover business continuity issues.  Our lawyers have a copy of our credentials in escrow and we have a well-regarded technical firm on retainer.  In the event of my death or incapacitation, contracts activate and the business is wound down in an orderly fashion, such that your data is never lost.  You’d have several months to decide whether to keep your backups with a successor organization or migrate them to other providers, and our successor organization would assist with the migration, free of charge.  We have this described in a written Business Continuity Plan if you’d like to take a look at it.)

It also, frankly, compensates Colin better for the enormous risk he took in founding Tarsnap (as opposed to e.g. working in-house at any of his clients).  I know Colin is pretty happy with the living Tarsnap currently affords him.  Bully for him.  I hate attempting to change anyone’s mind about core philosophical beliefs, but on this particular one, Joel Spolsky did me an enormous favor back in the day and I’d like to pay that forward to someone else in the community.  (Particulars elided because it was a private conversation, but Joel convinced me not to just get BCC to the point of self-sufficiency and then retire, and part of the rationale is relevant to Colin.)

What we’re fundamentally concerned with here is an allocation of the customer surplus — the difference between what customers would pay and what they actually pay — between the customers and Colin, in his capacity as Chief Allocator For Life Of All Tarsnap-related Surpluses.  Colin is currently deciding that his customers are the most deserving people in the entire world for those marginal dollars.

Is that really true?  Appointment Reminder, LLC is a force for good in the world, I hope, but it certainly doesn’t match my intuitions as the highest and best use of marginal funds, and it really doesn’t care about the difference between the $2.40 it currently pays and the $100 it would happily pay.  That won’t even cause a blip in business.  As the founder, the LLC’s bank account is very much not my own pocket, but I’m probably the best informed person in the world about it’s balance, and I’d literally not be able to notice the difference after a month.

Can I tell you a story about Anne and Bob?  They’re trying to divide a carrot cake fairly between the two of them.  Carrot cake, if you’re not familiar with it, has delicious carrot-y goodness and is topped with very sugary white frosting.  In the discussion of the fair division of the cake, Bob mentions “By the way, I’m severely diabetic.  I can’t eat sugary white frosting.  If you give me any of it, I’ll scape it off.”

There’s many fair ways to cut that carrot cake, but (assuming that Anne likes sugary goodness and would happily have all of it if she could), any proposed allocation of cake that gives Bob one iota of frosting can be immediately improved upon by transferring that frosting to Anne’s piece instead.  This is true regardless of your philosophy about fairness or cake cutting, or whatever Anne and Bob might contemplate regarding the delicious carrot-y portions.  Even stevens?  That works.  Give Bob extra cake because Anne isn’t particularly hungry?  That works.  Anne has a lethal allergy to carrots and so wants none of the cake?  That works, too.  Anne and Bob belong to an obscure religion founded by cryptographers which dictates that in case of conflict over resources ties go to the person whose name has the lexicographically lower MD5 hash when salted with the name of the resource at issue?  That works too!  Just don’t give Bob the frosting because that’s just not the best way to cut the cake.

This stylized example uses absolutes, but in the real world, Colin and his customers are cutting a cake composed of encrypted-backup-so-your-business-doesn’t-fail goodness iced with whole-tens-of-dollars-a-month.  The customers mostly don’t care about the frosting.  Colin should take all of it that is available to him.  Aggregated over hundreds or thousands of customers it is absolutely lifechanging for Colin, Tarsnap, or whatever people or organizations are implicated by Colin’s terminal values.

Even if Colin desires to subsidize people whose use of Tarsnap is economically suboptimal when compared to Appointment Reminder’s (and thus who can’t afford the $50 a month), Colin should not cut prices on Appointment Reminder to do it.  He should instead charge AR (and hundreds/thousands of similarly situated organizations) $100 a month and then use the $100 to buy, hmm, “a shedload” of AWS storage, allowing him to charge nothing to whatever people/schools/charities/etc he wants to benefit.  You could call even put that on the pricing page if you wanted to.  Tarsnap Dogooder: it’s free if you’re doing good, email us to apply.

Colin has twice proposed that there should be a special optional surcharge if customers feel like they’re not paying enough.  Let’s run that one by the 6 year old with the lemonade stand: “Why don’t you do this?” “Because few people would pay for it, and it would complicate the discussion about buying lemonade, and it would make them feel really weird, and if they wanted to be charitable they’d probably have a markedly different #1 priority for their charity right now than middle class kids with entrepreneurial ambitions.”  All true, 6 year old!

I might also add, as someone who was dragged kicking and screaming into being a responsible grownup running a serious business, that while I personally can choose to donate money the business can’t.  If it isn’t necessary it isn’t a business expense (that’s phrased 必要経費 — quite literally “necessary business expense” — by my good buddies at the National Tax Agency — and yes, for the 43rd time, I really can read Japanese).

Memo to OSS developers: I can pay money for software licenses, even if the license is just “MIT, but we invoice you”, but I cannot just put business funds in your tip jar.

Tarsnap Needs A Fresh Coat Of Paint

I have abominable design skills.  That said, I still wouldn’t ship Tarsnap’s design, because it is the special flavor of poorly designed which could actually cost sales.  (Many non-beautiful sites do not cost sales.  Example: look at every bank or enterprise software company ever.  Very few would win design awards.  They just have to waltz over the very low does-not-scare-the-customer-bar.  Tarsnap trips.)

Here’s what I’d tell a contract designer hired to re-do the Tarsnap CSS and HTML: “Competitors to Tarsnap include Backblaze, SpiderOak, Mozy, and the like.  People who could make the decision to use Tarsnap might be familiar with and generally appreciate Twilio, Sendgrid, and Stripe.  Steal liberally from their designs and keep nothing of the current design.  Heck, you can even copy their mistakes, like using carousels.  No mistake you copy from those folks will be anywhere near as bad as it looks right now.  Lorem ipsum out the text.  If you have any question about a visual element rather than asking Colin or I you should ask any Project Manager or Team Lead you know ‘Would this cause you to run away from the screen in revulsion?’ and you can keep absolutely anything where the answer is ‘No.'”)

A visual redesign will probably cost Colin four to low five figures.  That’s cheap at the price of the business it will bring in within even the first month, but hey, let’s hypothetically assume it isn’t in the budget.  In that case, we go to Themeforest and buy any SaaS template which isn’t totally hideous.  Here’s one.

Pardon me for ten minutes while I pay $20 and deliver a quantum leap in visual experience…

And done.



Seriously, I have live HTML for that, and it probably took a whole 20 minutes.  Rewriting the entire Tarsnap website from scratch would be roughly one day of work.

That testimonial from Patrick Collison is, by the way, legit.  It could easily be accompanied by a logo wall of customers in a redesign.

I’m really ambivalent on what could go in the large image that I placeholder’d out, by the way.  Literally anything.  A stock icon enterprise shot would work, a skewed listing of arbitrarily database backups could work, a photo of some model exuding “I feel the thing that can only be felt by people who did not just lose all of their backups”, anything.  Even “This space intentionally left blank” is more professional than the existing Tarsnap site.  That could be fixed after fixing re-occuring billing or the cronjob which goes around deleting people’s backups.

Ordinarily I would suggest A/B testing designed changes, but Colin won’t ever actually run an A/B test and this is a clear improvement, so in this case I’d settle for shipping over certainty.

Getting Started With Tarsnap — Slightly Improved

Get Started Now is probably not my most innovative call to action button copy ever, but it’s an improvement over the existing call to action button… principally because the current site has no call to action button.  If you’re good at scanning blocks of text, you might find the link to [get started with Tarsnap].  Go ahead and load that in a new window, then come back.

Can you tell me what you need to do to get started with Tarsnap?  Feels like an awful lot of work, right?  That’s partially because it actually is a lot of work, and partially because it’s communicated poorly.

The Getting Started guide for software which assumes the user knows what a man page is includes the actual text “Go to the Tarsnap registration page, enter your email address, pick a password and enter it twice, and agree to the Tarsnap terms and conditions. Hit Submit.”  Is there any crusty Unix admin in the entire world who needs this level of detail in instructions to get through a form?  All this does is make the process feel more painful than it already is.  Also, why is that button called Submit?  I lack any information that customers for Tarsnap are masochists and accordingly Submit-ting is probably not what they came here to do, so how about we re-use that CTA “Get Started Now” or something similar.

We then go to the client download page.  Wait, scratch that, the instructions-for-building-from-a-tarball page.

“Hey kid, if instead of lemonade, you were selling a paper cup, a sugar cube, and a lemon, how much of that would you sell?”  “Mister, you ask really dumb questions.”

Colin should pick any five distributions and have the packages ready to go for them.  Heck, you can give people copy/paste command lines for getting them up and running, too, if you’re feeling really generous.

You can demote the build-from-tarball UX for advanced users or people using obscure distributions.  This will substantially ease the user experience here.  Even folks who are quite comfortable with reading pages of instructions to compile software don’t do it for fun.

After successfully getting the client installed, we then have to configure our server’s key pair.  That can (probably?) be integrated into the get-the-right-package described earlier.  (If you wanted to be really clever, you could come up with something such that the user never has to e.g. plug in their username and password because you already know it since they just gave you their username and password prior to navigating to the instruction page, but hey, that will actually take a few hours/days of programming.  We can do it a few months from now.)

There is a really important instruction in the Getting Started guide which is easy to overlook, even with being bolded:

STORE [THE KEY FILE] SOMEWHERE SAFE! Copy it to a different system, put it onto a USB disk, give it to a friend, print it out (it is printable text) and store it in a bank vault — there are lots of ways to keep it safe, but pick one and do it. If you lose the Tarsnap key file, you will not be able to access your archived data.

Tarsnap will appear to work if you ignore that instruction.  Ignoring it will, almost certainly, mean that actually using Tarsnap was for naught, because if your machine dies your ability to access your backups dies as well.

1)  At the very least, Colin should email everyone who signs up a new machine 1 hour later asking them to confirm that they have, in fact, moved their key file somewhere safe.  I guarantee you that this mail will catch many people who didn’t.  (I only noticed that instruction two weeks into my use of Tarsnap because, like many people, I don’t read on the Internet.)

2)  I know Colin currently conceptualizes Tarsnaps as “backups for the paranoid” and this resonates with some of his users, but as long as we’re moving to Serious Business, let’s give serious businesses their choice of levels of paranoia to embrace.  You can default to the current “You manage your key and, if you screw it up, well I guess then you’re totally hosed” but supplement that with “Optional: We can hold a copy of your keys in escrow for you.  [What does that mean?]”  This gives people who prefer Tarsnap to be absolutely 150% unable to decrypt their information to be able to get that, but also lets folks trade modest security for reliability.  Many businesses care about reliability more than the modest security tradeoff.

For example, where do you think my Tarsnap keys are?  Storage on my person is out of the question, and storing in a physical location is difficult when I split my time between two continents, so they’re somewhere in The Cloud.  I’m taking a gamble that that cloud provider and I are at least as good at securing that key file as Colin would be.  I trust us, but I trust Colin more, so I wish there was a simple “In case of emergency, get Colin on the phone and have him securely transfer a copy of the key files backed to me” option in case disaster strikes.  (And again, that sort of thing is historically something people are happy to pay for.  If I were to hypothetically use the “print out a copy of the key and put it in a safe deposit box” option that actually costs more than Tarsnap does currently.)

What Happens After We Install Tarsnap?

Currently, absolutely nothing happens after you install Tarsnap.  It just leaves you to your own devices.  There’s a very lackluster getting started guide which barely reads you the command line options.

Does the user want to read command line options?  No.  Probably 90% of users need one of, hmm, five things?

1)  I want to back up my database.  How do I do that?

2) I want to back up my source code.  How do I do that?

3) I want to back up this entire freaking server.  How do I do that?

4) I want to back up my website.  How do I do that?

5) Somebody told me to get the important stuff backed up.  I’m not sure what is important.  Any help?

It doesn’t hurt the experience of Crusty UNIX Sysadmins (TM) an iota to write a decision tree into the website which would give handy, detailed instructions for people encountering these very common needs.  They’d be more likely to get Tarsnap into a place where it is useful, more likely to spend more money (on Tarsnap Basic), and more likely to ultimately achieve success with having restorable, usable backups via adopting Tarsnap, as opposed to muddling their way through backing up MySQL and accidentally getting files which can’t actually be restored.

What Else Could We Change About Tarsnap?


  • The marketing site includes no testimonials or case studies.  Solicit and add them.  Stripe seems to be an easy layup here, since they’re already on the record as loving Tarsnap.
  • There’s no reason to go to Tarsnap or cite Tarsnap except if you want to use the tool or you personally like Colin.  Colin’s a likeable guy, but he could also be a likeable guy building the Internet’s best set of instructions for backing up arbitrary systems.  How to back up a Rails app!  A WordPress site!  A Postgres database!  etc, etc . They’d get him highly qualified traffic from people who are very motivated to learn about robust, secure ways to back up their systems.  Too knackered to write these pages, Colin?  I sympathize, what with all the exhausting work lifting money off the table and into your pockets, but now that you have lots of money you can pay people to write these pages for you.
  • There’s an entire Internet out there of companies whose businesses implicate backups but which do not want to be in the backup business.  Let’s see: Heroku, WPEngine, substantially every SaaS with critical data in it, etc.  Colin could approach them serially and offer easy integration options if they are willing to trade exposure to their customer bases.  It’s a win-win: target company gets the world’s best answer to the “Is my data safe with you?” question, Colin gets scalable customer acquisition, target company’s customers get our-data-does-not-vanish.
  • Tarsnap assumes as single-user-with-godmode privileges, which doesn’t map to the understanding of many businesses.  Accounts should have multiple users and access controls.  Audit logs and whatnot are also options.  All of this will help people justify Enterprise pricing and also help people justify using Tarsnap in the Enterprise at all, since — at present — Tarsnap fails a lot of company’s lists of hard requirements.  (You don’t need every company in the world to be able to use you, but there’s plenty of features which unlock hugely disproportionate value for customers and for Colin relative to the amount of time they take to make.  Multiuser accounts doesn’t double the complexity of Tarsnap but it probably singlehandedly doubles Tarsnap’s exposure to dollars-spent-on-backup, for example.)
  • Tarsnap doesn’t currently do the whole backup puzzle.  It doesn’t have monitoring, it doesn’t have convenient ways to restore, etc.  Tarsnap could easily create more value for users by filling those sub-needs within backups and could potentially even consider branching out some day.

Ten thousand words, crikey.  OK, I’ve said my piece.  If you’d like me to do something similar for your business, I’m not actively consulting anymore, but you’d probably be well-served by getting on my email list.  I periodically go into pretty deep coverage of particular areas of interest to software companies, and — occasionally — there’s an announcement of commercial availability of this sort of advice.  Speaking of which, I should get back to building the stuff that people pay for, in anticipation of fun new ways to give Tarsnap more money.

Selling Your Software To Businesses [TwilioCon 2012 presentation]

I presented on selling your software to businesses at last year’s Twilio conference.  (I’ll let you in on a little secret: while this presentation is applicable to Twilio-powered applications, it’s 99.95% applicable to B2B SaaS companies which don’t have anything to do with Twilio.)  Alexis Finch did a Sketchnote on it, which inspired me to get the whole speech transcribed.  (n.b. I received permission to post it here, and by “received” I mean “paid for” because I feel very strongly that professionals should not work for businesses for free.)

Video, sketchnote, slides, and transcript below.

You’ll want to read/watch this if you’re interested in:

  • Ways to transition customers from paying $X00 a month from your four-column-SaaS-pricing-grid to paying $X,000 or $X0,000 for Enterprise software contracts.
  • Ways to optimize that four-column-SaaS-pricing-grid to increase your revenue without meaningfully decreasing conversions.
  • A few tricks for using email to sell software. (Yeah, I write about that a lot these days. Why? A combination of “It’s easy to do, easy to describe, and high-impact advice for people attending a conference” and “It’s just been an automatic I-win button every time I try it, for consulting clients, friends, and myself.” If you’d like to hear me delve into it in a lot more detail, that’s something you can buy.)



Click to enlarge (but note: 14 MB).

Patrick McKenzie Sell Your Software To Businesses Sketchnote



Selling Your Twilio‑powered Products to Businesses

Patrick McKenzie:  Hi, everybody. I’m Patrick McKenzie. We’re going to do a little bit of audience participation in this, so just to give me a feel for who’s out here. Can you raise your hand if, like me, you’re a developer? OK. Folks who are in marketing, sales, business, et cetera?

Audience member:  Yeah.

Patrick:  One more show of hands. Who here has a Twilio app that’s in production that you’re selling to customers right now? Last year, I talked mostly to developers. This year, it’s mostly going to be to the business stuff, although developers can make the things we’re going to talk about in this presentation to generate the sales.

Brief background of the business that I run these days. My business is called “Appointment Reminder.” It makes appointment‑reminding phone calls to the customers of professional‑services businesses, like, say, a doctor’s office or an HVAC installer, to tell them, “Hey, your appointment is at 2:00. Please remember to come to it. Press 1 if you can come in. Press 5 if you can’t.”

Then, if they can’t come in, rather than that person just disappearing off the schedule and the doctor losing the revenue for that slot, we can quickly rebook a different person into the slot and save them revenue.

This is not really a presentation about me. It’s a presentation about you and your businesses, how you can make more money with them by learning how to do sales a little better.

Low-Touch, High-Touch, And Hybrid Sales Models

There’s two prevailing models of sales. One is called low‑touch sales ‑‑ you have a website, people come to it, they sign up, they use the free trial, they pay you on their credit card a month later, largely without talking to you. Then there’s the high‑touch sales, where we’re dealing with big freaking enterprises, steak and various entertainment budgets, and then a chicken gets sacrificed and six months later, a PO gets issued.

I’ve actually done both of these. I’m an engineer, I’m, by default, not really great at either of them, but I’ve learned a few things over the years. We’re going to talk about how you can improve both your low‑touch sales and your high‑touch sales.

One interesting thing in the software industry these days is that there is a hybrid model. One of the most important things that happened with the SaaS model for software is that because you can get up to $500 a month of revenue from a SaaS service ‑‑ and customers will frequently be on your service for a year, two years, four years ‑‑ that brings in four‑figure to low five‑figure lifetime values into the zone that you could possibly attack with the low‑touch sales model, where that was never possible before.

The canonical essay on this is Joel Spolsky’s “Camels and Rubber Duckies.” Just Google that. [Patrick notes: I’ll save you two seconds.] It’s great. When he wrote it, he said, “There’s no software that’s priced between $400 and $75,000, because $400 is about the most you can budget on a credit card and 75,000 is about the least that it takes to send somebody to a location with the account manager and sales engineer, have the steak dinners at various high‑end restaurants and sacrifice the chickens and have the high‑touch sales work.”  [Patrick notes: Hmm, it seems Joel actually quoted $1k as the minimum price.  My memory is swiss-cheese, sorry.]

Hybrid sales is one of the very interesting spaces, and I don’t think that we’re taking enough advantage of it, so much of this presentation is going to be showing you how you can make hybrid sales work better. You can also use the hybrid sales approach to have the customer start out with the low‑touch sales, like many of you might’ve started out with Twilio ‑‑ just sign up on their website, give them a credit card, you get $30 of free credit.

Then that person becomes an infection vector into their enterprise ‑‑ that’s a bad way to put it, maybe a “brand advocate” into their enterprise ‑‑ so that when the enterprise says, “Hey, we have needs. We need a service‑level agreement and you need to have HIPAA compliance,” that’s an excellent opportunity for them to talk to the sales team and maybe we can get a steak ordered.

A Brief Primer On Pricing SaaS

Price based on customer perceived value. Don’t price based on cost. This is a severe temptation for people who are building Twilio apps because we know that, OK, a phone call costs me two cents a minute, so if I bill it out to my customer at three cents a minute, that’s a great outcome. That is a terrible outcome for you.

Great outcome for your customers, because you are ridiculously undercharging your software that way. Your customers do not perceive the value of your applications as being dumb telephone pipes. If they wanted dumb telephone pipes, they could get them from AT&T for like $14 a month. They value the business logic and the business results that your applications can provide.

Let me give you an example from one of my customers. He runs an HVAC company. He sends out a van of three guys to somebody’s house. If they can’t get into the house because the homeowner forgot that they needed their water heater replaced today, then they lose about $300 worth of salary upfront. Because your home water heater being broken is typically an emergency for the customer, the customer will often get home from work, realize that water heater is still broken and call somebody else from the phone book, so they lose a $2,000 to $5,000 sale.

This customer has emailed me and said that I’m putting his daughter through Harvard because of the amount of money just automated phone calls are saving him every month. Now, he doesn’t know this, but I’ll tell all you guys. It cost me $1.96 to make those phone calls for him for last month, but I’m putting his daughter through Harvard.

Clearly, an equitable arrangement is not charging him four dollars a month, based on cost plus pricing. It’s charging him a portion of the value his business is generating. I charge him about $200 a month, and he tells me he would pay 10 times as much.

Segment to capture customer value. You will have customer who have things about them, either their use of the software or particular features that they need, which describe that you are creating much more value for their business than other customers might be receiving.

One way to segment is ‑‑ you’ve all used SaaS before and it has that lovely little four‑column chart? The four‑column chart is becoming a standard in the SaaS industry because it’s widely superior to a lot of other methods. If you just had one monthly price for the software, I will tell you, 99‑percent probability, I could write out three columns, knowing almost nothing of your business, and your revenue would go up the next month.

Similarly, if you have an overly complicated pricing grid, sales tend to go down. This is something that I’ve tested out with a bunch of my consulting clients.

Another thing. For low‑touch SaaS, metered billing is an anti‑pattern ‑‑ metered billing being when you are charged linearly with respect to usage. Why? Your customers’ usage is typically very low, like the guy who needs a buck‑96 a month worth of usage. Customers have a high perceived cost associated with uncertainty.

If they don’t know whether it’s going to be $25 a month or $55 a month, as a small business that might matter. It might be worthwhile to them paying 40 bucks a month, and always 40 bucks a month, just so they never get a month that’s 55, even if 40 bucks a month for a year costs them more than metered billing for a year.  [Patrick notes:  Want to blow your mind?  There are many, many businesses which have an easier time paying $99 a month than they have paying rand($40 ~$55) per month.  This is partially because there is a time-cost associated with doing the bookkeeping/requisitions/etc monthly and partly because people hate uncertainty so much that they will overpay to never have to worry about it.]

Give the customer what they ask for, which is predictability and being able to buy a solution that works for their needs, and then charge them for that.

Also, for selling to businesses, always remember this. You are not taking your customer’s money. You are taking the business’s money. No customer feels a pain in their life. They don’t have to hold out on going on a date with their wife just because they paid you $20 more or $100 more. Typically, they’re not compensated based on shaving of $100 a month from their business expenses, because on business scales, $100 a month, it doesn’t move the needle for most businesses.

Don’t aggressively price your products. Price them according to value, such that you have a nice business and they have nice value created by using your stuff.

Let’s do a pricing‑page tear‑down. Here’s the pricing page for Appointment Reminder. I could show you some consulting clients and the various changes I made to their things, but that gets into NDA territory, and I can spill on my own stuff. Let’s show you the important things.

This thing at the top, the headline, “Pays for itself in one saved appointment,” that’s called an anchor. We’re anchoring the price of this solution to the business value that the customer is receiving from it. Notice that we’re not using the anchor, “A phone call costs two cents. You can make 100 phone calls for only two dollars.” No, we anchor it to the business value.

The way I chose these numbers for ‑‑ you might not be able to read it. It’s Professional, Small Business, Office. 29, 79, and 199. It turns out that there’s industries in which $29 is a common price point for an appointment, like, say, mid‑end hair salon. $79 might be a common price point at a, say, high‑end spa. Then 199 is a common price point for something where people drive to your house, like an exterminator.

One of the things that customers do is they auto‑select into, “My appointments are worth about $100 bucks, so I should be going into the $79 plan,” even if their usage ‑‑ which was way lower on the thing ‑‑ would only put them in the $29 plan.

Also, take a look at plan names. Many SaaS businesses go for fanciful plan names, like, “You should buy Bronze. You should buy Silver.” That’s typically not optimal. You want plan names which convince your customers to upgrade themselves into the higher plans because they feel that they need them.

True story. I used to work at a big freaking mega‑corp, and I needed to use a SaaS. I think it was Crazy Egg. I wrote out the requisition request for my boss, said, “I’ve run the numbers, boss. We need a hobbyist plan that’s nine dollars a month.” He opens up their pricing page, scratches out “hobbyist” in red ink, writes “enterprise,” scratches out nine dollars, writes 4.99, sends it back to me for approval.

I’m like, “Wait, boss. No, I’ve run the numbers. We only need the nine‑dollar hobbyist plan.” He said ‑‑ quotable ‑‑ “If I’m going to submit this to my boss and it says ‘hobbyist,’ we’re an enterprise. We need the enterprise plan.”

Crazy Egg got $490 of extra enterprise revenue. Sadly, my boss would not pay me my enterprise salary.

Most actionable tip you’re going to hear today. If you don’t already offer annual billing, you’re going to start. This tip is going to pay for your trip to Twilio because there’s a specific way that you can offer annual billing that your customers will massively uptake, and it will make you ungodly amounts of money.

Why do we like annual billing? Because getting money upfront is better than getting money over time, all of the time. Because doing annual billing will decrease the turn rate for your customers and turn kills SaaS businesses. If you want the full math on that, ask me later. I’m a math geek.

And because this often solves pain points for your customers. They have to fill out a requisition every month when that credit card charge comes in, and they’re a little annoyed by that. It’s not their money, but it’s their time every month filling out that requisition form. Solve a problem for your customer by getting all that money in one little itty bitty requisition form upfront.

How are you going to offer annual billing? You’re going to offer annual billing in an email sent to your established customers, people who have already been using the monthly plan for a month or three months or six months. So they know, “Yeah. This software is valuable. I’m getting value out of it.”

You’re going to say, “Hey, thank you for being a loyal customer. In return for you being a loyal customer, I will give you an exclusive deal. If you switch to annual billing, I will give you the next month of the software free. So you only pay 11 months rather than 12 months. It cost $200 a month. Rather than being 2,400 for the year it’s 2,200.”

The combination of that discount plus the exclusivity plus the perceived risk that the offer will go away, because you’re only offering it to them once, will mean that instead of like one or two percent of your customers upgrading 10 percent, or in one of my client’s cases 25 percent of customers upgrade, 25 percent times 11 months of revenue upfront is a big whack of cash flow when you send this email.

I have done this at several customers. The first time we send the email to a list of…say there are hundreds of thousands of customers, we ended up receiving hundreds of thousands of dollars of revenue the same day the email was sent. Seriously, implementing this will take you less than 30 minutes. It should be the first thing you do when you get back to your businesses.

Other low‑touch stuff that works. You all have websites, and you use AdWords, SEO, OneUp. Those are very deep topics, and I’ve talked about them 100 times. I won’t be talking about them now. Here’s a quick win for you. If you don’t already have Olark or some sort of live chat widget on your website, put it there.

Have people be in it during common business hours. That has doubled sales at some of my customers just by doing that because some people just feel that they need to talk to a real person behind the counter to actually trust a business. This is particularly common in less‑techy niches.

Fully functional free trials, many of you probably already have that, or you have first month free with a credit card sign up. We’re going to be talking about specific ways to optimize them in a few minutes. Email, email, email. We’re going to talk about that a lot, too.

Let’s talk about product tours. What is a product tour? A product tour is a first‑use experience, so we take someone through either their first time using the software or early in their life with the software to expose them to the richness of the software and to make them feel awesome.

Why do we do this? Because if you just have the common free trial that someone gets into, sees their dashboard, 40 to 60 percent of those users will close out of that application, and they will never come back. If you’re spending $10,000 a month on Google AdWords ads, you’re setting $5,000 or so on fire because they see the app once and never come back.

We have to make that first‑use experience of the software totally rock. Dropping people in dashboards doesn’t rock. Giving people customization screens doesn’t rock, so we’re going to show them the fun bits and make them feel the experience of becoming awesome through using your software immediately. How are we going to do that?

First, we are going to demonstrate one awesome improvement that the app has already made in their life in the first five minutes of using the software. Second, we’re going to establish a reason why they should come back to it later. Third, if there’s any social component, like if any of you do productivity apps where the entire team has to be in the application, we’re going to request that they invite the rest of the team into the application.

That is a major, major win. Literally increased sales by about 30 percent at one customer of mine when we just started asking them explicitly to invite your team in at the end of a three‑minute trial.

Appointment Reminder. I didn’t launch with a product tour. I started it about two months after launch when I realized that there was this problem. My typical customer behavior was that people were signing up for the free trial of the service. But they scheduled appointments about four to six weeks before the appointment was actually supposed to take place. The free trial is 30 days.

At the time where they’re making the go or no‑go decision on Appointment Reminder, it hadn’t actually called anybody, and why would you pay for something that calls people if it never actually calls people? Many people made the decision, “I’m not really getting value out of it. I don’t want my card charged for 200 bucks. I’m gone.” Similarly, 60 percent of people were abandoning the product on the first day and never coming back.

I changed up the application to give people the experience of this app being awesome on the first day. How did I do it? First, when customers get into the application, I ask them for their phone number and say, “We’re going to give you a quick little demo call.” Make a semi demo call just like they were getting a call like their customers would get a call.

They see, “This is real. It’s not just some scam on the Internet. The software does actually work.” Then we teach them how to schedule appointments in under 30 seconds, then teach them how to manipulate [laughs] appointments in under 30 seconds. Then we tell them what they should do next.

This would be a great opportunity for selling the benefits that’s going to make for their organization, but I just haven’t implemented that yet because I’m stupid.

This is actually ugly as sin. It’s just JavaScript and elbow grease. It took me about two weeks to code, but it is the highest ROI on any code I have ever written for my own business. Similarly, I did a two‑week project at a consulting client of mine to implement a tour like this. Again, JavaScript and elbow grease increased sales by 30 percent. That’s a company with millions of dollars of revenue. Two weeks is worth 30 percent extra in sales.

Best thing that you can do in the tour. There are features in your app that are especially sticky. If you look in your old data, there’s something or if you have a feel of what the happy customers look like, you can identify certain features as being positively correlated with the happiest customers, the ones that are getting the most value out of it.

Introduce those features right away. Don’t hide them in the third screen after customization. You will see a major uptake in those features and hopefully an uptake in your customer metrics after that.

How many people sent less than, say, five emails a month to customers in their first month of the software? Raise your hand. Yeah, hands up? You all should be emailing people more than you do. Ask them for their permission to do it, but many of your customers will receive a lot of value from you if they trusted you enough to give you their credit card or to sign up for a free trial.

Wlk them through that free trial. Make them have the successful first experience with that trial. How can we do that? Why would we want to do this? Conversion to paying sign‑ups straight off a website is very low. One percent. If you optimize it like heck, you can get it at two percent. But if you offer people a free incentive in exchange for their email address, you can get 20 to 40 percent conversion rates to that.

Having their email address gives you the opportunity to sell them over time, and then you will get vastly higher than one percent to two percent conversions off sales to that email list. One way you can do this is by setting up a drip campaign, a sequence of six to eight emails delivered over the course of a month. The pitch to the customer might be, “We’re going to give you a free one‑month course on this topic that you’re interested in written by our experts.”

Many people can’t say no to that. In the course of that drip campaign, you first educate them on things in your problem space. You persuade them that you are an expert on this problem space and that you are a credible individual and a credible company. Only then you try selling them. When you try selling them, many of them will be happy to buy at price points which they would never have considered two weeks ago before they knew you.

I’ll show you an example of something I did for a client, and the client told me I could talk about this. This is WPension. They give you a little free inspection of your website that will tell you, “Hey, it’s loading at 4.6 seconds. It could load faster if you do some things. Here’s how to do that.” They’re a hosting company.

It offers on the page where you get this free inspection, “Hey, click this box. We’ll give you a free one‑month course on improving the security uptime, et cetera, of your WordPress site. Many people opt into this box.” Then what we do, we hit them with a sequence of emails over the month to demonstrate credibility.

It starts. They were interested in a diagnostic on their website’s performance, so we send them the next day, “Here are three action tips for improving your website’s performance,” and a lot of people open that. A few days later, “Let’s talk about scalability. Scalability is a little different than the performance for any one user. Here are some tips for improving it.”

Obviously, WPension are experts at this, so they have very compelling educational content in these emails. They have almost no sales message whatsoever. Next time, they talk about the WordPress security background. “WordPress security is kind of iffy. You can do stuff with files permissions that will make it less likely that your site gets owned.”

Then the fourth email is, “How hosting matters for your business,” and this is where they start selling. They say, “Look. If your website goes down in the middle of you being on the Oprah Winfrey show, you’re going to lose tens of thousands of dollars. That five‑dollar‑a‑month WordPress hosting that you’re on that goes down and gets virus infected every month doesn’t look so cheap anymore, does it?

“We have an option managed by the WordPress experts, and it only costs $200 a month, which is honestly nothing next to the business value created by your website.” That email and the subsequent emails in this sequence absolutely prints money.

More advanced uses of email. So you can use someone’s interaction with your applications to drive targeted emails specific to that person and to their situation. One example is when they start using the software, obviously they sign up instantly and get a thing from the website with a link to log in and their email and password. Well, don’t put their password in there, but tell them they can reset it if they go to this page.

Maybe you want to just automatically send an email delayed a little bit and say, “Hey, this is just a personal welcome from the CEO.” This is something that we don’t do nearly enough as small businesses. We’re afraid of being compared to Oracle and IBM and need to seem bigger than we are. Why don’t we use the smallness as a strength?

Say, “Hey, I’m the CEO. I built this product. If you have a problem with it, I want to hear from you. I will to fix it.” We should throw our little itty bitty weight around. If the customer looks like they’re going to cancel because they signed in for Appointment Reminder three weeks ago and they haven’t sent a single appointment, they’re probably not getting much value out of it.

Send them a rescue email. Say, “Hey, the computer said that you haven’t scheduled an appointment yet. I want to know what went wrong. Was it too hard to get started on it?” Or “I run a small business myself. I know people get busy. If you just need more time and the trial is out, send me an email. I can extend your trial by a month.”

Trials that expire without giving you money are worth absolutely nothing to your business. So giving them a trial extension is almost free to you. Maybe it costs a buck a month extra to provision that folio thing will print money for the business. If the client doesn’t use one of those sticky features that you know is a sticky feature, send them a getting started guide or a case study on how some other customer of yours used that feature to a great extent in their business.

Then maybe at the bottom of that say, “Do you want to get started with this but don’t know how? Send me an email. I love talking to my customers.” As the client is getting to a decision point about the software, like are they going to make that renewal decision or do they need to upgrade with a credit card? Provide them the ROI calculation for that.

Here’s something that somebody else does. Planscope is software for freelancers. It helps people make more money like most business applications. They will literally send you every week an email which said, “This week you made $2,000 in your freelancing business. Congrats! By the way, did you know that Planscope has these extra features you aren’t using yet?”

People love getting this email every week because who doesn’t like hearing, “Yeah, I made $6,000, which is 4,000 more than last week.” They love getting this email. It creates actual value for them, and it creates another touch point for him. Say, “Hey, you want to keep getting these emails from Planscope? We need your credit card details.” That works out great for all involved.

Transitioning from low‑touch sales, where you’re not really talking to the customer so much, into high‑touch sales. The biggest problem that many engineers like myself have with getting ready to do high‑touch sales is they think, “I’m an engineer. I’m a bit of an introvert. I’m not a sales guy. I don’t even know what kind of steak to order.” You can do sales. Let me tell you about…

There is an eight billion pound gorilla in the room for appointment reminding services and they and nine other similar firms plus myself were selected by a particular American hospital. It wasn’t St. Jude, but let’s call it St. Jude anyhow just for the sake of illustration. St. Jude needed a wee little itty bitty project done. They needed appointment reminding for it.

They came up with a list of 10 people after searching for them on Google, and then they went out to each of the 10 of them and said, “We’ve got some questions.” A sales guy looking at his calculation from a sale that might only be $100 or $200 is like, “Well, that won’t buy me a cup of coffee.” They sent out a brochure, and then they go working  on their more important accounts.

But I really wanted to have St. Jude as a client, so I hopped on a phone call with them. I talked for an hour with their decision‑maker. Then after the phone call, I sent about three‑page email recapping everything we had said on the phone call and said, “Could you please forward this to anyone else who’s involved in this decision?”

They had a down-select, which means they got rid of many of the people who were in the first run of the competition and it came down to the 800‑pound gorilla and myself. Then they had a little debate about it internally, and the debate went something like this.

One of the guys said, “It’s either the 800‑pound gorilla, which we know is the safe choice. Or we could go with this one‑man operation headquartered out of Japan, which has been in business less than six months.” The nurse I had been talking to for this whole time said, “You don’t understand. It’s his baby. You take care of your baby. If we ever have a problem with it, we know who we’re going to be talking to.”

I won that sale, and I parlayed that sale into 8 of the top 10 hospitals in the United States [Patrick notes: I used to quote this a lot but I’m unsure whether it is literally accurate given that I have a fuzzy definition of who constitutes the Top 10.] from Bumble in Japan. So you totally can do sales. Let’s talk about some ways to do it. Remember. You are not being bought by the person who is using the software. There are other people in the organization whose opinions you need to influence, so make that a priority for yourself.

Customers can request a high‑touch sales process when they start in a low‑touch thing, like saying, “Hey, I’m on the $29‑a‑month plan, but what’s your auditing story? I need full access to server logs.” “That’s totally something we can do. Talk to the sales team right now” The expectation for things are very different. We’ll talk about how to manage those expectations and use them to transition people into more valuable relationships with your business.

I don’t even love this slide, so I’m going to skip it. You will eventually be passed over to a purchasing department after you have agreement in principle with someone in the organization that they should be using you. Purchasing departments and their users have an adversarial relationship. The user wants to get their work done. They know you’re the guy to do it.

The purchasing department theoretically needs to get that bought. They get scored on buying it for the lowest price possible. They don’t want to have the blowback from saying, “You can’t buy that.” But they don’t really have an incentive to getting this deal done because it doesn’t make their life better either way.

This is the little sales cycle at the bottom. The real places that you can hack it are at the formal quote stage and invoicing. Let’s talk about how.

Purchasing has a checklist of things that they must have to be able to OK a deal. You need to offer this, and you need to make it obvious that you offer this. Service level agreements, SLAs, support maintenance contracts, which can automatically cost 10 percent of the price of the software. It doesn’t even have to be anything other than “we have active developers working on this.” You might think, “We already had that, so why charge 10 percent extra?”

But they need to buy that. They need to be able to buy that to be able to buy your thing, so sell them that. Industry‑specific buzz words. “What’s your HIPAA compliance story?” You can charge through the nose for these because they are a large business, top eight hospitals in the United States. Figure out how much health care they sell. Health care is really expensive. They have money.

These are various things that you can offer a large business in the sales cycle, which will increase the size of the account to you without meaningfully causing more resistance from the purchasing department.

Things that you can anchor your prices against when you’re charging to enterprises. By the way, when you’re charging enterprises, it’s like four to five figures a month. You’re no longer talking about a couple hundred bucks that you can put on a credit card.

The fully loaded cost of one employee is a good anchor.  The fully loaded cost of a developer in Silicon Valley is $20,000 a month. You save him 20 minutes a day. Do the math and it turns out into a real amount of money. If they’ve got 50 developers at the organization, hoo ha. Cut off something in them in that so that they feel like they got a win out of it, and then it’s a big win.

Truck rolls are an incredibly good anchor for pricing, if you can decrease them. The guy who I put his daughter through Harvard was primarily concerned about the number of wasted truck rolls he had where he sent three guys out in a van to a house. Had to pay their salary, but they weren’t actually able to get into the house. Truck rolls have a huge cost which is known in industries that actually have fleets of trucks.

High value employees. It’s easy to calculate the value for your time. Low value employees not so much. If they don’t measure the cost of, say, the office manager, then they’ll discount your value to the company. But if they do measure the cost, like in a call center environment, then 80 low‑value employees who save X amount of time that they know that they track, that produces a lot of value that you can take to the business and sell it on.

Lost business, missing revenues, et cetera, also things that you can sell against.

Let’s have a quick role‑playing exercise for how you answer any question that you don’t know how to answer about pricing. The answer is, “I can do that with a one‑year commitment.” Everybody repeat after me, “I can do that with a one‑year commitment.” Everybody?

Audience member:  I can do that with a one‑year commitment.

Patrick:  “Do you have Google Calendar integration?” I can do that with a one‑year commitment. “I need 60‑day net pricing terms. Can you do that?” I can do that with a one‑year commitment. “My legal department has some custom language that they need to run past you. Can you do that?” I can do that with a one‑year commitment. “We need you to fly out to Omaha and give an in‑service training activity for our team. Can you do that?” I can do that with a one‑year commitment.

This greatly increases customer lifetime value, it provides massive value to their business, and it will make your sales conversations easier.

The one question that you cannot answer with “I can do that with a one‑year commitment” is “Can you give me a break on the price?” No. Never give people a break on the unit price, because the purchasing department is only scored against whether they get the purchase in at lower than the best unit price that they have ever seen or gotten from you.  [Patrick notes: This is why Enterprise software companies don’t put pricing on the website, typically.]

If you ever give them a break on the price per call, like if you say, “It’s usually five cents a call. For you, I like you. I can do it four cents this one time,” you will never get that penny back, and next year, they will ask for three.

Rather than giving them a break on per‑unit prices, the thing to offer in exchange for a one‑year commitment is something like, “Look, we can give you a five percent of the deal pre‑pay discount or something like that,” or “It’s normally 10,000 bucks to ship me out to Omaha to do an in‑service presentation, but because we like you, it’s only $8,000 for you, and still five cents a call.”

You’ll make most of your money on the call, but the purchasing guy will be able to get his next promotion because he shaved $2,000 off that thing he wasn’t really going to buy anyhow.

Finally, unfortunate fact of life. If you’re selling to big freaking enterprises, you absolutely need to have the corporate structure to shield your own house from something blowing up at a company. You should probably have insurance. Talk to your insurance agency about it. It’s usually called errors‑and‑omissions insurance in the United States. You want a lawyer to go through all of these contracts.

Final stuff. I talked a little about email earlier. I can actually talk about it substantially more. If you go to, there’s a little five‑hour course from me that you can do about that. Customers tell me that it’s produced a lot of value for them. I have a blog with six years of posts, mostly talking about low‑touch sales. [Patrick notes: You are reading it].  I encourage you to try it out.

My email is patrick@ any domain I own (including this one) and I’m @patio11 on Twitter. I love talking about this stuff. Feel free to talk to me at any time.

We have a second for questions.

Audience member:  Are these slides anywhere?

Patrick:  They’re not yet, but I’m going to be putting them up on my blog later.  [Patrick notes: Yep!  Scroll up.] Thanks very much for your attention, guys.

Marketing Software, For People Who Would Rather Be Building It

One of my favorite conferences every year is Microconf , because it focuses on small software businesses, which is where my heart and soul is businesswise.  I know a lot of folks can’t justify a trip out to Vegas (though you should really come in 2014 if you possibly can — 2013 is only a few days from me posting this and already quite sold out), so I always ask Rob and Mike (the organizers) for a copy of my video so I can produce a transcript and put it online.  My 2012 talk focuses on building systems to achieve marketing objectives at a software company.  I’ve been successful at doing things at a variety of scales, from my own one-man software business to consulting clients with 8 figures a year of revenue.  A lot of the tactics covered are wildly actionable if you run a SaaS business.

[Patrick notes: As always, I include inline notes in my transcripts, called out like so.  If you’d like to see my 2011 talk, see here.  It focused on how to run a software business in 5 hours a week, including scalable marketing strategies like SEO/AdWords/etc.

Video & Slides (Transcript follows)

Transcript: Marketing, For People Who Would Rather Be Building Stuff

Patrick McKenzie:  Hideho everybody, my name is Patrick McKenzie, perhaps better known as “Patio11″ on the Internet.

I sometimes get asked what I do, and I’m kind of confused at it myself. I was going to Town Hall recently to file my taxes, and I was across the street from Town Hall, the light was preventing me from getting across the street. By the way, I live in Japan. A guy comes up to me on a cycle, stops right next to me and says, “Psst!  日雇い労働ですか?” [Patrick notes:  I corrected the Japanese here with reference to a dictionary, but don’t remember this as being his phrasing.]  My brain started to flip through all the possible things that could be, and a high probability for those characters, hiyatoi roudou is day labor, “Are you a day laborer?”

I was like, “Wow, there’s only one way I can answer that. ‘Yeah, but my rates are probably a little high for you.'”  [Patrick notes: Unstated background knowledge here: I live in Ogaki, where roughly 90% of foreigners — who are rather scarce — are blue collar Brazilian Japanese who largely work in electronics/car parts factories.  Unemployment among these folks has been rather high for the last couple of years, so if you were doing things purely on a statistical basis, “Day laborer” is a much less insane guess for a foreigner standing outside city hall than “Owner of a software company.”]


If you were here last year, you heard the grand arc of my transition from really overworked Japanese salary man to totally‑not‑working‑all‑that‑much Bingo Card empire guy. It’s really not all that great shakes compared to some of the things that people have done up here, but it’s the little website that could. It has over 200,000 users and 6,056 paying customers.  [Patrick notes: Current counts as of posting are ~300,000 and 8,249.  The last twelve months have been pretty good.] I’m pretty happy with where it got me to, and just for a little update on this story for last year, if you weren’t here for last year, it’s on the blog somewhere.

I’m sure people will tweet out the link to that video if they’re very, very nice and kind to me. [Patrick notes: The Microconf 2011 writeup is here.] Just an update. The blue bars here are the 12 months before attending Microconf, and the red bars are the last 12 months, so after attending Microconf. Since my business is crazily seasonal, if the red bar is above the blue bar, I’m doing something right. As you can see, in the last six months, the red bar is routinely exceeding the blue bar, so I was doing something very right. The thing that I was doing was stopping working on Bingo Card Creator.

So my first actionable tip is, “If you have me in charge of your marketing,” like say Jason Cohen does, “you need to fire me, and your sales will go up by 50 percent.” We’re not going to talk too much about Bingo Card Creator today, we’re instead going to talk about systems. You heard earlier about building the flywheel, being a growth hacker. This is probably one of the most important things I’ve ever come across, but a job is a system that turns time into money, and a business is a system that turns systems into money.

I was once talking to a Japanese guy at a large automobile manufacturer in central Japan that you might know of, and I said, “T‑Corp is known in America as a company that makes cars, and Ford, or whatever, is a company that sells cars.” He patted me on the head like, “Oh, nice. Silly American. Ford might well be a company that sells cars, but T‑Corp is a company that builds organizations that builds cars.”

Why Engineers Get A Cheat Code For Starting Businesses

I thought that was a very profound distinction. All of us are in the business of building things that help us sell things that we build. I think we are ideally situated to this, because, as engineers, we build systems. You heard earlier about the term “growth hack,” which is just on the cusp of becoming a meme, by the way. You’re going to hear a lot about that over the next coming days, because there are huge platforms these days, everything from Pinterest to Twitter, to Google, to the App Store, that give you ready access to hundreds of millions of users, billions of users, many of whom have credit cards and will actually pay money for things.  [Patrick notes: I’m stealing this from 500 Startups’ investment thesis, but I think it is equally applicable regardless of whether one is doing a high-growth startup or a one-man bootstrapped software company.  Again, the most niche app you could think of, run by an unknown guy living in Central Japan, just added 100,000 users last year while in maintenance mode due to effective use of Google as a platform.]

As engineers, we have the capability of exploiting those platforms in a scalable manner. Some of the ways to do it I talked about last year, and I don’t want to give all old content, so if you want to hear about SEO, which is the main reason my sales went up for this year, just watch the thing from last year. [Patrick notes: Or you can read my copious writeups of it in the Greatest Hits section under SEO or Content Creation.] We’re going to talk about new stuff. Oh, totally stealing a slide from last year. In addition to Bingo Card Creator, there were three really big things going on, and I just want to give you updates on them.

The most important one, down in the bottom there. Last year I said something out of school, it wasn’t planned for the talk or anything, it just slipped out of my mouth. I said, “The most important thing in my life right now is I’ve recently met a beautiful young lady, Miss Ruriko Shimada over there, and she is going to be the future Mrs. McKenzie.” That was the first time that thought ever got verbalized, even in the deepest recesses of my mind, so luckily it was not simulcast or anything. That’s official now, it’s happening June 26.  [Patrick notes: Ruriko’s only comment on the presentation was “The 23rd, dear.  Be there.“]


Thanks very much. I don’t have a picture of kids, for obvious reasons, but can I just make a note about this? Everyone has shown a picture of their children or significant other. At a less charitable conference, people might be, “Oh, that’s the boring stuff, skip that, get to the good stuff.” All those other pictures, that is the good stuff. There’s a word in Japanese called mono no aware (もののあわれ), meaning “an awareness of the impermanence of things.” All this conversion rates and equity grants and profits and all this… Vegas?


This will all be dust and memories. The important part of our lives is our families, our friends, that is what we will be known for. If you have a successful business, and your family isn’t feeling it, something is going terribly, terribly wrong. I can’t just stand up in here and say, “My fiancee is the nicest, smartest, most wonderful, beautiful woman in the world,” for the entire hour.


#include <platitudes.h>… wait, the word I wanted is not platitudes, it’s compliments, drats. I don’t speak the Engrish. Anyhow, updates on other things that are going on. I got a slide up from Fog Creek, which was one of my favorite clients I can publicly talk about, but I don’t really have much content in this presentation about running a high‑priced consulting business. Is that something you guys are interested in? Let’s have a show of hands.

I’m a marketing guy, so let me give you the quick elevator pitch, and if you want to hear about this, we can talk about it at the question‑and‑answer session. Is it interesting to you how I turned down $700,000 a year to do conversion optimization for big software companies? Just raise a show of hands. Would that be fun? Oh, OK. We might talk about that before questions. We’re going to talk a little about “Appointment Reminder” stuff that I learned the second time I tried to make a software business from the ground up, and how you can apply it to your businesses.

This is my new thing, which is, by the way, in almost direct competition to somebody who was in the first session of tear‑downs. You might compare and contrast to the way I do it and the way he does it. I actually went up to him afterwards and tried to teach him what I know about this, because people helping people is what this event is all about. We all get better, even if we’re competitors, sharing knowledge. Anyhow, it makes “Appointment Reminder”, phone calls, text messages and email messages to the clients of professional services businesses.

Don’t Make My Mistakes In Picking A Software Business

This is a wee bit more sophisticated than my bingo thingy. Why did I pick this problem? This is the slide in which I give bad advice. The way you should actually pick a problem, skip back to your notes from Amy Hoy’s presentation. That’s the way you should pick a problem. This is not the way you should pick a problem, but it’s true, so I’ll tell you it anyhow. You see this jacket that I wear in all of my presentations, because the color red looks good on me, and I love this company, Twilio?

Twilio came out with this product that let Web developers basically script up phone calls and SMS messages. I thought, “Ooh, that’s kind of awesome.” I like to view the market, “The market” in the sense of the broad, capital‑C Capitalism sense of the market, as a placid lake, which incorporates everything we know about the world right now. When new information gets added to that, it’s like dropping a rock in the lake. Ripples in the lake are change, and the larger the ripple is, the more change there is, the more possibility there is to get outsized profits over the course of the world right now.

Because we learned from microeconomics 101, the natural state of profits in the system is zero. The steady state. Twilio was dropping a big F‑ing rock into the software world, because you can finally interface with the plain old telephone system without having to understand what an Asterix server is, and if anyone here has ever tried to hack Asterix, I’m sorry for you. What could I do with a telephone that I couldn’t do before? I made a list of 400 ideas and just sat on it, because I was still at the day job at the time. Since I spend 16 hours a day in front of a computer screen, my shoulders ache like crazy, so I sometimes go to massage therapists.

This one day I went into a massage therapist, and asked, “Hey, can I get a shoulder massage, because I’m an engineer, my shoulder aches like crazy.” She said, “It’s going to be about two hours,” and I’m like, “Oh, well I’m gainfully unemployed, so that’s no problem. I’ll just take my iPad, browse Hacker News in the corner here for a little while, then we’ll get the massage when you can do it.”

15 minutes later, she comes back to me and said, “Hey, I know I told you it would take two hours, but it would be really, really helpful for me if I could massage your shoulders right now.” I said, “Sure, no problem, can I ask why?” She said, “I had this slot booked up with somebody else, but he didn’t come in, and now he’s 15 minutes late. If I don’t start massaging your shoulders now, that’s going to throw off the schedule for the rest of the day, and I’ll never get the revenue from these next 45 minutes back.”

I’m like, “That’s interesting. Why don’t you call him?” Notable and quotable line from her, she says, “I’m a massage therapist. If my hands are on a telephone, they’re not on someone’s back, and if my hands aren’t on someone’s back, I’m not making money,” and I thought, “That’s interesting.” I asked, “If I had a system that could call someone automatically before their appointment with you, would that be motivational to you?” and she said, “Yeah.” I went through my list of 400 things, and thought, “This is the first one I’ve had an actual customer need for.”

How did I know it would sell, though? That’s one person. I did two things. One thing I did was just whipped up the MVP, Minimum Viable Product, read Eric Ries’s book “The Lean Startup.” Everyone should read that book, it’s amazing. I whipped up the MVP, which is a website, you can get to it, I’ll show you the link later. You give in your phone number, and it calls you, just like you had an appointment, and says, “Hey, you’ve got an appointment. Click ‘One’ to confirm.”

If you confirm it shows right on the schedule here, “This person confirmed.” If you cancel, it says, “This person canceled.” We would email you right now so you can re‑book the slot and save the money. I just threw this up on the Internet, and waited. People signed up for my pre‑launch list, and said, “That is exactly what my problem is.” The other way I did, was I went home to Chicago, which is where my family is from, and took out $400 from an ATM, and walked around downtown Chicago and looked for salons and other massage therapists, that sort of thing.

I walked in and said, “Hey, do you take walk‑ins?” “Yeah.” “Are you free right now?” “Yeah.” “Are you the business owner?” “Yeah.” “OK, I’ve got a weird proposition for you,” and no, not that kind of weird.


“What’s the rate on a 30‑minute shoulder massage?” She would tell me. It’s almost always a she. I would say, “OK, I’m going to pay you the rate for a 30‑minute shoulder massage, but what I’m really interested in, I’m a small businessman, I live in Japan, I’m interested in the business of massage therapy. How about we just skip to that post‑massage cup of tea that you’re going to offer me,” I have learned this over the years. “Skip to the cup of tea, I’m going to pick your brains about how you run your business, and then I’ll go, no massage needed, and you get your money?” Almost everybody took me up on that, and nobody called the police. Yay.


I would ask questions, like, “What do you use for your appointment scheduling right now?” “Pen and paper version 1.0.” “How many people cancel?” “Lots.” “Do you not like when people cancel?” “Yes.” “Do you phone call people every day?” “Well, yeah, I kind of do, but I sometimes forget,” yadda yadda yadda.

Then the money question. “If I had something that I could show you right now that would call, would you pay for it?” “Yes.” “Would you pay $30 a month for it, because $30 a month is close to your rate for just saving one appointment?” “Yes.” “Can I get your email address right now? As soon as this is ready, I’m going to come back to you and say, ‘It’s ready. Let’s get that $30 a month,'” and I just collected those.

I actually didn’t end up selling any one of those people, but the need was clearly demonstrated to me there. I’ve got a better way for doing it these days, because as I mentioned, I am in the talking‑to‑people‑about‑wedding‑things, and I’m learning stuff about selling wedding dresses, because I am the unwitting victim of that. There’s this thing called the iPad, and every salesman at a wedding venue or a wedding dress shop, or whatever, in Japan, is using the iPad. I predict within five years, that every salesman in the entire world will consider that their key sales tool.

The reason is, when you have a sales discussion with someone with the iPad, you’re sitting next to them, standing next to them, hunched over the shoulder in a very intimate, psychologically‑reassuring way, while they drive the iPad and flip through. “Oh, that’s a lovely dress. Oh, that’s lovely, I really like that one.” “You like that one? I’ll show you more like that.” When they get confused, you can just take over for them, do the little slide‑y slide‑y thing, and it is a very, very persuasive technique.

If you don’t know whether a software will sell or not, go to WooThemes, or go to ThemeForest, pay $15 or $70, or whatever it is, mock up three screens from it, or even mock up two screens plus the final output. Put them in a photo gallery on your iPad, and take it directly to people in real life. Stand out and then listen over the shoulder, it’s like, “Do you really have a wedding dress problem? We got these.” If you’re solving a problem people actually have, they will say at this point, “Shut up and take my money.”


If someone says, “That’s kind of interesting, tell me when that exists,” you have not successfully identified a problem that people actually have. Fail to identify problems prior to spending six months of your life building the solution to those problems that no actual human being, aside from you, actually experiences in their life. You will have much better success that way. Brief interlude on pricing. This was brought up in a few things, and we treated it at a high level, so I thought I would dig into the nuts and bolts, considering many of you are in the software‑as‑a‑service business.

How To Read A SaaS Pricing Grid (And Why You Should Charge More)

I thought I’d read a pricing grid. This one’s from Wufoo. You have seen similar things all over the Internets. I can’t tell you about exact results I’ve gotten from customers, but I talk to a lot of people about this sort of things, so if we’re just kind of anonymizing, here’s how you read it. Find the largest dollar‑amount plan. That plan generates 33 percent to 50 percent of gross revenue. Why? Because it’s sold to people who are not spending their own money, they’re spending a corporate budget. Spending your own money hurts, but spending a corporate budget is kind of the happy thing for a lot of people.


Because, check this out, if you don’t spend your budget, it gets taken away from you. If you’re trying to protect your home position at a company, you want to spend as close to the top of that budget as possible, so help people out. They’re trying to protect their status and job security, by helping them spend their budgets. $200 a month is nothing to a company that has actual employees. The cheapest possible fully‑loaded cost for a college graduate is about $4,000 a month.

$200 a month is five percent of that, so if you’re only spending one or two hours of employee time a month, $200 is a total no‑brainer. So’s $250. Anyhow, the one that has the most users. Nobody likes to be a cheapskate, boom, it’s this one. The one that has the highest support costs. Wufoo has a free plan, I’ll guarantee you they get more annoying emails from people on the free plan than anything else put together, probably squared.


The worst customers, I call them pathological customers, are attracted to things that don’t have a lot of money. It’s amazing how many people have told me this. You raise prices, and you deal with less crazy people. At 99 cents, people have very unreasonable expectations. “What? This flashlight app didn’t do my taxes! One stars!”


When you’re charging people tens of thousands of dollars a month for an enterprise‑level service, they say, “Hey, our business really needs this feature.” “Oh, thanks for the email. I would really love to implement that feature, but we are kind of constrained on time right now. Can I get back to you in the indefinite future, if we get time to do that?” You’ll get a one‑line email back, “Sure, that sounds great.”

Would you rather deal with the no stress and get the tens of thousands of dollars, or “One stars!” for 99 cents? It’s almost self‑explanatory. By the way, I’ve sold a semi‑B2C product for most of my life. I really do love teachers, even when they’re kind of exasperating, and can’t tell the difference between the blue Googles and the green Googles, and don’t understand why they can’t get a CD of the Internet. It actually happened to me today.


In terms of, if I had known then what I know now, I would never go into B2C. Charge businesses, charge them a price appropriate to the value you’re providing. By the way, big surprise about software‑as‑a‑service companies, almost every one has enterprise pricing available. Some of them don’t put it on your things, but I guarantee you there’s a way to go up to Wufoo, go up to almost any software‑as‑a‑service company, and pay arbitrary amounts of money for their product. For example, if you have a $500,000 budget, and you talk to somebody at Wufoo, I will guarantee you that they will find an option to spend $500,000.

Maybe it’s we send a trainer and teach everyone how to use their drag and drop form‑building interface, and then the cost of the trainer’s time is $500 an hour, and the business will say, “Oh sure, yeah, whatever.” By the way, you need to purchase a service level agreement with them, and the service level agreement runs $20,000 a month, and there are businesses that will happily pay that.

Software‑as‑a‑service economics 101, why do you want to charge closer to the top of these pricing points, instead of the bottom of the pricing points? Because you have to get a lot less customers to generate the revenue that you want, to either replace the day job, or to meet whatever your own personal goal is. How do you segment plans? First, align it with customer success.

Getting based‑on features can work, but if there’s a numeric thing that allows you to discriminate between customer classes, such that the more value they get out of the product, the more X number that they need, segment primarily based on that X number.

It doesn’t have to be linear segmentation, because the ability of Fortune 500 companies to pay is not linear, with respect to the size of the company. A 1,000 person company is not the same as collecting 1,000 one‑man companies and putting them all in a room together. They have orders of magnitude more money, so you should probably be charging them orders of magnitude more money.

“Names matter.” Back in my time as a Japanese salary man, I was given a project to run by my boss, and I was trying to buy, I think, “Crazy Egg” for it. I did the projection, I wrote up the proposal for my boss, and said, “By the way, we need the $9.99 hobbyist Crazy Egg plan, and could you please approve the purchase for that?”

Boss takes my printed out proposal for the project, looks down at “Hobbyist,” goes over to, strikes it out in red, writes “Enterprise,” picks the top plan, which was $250 or $500 or something a month at the time, something like a quarter of my salary, and says, “OK, here’s the new proposal. Sign off on it, and then I’ll sign to my boss.”

I said, “Boss, boss, we don’t need the enterprise plan, our projected traffic is clearly under the hobbyist plan.” He says, “F if I’m going to tell my boss that I want a reimbursement request for the hobbyist plan, so we are under the enterprise plan.” I was like, “Can I get the enterprise salary?”


That did not work out so well. That’s why I no longer work there. Anyhow, feature segmentation can work, particularly if you have features where there’s a hard requirement among some customers, that they must have a particular feature. That segments people into, “Has a little money” vs. “Has a lot of money.”

For example, healthcare in the United States has more money than God, and something that a lot of healthcare customers are going to be very particular about is, “Is this HIPAA‑compliant?” Talk to me later if you want the full story on that one, but the magic words, “Is this HIPAA‑compliant?” means you can charge them as much money as you want.  [Patrick notes: The one-sentence explanation: Healthcare providers in the US are obligated to follow the Health Information Privacy and Availability Act to safeguard patient health information, which imposes some technical and process safeguards on anyone who handles most data for them.]

By the way, you can have a system where all accounts are actually HIPAA‑compliant, but you only tell people that the most expensive plan is HIPAA‑compliant. Because they’re not actually caring about HIPAA‑compliance, they’re caring about being able to sign off on the fact of HIPAA‑compliance. If you simply refuse to sign off on that fact for anything that costs less than $1,000 a month, all of your healthcare clients are going to go for the $1,000 a month plan. Which is, by the way, nothing in healthcare.

The Most Important Pricing Advice Ever: Charge.  More.

Charge more, charge more, charge more, charge more, charge more. Anyone have a question about pricing? You should charge more. You’re probably ridiculously underpricing. $4,000 a month is the cost of the cheapest possible employee, you are less than a tenth of that. You are probably creating a lot more value than many employees in the organization, so charge for the value you are creating.

I was doing tear‑downs earlier. Here’s what I put up for my pricing grid about a year ago, and since I haven’t had all that much time to work on “Appointment Reminder,” I made a lot of mistakes. I haven’t fixed them yet, so I’m going to tear‑downs some of my own pricing grid.  [Patrick notes: Compare and contrast this slide with the current version.]

I have a $9 a month plan.  That was a mistake. I actually have a lot of customers on the $9 a month plan. They account for about 80 percent of my customer support requests, and approximately 95 percent of my headaches, and they pay me approximately nothing, and don’t stick with the service for very long.  [Patrick notes: When I did the math recently, customers on the Personal ($9) plan had a churn rate which was literally double that of the Professional ($29) plan, meaning a single signup on Professional was worth more than 6 Personal signups.]

I have an enterprise plan that’s coming soon, any day now, a year later.  [Patrick notes: Appointment Reminder closed its first Enterprise account a few weeks after Microconf.  If you want to hear about this topic in a lot of detail, I talked about it at a presentation for Twilio several months later — I’ll post it in a week or two.]  There’s actually a plan that isn’t even on here. It’s $200 a month, I call it “Small Business 2,” because I’m very creative like that. It’s just small business, and I bumped this number up a little. Small Business 2, plus Small Business, create over half my revenues that are based on this plan. Oh, quick update on “Appointment Reminder,” it quadrupled in a year without me doing much work on it at all. Thanks. End story, just make systems that really help. A tactic you should all probably steal.

The Tactic All The Savviest Software Companies Use: Automated Marketing Email

Can you raise your hands, everybody? Just get a little stretching. Put your hands down if you have not emailed a lot of customers all at once this month. If you look around the room and you’re looking for speakers, you will find almost all of the speakers still have their hands up, and this is one of the things that consistently segregates the really savvy people from people who are not quite at that level of savviness yet, so of course I didn’t really seriously start collecting emails for six years.

This guy Ramit Sethi, one of the smartest people on the Internet in terms of marketing, he says “The one d’oh moment is that I was not building up an email list.” You heard earlier about an email list is creating your own recurring stream of earned media, because they are people who want to hear what you have to say. They trust you on a subject, and they are begging you to sell them on your solution, so you should be getting those emails. Let’s talk about how.

Why does email rock? Some people, because we’re all techies, might say, “If I want to get in touch with someone about a new blog post that I wrote, there’s RSS feeds for that, right?” Email is like RSS, except better in every possible way. Email is actually read. RSS is not read. Quick show of hands, who here is over 10,000 unread items in their Google Reader?  [Patrick notes: Dramatically less people than when I delivered this talk, I would expect. </rimshot>] I rest my case.

Email is actually read by real people too, and by “real people,” I mean folks who don’t come to conferences like this, and who have authority to sign off on $500 a month purchases without breaking a single sweat.

Email is a necessary time, whereas RSS reading is, “I don’t have anything important to do today. If I don’t have anything important to do I might read some RSS stuff,” whereas emails, if you’re an information worker like all of us, email is your job. You live in your inbox. Many, many things in the inbox get read, particularly when they sound interesting.

The psychology of email is really important. If I put a diamond in a trash store, you’re probably going to think that diamond is not worth so much. Think of the things that will be around your message in somebody’s inbox. It will be a lot of important work. If that’s all important, your message is probably important as well. Think of the things that are probably going to be around your blog post or content in someone’s RSS feed, or someone’s bookmark manager.

It’s probably going to be a lot of commoditized Internet dreck that they’re going to get to the first day after never. [Patrick notes: The following is a little brusque for my typical humor, but was an in-joke for attendees of Microconf from the previous year, where Hiten Shah and I had done live analysis of websites of several attendees.  One had a bookmark manager system with a bovine theme.] If you do free association for, say, “What’s the spirit animal of email?” It’s Thunderbird. It’s fast, it’s powerful, it does important shit. If you do free association with, “What’s an animal we can associate with bookmark systems?” What would it be, a cow? It’s fat, it’s stupid… it shits.


Do email instead. When I say “do email,” what do I mean? Really simple. Collect their email addresses, educate them over the email, and then sell them stuff. Let’s go into detail on that. For a successful landing page, you really only need a few things. Just ask for the minimum possible information from them.

Probably their email address and their name, because everyone likes hearing their name, and you should probably put it in subject lines, because that’ll increase open rates on your emails quite a bit. Give them a nice, attractive button that promises value, not pain. Get something cool. Does anyone here run a website for sadomasochists?


There are no hands up in the room, which means that nobody should have “Submit” as the text on their email button.  [Patrick notes: I use this line because it is punchy and inevitably gets a laugh, but seriously, you can pick up totally free double digit improvements by switching to [Get My Free Guide] or similar benefits-focused copy.  Try it in an A/B test if you don’t believe me.]


Minimize distractions on that page. You generally don’t want to be collecting email from your home page. Why? Because your home page has to serve many masters. You’re probably trying to get people into the trial, get them into the pricing grid. You should generally be collecting email on dedicated landing pages. What will you have on your dedicated landing pages? A sweetener. Because people don’t really care about you, they care about themselves, so tell them that giving you their email will accomplish something for them. Let’s go into ways to do that.

The simplest possible way to get permission from someone to send them email is when they’re signing up for the trial, say, “Hey! In addition to that trial, can I send you email?” Just takes adding one box. Downside, it’s going to minorly decrease your conversion rate to a free trial. Upside, you’ll get crazy conversion rates on this. By the way, who here hates email, and thinks, “Man, I hate getting email. I would never click on ‘Yes, I want to get email from you.'” Yeah, hands up. Real people don’t hate email. Some people like email a lot.

I have a newsletter that goes out to the bingo card people, and it goes out about monthly. I sent it out for October and said, “Hey, Halloween bingo cards! You make them by going to Bingo Card Creator and typing about Halloween stuff!” Then the November email is, predictably, Thanksgiving bingo cards. “You make them by going to Bingo Card Creator and typing about Thanksgiving stuff.”

I didn’t hit the “Send” button on the November email, because I just got busy that month. I got three messages from teachers in America, all of them saying, “Hey, I didn’t get the email from you in November. I must have missed it or something, or it got eaten by the Googles.”


“Can you please send me the email for November?” I wrote back, and I said, “There just wasn’t an email for November, because I got busy, but it was just going to be about Thanksgiving stuff.” They’re like, “That’s sad! I want to read about the Thanksgiving stuff?” Whoa! Missed opportunity. A better way to do things than collecting emails with your trials is to create some specific incentive. For example, Ruben from Bidsketch uses beautifully designed templates of proposals, and says, “OK, I will give you a beautifully designed template of your proposal.

You can turn around and make this into money, and all you need to do for that is to give me your email address, so I can email you a link to it.” Works very, very well. You can see incredibly high conversion rates to this, and the people who convert to, “I care enough about beautifully designed templates to give an email address, just to get a link for a download link for them” are not the kind of folks who hang out in Hacker News like it’s their job. It’s the people who really care about this. They make really great prospects for selling to. Third way…

Male audience member:  [Paraphrased] That doesn’t mention that he’s going to send you an email, though.  Isn’t that a no-no, permission marketing wise?

Patrick:  I think it actually does, I just cut it off with the screen grab.

Male audience member:  OK.

Patrick:  A different way, and this has vastly higher development costs, but you should consider doing it. Make a one‑off tool, gate access to the one‑off tool based on giving your email address. For example, WP Engine does this kind of well. [Patrick notes: See here.  Disclaimer: client.] They have a tool that will tell you if your website is slow, and it takes a few seconds to run and whatnot, so rather than just doing Ajax refresh, they’ll say, “Hey, we’ll send you a link to your report when it’s ready,” and they give you a little option there. “Hey, in addition to hearing whether if my website is slow, I’d also like to hear a one‑month course about how to fix that, and make it more scalable, make it more secure, and whatnot.” Get Jason drunk later, and ask if this works or not. This sort of thing can provide very focused, valuable leads for you, and it’s like a great transition moment into the first couple of emails from you. Let’s talk about that.

There’s a cycle here, of how sales‑y you get. Someone’s coming off the Internet, they don’t trust you, they don’t know you from Adam. For your first couple of emails over the course of a month, and you might send six emails or eight emails over the course of the month, depending on how much of a high‑touch complex sales process your service requires. For the first couple of emails you focus on trust building and education, and that’s it.

If you were just talking about someone’s website is slow, say, “Hey, thanks for signing up for the WP Engine one‑month course on improving your WordPress site. Here’s three ways you can make your website faster.” Very focused on value for the customer. Minimal, if any, sales content for WP Engine.

Then, over time, as you have built up credibility with the customer over three emails, they’ve seen your name in their inbox, they’re starting to associate it with your problem domain, and they’re getting value out of it, you start getting a little more sales‑y, and you push up that sales‑y to the maximum point. Then if they don’t buy it by the maximum point, they’re probably not ready for your offering. Back down a little bit, go more on the education again, and then try it again, but sell a different product offering. For example, a different plan.

I just threw up a random thing here for a template for an email that educates someone about something. It’s not really rocket science, it’s the three‑paragraph hamburger essay that you all learned to write in sixth grade. I hesitate to say this, but don’t be afraid of dumbing it down too much. You all live in your problem domain many, many hours a day, for months, weeks at a time.

Most of your customers are not super‑awesome ninja rock star experts at your problem domain, so teach them the basic stuff, because most people in your problem domain are beginners or intermediate, not super experts. Feel free to share of your knowledge, and answer basic questions that they have, and then at the end, just say, “Hey, do you have a question about this? Send me an email. I read all of them.”

Almost none of you have less than hundreds of thousands of customers, would feel any burden from getting email back from this, because most people think, “Oh, he doesn’t really mean that.” In fact, you will get emails saying, “Do you actually read this?” and then you fire back, “Yes! Signed, CEO.” I guarantee you if they have money, you’ve just got a customer for life. Even if you have hundreds of thousands of customers, like this for “Bingo Card Creator,” the email load is manageable, and you can give options for more and more things to do to convert.

When you’re getting into sales‑y hump on the graph, what do you do? First, you eliminate all decision making that they need to do, aside from, “Do I accept the offer, or no?” which means, if you have four plans, you don’t say, “OK, go to the pricing page and pick which of the four plans is worth it for you.” No, give them a recommendation.

Say, “Most of our customers find that this is the best value, you should buy this. Here’s the reasons why you should buy this. It will solve your problems, it will solve your problems, it will solve your problems, your life will get better, your problem’s solved. You, you, you, you, you, you, you, you.” Offer them a time‑limited bonus. “Yeah, you could have gotten to that pricing page at any time over the last 365 days, but if you take me up on this offer in the next seven days, I will give you something cool.”

It’s up to you what that something cool can be. For many of you, assistance directly from the CEO in integration is a really compelling offer, because wow, you can’t get that anywhere else. Wow, their perceived value for that is very high, and it immediately addresses one of the objections that they have for using your software. It’s like, “Oh god, I have to integrate that. I have to copy‑paste scripts into my web page.”

We’ll do the copy‑pasting for you, and thereby earn your loyalty for the next several years, and several thousand dollars of customer lifetime value, and it will actually be done by a freelancer that we’ve hired and told them how to FTP stuff. I think I stole that one from Rob, works pretty well. Pre‑answer all of their objections in the email, and on any page that you link them to. This is what we were talking about earlier in the tear‑downs.

When you’re talking to customers, you’re hearing their objections, “The price is too high.” Find the customer testimonial that says, “Oh yeah, I winced, but man, it’s so worth it,” and put that right on the page about answering the pricing objection with, “OK, here’s how you calculate the value for this. It’s a screamingly good deal for you. It will save you hundreds of hours of employee time, for only tens of thousands of dollars.” How do you learn about writing email and copy‑writing better? I suggest signing up for a lot of email and getting it from people, because they will convince you to buy all sorts of stuff.

Seriously, Ramit Sethi, did a call out to him earlier, he is a genius at this. He’s a friend of mine, I know he sells info courses for a living, and I’ve never bought an info course on anything. I was reading his email, I sent him an email at the end of it, because he says, “I respond to all of my emails.” I’m like, “Hey, Ramit, this is Patrick. I would crawl over broken glass right now to hand you my credit card. Wow.” Seriously, get his emails. They’re good stuff.

In addition to teaching you how to write email better, they are genuinely worth your time if you’re concerned with increasing your career and/or freelancing business. The Motley Fool does investment advice. It’s bad investment advice, but they sell it really, really well. For any sort of scummy market, like online nursing degrees or anything, people who are paying $100 plus just to get an email for that, probably know what they’re doing or they would be bankrupt already. See what works and use your powers for good, not evil.

Improving The First Run Experience Of Your Software

[Patrick notes: If you’d like to hear me talk about this in a lot more detail, go to and give me your email address.  I’ll give you a 45 minute deep dive into this topic, totally free.]

More specific to software people, let’s talk about the first‑run experience of your software. Hands up, who here knows how many people come back to using their software after the first time, like that is something we check? OK, there’s a few hands going up here. Almost everyone should check that.

For those of you who aren’t checking it, I’m just going to tell you the numbers right now. It is between 40 and 60 percent of people come back after using it the first time. Which, subtract from 100, 60 to 40 percent of people never use the software a second time, because they did not perceive much value in the first‑time use of your software.

They got bored of it after 10 seconds, or within five minutes, so you should make that first five minutes of the software F‑ing sing. It is the most important five minutes in your lifetime, because every subsequent use of the software is gated based on surviving that first five minutes that most of your users are not surviving right now.

Can you just show your software here? Who here thinks that this is a fun first five minutes for software? Microsoft can get away with this, because your first five minutes with using Microsoft Word were probably in 1992, and you had to do it to pass a class, and Microsoft is Microsoft, and you absolutely have to use this if you want to work in the information economy, but it’s kinda sucky.

There’s just so many options here, it starts you with a blank screen, and you have no clue. If this was a free trial product, what do I do to get value out of Microsoft Word, to make the decision on the go or no‑go for buying this? Microsoft, that isn’t really a problem, because you’ve already bought this if you’re seeing this screen. If this reminds you of your software at all, if you drop people into a blank screen, that is a huge failure mode. You’re going to fix that. How?

You script their first five minutes like it is the invasion of Normandy. “You are going to do this, and then you are going to do this, and then you are going to do this, and then you are going to do this, and then you are going to be F‑ing happy.” Can I give you a great example of that? Who here has played “World of Warcraft?” OK, a few hands. Who here managed a raid guild in “World of Warcraft” for a few years? OK.

The first five minutes of “World of Warcraft” is literally, you talk to this guy, there’s a big exclamation point on his head, and it says, “Right click the guy with the big exclamation point.” You right click him, and he says, “You need to save the world from a wolf. There’s a wolf behind you, you can kill it with Z. Z! Z! Z! Z! Z! Z! Z!” So you Z, Z, Z, Z, Z, you kill the wolf, you go back to the guy, he’s got another big exclamation point, you right‑click, because you’ve learned that that works in the world.

He says, “Great job! Save the world, there’s 10 wolves, kill them! You get Z and X this time. ZX! ZX! ZX!” So you ZX, ZX, ZX, and you have a feedback loop where it’s both teaching you on how to use the software, and you feel like, “Yeah, I’m the powerful level one gnome mage that’s has got to spend the next 3,000 hours of my life playing this game,” but it’s a great, awesome experience for you.

At the end of five minutes, you’ve accomplished something, and you’ve learned how to use the software. All of your software should be that addicting. Sign up for the free trial of “World of Warcraft,” play the first five minutes, then stop!


You measure their activity, then you use A/B testing, like we talked about last year to change their activity. This is where the growth hacking comes in, and making sure the designing of their first user experience with the software is actually motivational. Here’s the, “If you’re going to do this, then you’re going to do this, then you’re going to do this, then you’re going to do this” funnel for “Bingo Card Creator,” instrumented out in KISSmetrics, which is, by the way, the way I would go if I had any budget at all to spend on it.

I don’t know what I spend on it, it’s probably like $150 a month, or, you know, nothing. [Patrick notes: I literally was unsure of this until I checked with my bookkeeping software a moment ago.  It was indeed $149.  Relevantly to other SaaS businesses: what does this suggest about the resistance to spending any figure between $50 and $500 at my business?  Right, I don’t care in the slightest. So charge me closer to $500 than you do to $50.  If you provided as much value as KissMetrics does I’d pay without a second thought.] You can write arbitrary code to do something like this, and just throw it into a file if you need to. You can see here where people are falling out of the funnel, if you’re into Bingo Cards, like that’s your life, and you can try things to get them to actually work.

I don’t really have enough time to talk about what really worked here, but the punchline here is that a particular intervention increases the amount of people who successfully get through to printing a bingo card with “Bingo Card Creator” by 10 percent. From 60 percent to 70 percent, which is really powerful for me.

If you read my blog, I’ve blogged about what exactly this was. It actually didn’t increase sales, weirdly enough, but similar things that I did with only two hours of work increased sales by 16 percent for two hours of work, durably. About tens of thousands of dollars for two hours of work, very motivational, you should probably do it. You fix the weak spots in the funnel that you’ve identified, once you have the funnel‑analytics in.

Here’s just some examples of things that work for Bingo Card Creator. Probably not too motivational for you, but they paid for my wedding, so motivational to me. Dan gave a great example earlier in the Growth Hacking talk [Patrick notes: Dan Martell’s talk is available here], about people that have just signed up, and they can tweet something, but they weren’t really planning on tweeting something, and they don’t know what to tweet so they don’t tweet, and then they go away and never use the app again.

You say, “Hey, you should tweet something right now. Let me give you 10 suggestions. Pick which one you like.” From six percent of the people went through and actually tweeted something, to 70‑plus percent of people tweeted something, which is a huge, epic win in activation. “Activations” means happy use of the software. I guarantee you if you haven’t optimized this at all, you can achieve extraordinary gains in activation for not all that much work.

The thing that worked for Appointment Reminder was implementing a tour mode. What’s a tour mode? Appointment Reminder has sub‑optimal things about the way the market uses it, in terms of getting people through their 30 day free trial. I actually collect credit card at the start, and then they get 30 days to decide whether they want to cancel or not. The problem is that people typically make their appointments for the customers well in advance.

By the time the 30‑day mark rolls around, Appointment Reminder might not have actually reminded a single customer about appointments, because they were scheduled that far in advance, so that’s sucky. They get to the last day, they get to the email, it’s like, “Hey, we’re charging your credit card in 24 hours. If you don’t want that, cancel.” They think, “Oh, this hasn’t really done anything for me, cancel.”

Rather than making it take six weeks for them to perceive value from Appointment Reminder, and to have people come in to their massage therapy practice, or whatever their business is, I wanted to expose that value to them in the first five minutes. So I dragged them by the nose through using the software. Instead of calling their customer, I made a special little mode that would call them instead, and say, “Hey, this is your fake appointment reminder. If you actually had an appointment, it would be five minutes from now. Click ‘1’ to confirm it.”

Bing, they click ‘1’. “Great. That’s the experience your customer gets, now let me show you how to do that generally.” It walks them through this crazy, obtuse interface, because I’m not an interface designer. Says, “Yeah, put in (555) 555-5555 for one of the clients, and we’ll schedule an appointment for them.

It walks through every step of the work flow, and tells them, “OK, and this is where someone might actually cancel your appointment. Normally that sucks, but we’re going to send you an email, and that’s going to make you money. Isn’t that great? You’re having fun now.” Tell people they’re having fun now. That’s a big secret in Vegas. I bet there’s people running around in skimpy dresses with a lot of alcohol in their hands, trying to tell you all the time, “Hey, you’re having fun! Hey, you’re having fun! Hey, you’re having fun!”

Because if you tell people they are having fun and getting value from the software, they will tend to believe you. Create value, but also tell them that you are creating that value. If there is a social or viral component in your software, if you tweet about using the software, if you invite your friends, if there’s some sort of friends‑list management, first you should probably pre‑populate that friends list using anything that you can possibly do, because people hate managing friends lists.

Make sure that that goes in in the first five minutes, because it will greatly increase your viral factor, and that literally makes or breaks businesses. Zynga obsesses about this. Not a win for the world. Dropbox obsesses about this, that was a win for the world. If, on the other hand, your software requires a lot of data entry, like you’re mocking up things, or creating documents, or making bingo cards for people, figure out a way to eliminate the data entry as a prerequisite for actually getting the fun use of the software.

Maybe give them sample templates that they can use, or just put in fake data, and give them a “Blow away the fake data” button. This is a very deep topic. I have a 45‑minute deep dive available at I’ll tweet a link to that later. If you give me your email address, you can download the video at any time. I’m actually not trying to sell you stuff. In fact, when I actually have something to sell you, send me an email and say, “I was at Microconf,” I’ll give it to you for free.

A Brief Digression Into The Scintillating World Of Running A Software Marketing Consultancy

Patrick:  [After consulting briefly with the audience, I decided to talk about consulting for a moment.] What do I do? We talked about this earlier, the way to extract money from any company is to promise them one of two things. Either you’re going to increase their revenue, or you’re going to reduce their costs. I’m kind of terrible with firing people, and that’s the best way to reduce costs for most software companies. But I’m kind of good at scalably increasing revenue, so that’s what I do. By trade, I am a programmer. If I was less savvy about this, I might describe myself as, “I’m a Ruby on Rails developer who knows a few things about a few things.”  Ruby on Rails developers might be hard to hire right now, but they’re hireable. If you have $200 an hour, you can find Ruby on Rails developers. But don’t compete with all the Ruby on Rails developers in the world, because Github is lousy with them.

Instead, say that you are giving an offering that will increase their revenue by a lot.  I can point to particular customers of mine, that they will find very credible within their space, and say, “We worked with Patrick and then our revenue durably did a stair‑step function.” I said, “What is stair‑step 100 percent increase in sales of your software as a service product worth to your company, if you have $10 million of sales right now?” “Oh, that would make our sales $20 million.”

“Oh, great. Then I’m pretty cheap compared to the $10 million marginal revenue you’ll get,” and you get very little push back on prices, no matter how much you bump it up. Scarily low. Yeah?

Male audience member:  When you make that sale, how do you guarantee it, or say, “If I don’t reach this, you don’t pay more than that,” do you know what I mean?

Patrick:  No. [laughter]

I’m sufficiently credible about this thing. I think most of my customers actually succeed, because most of them invite me back. Let’s say a week of my consulting rate is similar to the fully‑loaded cost of hiring an engineer for a month. [Patrick notes: That was a good ballpark figure a year ago.  My consulting rate tends to increase over time as I get more successful engagements to use as references, get pickier about what clients I take on, and just start writing higher numbers on proposals.] If you have an engineer work for you for a month and the product fails, like most products do, the engineer doesn’t give his salary back, right?

Plus the pricing structure would be very radically different if there was downside to me, if it didn’t work out. If there’s downside to me if it doesn’t work out, there should be substantial upside to me if it works out, so if I double the sales for the company, I think as a close approximation I should own half the company afterwards. I’ve actually used that line on people before [Patrick notes: In case it is not obvious, no well-run company anywhere would even consider that payout structure], and they’ve been like, “Oh, that’s cheeky! But we’ll go with the cheap option.”


Where the cheap option is $20,000 a week, or whatever. That is just a representative number, that is not a quote.


How did turning down $700,000 work out? I went to a company in a far‑off land, which is not the United States, because the United States is a far‑off land for me, but a different far‑off land, and I did some stuff. Can I talk to you about what the stuff I did? Hmm. I can’t talk about specifically what the stuff I did, but if you’ve listened to my conference presentations or read my blog, you know that I really like A/B testing, and I really like Search Engine Optimization.  I really like, say, designing the first five minutes of software, and I really like, I don’t know, redesigning purchasing pages to extract more money from businesses that don’t care about how much money that gets extracted from them.

I did some combination of those things for a particular software company, and made them a lot of money. A company that was making X, so say eight figures of revenue, went to a different eight figures of revenue. But there’s a lot of play in the eight figures range.


That was after working for them for two weeks. The CEO said, “Hey, at the rate…” It’s kind of embarrassing for me, but the rate I quoted them was $20,000 a week. Why am I embarrassed? Because part of me has always thought that I’m really not worth that, and I’m just good at bamboozling people.  [Patrick notes: Nagging doubt monster!]


This engagement was the one that turned it around, because one of the things I generally insist on is, “OK, I like this metrics stuff, I’m going to get metrics for the before and after. We’re going re‑test, and we’ll see if this actually worked.” We came back two weeks later and we looked at the metrics, and I’m like, “Oh, I must have mis‑implemented that,” and he says, “The bank account disagrees with you.” I’m like, “Oh, oh, wow. Oh, wow. Oh, wow. Oh, wow.”

He said, “So, what was it? $20,000 a week, or whatever we’re paying you?” A CEO doesn’t even know, that’s not a motivational amount of money to a CEO at an eight figure‑a‑year company, despite the fact that it’s kind of a motivational number for me. He said, “What was it, $20,000 a week? So if you consult 50 weeks a year, that’s a cool million.

“But you can’t actually consult 50 weeks a year, so there’s overhead and whatnot, and you have downtime, and you have to go to conferences to meet people like me, so let’s call it a 30 percent haircut to that, so that would be what, $700,000? Is $700,00 a motivational amount of money to you?” [exhales loudly] I’m like, “Wow, wow, is that on the table?” It’s like, “I’m the CEO, we’re sitting at a table, bam!”


My life flashed before my eyes, and I’m like, “Wow! Wow! Wow! Wow! No, Wow!” I guess the follow‑up question to that is, “Why did I say no to that?” Consulting is the right thing for me right now. I have a wedding to plan for, I have two weddings to plan for, one in Japan, one in the US. People with iPads are successfully convincing me that I’m probably still in your position, but for the consulting business.

I’d love to help you by coming here and spreading knowledge, and talking to you, and taking your emails any time my email is up on the screen. Doing it as a day job again is not something that’s motivational for me, even for more tea than there is in China, I think is the expression. $700,000 is a lot of tea!


Patrick:  Sorry, not meaning to brag there. OK, questions?

Rob Walling:  Can we get a round of applause first? [applause]

[Patrick notes:

My recollection is that I said something here which unfortunately did not make it on the video, but it is more important than the rest of the speech put together, and since this is my blog I think I’ll take a moment to say it again.  All the speakers at Microconf, and many of the attendees, receive substantial support from their spouses and families, both in the sense of “Hey honey, can I fly to Vegas to talk with some quirky software people?” and in the day-in-and-day-out support for the entrepreneurship career choice.  That’s sometimes risky and sometimes involves annoyances to families that people don’t generally have to deal with when their spouse is in 9-to-5 employment, in everything from quirky hours to weird comments from friends/family to the inconsistency relative to biweekly paychecks.  We should recognize the support of our families as being instrumental to our business/careers, and also keep in mind that they are, ultimately, stakeholders in the business, with a claim superior to even employees/investors/customers, because at the end of the day they’ll be with us when the business is, as mentioned earlier, but dust and memories.

The attendees at Microconf joined me in giving a standing ovation to the (numerous) family members who had made it out for the conference, and also for the folks who were supporting attendees from home.]

You Should Probably Send More Email Than You Do

For the last six years or so, I’ve blogged, participated in online watering holes like Hacker News and the Business of Software boards, tweeted, spoken at conferences, and been very public about what I’ve learned about making and marketing software. Folks tell me that my advice has made their lives and businesses better, which is enormously motivational to me. Also, all this online participation has a variety of helpful side-effects for my business: more consulting leads, link juice to help my SEO out for the product businesses, reputation/credibility enhancement, yadda yadda.

One medium I’ve never made much use of personally is email. This is objectively suboptimal, because email is the best broadcast channel ever invented for business purposes. There’s no time to fix that like the present, so a) I created a mailing list, you should probably sign up and b) I would like to explain why your business should probably send more email than it is right now.

The Thirty Second Sales Pitch

Give me your email address and I’ll send you things that you’ll enjoy. For example, immediately after you confirm your email address, I’ll send you a link to watch a free 45 minute training video on improving the first run experience of your software. Why would you care about that? Because you’ll learn stuff like:

  • how two hours of work lets me sell $10,000 extra of Bingo Card Creator a year
  • how I more-than-doubled customer lifetime value on Appointment Reminder by implementing a product tour
  • why some software companies that you’ve heard of pay a fair bit of money for similar advice
  • tactics that two folks have already reported made their businesses more successful after implementation

In addition to that video, I’ll periodically send you other stuff you might be interested in. For example, last Friday I sent the mailing list a very well-received, in-depth look at how to price SaaS plans. Twenty people wrote me back and said they found it useful and would implement at least one recommendation in their own business. (Didn’t see it? If you’re on the list, send me an email.  If you’re not, sign up, you’ll get it automatically tomorrow.)  That’s a specific example, in generalities you’ll get:

  • exclusive looks at software/marketing topics which for whatever reason aren’t right for this blog
  • announcements when I produce something of particular interest to you (like e.g. my Business of Software presentation, which is the smartest/funniest I’ve ever been in 7.5 minutes)
  • announcements of new product offerings, should I ever decide to make anything that I think you’ll find interesting

Email: Geeks Ignore The Best Marketing Channel Ever

A long time ago, I used to be an anti-spam researcher. I was very, passionately committed to getting 95% less email in people’s inboxes. This lead me to have an enormous psychological block against collecting and sending emails for my businesses. My perceptions were that:

  • users bucket email into “tolerably annoying” and “hated with passion unmatched by a thousand burning suns”
  • email marketing is universally kind of seedy
  • asking for email addresses would damage customer confidence
  • other methods of communication made email obsolete
  • ethical use of email is economically marginal for the business

These perceptions were catastrophically wrong. If you are currently where I was six years ago, let’s have an intervention.  You should start collecting emails from people interested in your topic of expertise and periodically dusting off their inboxes, too.  Here’s why:

Presentation Of Content Influences Perception of Value

I try to avoid the word “content” because I think that “content” auto-commoditizes the value of whatever it is you are offering. Shakespearean plays would sound like terrible wastes of time if they were described as “content.” Regardless, I’m going to use “content” illustratively for the next few paragraphs.

Have you ever heard the phrase “You can’t judge a book by its cover”? It’s the worst kind of horsepuckey. In addition to the fact that it is trivially possible to judge a book by its cover, it is an empirically observable fact that most people, when presented with a book, will judge it by its cover.

Content gets judged by it’s cover.

  • Visual presentation is treated as a proxy for content quality and is provably dominated by first impressions formed in 3 seconds or less (see “Blink”).
  • Content which bears social proof (including e.g. visual elements suggesting endorsement by news media, tastemakers, or one’s peer group) will, in A/B tests, often ROFLstomp absolutely equivalent content lacking social proof.
  • Content appearing next to things which suggest high value will tend to inherit that high value. (This is the entire justification for the NYT’s rate card.) Content appearing next to things which suggest low value will tend to inherit that value.
  • Content has perceived value accutely dependent on what you describe it as. Novels are valuable, text files are not, even text files which are bitwise equivalent to novels. Reports are valuable, white papers are less valuable, PDFs are virtually valueless. (Seriously — A/B test this on a lead capture form.)

Here’s a concrete example for you: 37signals recently offered to give away free copies of their best-selling book Getting Real in return for mailing list signups. The positioning for it was, unfortunately, as a “free PDF.” Some members of HN proceeded to question the value of the give-away, including by interpreting the positioning for it as “a PDF file full of content that was published years ago to the Internet.” That’s painful. For what it’s worth, Getting Real is a great book with good advice in it, some of which is very actionable.

Given that reading Getting Real is a win for the reader and a win for 37signals, as a marketer, you want to convince people that reading it is in their interest. This begins with positioning it in such a way that people perceive value out of it. For example, rather than calling it a “PDF file”, which is begging to get valued based on the price of bits by people who think all bits deserve to be free, you can call it a best-selling business manifesto written by beloved industry experts. (That’s certainly marketing but, crucially, not a word is false. If you believe that cynical Internet-types would be less likely to download it if it were phrased that way, you could hypothetically A/B test that, and you would hypothetically lose.)

What Does That Have To Do With Email?

Consider this blog post (we’ll walk it back to email in a second). How are you reading it right now? Statistically speaking, you’re probably reading it either through a feedreader or on an aggregator like Hacker News. It is sandwiched somewhere in the middle of 30 other posts, all presented with the same visual weight. You will spend, statistically, an average of under three minutes on it. You will, statistically, not read all of it. This is a shame, because this post is orders-of-magnitude more important than a lot of the dross it is located next to.  However, because humans are humans, you (statistically) are going to associate it with dross because that is where you found it.

I’m not immune to this: my feedreader has over 1,000 items which I’ll never get to. Here’s what I see on those rare occasions when I open it:

Don’t look at this from my perspective.  Look at it from Aaron Wall’s perspective.  He’s one of the savviest SEOs alive and has a SEO training business which he would like to promote to people.  (Disclosure: I used to pay him $300 a month for it.  I spent waaaay too much time on his forums and answered so many questions that he made me a moderator and comped my subscription, demonstrating further that given the opportunity and a text input field I pretty much can’t help myself.)

Anyhow, Aaron is competing with thousands of unread items which are all presented as being approximately equivalent in value to his offering.  They’re not!  Egads, they’re not!  As much as I love with keeping up with the news coming from commentators about World of Warcraft, SEOBook is a bazillion times more valuable to me.  But I’m still probably not going to read that article!

Now let’s compare this to my inbox:

See those twelve unread messages?  How many of them do you think I’m going to read today?

That’s right, I’m going to read all messages in my inbox, because like most white collar professionals reading and responding to email is my effing job.  If Aaron Wall had hypothetically sent me his actionable tactics on how to market my business online, then that would get a halo effect from being in my inbox.  It wouldn’t be competing with the news about the Diablo 3 launch, it be in my workflow right between answering a question about the software I sell and re-sending a five figure invoice to a client.  I read and pay attention to my email, whereas blog posts get skimmed or dismissed outright.

Emails Get Opened And Change Behavior

Having done this for six years, I have good horse-sense with regards to the anatomy of blog posts and where links go on a page.  For example, if I put a link like “If you do nothing else to improve your copywriting go take a look at CopyHackers” I can tell you that, at this point in the post, maaaaaybe 1% of readers are going to actually click on that.  (The rest of y’all are missing out, seriously.  I could practically justify my consulting rates just doing dramatic readings of that for the web teams at my clients.  Application of the advice therein has made tens of thousands of dollars.  This personal recommendation may get that click through rate up to 3%.)

Now, if you’re an email-skeptic, you’re going to say “Well sure, but that’s got to be better than email, right?”   Wrong!

I soft-launched my training email list a few weeks ago, and have some seven hundred odd subscribers on it.  When I sent them an email last Friday about SaaS pricing, fully sixty percent of them read it.  (Sidenote: Folks thought I was going to get an email list full of or throwaway email addresses, since I was giving an incentive for signing up to the mail list.  cough  Not so much, no.  Folks scamming you for the incentive are a — cheap — cost of doing business.)

Roughly 25% of folks who read the first email (or a full 15% of the mail list) clicked on a link with approximately similar prominence to that one.  (It was to Ruben Gamez’s writeup on how and why he changed pricing for BidSketch.  Seriously worth a read.)

Changing behavior can be substantially more lucrative than just getting a link clicked on.  For example, if you’re not just publishing anonymous “content” but rather trying to reactivate users of an application (lifecycle emails) or educate-them-to-the-point-where-they-want-to-buy-something (drip marketing), a little nudge in behavior could result in adding thousands of dollars of customer LTV.  One of my consulting clients could trivially afford to include a ten dollar bill with every email.  (You’re already thinking of mails hitting spam filters, mails not getting read, and mails not getting acted on.  Yep.  You’re overestimating all of those numbers, but yep.  A few percent survive all those hurdles and result in thousands of dollars of sales at the margin.  Email is a numbers game and the numbers are very motivational indeed.)

Blog posts are very poor at changing actual behavior.  Here’s a “conversion” I’d like to get out of everyone in our space: I want you to start A/B testing, because it will make you a substantial amount of money.  I’ve beaten that drum so many times that folks identify A/B testing with me and ask me for my opinions about it.  I have probably told a hundred anecdotes like “I just did an A/B test and increased software sales by 70% with 99% statistical confidence.  The change was a two-character configuration tweak that I dismissed on a hunch six years ago.”  (That totally happened this May.  Ask me for details later.)  My consulting clients frequently tell me they’ve read my things on A/B testing for years, been very intrigued, and yet no amount of saying “This is worth millions of dollars” has ever convinced them to have one of their twenty employees spend 15 minutes implementing an A/B test.  It was downright surreal for me the first half-dozen (!) times this happened: folks who have followed me for years and could, in many cases, literally quote from my writing on this subject had never acted on it.

(Speaking of presentation changing perceived value: If you pay nothing for expert advise you will value it at epsilon more than nothing, if you pay five figures for it you will clear your schedule and implement recommendations within the day.  In addition to this being one of consulting’s worst-kept secrets, it suggests persuasive reasons why you should probably extract a commitment out of software customers prior to giving them access for the software.  Doing this will automatically make people value your software more.)

People — Including Geeks — Actually Like Getting Email!

I always thought I really hated getting email.  It turns out that I was not a good reporter of my own actual behavior, which is something you’ll hear quite a bit if you follow psychological research.  (For example, something like 75% of Americans will report they voted for President Obama, which disagrees quite a bit with the ballot box.  They do this partially because they misremember their own behavior and partially because they like to been seen as the type of person who voted for the winner.  99% of geeks will report never having bought anything as a result of an email.  They do this because they misremember their own behavior and partially because they believe that buying stuff from “spam” is something that people with AOL email addresses do, and hence admitting that they, too, can be marketed to will cause them to lose status.  The AppSumo sumo would be a good deal skinnier if that were actually the case, but geeks were all people before they were geeks, and people are statistically speaking terrible at introspection.)

For example, when I started going back through my inbox and memory to find emails that had really struck a chord with me, I remembered that two onboarding emails from Twilio had been particularly good.  I mean, sure, “I hate email”, but when Jeff Lawson sent me a note asking how Twilio was doing I read it.  (Subject line: “RE: Welcome to Twilio”  This is the point where geeks point out that they hate when evil marketers hack their brains and make them click on the message to open it and discover that Jeff Lawson didn’t write it to me personally.  Trust me on this one: I not only was not pissed off at that — I didn’t remember it until I opened it again just now — I went on to build an entire business on top of Twilio, with the first step largely being prodded by a well-executed series of email which kept bringing them back to mind over a few weeks.)

I assume you can probably see a similar mail sequence if you sign up for Twilio right now, so go do that.

My first business, Bingo Card Creator, makes extraordinarily light use of email.  I send out a newsletter on every month with a major holiday, telling people to make $HOLIDAY bingo cards with Bingo Card Creator.  The newsletters practically write themselves off the usual template, with slightly different graphics and a find/replace for the name of the holiday and tracking codes.  If I forget to send one of these newsletters real customers actually find my email and complain.  That blew my mind the first three times it happened — probably because part of me thought the newsletters were not really delivering value.  In hindsight, that was stupid.  People pay money for Thanksgiving bingo cards.  Of course they want to hear about them when go out of their way to check “I’d like to get a newsletter about new bingo activities, about once a month.”

Permission And Trust Are Worth Money

I had the Rails request log opened with tail -f e it when I launched my email list.  (Geek-to-English translation: I was watching who signed up in real time.)  Sixty seconds later, a particular email address caught my eye when it was confirmed.  Let’s call it Totally Not Mark Zuckerberg (TNMZ) since it wasn’t Mark Zuckerberg but was a person who I wanted to make the acquaintance of.

TNMZ has apparently been reading my blog for years.  I never knew that (d’oh!) and would have never presumed to contact TNMZ because I assumed that TNMZ would have better things to do than read email from me.  Explicitly asking for email from me makes that worry seem sort of silly.  The ability to reach out to TNMZ and know that contact would be welcomed is worth meaningful amounts of money to my business, even if nothing ever came from the mails sent by the actual mailing list.

Similarly, if you sell SaaS, and get say a hundred prospects to give you their email addresses, you can do motivational things for your business just by sending out 10 “Hey I saw you signed up.  I’m the CEO.  What questions can I answer for you?” mails to the people who look like the most promising prospects.

This is an ability that you don’t get with blog posts and largely won’t get with other broadcast methods like e.g. Twitter.

There are, of course, other companies which make scads of money from carefully curated email lists.  DailyCandy sold for nine figures.  Groupon is an email marketing company, growing to billions of dollars of sales on exploiting an arbitrage between “It’s comparatively cheap to get young, professional women to sign up for an email list” and “After they’re on the email list, they spend motivational amounts of money at its direction, and we get half of gross.”  (P.S. That arbitrage opportunity is now fished to heck and gone.)

Almost every first-class e-commerce company treats their house email campaigns like they are the goose that lays the golden eggs, chiefly because they are.  For companies which have repeat-purchase models, direct response to emails can represent half or more of customer lifetime value.

One of the largely-unsung secrets to Facebook having such an insanely high user retention rate is that they use activity from your friends to give you highly personalized emails designed to bring you back to the site and post stuff.  (A detail I really like: you can reply to email and then post things on Facebook without even visiting it.  Facebook will then, predictably, hit your friend with an email and use social pressure from you to bring them back in.)  Many social startups are extraordinarily aggressive with this early in their lifecycle (I’m looking at you, Quora) and gradually back it off over time.

Some folks might think I’m saying Build Trust With X, Monetize Trust With Email Sales Pitches, but it can work in exactly the opposite fashion, too.  For example, I wrote a drip marketing campaign (a series of emails scripted to go out at particular intervals) for WPEngine.  They sell high-end WordPress hosting, and every sale requires a strong commitment to change on the part of the customer — migrating your blog is not easy or fun for most people.  They also charge multiples of what the typical WordPress host charges, because they’re not the typical WordPress host, so it is imperative to educate the customer on the difference.  Many customers will not sit down and read 10,000 words of your marketing copy just because your face is pretty, but if you pitch them something like e.g. a course on how to improve their own WordPress installation, they’ll happily sign up for email from you.  (Really.)  You can then spend, e.g., eight emails over the course of a month educating them on what happens to WordPress under load and how to improve that, what WordPress’ security record is like and how to lock it down, and how browsers fetch and display content with reference to how to optimize one’s site to take advantage of it.  As you gradually build up trust as a respected provider of optimization advice that your customers (if they are diligent) can see working for themselves week in and week out, you can get more aggressive with “So we talked about X and Y and Z, and you’ve implemented some of it and not implemented some of the rest yet.  We could talk your ears off about this, but tell you what, if you switch to our service you’ll get it all because we breathe this stuff.”)

This type of approach demonstrably works well at selling software, even software which you might expect would require high-touch consultative sales processes.  Indeed, this is a way to scale the initial parts of the high-touch sales funnel while simultaneously passively collecting information about customers to help you do lead qualification for the really intensive portions, like say webinars or live sales presentations.  It also scales down beautifully to low-touch self-service sales approaches, too.

Email Keeps Your Audience Warmed Up

You might have heard the old advertising saw that someone needs to hear about your brand seven times before they buy.  I personally think that one is poorly sourced industry lore.  In place of it, let me cite something which is verifiably true: the probable value of a prospect goes down over time, the provable value of a customer goes up over time.  (The predicted future value of a customer is an odd duck for many SaaS companies.  I’ll sketch out the shape of the curve some time.  It’s a weird snake that requires a bit of explanation.)

You can break out the numbers in your own CRM to see this: your likelihood of getting an order from a prospect goes down sharply the longer they’ve been in the CRM, largely because the “lead gets cold.”  (Indeed, in a lot of fields you can lose up to 90% of the predicted value of the lead within the hour.  Crikey.)  Software businesses will see a similar effect in their own sales: for example, Bingo Card Creator trials (which are not time-limited) will lose 90% of their expected value after the first day (i.e. 90% of purchases happen in the first day), another 90% in the first week, and another 90% in the first month.  (i.e. Only one out of about a thousand sales happens more than one month after the trial starts.  That’s actually an old stat — it went waaaay up when I started emailing folks who opted-in on approximately a monthly basis.  Every time I blast out an email I get a few hundred bucks.)

Regularly getting in contact with customers or otherwise getting on their radar keeps leads warm.  Some of my more successful clients and confidants successfully get orders from people who’ve been in their company “ecosystem” (fan of the blog, trialed a product four years ago, signed up for email list, etc etc) for literally years.  And not “An order here and and order there” either, no, this is a repeatable process that they put in place because it works.  They plan out email campaigns with more sophistication than many of us would plan out actual product launches.

Email Helps Get Marginal Revenue Out Of Existing Customers For Almost Nothing

This worked on me, recently: I signed up for the Blue Nile mailing list back in October when I ordered my engagement ring, and they have sent me approximately 45 newsletters (I counted) since then.  I think I opened maybe two of them…  but sure enough, when I remembered I needed wedding rings too, they were sitting at the top of my inbox.  Guess who got the order?

You can do so, so much more with emails than the typical SaaS company does.  Here’s two stupidly simple things you can do to celebrate a customer’s first year anniversary with your service:

  • offer them a month free if they pay for a year of their current plan in advance
  • offer them a substantial discount (say, 25%) if they upgrade to the next higher plan level  (optionally, if they do it for a year in advance)
For the right companies and the right offers, that can mean $100 per email sent in extra customer LTV.  Plus, if you ask them for money in advance, you get the opportunity to spend it immediately.  (This is enormously motivational for SaaS businesses because they typically have godawful terrible cash-flow issues with customer acquisition costs front-loaded and revenue dripped out at a mostly steady pace for years.  That is typically the reason that SaaS companies attempt to seek investment: despite the cost of producing SaaS cratering over the last years, scalable customer acquisition channels are, if anything, getting more expensive over time.)
Paul Stamatiou wrote up how Picplum used this to their advantage.  I plan on covering the topic in substantially more depth, later.

Does This Email List Mean You Going To Stop Blogging?

One might reasonably ask where I’m going with this private email list.  Good question!  I’m not entirely sure — I have a feeling that I’ll write a mix of free material for it and, eventually, produce something which will add a lot of value for software companies.  That offering will be priced commensurate with value.

The amount of effort I put into my blog waxes and wanes with where I am in life at any given time. Some folks have recently noticed that I haven’t been posting as much as I used to. I plead “upcoming wedding” with the extenuating circumstance of “business is on fire (in a good way).”  Going forward, if I have something which makes a good fit for the blog, I intend to write it up as life permits.

Have a topic which you’d like to hear about?  Drop me a comment or email.

P.S. To save you a scroll-back-to-the-top, if you’re looking for the signup link for emails from me, it is here.

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.


  • 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, 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 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:


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 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 I were to write 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.