靠一个“读csv画地图”工具年入五万美金?独立开发者必读:Storemapper 的极致“寄生”暴利学

1 引言:一个程序员单枪匹马,靠解决一个小麻烦躺赚的起点

Storemapper 是一款专为企业设计的 Micro-SaaS(微型 SaaS) 工具,主要功能是为品牌方的官网添加一个“实体店/经销商查询器”(Store Locator)。

对于独立开发者来说,Storemapper 是一个极其经典的案例。它的核心价值在于:解决了一个“很小但刚需”的问题——让不具备编程能力的运营人员,能一键在网站上嵌入美观且功能强大的地图。

为什么它适合独立开发参考?:: Storemapper 最初由 Tyler Tringas 独自开发。它成功的关键在于:

  1. *极简的 MVP*:初版逻辑非常简单,就是“读取 CSV -> 调用地图接口 -> 生成嵌入代码”。
  2. 高杠杆的定价​:原本企业需要花上千美元定制的功能,现在通过每月几十美元的订阅费即可获得,对小商户极具吸引力。
  3. 依附生态系统​:通过入驻 Shopify App Store 等平台,精准获客,解决了独立开发最难的流量问题。

2 产品拆解:看似简单,为何能让商家每月乖乖掏钱?

  • 店铺定位与搜索:顾客可以通过城市、邮编或当前 GPS 定位寻找附近的实体店。
  • 多平台集成:无缝支持 Shopify、WordPress、Squarespace、BigCommerce 等几乎所有 CMS 和电商平台。
  • 数据自动同步:支持从 Google Sheet、CSV 文件或 Google 商家配置(Google Business Profile)自动抓取并更新门店信息。
  • 数据分析:后台提供搜索热力图,告诉品牌方哪些地区的潜在客户最多,辅助选址或营销决策。

3 赚钱密码大揭底:从解决一个“小麻烦”到构建高毛利印钞机

Storemapper 的商业逻辑可以概括为:在成熟的生态流量里,通过降低技术门槛来换取高毛利。

3.1 痛点即印钞机:当老板想找店却不会写代码

很多品牌方(如服装、食品、家居)虽然在 Shopify 或 WordPress 上卖货,但他们也有线下经销商或实体店。

  • 企业痛点:老板想让顾客在官网上能搜到最近的店,但自己不会写代码。
  • 定制成本:找外包开发一个稳定的地图查询器可能要数千美元,且后续维护麻烦。

3.2 价值主张:3分钟搞定程序员两周的活儿

  • 3分钟上线:只要上传一个 Excel 门店表,复制一段 JS 代码到官网,地图就出来了。
  • 全平台兼容:无论客户用什么建站工具,Storemapper 都能无缝嵌入。

3.3 流量密码:不花广告费,寄生在巨头身上精准吸粉

  • 寄生式增长:入驻 Shopify App Store、WordPress 插件市场。当商家搜索 "Store Locator" 时,Storemapper 就会出现。
  • SEO 长尾:针对 "How to add a store locator to [Shopify/Squarespace]" 制作大量落地页。

3.4 定价即壁垒:为什么商家一旦用了就再也离不开?

  • 按量分层:根据门店数量和功能(如是否支持 Google Sheet 同步)收费。
  • 高粘性:一旦商家在官网上嵌入了地图并运营了一段时间,更换成本(迁移数据、重新调整样式)就会变高。

4 技术内幕透视:一行地图代码没写,如何优雅地驾驭 Google Maps?

Storemapper 的核心并不是开发地图(那是 Google 的活),而是数据的结构化管理与高效呈现。

作为一个“嵌入式”工具,Storemapper 的实现逻辑非常清晰,主要分为三个层面:

4.1 地图引擎集成:做 Google 和客户之间的“二道贩子”

Storemapper 本身不开发地图底层,而是作为中间层调用成熟的 API。

  • 服务商:主要支持 Google Maps 和 Mapbox。
  • 地理编码 (Geocoding):将用户上传的街道地址(如“北京市朝阳区...”)通过 API 转换成经纬度坐标,以便在地图上标注。

4.2 前端嵌入技术:复制粘贴即安装的黑魔法

这是其“免代码安装”的核心。

  • Embed Code (嵌入代码):系统为用户生成一小段 JavaScript 代码片段(Snippet)。
  • 渲染机制:当网站加载时,这段脚本会向 Storemapper 后端服务器请求门店数据,并在指定的 HTML 容器中利用地图 API 渲染出交互式地图。

4.3 后端数据管理: 云端的同步大脑

  • 数据存储:存储各品牌的门店详细信息(坐标、营业时间、电话、产品标签等)和订阅逻辑
  • 第三方同步:通过 API(如 Google Drive API)定期轮询或实时接收数据更新,确保网页端显示的门店信息是最新的,无需手动重复录入。
  • 性能优化: 决定留存率的生死线

    • 缓存策略:对于门店众多的客户,使用 CDN 缓存门店数据的 JSON 文件,避免每次打开地图都去查数据库,提高加载速度。
    • 按需加载:如果门店过万,前端会采用“聚合(Clustering)”技术,避免地图上密密麻麻的标注导致浏览器崩溃。

