How we saved $15,000/month and increase conversion 300% with Lifecycle automation.

Summary

On my nights and weekends I worked with a startup to automate their Lifecycle email program. Within 3 months of working together the company saved $15k/month and increased new trial subscription starts from 50 per week to 200 per week.

Weekly sales revenue growth before Lifecycle and after. The different color bars and coupon discounts that I tested to optimize pricing.

How did they achieve this?

  1. Prioritized revenue automation as our Q3 goal
  2. Eliminated any initiatives not directly related to the Q3 goal. (Such as brand marketing)
  3. Identified events critical during the customer lifecycle that needed to be sent to the marketing platform.
    1. new user sign up
    2. paywall abandon cart
    3. trial and paid subscription churn (user cancellations or time-based expirations)
  4. Partnered with the engineering teams to get the lifecycle events flowing into the marketing platform of choice. In this case, Intercom.
  5. Monitored and tested the data coming from engineering.
  6. Launched Lifecycle programs

Company Profile

This startup is a subscription-based text-to-speech productivity tool available on the web, iOS, Android, and as a Chrome Extension. To keep things simple, I’ll refer to this startup as TTS Inc.

TTS Inc. is a small-but-mature company that the CEO started in dorm-room in his dorm room a number of years ago. The company had mild growth and accelerated when they got into aggressive paid advertising The team is currently ~100 people, including contractors like myself.

TTS Inc. offers a freemium product. The free tier is the core text-to-speech product with a limited feature set. For example on the free tier the reading speed is capped at 150 words per minute while the Premium tier listening speed is 900 words per minute. 900 words per minute sounds crazy but it’s possible to comprehend.

Most users upgrade to the Premium tier subscription by joining a 3-day trial. The trial requires a credit card and converts to a 12-month subscription, renewable annually.

TTS Inc. reached out to me because they wanted to get their martech stack aligned to allow them to scale and automate their Lifecycle marketing campaigns through email, push and in-app messaging.

Execution

Step 1: Prioritize revenue automation

Lifecycle marketing started as a component within the TTS Inc. Brand marketing team. Brand marketing had two goals.

(1) Increase revenue with Lifecycle
(2) establish a consistent brand identity.

Having these two goals caused TTS Inc. to make some missteps that harmed them. Part of the Brand team’s plans for the future was to send a highly stylized, beautiful weekly email newsletters to the active user base. Keeping that future brand-focused state caused me personally to get distracted because I was trying to push their marketing infrastructure to support for a future that had not been realized yet. For instance, I was advocating for us to switch to an email service provider that would make sending high volumes of email easier and cheaper than their current system.

By the end of my first two months we missed our revenue goals. We were getting single-digit trial starts per day. Not good. Our lifecycle program was abject failure.

Since we missed our goal, leadership chose to eliminate the Branding team except for Lifecycle. As a regular listener of Alex Hormozi’s podcast I now understand his view in episode 382: branding is a game the big companies. During this time TTS Inc. was not at the stage where it could spend a lot of money on activities that did not have immediate measurable impact on sales – branding is one of those. Brand-related activities included surveys, newsletters, and highly stylized one-off email sales announcements were a distraction and difficult to attribute to sales.

Now my priority was clear: improve LIfecycle revenue.

Step 2: Eliminate all non-core activities

To become hyper-focused on our one goal we had to stop doing non-sales activity. We dropped doing branding which in turn allowed us eliminate other products.

WE eliminated unnecessary software

TTS Inc. had two marketing-related systems: Drip and Intercom.

TTS Inc. was spending $12-$15k per month on Drip — an email marketing platform designed for small-to-medium sized business. TTS was getting very little out of Drip because they had not dedicated serious engineering resources to get their data synchronized with their own user database.

Having two systems made things worse because engineering didn’t know which systems needed which event? If both systems needed the same events or data there would be some minimal amount of maintenance work involved with keeping things accurate on both platforms. It was an all around mess.

With branding removed from the priorities, leadership made the decision to eliminate Drip from the tech stack. Canceling the drip account saved the company $10,000-$15,000 per month.

WE Eliminated resource-heavy activities

Understanding that Intercom is not well-suited to sending a lot of email (too expensive, bad interface) we pared down email production down to just one person to do all the work with minimal concern for visual appeal.

Brand-focused email:

4 people, 1 week

  1. Mockup email (Lifecycle)
  2. Write email copy in the brand’s voice (copywriter)
  3. Design a pretty email (email designer)
  4. Build the HTML email (HTML developer)
  5. Set up the automation (Lifecycle)
  6. Launch the email (Lifecycle)

Ugly email:

1 person, 2 hours

  1. Cobble together some copy text (Lifecycle)
  2. Build HTML email – basic styling (Lifecycle)
  3. Set up the automation (Lifecycle)
  4. Launch the email (Lifecycle)

In the weeks after eliminating the “pretty” emails I have found that sales have not been noticeably harmed. In fact, email-to-trial conversion rates may have actually gone up.

Step 3: Identify critical events and data to use in the marketing platform

Automation was difficult regardless of marketing platform. Neither of TTS Inc.’s marketing platforms were integrated with the business’s data pipelines. Intercom, in particular, was missing a lot of critical account and subscription-related information. In order to get Intercom operational quickly we stripped down our requirements to a set of eight subscription-oriented Lifecycle events that could be the bare minimum backbone for direct sales messaging.

  • New user created an account
  • User saw paywall but did not buy (abandoned cart)
  • Trial started
  • Trial expired
  • Trial canceled
  • Subscription started
  • Subscription expired
  • Subscription canceled

In my experience the subscription events are difficult to get because subscription data comes from many sources: paypal, stripe, apple, Google, etc. The team responsible for managing subscription did a fantastic job in delivering subscription events to Intercom on an hourly basis.

Step 4: Partner with engineering

TTS Inc.’s leadership did an outstanding job of aligning engineering resources to prioritize Lifecycle. This was easy because the company’s engineers are naturally business-minded. Leadership communicated clearly and directly to the engineering teams that Lifecycle’s goal for the quarter was to start making money and to prioritize Lifecycle requests over other initiatives. Being business-minded folks, the engineers were also innately eager to help us get these projects off the ground.

We met with the engineers a few times to discuss our minimum needs and the engineers added in some things that would make reporting easier for other departments (such as ad-buying group, or finance). Since we agreed on the set of events ahead of time I was able to start building the user messaging journeys in Intercom in parallel with the engineering data team’s work.

There were many teams involved in this work:

  • Platform engineering did the work to synch subscription data to Intercom
  • Web engineering had to start sending new user signup events to Intercom
  • Product management team found flows that broke and needed to be migrated from Drip to Intercom

After a rapid 3-4 week development cycle engineering completed their work and we were ready to turn things on.

Step 5: Monitor and test the data

Once engineering launched their respective work we had to double check their data.

For the first few days of the launch we observed that many events were under-firing. Engineering found that in many cases the user’s identity was not correctly being established before sending the data to Intercom. This is not necessarily name & phone number identity — i mean database unique id which is usually a jumble of letters and numbers.

This is an important bug. Marketing systems don’t magically tie data to a user. Engineering has to put operations in the correct order. If you do not have the correct order events that do not have a proper user ID will go to a black hole.

Correct order

  1. user sign up
  2. wait until user id assigned by backend system
  3. establish connection to marketing platform
  4. send events

Incorrect order

  1. user sign up
  2. establish connection to marketing platform
  3. send events
  4. user id assigned by backend system

This is an engineering thing but it’s important to know. In one bug we found, the web app was sending a “new user signed up” event before the user’s ID was established on TTS Inc.’s database. So we were getting a lot of events but no user data. The web app made a small code change to wait until the new user’s id was established on the backend before sending the event data to Intercom. After that we were able to send messaging to new web users.

This is the case for many marketing platforms and if you are losing a lot of event data or getting a lot of “anonymous” or “unidentified” users in your SaaS platform this might be the issue.

In summary: order-of-operations is important. Your engineers need to know that the user’s ID needs to be established before logging any events to your marketing or analytics platforms. (Amplitude, Segment, Iterable, Braze, Intercom, Drip, etc.!)

Step 6: Launch the Lifecycle programs

This is the easy part! Once the data is live and flowing we are free to experiment using the marketing platform.