5 结语:给独立开发者的三条“抄作业”暴利启示

做“胶水层”产品​:Storemapper 实际上是把“Google 地图”和“客户网站”粘合在一起。这种中间层工具往往开发量不大,但商业价值很高。

数据是壁垒​:让用户把门店数据存在你这里,或者把工作流(Google Sheet 同步)架在你这里,这就形成了软件粘性。

MVP 意识: 第一版甚至不需要自动同步,只需要支持上传 CSV 即可上线验证。

6 附录:原文双语阅读

https://tylertringas.com/storemapper-bootstrapped-to-50000year-in-2-years-with-live-metrics/

Storemapper: Bootstrapped to $50,000/year in 2 years (with live metrics)

Storemapper:两年内自力更生实现年收入 50,000 美元(附带实时数据)

Two years ago I launched Storemapper an embedded store locator service that runs on any website or ecommerce platform. Today around 500 brands use Storemapper to help their customers find the closest place to buy their stuff.

两年前我推出了 Storemapper,这是一个可以在任何网站或电商平台上运行的嵌入式店铺定位服务。如今,大约 500 个品牌使用 Storemapper 帮助他们的客户找到购买商品的最近地点。

The service has grown from bootstrapped to over $50,000 per year. It’s not cool like a billion dollars, but not half bad for a side project. T 该服务已从自力更生发展到年收入超过 5 万美元。虽然不像 10 亿美元那样酷炫,但作为一个副项目来说还算不错。

oday I want to share some data, stories and things that did and didn’t work. 今天我想分享一些数据、故事以及成功与失败的事情。

36 hours in a first class cabin 36 小时在头等舱

Two years ago, August 2012, I was doing freelance work for ecommerce merchants on Shopify. Within the span of a few weeks, several of my clients asked for a store locator for their site. You know what I’m talking about, enter your zip code, find the closest store near you, go buy the thing. 两年前,2012 年 8 月,我正在为 Shopify 上的电商商家做自由职业工作。在短短几周内,我的几个客户都要求为他们的网站开发一个店铺定位器。你知道我在说什么,输入你的邮编,找到离你最近的店铺,去购买商品。

Given how ubiquitous store locators are on the web, I figured their must be a plug and play solution. An hour of quick research and I didn’t find any good options so I made a note to prototype a no-coding-required solution for merchants. 鉴于店铺定位器在网络上如此普遍,我猜想一定有即插即用的解决方案。一小时快速研究后,我没有找到任何好的选项,于是记下要为商家原型设计一个无需编码的解决方案。

A few weeks later I was headed from San Francisco to Buenos Aires, Argentina. I booked the flight with miles and in some fluke I was able to upgrade to First Class if I routed through New York JFK. With an eight hour layover in the Flagship Lounge I was looking at nearly 36 hours of free wifi, unlimited champagne and coffee and very few distractions. 几周后,我从旧金山前往阿根廷布宜诺斯艾利斯。我用里程预订了航班,偶然的机会我可以通过经停纽约肯尼迪机场升级到头等舱。在旗舰休息室有八小时的停留时间,我几乎有 36 小时免费 wifi、无限香槟和咖啡,以及很少的干扰。

So I set a goal, to build an entire Minimum Viable Product on the flight and launch it as soon as I landed in Argentina. So that’s what I did. I built a very very stripped down, barely workable version, launched it when I landed, sent an email to all my freelance clients: “Here’s this thing, here’s what it does, sign up here, put your credit card in there, it costs $5/month.” 所以,我设定了一个目标,要在飞行途中构建一个完整的最低可行产品,并在一抵达阿根廷就立即发布。于是我就这么做了。我构建了一个非常非常精简、几乎无法运作的版本,在落地时发布,并向所有我的自由职业客户发了一封邮件:“这是这个产品,这是它的功能,在这里注册,输入你的信用卡信息,每月费用为 5 美元。”

On Day 1 Storemapper had 3 paying subscribers. Storemapper 在第一天就获得了 3 位付费订阅者。

With hindsight and the experience of building other products that didn’t get any traction, I know that starting from this position, with certainty that some customers will pay for the product is a fantastic starting point for a small business or passive income side project. 以回顾和构建其他没有获得任何进展的产品经验来看,我知道从这个起点开始,确定有些客户会为产品付费,这对小型企业或被动收入副项目来说是一个绝佳的起点。

Minimizing time suck 最小化时间消耗

At the time I launched Storemapper I was juggling lots of other competing priorities. I was heading to South America to cut my cost of living so I could work on building the first version of my main startup idea. SolarList was a much larger technical problem and I needed to dedicate lots of time to it, on top of freelancing to pay the bills. So from the start the most important metric for Storemapper was minimizing my time commitment to 10-15 hours per month, total, including support emails. 在我启动 Storemapper 的时候,我同时处理着很多其他竞争优先事项。我正前往南美洲以削减生活成本,这样我就能专注于构建我主要创业想法的第一个版本。SolarList 是一个更大的技术问题,我需要在业余时间投入大量精力处理它,还要做自由职业来支付账单。因此从一开始,Storemapper 最重要的指标就是将我的时间投入控制在每月 10-15 小时以内,包括支持邮件。

SaaS (software as a service) subscriptions can take a long time to build up to meaningful revenue. See also: the long slow SaaS ramp of death. So it’s important not to get bogged down over-optimizing early on. I forced Storemapper to stay low priority in the beginning which ultimately lead to a better product and happier customers. SaaS(软件即服务)订阅可能需要很长时间才能产生有意义的收入。也请参阅:缓慢而漫长的 SaaS 死亡爬坡期。因此,在早期不要陷入过度优化的困境中非常重要。我迫使 Storemapper 在初期保持低优先级,这最终导致了更好的产品和对客户更满意的结果。

The first version of Storemapper was a true minimum viable product. It lacked tons of important, some might say critical, features. I didn’t make a logo or get an @storemapper.co email address. The landing page was literally a few lines of text and a big blue sign up button. You couldn’t change your password or even cancel your account. There were no receipts for payments and the first few credit card transactions were even handled over non-SSL connections (sorry Stripe!). No terms of service, no privacy agreement. Really a lot of missing things. Storemapper 的第一个版本是一个真正的最小可行产品。它缺少很多重要,有些人可能会说是关键的功能。我没有设计 Logo,也没有获得@storemapper.co 的邮箱地址。登录页面实际上只有几行文字和一个大的蓝色注册按钮。你不能修改密码,甚至无法取消账户。没有支付收据,前几次信用卡交易甚至是通过非 SSL 连接处理的(抱歉 Stripe!)。没有服务条款,没有隐私协议。确实缺少很多东西。

But because it clearly met an unmet need that customers were willing to pay for, it continued to grow slowly (5-10 new paying customers per month), without consuming my life. 但由于它明确满足了客户愿意付费的未满足需求,它在不消耗我生命的情况下继续缓慢增长(每月 5-10 个付费客户)。

A few things that worked well during this period: 这个时期有几个做得好的地方:

Build features slowly 慢慢构建功能 I didn’t build features until 1) a large group of potential customers said they wouldn’t sign up without it or 2) many existing customers said they would cancel without it. I kept a detailed backlog of every possible feature request, but held a very high threshold for actually building them. 直到 1)大批潜在客户表示没有这个功能就不注册,或 2)许多现有客户表示没有这个功能就要取消,我才开发功能。我保留了一份详细的待办事项清单,记录了所有可能的功能请求,但对实际开发这些功能设置了很高的门槛。

Batch support requests 批量处理支持请求 It’s such an awesome feeling to nail a customer support request. When a customer emails me asked for something and I can ping them back in a minute with exactly the right answer, I love it. But early on I think you can’t compete on support speed. You should batch support emails, answering them every few days. I kept support emails in a separate gmail account and only logged in infrequently, knocking out the requests at once. I definitely lost a few customers in the process but it was essential to maintaining my sanity. It’s hard to do support requests at all in the early days of SaaS. You constantly do the math on how an entire year of this customer’s subscription doesn’t add up to one hour of your freelance rate. The amazing part is a high percentage of those support requests solve themselves, customers end up answering their own questions. 能完美解决客户支持请求的感觉真是太棒了。当客户通过邮件向我提出请求,而我能在一分钟内回复他们最准确的答案时,我非常享受这个过程。但早期我认为你无法在支持速度上竞争。你应该批量处理支持邮件,每隔几天回复一次。我把支持邮件保存在一个单独的 Gmail 账户里,很少登录,一次性处理完所有请求。在这个过程中我确实失去了一些客户,但这对于保持我的理智至关重要。在 SaaS 的早期阶段,做支持请求本身就很难。你不断地计算,整个客户一年的订阅费用加起来都不够你一个小时的自雇费率。令人惊讶的是,高比例的支持请求会自行解决,客户最终会自己找到答案。

Let bad shit happen 让糟糕的事情发生 Storemapper was my first product. I had done freelancing and consulting before, but this was the first time customers had given me their credit card in exchange for a product that was supposed to work. Bad shit is going to happen, so zen yourself up before you get started. Storemapper 是我第一个产品。我之前做过自由职业和咨询,但这是我第一次让客户用信用卡购买一个承诺能起作用的产品。糟糕的事情总会发生,所以在开始之前先让自己放松下来。

I got my first furious email from a customer who simply couldn’t believe how difficult to use my (five dollar a month!) product was. I got my first midnight phone calls from a frantic designer on a deadline trying to get a store locator up for a client. If you build software you’re probably used to striving for things to be 99.99% excellent but it’s just not possible when you launch a product. You won’t even get close to that in the early days so don’t give yourself a heart attack. 我收到了第一封愤怒的邮件,来自一个无法相信我的(每月五美元!)产品有多么难用的客户。我接到了第一通深夜电话,来自一个在截止日期前焦躁不安的设计师,他正试图为客户设置一个店铺定位器。如果你开发软件,可能已经习惯了追求 99.99%的完美,但在产品发布时这是不可能的。在早期阶段你甚至无法接近这个目标,所以不要让自己心惊肉跳。

Never underestimate the power of saying, “I’m sorry, that happened, here’s how we’re going to fix it.” 永远不要低估说“对不起,那件事发生了,我们将如何解决它”的力量。