There is no secret sauce here. Other subscription apps and e-commerce websites follow a similar pattern of direct-to-consumer sales. We mapped the events directly to their own set of emails.

  • New user: send a welcome series of emails
  • Paywall: send abandon cart email
  • Trial expired/canceled: send a win-back email
  • Paid subscription expired/canceled: send win-back email

We launched the lifecycle automations and by the first full day of emails upsells were 2x the previous day. Over a 3-week period the average weekly web sales volume was three to four times the typical week.

Further refinements that we made:

  • built a customized and editable web landing page to test and measure conversions
  • offered discounted plans
  • sent in-app messages in each workflow

Conclusion

Although it was a bumpy ride at first, TTS Inc.’s marketing automation stack is well-situated for growth. Within the first week, their lifecycle sales automation performed well far beyond my expectations. Now that they have had consistent sales baseline they can begin to experiment with branding and other marketing tricks to boost conversion performance.

Patterns in engineering job hunting

Newer job seekers and people not may not be familiar with the common job hunting/candidate recruitment process. I’ll try to explain the commonly used process that I’ve noticed to be used by many companies in the Bay Area.

Phase 1: Finding potential jobs

Roughly in order of effectiveness:

Internal Employee Referral – warm

If you happen to know somebody who works at a nice company and you’d like to join them there reach out! Take them out to coffee or get lunch or just IM chat with them. It really depends on how well you know the individual. It’s probably useful to be upfront that you’re open to new opportunities early. If your friend or co-worker is on a team that is actively hiring, you’ve got a warm employee referral on your hands! Going to interviews on a warm employee referral is so much better because I’ve gone to an onsite interview — completely blown half of the questions — and still gotten the job because I knew people that worked at the company who were able to vouch for my real work abilities that aren’t always apparent in a marathon of 1-hour interviews. (Plus jangled nerves)

Internal Employee Referral – cold

You contact your friend at Company X but her group isn’t hiring right now. It’s still OK to go into the pool of general applicants. This isn’t as effective because it could be a while before you hear back from anyone. Effectively you become the same as any other non-referral applicant but at least you’re in the system and maybe down the road your friend will get a referral bonus because you got hired through her efforts to get you into the system.

Internal recruiter cold-email reach out

A recruiter sends you an email or a LinkedIn InMail. Respond to it and you’ll at least get to an informational phone call. That is useful because at least you can reach out to the recruiter later to confirm that you were seen and acknowledged as a human being. You do exist and your resume had something worthy of attention!

LinkedIn network status update

People say they are hiring all the time these days. DM your LinkedIn connection and ask them to refer you into their recruiting system. They can leave notes about you and it will put your resume toward the top of the list. It doesn’t mean you will get called back but it increases the likelihood that your resume will have been seen and reviewed at least for 4 or 5 seconds. Which is better than the methods below.

Direct application on Careers section of website

Surprisingly, I find myself sending people to the careers page of places I’ve worked many times. At startups, the CVs do get reviewed by people internally. Larger companies are less effective

3rd party recruiter cold-email reach out or cold call

Very often these recruiters have very poor information on the job. GuruJobs or Robert Hat. It does not appear that they have a direct connection with the hiring manager. Unclear to me how effective a job hunt will be through these sources.

Big Job Board job application (LinkedIn, Indeed, Monster, HotJobs, Dice, Craigslist)

By far job boards are probably the worst way to find a job. I don’t care what all the commercials say. Don’t waste your time crafting a personal statement or cover letter on these job boards it’s basically pointless. Go directly to a company’s website and submit your resume there instead.

Phase 2: figure out which company is the most interesting

If you can get past the resume screen, companies will start with an informational 30-minute call with a sourcer/recruiter responsible for filling the position. Recruiters are friendly professionals that specialize in talking to other people. They are usually not subject matter experts in engineering, marketing, or whatever your field of work may be.

They are experts at identifying sifting out legitimate experience and from bullshit. In the informational call the recruiter’s job is to describe to you the responsibilities of the role and gauge your interest in the position. Then they sniff out whether you correctly speak the jargon and match the profile of the type of candidate that the hiring manager wants (years of experience, projects worked, interests).

Recruiters will tell you about the company’s mission and culture. They won’t know the company’s five-year product roadmap. They won’t typically know the specifics of the day-to-day of your role. They will be able to tell you is the manager is looking for a specialist or a jack-of-all-trades? How big is the team? Do they prefer Ivy League graduates? You still need to do homework about the company so that you don’t ask blatantly un-researched questions about the company.

Phase 3: Interviewing

After you have talked with the recruiter and sufficiently proven that you are interested in the role, the company, and the department within the company you are ready for some interviews. This is my knowledge of Silicon Valley-style tech interview process.

First, you will have the phone screen interview. Recently interviews have moved off of the phone and into Zoom with screen shares and social coding platforms. The phone screen should last 30-60 minutes and administered either on phone or Zoom where you’ll talk to a fellow engineer who may be a member of the team that wants to hire you. Usually the interviewer has pulled a pre-determined problem pulled from a bank of questions that the team has agreed to use. You will be asked to solve the problem within that 30-60 minute period. You do need to be able to finish the interview within the allotted time because the interviewer probably has another meeting right after your call. Phone interviews are supposed to be “easier.” After many years of dealing with this interview pattern, I know that if I find myself barely getting through the phone interview I know that the on-site is definitely going to be a waste of time for everyone involved.

I think I’ve been asked these “basic” items than a few times on a first-round phone interview:

  • What is a closure?
  • How do you reverse a list?
  • Code a basic HTML/CSS page that can do X,Y,Z

The “on-site” interview (should change the name now that Zoom has become prevalent) is where you line up a day’s worth of interviews and teams grill with 4+ different exercises in varying subjects. For example you might get the abstract puzzle interview, followed by SQL exercise, followed by an algorithm test, followed by a system design discussion. Having failed at literally dozens of these interviews it’s hard to believe I actually ever was able to survive in Silicon Valley for 15 years as an engineer. I do know why I never made it to FAANG because I am pretty horrible at all of these types of interviews and really can only pass the hands-on “let’s build something practical together” type of interview. I don’t have any tips on how to pass these interviews. However, expect to see something like

  • Traverse a graph to do something
  • System design something for millions of people. Web servers and load balancers and calculations of throughput will likely be involved. (I wouldn’t know because I don’t pass these tests)
  • Do something recursive, probably with sorting. It definitely needs to run better than O(n^2) or O(n!)

Phase 4: Results

Now this is the shitty part. Sometimes you might do pretty good and pass all the technical aspects of your interviews. Even if you pass all the tests, you may only have 5% of landing the job because you are competing against 20 other candidates just like you who also passed the tests. This is especially true at a hot startup or a FAANG company.

After your interview all the people you met with will convene in a meeting to decide your fate. The more people you interviewed with during the process, the more chances there are for one of those interviewers to say “no.” That’s not a death sentence but it does hurt you a lot. You would never know it but that’s what goes on after the interviews are over. I have been on hiring panels of 6 people. Sometimes 5 people say “medium yes” and 1 says “strong no” you’re toast. But if you get 5 “strong yes” and 1 “medium no” you still have a chance — that “no” can be swayed.

This is just me, but receiving a “Thank you” note from a candidate does nothing to sway me in any direction for or against you. Experts suggest you to do it but, honestly, the second you walked out of the door or hung up the Zoom I already know if I’m going to vote for you or against you. An after-interview email is meaningless and chances are I probably won’t see it at all because I don’t read email. All of my work in JIRA and Slack.

At the end of the day, if you get rejected from a job application know that it’s not necessarily something about you. There are infinite factors during an interview that are outside of your control that have nothing to do with you. Just be as authentic as you can be. Answer questions as honestly as you can. Be “right” or “correct” on factual questions as much as you can be. Then be prepared to do at least 10+ full interviews (phases 1,2,3,4) before you receive an offer.

Delete old iOS backups to reclaim disk space

source:apple.com

source:apple.com

Just yesterday Apple released a critical patch that fixes a major security flaw. That Mac OS update required 3GB free on my machine.  That’s trouble! I have an older MacBook Air with a 128GB hard drive so I’ve been hovering with under 2GB of available disk space for a long time.

Even after some aggressive spring cleaning of Applications and old file attachments I still did not have enough disk space for the Mac OS update. At this point it dawned on me that I had recently  used iTunes to setup a new iPad that I bought and all the apps autmatically synchronized onto the new iPad without downloading anything. All that data must be stored somewhere.