Growing to meaningful revenue 增长到有意义的收入

In Spring 2013, Storemapper was pushing about 50 customers and generating a few hundred dollars per month in subscriptions. The money wasn’t meaningful, but Storemapper was valuable to me as an experiment. I had only started learning to code about a year before I built Storemapper (in late 2011) so I was learning all about scaling a real product with paying customers, in a low-risk environment. We had some outages, some downtime, some accidentally deleted accounts, incredible lessons for me as a software entrepreneur and ultimately not that costly for anyone. 2013 年春季,Storemapper 拥有大约 50 名客户,每月通过订阅产生几百美元的收入。这些钱并不重要,但对 Storemapper 来说,作为一个实验它很有价值。我是在 Storemapper(2011 年末)建立之前大约一年才开始学习编程的,所以我正在学习如何在一个低风险环境中扩展一个真实的产品,并拥有付费客户。我们遇到过一些故障、停机时间,还有一些意外删除的账户,这些对我来说作为软件创业者的教训是极其宝贵的,最终对任何人来说成本都不是很高。

But I decided to get more serious. I set a target in six months I wanted Storemapper revenues to cover (Brooklyn) rent. I got there and a little more. By the end of the year, December 2013, Storemapper was doing around $2,000 in monthly recurring revenue. 但我决定要更认真一些。我在六个月内设定了一个目标,即希望 Storemapper 的收入能覆盖(布鲁克林)的房租。我达到了这个目标,甚至超过了些。到年底,2013 年 12 月,Storemapper 的月度经常性收入约为 2000 美元。

Throughout I stayed within my cap of 15 hours per month. This was a classic example of effectively using Parkinson’s Law containing time allocation to force creativity. I was now over two years after quitting my last salary-paying job so I also didn’t spend any money, literally zero dollars, on any growth strategies. 在整个过程中,我始终保持在每月 15 小时的限额内。这是一个有效利用帕金森定律,通过时间分配来激发创造力的经典案例。我已经辞去了上一份有薪工作超过两年,所以也没有在任何增长策略上花费任何钱,字面意义上的零美元。

I tried some things that worked and others that didn’t. Here they are: 我尝试了一些有效果的,也有一些没效果的。这里就是它们:

Raised prices, a lot (do this) 提高了价格,很多(这样做)

This was the best growth hack by far. $5/month was an arbitrary number that I picked initially reflecting how incredibly crappy the first version of Storemapper looked and felt, even though it did actually do its core job well. 6+ months later it looked and worked better and had lots of new features, options, knobs and faders to it so I raised prices 80% to $9/month for new customers. Month-over-month growth in signups continued to rise so three months later I raised prices again to $20/month, a 300% increase in pricing over four months. It turned out I had dramatically underpriced Storemapper as new signups continued to increase at the new price point. Lesson learned: always test higher prices. I didn’t bother with the setup required to run simultaneous A/B tests. I just raised prices and watched what happened. 这到目前为止是最好的增长策略。每月 5 美元是一个我最初随意设定的数字,反映了 Storemapper 第一个版本看起来和感觉有多么糟糕,尽管它实际上很好地完成了核心功能。6 个月之后,它看起来和运行得更好,并且增加了许多新功能、选项、旋钮和滑块,所以我将价格提高了 80%,定为每月 9 美元供新客户使用。月度注册量持续增长,所以三个月后又将价格提高到每月 20 美元,四个月内价格增长了 300%。结果证明我大大低估了 Storemapper 的价格,因为在新价格点上新注册量持续增加。教训:永远要测试更高的价格。我没有费心去设置运行同时 A/B 测试所需的配置。我只是提高了价格,然后观察发生了什么。

Automate common on-boarding support requests (worked) 自动化常见的入职支持请求(已实现)

Storemapper is a somewhat unique product in that it has exceptionally low churn. Once you get a customer set up, you get the locator on their site and get their locations loaded in the database, they are pretty likely to stay a customer as long as they stay in business. So I focused intensely on converting every customer that signed up. One thing I found from follow-up interviews of customers that signed up for the free trial but didn’t convert was that they often would quit the product because of a perceived lack of feature that we actually did have! They just never bothered to shoot me an email and ask about it. So in a few hours with Screenflow and Youtube I made a ton of rudimentary screencasts and embedded them all over the app’s interface prompting users to watch a tutorial about what was in front of their faces. I wasn’t winning any minimalists design awards but it definitely worked. Getting out in front of common questions like “Do you have X?” or “Can I change Y?” both increased conversions and cut down on support time. Storemapper 是一款相当独特的产品,其客户流失率极低。一旦客户设置完成,将定位器添加到他们的网站并将位置信息加载到数据库中,只要他们继续经营,就非常有可能成为长期客户。因此,我专注于将每一位注册用户转化为付费客户。通过后续访谈我发现,那些注册免费试用但未转化的客户,常常因为认为缺少某些功能而放弃使用产品,但实际上这些功能我们早就提供了!他们只是从未主动发邮件询问。于是,我利用几个小时的时间,通过 Screenflow 和 YouTube 制作了大量基础的操作演示视频,并将这些视频嵌入到应用程序的界面中,提示用户观看教程了解眼前的内容。虽然我的设计并未获得极简主义设计奖项,但确实非常有效。提前解答常见的疑问,如“你们有 X 功能吗?”或“我可以修改 Y 吗?”等问题,不仅提高了转化率,还减少了客服支持时间。