So, I had to find out where iTunes keeps its backups. A cursory Google search found Apple iOS Backups which reveals that iOS backup files are housed in ~/Application Support/MobileSync/Backup for Macs. Sure enough, my mobile backup folder had 4 subfolders hogging up 20GB(!) of disk space. Since we only have 2 iOS devices in the house it was clear that iTunes still had backups for an old iPhone 3GS that I had given to my mom.

The folders contain encrypted iOS backups so I didn’t know which folder corresponded to each of my devices. Consequently, you have to delete your unwanted iOS backups using iTunes. The instructions “Deleting a Backup in iTunes” show that you can delete backups in iTunes >Preferenes > Devices.

Clearing out the old iOS backups gave me back 10GB of hard drive space! I haven’t had this much free disk space since I bought this laptop 3 years ago.

 

Interactive Fiction as Tutorial?

I don’t play interactive fiction but I was thinking about writing a tutorial-like website that could benefit from the

http://twinery.org/ – Nice HTML based IF builder.

http://inform7.com/ – Create Z-code IF games

https://code.google.com/p/parchment/ – Publish z-code IF games to the web

http://www.gimcrackd.com/etc/src/ – Build web-based IF

HP Photosmart C4480 incompatible print cartridge

Long-story short: Buy a new printer if you have this error.

My mother-in-law has an older color printer that she got with her iMac in 2009.

HP Photosmart C4480 says “incompatible print cartridge” on its screen and will not do anything at all. Nothing will resolve this problem permanently so don’t bother buying new cartridges (waste of $50) nor cleaning the printer contacts.

Here are some steps to force the printer out of that mode.

  1. Press X power at the same time
  2. Press BLUE, GREEN, GRAY
  3. Press BLUE until you see “INFORMATION MENU”
  4. Press OK
  5. Press Blue until you see “CHECKSUM FOR RELOCK DATA INPUT” (about 10 times)
  6. OK
  7. Press X until you exit all menus
  8. When prompted for aliement cancel it with X. It should bypass the error

This works for our printer for only as long as the printer is On. If you power the printer off you will have to follow the procedure again. At this point that means that this printer is worthless and we will need to buy a new one.

HP Forum

US Passport Photo Maker

a.k.a. How to make Passport Photos with a Mac

a.k.a How to make Passport Photos with a PC

The US Department of state has a Flash tool to properly size and crop a passport photo. Since it’s Flash and works in your desktop browser Mac and PC users can easily make their own Passport photos for the US. It doesn’t get any easier than this. No need for Photoshop or rulers. The visual guides shows you where to put the person’s face and then you click save. Boom — a passport photo ready to rock and roll for the next 10 years. So simple!

http://travel.state.gov/_res/flash/cropper/FIG_cropper.html

MacWorld 2013

Cool notables from MacWorld 2013

Izik by blekko. A search engine user experience designed specifically for use on a tablet.

iPole is an iPhone/iPod-holding retracting stick for taking self portraits. Fully collapsed the iPole mini is about 18-inches long. The key component is the spring-loaded vice grip that holds your iPhone in place. You can connect the device to a standard tripod. The booth was also selling a walking stick for use with the vice grip that will come in handy for hiking.

Olloclip fisheye/macro/wide lens for iphone camera. Nice form factor.

Peculiar things at MacWorld 2013

A bird watching app… How did they afford a booth? I understand that bird-watching is a serious endeavor but this booth was seriously tricked out with some nice HD displays and lights.

Non-dairy grilled cheese. The first thing I happened across upon entering the expo hall was a giant grilled cheese booth giving out samples of non-dairy cream cheese. I have to say it was actually quite enjoyable.

ReadyNAS – Time Machine completed a verification of your backups

Time Machine completed a verification of your backups. To improve reliability, Time Machine must create a new backup for you.

Fix using the instructions: Fix Time Machine Sparsebundle NAS Based Backup Errors

[NOTE] Although the instructions above do indeed work to fix a TM backup, the problem has continued to occur where TM would report the corrupted data and I would have to fix it again every 2-3 weeks. It simply wasn’t worth the trouble so I switched back to my wired USB backup drive.