Referral marketing (total bomb) 推荐营销(非常成功)

During this period I did a pretty good job of maximizing value out of each potential customer that signed up for a free trial, but I really struggled trying to find a way to increase the top of the funnel. The number of free trials signups was relatively flat at around 30/month (more on this later). 在这段时间里,我做得相当不错,最大限度地从每个注册免费试用服务的潜在客户身上获取价值,但我确实很努力地寻找增加漏斗顶部的方法。免费试用注册的数量相对平稳,每月大约 30 个(后面会详细说明)。

On occasion we found that a developer/designer or “web guy” would sign up for Storemapper on behalf of a client and then sign up subsequent clients. I decided to try to encourage that kind of referral growth by building out a referral marketing system. I briefly tried a few third-party solutions but found them too expensive for this stage. I put in a solid day of coding to roll my own solution, creating unique referral bit.ly links for each new user, making nice Facebook/Twitter/email share buttons and building a cookie-based tracking solution that would give each user credit for their referred customers. I pitched customers through email, in-app pop-ups, flash notices, offered 1 month free, then 3 months free, then a perpetual revenue share… total new signups through this channel to date: zero, zilch, nada, not a single click or share. I do not have a clue why.

有时我们发现开发者/设计师或“网络技术人员”会代表客户注册 Storemapper,然后又注册后续的客户。我决定通过建立推荐营销系统来鼓励这种推荐增长。我简要尝试了几种第三方解决方案,但发现它们在这个阶段过于昂贵。我投入了一整天的时间编写代码,开发自己的解决方案,为每个新用户创建独特的 bit.ly 推荐链接,制作漂亮的 Facebook/Twitter/邮件分享按钮,并构建了一个基于 cookie 的跟踪解决方案,这样每个用户都能获得他们推荐客户的信用。我通过邮件、应用内弹窗、闪现通知等方式向客户推销,提供 1 个月免费,然后是 3 个月免费,接着是永久收入分成……到目前为止,通过这个渠道的新注册用户总数:零,毫无,根本没有,一次点击或分享都没有。我完全不知道为什么。

For more on how this strategy can in fact actually work, check out this detailed post on Tim Ferriss’s blog on how Harry’s was able to use something similar to capture 100,000 emails. If you’re a Ruby developer definitely use their open-sourced code here as a starting point. 关于这一策略如何真正起作用,可以查看 Tim Ferriss 博客上这篇详细文章,了解 Harry’s 是如何使用类似方法获取 10 万封电子邮件的。如果你是 Ruby 开发者,一定要使用他们开源的代码作为起点。

Hiring a growth-hacker hit man (badly mis-managed expectations) 雇佣一个增长黑客“杀手”(期望管理严重失误)

As I mentioned, customer conversion was doing well, but I wasn’t making much progress on new customer acquisition. I knew almost nothing about Adwords and other paid acquisition channels so I reached out to the author of a very popular marketing blog with the following email: 如我所述,客户转化率进展顺利,但我在新客户获取方面进展甚微。我对 Adwords 和其他付费获取渠道几乎一无所知,因此我联系了一位非常受欢迎的营销博客的作者,并发送了以下邮件:

Dig your blog. I run an e-commerce SaaS app. It’s solid and growing slowly organically, customers are happy and it requires almost none of my time but my passion project (a solar energy business) is keeping me from doing any real time investment in customer acquisition. The app, http://www.storemapper.co is the slightly dull topic of adding a Store Locator to any website. It’s the best solution on the market and there are of course 100,000s of potential customers. It’s a waste that somebody is not building this out with heavy customer acquisition and growing this to a massive user base (users pay $9/mo w/ very low churn). Any tips for finding a solid marketing partner, either equity partner or pay-for-performance? Thanks for the advice and all you do. 我运营着一个电子商务 SaaS 应用。它很稳健,正缓慢地有机增长,客户都很满意,而且几乎不需要我投入多少时间,但我热衷的项目(一家太阳能企业)让我无法在客户获取上投入实际时间。这个应用,http://www.storemapper.co ,是一个稍微有些枯燥的话题——为任何网站添加店铺定位功能。它是市场上最好的解决方案,当然也有成千上万潜在客户。有人没有用大规模客户获取的方式开发这个产品,并将其发展成一个庞大的用户群(用户每月支付 9 美元,流失率非常低),这太浪费了。有没有什么建议,能帮我找到可靠的营销合作伙伴,无论是股权合作伙伴还是按绩效付费的?感谢你的建议和你所做的一切。

To my surprise a response came back with two connections cc’d. I set up a quick discussion with one who was extremely smart and competent and just setting out on his own so, I hoped, keen to do some work to build the portfolio. My terms were a long shot: a strictly performance-based compensation with firm user growth targets in return for a percentage of lifetime revenue of the company and equity that ratcheted up to 50%. Miss the targets and get nothing. The targets I set out were super-aggressive but we agreed on the structure.

令我惊讶的是,收到了一个抄送了两个人的回复。我与其中一位进行了快速讨论,他非常聪明能干,刚刚开始独立创业,所以我希望他愿意做一些工作来建立自己的作品集。我的条件是大胆的:以严格的绩效为基础的报酬,以公司终身收入的百分比和逐步提高到 50%的股权作为回报,如果达不到目标就一无所获。我设定的目标非常激进,但我们同意了这种结构。

Long story short, we didn’t come close to the first (again, very aggressive) target. When it became clear that I was serious about ‘hit the targets or get nothing.’ We amicably agreed to dissolve the deal. I have a lot of respect for the growth hacker in question and I’m honestly not sure what the takeaway is from this story, but I definitely could have handled it a lot better. 简而言之,我们远远没有达到第一个(再次,非常激进)的目标。当明确我对于“达不到目标就什么都没有”是认真的时,我们友好地同意解除协议。我对这位增长黑客有很多敬意,老实说我不确定从这个故事中能得出什么教训,但我确实本可以处理得更好。

The powered by link (SaaS viral superpowers) 由...提供链接(SaaS 病毒式传播超级能力)

In a happy coincidence the customer acquisition channels that did, and do, work for Storemapper are all totally free and largely passive channels with self-reinforcing growth loops. Today almost all new customers come via organic search (and no I’m not going to say a word about the dark arts of SEO), app stores like Shopify’s and the little “powered by Storemapper” link at the bottom of nearly all of our store locators. 在一件令人高兴的巧合中,Storemapper 有效且持续有效的客户获取渠道都是完全免费且大都是被动型渠道,具有自我强化的增长循环。如今几乎所有新客户都通过自然搜索(而且我绝不会提及 SEO 的黑暗艺术),来自 Shopify 等应用商店,以及我们几乎所有店铺定位页面底部的小小“由 Storemapper 提供支持”链接。

Tons of our customers saw a Storemapper on another site, wanted it, clicked the link and signed up to become a paying customer. I begrudgingly added the “feature” of removing this link for our Premium pricing plans a few months ago but almost every new customer becomes another little acquisition channel adding up to 1,000s of click-throughs to our landing page per month.

我们很多客户在其他网站上看到 Storemapper,想要它,点击了链接并注册成为付费客户。几个月前,我勉强为我们的高级定价计划添加了“功能”——移除这个链接。但几乎每个新客户都成为了一个小小的获客渠道,每月为我们的着陆页带来成千上万的点击。

Up-selling to annual billing (how to make $2,000 in an hour) 向年度订阅升级销售(如何在一小时内赚取 2000 美元)

This isn’t so much a growth hack that did or didn’t work but an example about how having a customer base can save your ass sometimes. For most of 2013 I was riding pretty close to edge of financial oblivion. I had moved back to New York City, hugely increasing my monthly cost of living, still trying to get my startup off the ground, run Storemapper on the side, and freelance enough to pay the bills. Shortly after moving back, I realized I had misjudged the timing on some inflows and outflows. I didn’t have enough cash to cover rent and some other bills and wouldn’t get paid an invoice until a week too late. I literally had about $500 in the bank and sat for a few hours trying to figure out how to make some quick cash. In an hour I hacked up a way for Storemapper customers, most of whom were paying $9/month, to switch to annual billing for $99/year and sent out an email blast. 11 people switched over. 10 more the next day. In two days I had another $2k in my bank account. Phew!

这与其说是一个成功或失败的成长策略,不如说是一个关于拥有客户群有时能救你一命的事例。2013 年大部分时间里,我几乎走到了财务崩溃的边缘。我搬回了纽约市,大幅增加了我的月生活成本,仍然试图让我的创业公司起步,在业余时间运营 Storemapper,并做足够的自由职业来支付账单。搬回去后不久,我意识到我对一些收入和支出的时机判断失误。我没有足够的现金来支付房租和其他账单,而且不会在逾期一周后收到发票。我银行里只剩下大约 500 美元,坐了几小时试图想出一些快速赚钱的方法。在一个小时内,我想出了一个办法,让 Storemapper 的客户——他们中的大多数每月支付 9 美元——转而选择每年 99 美元的年度计费,并发送了一封邮件。11 个人转了过来。第二天又多了 10 个人。两天内我银行账户里又多了 2000 美元。太好了!

I think this is pretty common knowledge now, but even though it decreases your annualized revenue, switching customers to annual billing is great for your cashflow and sanity. Make it as easy and enticing for customers as possible.

现在我认为这是常识了,尽管它降低了你的年化收入,但将客户转为年度计费对你的现金流和心理健康都有好处。尽可能让这个过程对客户来说既简单又诱人。

Odesk lead generators (a flop for me but maybe not for you) Odesk 的引流工具(对我而言是个失败品,但也许对你不是)

I thought this idea was pretty clever at the time but ultimately it didn’t work for me. It’s pretty easy to glance at a website and see if they are a good candidate for a store locator. In the main navigation is a link “Find Us” that goes to a page with a uselessly massive list of locations and addresses. If you have this kind of distribution, a store locator will absolutely pay for itself many times over by making it easier for people to find your distributors. So I went to odesk looking for people who do outsourced data mining, put together an little tutorial on how to identify these sites and put up a ton of listing. I hired about 12 workers on test runs, experimenting with pay for successfully finding a good lead, pay by the hour, pay for successful closed customer, etc. Ultimately I spent about $100 before deciding it wasn’t bearing fruit. The key problem was that I didn’t have a master list for them to churn through. I think this idea would have worked really well with some kind of huge list of websites as a starting point, but just telling them to go out and “sift through the internet” for this kind of website went nowhere. 我当时觉得这个想法挺聪明的,但最终它并没有适合我。随便浏览一下网站,就能看出他们是否适合使用店铺定位器。在主导航栏里有一个“找到我们”的链接,它指向一个包含大量无用地址和位置的页面。如果你有这种分销网络,店铺定位器会通过让顾客更容易找到你的分销商而多次收回成本。于是我在 odesk 上寻找做外包数据挖掘的人,制作了一个小教程,介绍如何识别这些网站,并发布了大量信息。我雇佣了大约 12 名工人进行测试,尝试了按成功找到优质线索付费、按小时付费、按成功签约客户付费等多种方式。最终我花了大约 100 美元,决定这个方法行不通。关键问题是我没有给他们一个可以筛选的主列表。我认为这个想法如果能从一个巨大的网站列表作为起点,会非常有效,但只是告诉他们去“筛选互联网”寻找这类网站,却毫无进展。

Okay, this list is getting a little long, let’s talk about the (first) time I tried to sell Storemapper 好的,这个列表有点长了,让我们谈谈我第一次尝试销售 Storemapper(的事情)

At the end of August 2013, my solar energy startup was launched out of Beta and we were just about to close an angel round. Storemapper was a solid little product with predictable, growing recurring revenue and a lot of room to get bigger with a focused owner or team behind it. So I decided to see if I could sell it. I wrote a single email to a few people in my network and the NYC Ruby community. You can still read it here. The response was crazy. I got nearly 50 emails back. Some of them were clearly scammy. A lot of them were people wanting to partner without putting any skin in the game, which was of no interest to me. But it also launched some really great discussions.

2013 年 8 月底,我的太阳能创业公司从 Beta 阶段启动,我们正准备完成天使轮融资。Storemapper 是一款稳健的小产品,具有可预测的、不断增长的经常性收入,并且有很大的发展空间,只要有专注的创始人或团队支持。因此,我决定尝试出售它。我给我的社交网络和纽约 Ruby 社区中的几个人写了一封邮件,你仍然可以在这里阅读它。反响非常热烈。我收到了近 50 封回邮件。其中一些明显是诈骗邮件。很多是想要合作但没有任何投入的人,这对我毫无吸引力。但也有一些引发了非常精彩的讨论。

The market for selling/acquiring small software businesses, and probably the overall market for small businesses, is very inefficient. Unless you’ve created some kind of bidding war for your business, to make a deal happen it seems you have to take a much lower price than the true value of the business. There’s so much uncertainty that buyers only buy when they feel like they’re getting a steal. 出售/收购小型软件企业的市场,以及可能的小型企业整体市场,效率非常低下。除非你为你的企业制造了某种竞价战,否则要达成交易似乎你必须以远低于企业真实价值的价格出售。存在太多的不确定性,以至于买家只有在感觉像是捡到便宜时才会购买。

I had a few discussions with people who properly valued the business and offered deals that were pretty close to “fair” but they weren’t willing to risk the cash upfront. The complexity of the deals, with sliding payout structures and claw-backs and everything else just didn’t justify the economic value. I did get a few tentative cash offers, but despite the fact that I pointed them Fred Wilson’s clear assessment of appropriate SaaS multiples, the highest offer was twice annualized revenue of $20k, so $40k. At that point I probably would have sold for around $80k, but in all cases the option to keep Storemapper felt much better.

我和一些真正理解公司价值的人进行了几次讨论,他们提出的交易条件非常接近“公平”,但他们不愿意提前承担资金风险。这些交易的复杂性,包括滑动支付结构和追回条款等等,并不能证明其经济价值。我确实收到了几个试探性的现金报价,尽管我向他们展示了弗雷德·威尔逊对合适的 SaaS 市盈率的清晰评估,但最高的报价是年收入 20,000 美元的年化收入的两倍,即 40,000 美元。在那个阶段,我可能愿意以 80 万美元的价格出售,但在所有情况下,保留 Storemapper 的选择感觉都更好。

I did however meet some really cool people in the process. Totally worth the experience despite no deal.

在这个过程中,我确实遇到了一些很酷的人。虽然没有成交,但这经历绝对值得。

Growing the team: Awesome people that didn’t work out

扩大团队:一些很棒但最终不合适的人

Another part of the reason I didn’t sell Storemapper, at that time a good friend and one of his colleagues made me a counter-offer. They would take over product development and marketing of Storemapper. I would scoop most of the existing recurring revenue monthly and we would split new subscription revenue, with their share of that increasing over time, up to 66%, as they hit performance targets.

我之所以当时没有出售 Storemapper,另一个原因是我的一个好朋友和他的一个同事向我提出了一个反报价。他们愿意接管 Storemapper 的产品开发和市场推广。我将获得大部分现有的月度经常性收入,而新的订阅收入我们会分成,他们的那部分份额会随着时间的推移而增加,最高可达 66%,前提是他们达到业绩目标。

Aside: The structure seems similar to an interesting deal the Coderwall team did with Assembly recently. 附言:这个结构似乎与 Coderwall 团队最近与 Assembly 做的一个有趣交易相似。

I was thrilled. Despite the fact that they both have demanding full time jobs, on paper these guys were the dream team to take over the product and grow. The deal lasted about 4 months before unraveling. After coding on my own for over a year, adding the first new collaborator, going to n > 1, was really hard and product development slowed and took up more of my time not less. It was nobody’s fault, but none of us had experience with stage of building an engineering “team.” Coordinating schedules made it really tough to find time to work together and consensus on any issue, from product to marketing, took way too long.

我非常兴奋。尽管他们两人都有要求严格的全职工作,但纸面上看,他们就是接管产品并使其发展的理想团队。这笔交易持续了大约四个月后就解体了。在独自编写代码一年多之后,加入第一个新的合作者,实现从 1 到 n 的转变,真的非常困难,产品开发速度减慢,并且占用了更多而不是更少的时间。这不是任何人的错,但我们都缺乏在工程“团队”建设阶段的经验。协调日程安排使得共同工作的时间非常难以找到,从产品到营销的任何问题上的共识都花费了太长的时间。

In the meantime we weren’t growing very quickly so the new partners’ revenue streams were hardly any incentive at all. 与此同时,我们的增长速度并不快,所以新合作伙伴的收入来源几乎没有任何激励作用。

Like the previous partnership, things ended largely amicably, with everybody acknowledging that things just weren’t working. 和之前的合作一样,事情最终很大程度上是友好结束的,大家都承认事情就是不太顺利。

For me this is a big lesson learned. I think for these kinds of deal to work out, one side really needs to commit. In both cases, everybody thought they were being really clever by putting together an elegant solution where nobody could really lose much, but that also just made the incentives too unattractive to justify the work. Either the new guys coming in need to put skin in the game and buy into the company, or the owner needs to take a bigger gamble and offer a chunk of the existing business to bet on growth. 对我来说这是一个重要的教训。我认为要使这类交易成功,一方真的需要投入。在两种情况下,大家都以为通过设计一个优雅的解决方案,没有人会损失太多,但实际上这也让激励变得太不吸引人,无法证明工作的价值。要么新加入的人需要投入资金并购买公司股份,要么老板需要更大胆地冒险,将现有业务的一部分作为赌注来押注增长。

I was way too conservative with this and neither deal netted much except experience. 我在这方面过于保守,这两笔交易都没有带来多少收益,除了经验。

Re-investing for growth 再投资以实现增长 storemapper run rate 2014.png

In February of 2014 I was back to being a solopreneur, running Storemapper on my own. I also found myself with a lot more free time on my hands. If you’ve been following the background story you’ll know what that means for my other businesses. So for the first time, a year and a half after it went live, I made Storemapper a priority. From all that time, I had a really robust and well-prioritized list of potential features and improvements to be cranked through and within a month of half my time Storemapper was dramatically improved. 2014 年 2 月,我再次成为单打独斗的创业者,独自运营 Storemapper。同时,我也发现自己有了更多空闲时间。如果你了解背景故事,就会知道这对我的其他业务意味着什么。因此,在 Storemapper 上线一年半后,我首次将其列为优先事项。在那段时间里,我制定了一份非常完善且优先级明确的功能和改进清单,并在一个月内投入了半天时间,Storemapper 得到了显著提升。

I saw an immediate big uptick in converted users. 我看到转化用户数量立刻大幅增长。

Customers loved the analytics suite, with the back-end powered by Keen, that allows merchants to see detailed data on where people want to buy their products, and in particular where they want to buy it and can’t find a place to buy it. 客户非常喜欢这款分析套件,其后端由 Keen 提供支持,允许商家查看人们想要购买产品的详细数据,特别是他们想要购买但找不到购买渠道的地方。

On the back of that and several other big features we launched tiered pricing including a Premium tier a higher price point that is seeing good adoption. We now have six plans in all: Micro for early and small businesses, Pro which suites the majority of our customers, and Premium for power users and big brands, with a monthly and annual option for each.

基于这一点以及我们推出的其他几个重要功能,我们推出了分层定价策略,包括一个价格较高的 Premium 层级,该层级正受到良好采用。我们现在共有六种计划:Micro 适合早期和小型企业,Pro 适合我们大多数客户,Premium 适合高级用户和大型品牌,每种计划都提供月度和年度选项。

In the last four months total annual recurring revenue has more than doubled to around $54,000/year. Not too shabby for a side project. 在过去的四个月里,总年度经常性收入已经翻了一番多,达到了大约每年 54,000 美元。对于一个副业来说,这已经相当不错了。

I’d love to hear any thoughts or comments on the business and I also hope a few entrepreneurs find some bits of this tome a somehow useful. 我很乐意听听大家对这门生意的看法或评论,也希望一些创业者能从这本书的某些部分找到一些有用的信息。