How Wedio Uses Customer.io to Capture 26% of Their Total Revenue and Grow Their Marketplace

Lucy Wen

Wedio is an online marketplace connecting creators, filmmakers, and photographers with other people who want to lend and borrow equipment. Within their marketplace, they enable three types of members: Renters, Lenders, and Subscribers.

Customer.io: No Negatives

When Wedio set out to find a marketing messaging platform to replace Klaviyo, they were headstrong about one piece of criteria: data ownership. From the beginning, they knew how important it was to find a provider that would let them completely own their own data, while also transforming that data to perform any action and campaign they could imagine.

“We know how important data is. Not only that, but to own your own data. That’s why we chose Customer.io.”

Daniel Sand, CEO

Adjacent to their need for data ownership was their need to be able to segment their data. With thousands of Lenders, Renters, and Subscribers, their need to be able to granularly segment was a top priority. 

Transactional message capabilities were also a huge part of their selection process. Since the Lender, Renter, and Wedio has to be notified for every action and change status, the ability to send thousands of transactional messages simultaneously was mission-critical. 

Their last checklist item for selecting a new messaging platform was that it’s technical enough to power complex campaigns but simple enough for their content marketer to use.

Seeing the Whole Picture With Lifecycle Marketing 

Wedio uses Customer.io for every step of their lifecycle marketing strategy, starting from the second a user becomes an identifiable lead. They capture leads through an extensive ecosystem ranging from gated content, free templates, discount codes, guides, and gamification. All of which stem from organic traffic from their website.

Once leads are captured, they go down one of three intricately designed funnels within Customer.io. Through actions that leads take either by interacting with their messages or through their website (via a Javascript snippet), Wedio uses these clues to determine if they’re interested in being a Renter, Lender, or Subscriber.

For example, Wedio knows when a user has downloaded their pricing calculator to see how much it would cost to own a specific product and how long that would take with a fixed monthly fee. Through this, they’re able to know that this person is considering becoming a Subscriber. They also know which piece of equipment they’re interested in so they can start sending personalized content. 39% of people who download their calculator start a subscription with Wedio, which contributes to 26% of their total revenue!

Once a user enters either the Renter, Lender, or Subscriber journey, Wedio embarks their leads on a 6-month journey encouraging them to continuously take the next step, whatever that might be at the time. For example, when a user is in the Lender journey, Wedio encourages them to create a listing by showing related content, tips on getting started, and the option to book a call with a member who could help them with their first listing.

Through the Lens of Efficiency to Record Higher Conversions 

As part of their efforts to keep their marketplace a reliable place for their customers, Wedio goes to great pains to verify both the lender and the renter. Photo and film equipment is valuable so the stakes are high for lenders and renters. They began constructing a process to verify that users are who they say they are, and, based on their digital footprint, whether or not they are likely to have good intentions. 

A big challenge was the amount of time it took to verify a user. Before implementing Customer.io, the average time it took to verify a user was 2.5 hours. This became a point of friction as, they discovered, filmmakers often don’t book their equipment until the night before a shoot. This made time of the essence, and when users didn’t get verified fast enough, they’d go to their competitors or find other avenues to secure their equipment.

To fix this, Wedio created a workflow in Customer.io to complete the verification faster. Whenever a verification request came through, Customer.io would fire a text and a Slack message to the team member on call, telling them to drop everything to check the verification. With this real-time notification, they were able to cut down their verification time to 30 minutes! This in turn increased their completion rate from request to rental from 64% pre-Slack integration, to 84% completion rate after this integration. This has proportionally increased their revenue from rentals by 31%.

The Right Focus: The Only Competition is Yourself

Among other emails that Wedio sends to lenders through Customer.io, one is a monthly recap email that acts as their personal dashboard. This seemingly fun and informative newsletter actually has some pretty smart strategies behind it. In this summary email, Lenders see their earnings from the past month, the viewer count on their listings, how many rejections they received, their average response time, and benchmark of their data against themselves and others. 

By telling their Lenders, for example, ‘your average response time is 60 minutes, 30 minutes more than average response time of other lenders’, they hope to inspire Lenders to do better and outperform themselves. When Wedio can get their customers and users to be more active, it only increases participation and stickiness across the entire marketplace, a win for Wedio. This retention tactic yields them a 62.9% open rate on emails with a 4.8% click-through rate on content aimed to help the lender improve their profile and lend more. 

Final Thoughts

Through Customer.io, Wedio has seen their marketplace explode with activity. By enabling lifecycle journey campaigns for all members of their ecosystem starting from lead generation to retention, Wedio has accelerated their rate of growth to the point that in the first two weeks of May 2022, they gained the same number of new members that it had previously taken them a year and to gain. Well done, Wedio! 

How to Create an “Add to Calendar” Link for Your Emails

When attendees register for an event you’re hosting, a confirmation email is key in getting them to actually show up. And you can bolster attendance even more by making it easy for guests to put the event on their calendars. That’s where an add-to-calendar link comes in.

While your event platform may have the option of sending registration confirmations with add-to-calendar links, those emails aren’t likely to reflect your brand or give you much opportunity for personalizing content. 

Luckily, it’s fairly straightforward to put add-to-calendar links in emails you create in your automated messaging platform. There are two approaches: 

  • Manual options: You can create and insert ICS files or add-to-calendar links into your emails; this approach is quite simple, and you don’t have to get into the code (although you certainly can if you want more personalization) 
  • Automated options: You can pull add-to-calendar links from your event platform using webhooks, then manipulate the data to display in your emails

Manual option 1: ICS files

One of the most common ways to place events on a customers’ calendar is with an iCalendar, or ICS, file. Not to be confused with Apple’s iCal app, ICS is an open standard for exchanging calendar information, and nearly all calendar applications accept it. 

Here’s how to do it:

  • Create an ICS file for your event using a tool like the free iCalendar Event Maker
  • Download the ICS file, then upload it to your ESP’s media library
  • Create a CTA button in your email for the recipient to download the ICS file

The upside of ICS files is that, because they work with most calendar applications, you don’t have to worry about personalizing your email based on customer email clients. 

The downside: there’s a bit more friction for the customer, as they must download the ICS file, then upload it to their calendar. 

An add-to-calendar link makes for a very easy customer experience: they just click the link, and their calendar opens with the event details populated. Not all calendar apps accept these links, but the most common ones do: Google Calendar, Outlook.com, and Office 365. Before you go this route, take a look at your data to ensure your audience has the relevant calendar data.

Here’s how to do it:

  • Create add-to-calendar links for each calendar app using a tool like Amit Agarwal’s Calendar Links 
  • Create CTA buttons for your email that link to each add-to-calendar link you’ve created

You have two options for displaying the buttons in your email:  

  • Use Liquid to personalize your email so that the correct add-to-calendar link displays for each recipient’s email client (and create a fallback with no link for customers whose calendar apps don’t support add-to-calendar links)
  • Display all the buttons so customers can select which calendar application they want to use    

Personalizing your email for each recipient’s email client is a great way to improve the customer experience. But if you’re not well-versed in Liquid or don’t have the resources to code, displaying all three add-to-calendar links is a good way to make sure you’ve covered all your bases. 

Automated option 1: Webhooks

Instead of manually creating ICS files or add-to-calendar links for your events, you can leverage webhooks to automatically pull an add-to-calendar link from your event platform. This involves using a webhook action in your workflow to call a response from your event platform’s API. Note that in order to use this method, your event platform’s API must be able to return an add-to-calendar API endpoint. 

In Customer.io, you can do this by creating an event-triggered campaign with three workflow steps: a trigger event, a webhook action, and an email message.

To set up the webhook action:

  • Make a POST call to the external API; refer to your event platform’s API documentation for details about the API endpoint, required customer profile data, and body content
  • Use Liquid to set a customer profile attribute and indicate the specific data from the API response you want to include in your email. In this case, you’re looking for the add-to-calendar links. How you set this up will vary depending on how your API returns the data
  • Send a test API call; this will show you the response the API returns and allow you to verify the webhook is working
  • In your email, use Liquid to personalize the email with the customer profile attribute you set in the API call 

Take a look at this detailed guide and walkthrough video to see the process in action. 

Automated option 2: Data campaigns

If you use Customer.io, there’s an even easier way to automatically bring data from your events platform into emails: data campaigns. You simply provide a webhook URL from Customer.io to your event platform’s API. Then, your event platform will automatically send data to Customer.io, which you can use in any campaign.

Here’s how to create a data campaign in Customer.io:

  • Create a campaign
  • Select “Data arrives via webhook” for the trigger
  • Copy the Webhook URL and paste it into your event platform’s API
  • Add an event that triggers a campaign to send your email

This guide walks you through the complete details of using data campaigns.

As long as your event platform’s API has an add-to-calendar API endpoint, you can pull that data into your emails and personalize them using Liquid.

How to choose the right approach for you

ICS files and add-to-calendar links take a little extra effort, since you have to create them using a separate tool. But the manual approach has the benefit of requiring little to no coding, and you don’t have to worry about any limitations of your event platform’s API.

Webhooks bring automation into the mix to simplify your workflow. If you host a lot of events, it’s worth getting familiar with webhooks now to save time in the future. 

Whichever approach you take, add-to-calendar links add that little extra boost to bring customers to your events. After all, they’ve already signed up, so why not make it easier for them to show up?

Why You Should Use Google Postmaster Tools

Studies show that Gmail represents over 36% of the email market share — so making sure your emails hit Gmail inboxes is crucial to reaching your customers.  There are some important metrics that Gmail doesn’t send to your automated messaging platform. Without that data, you could miss critical information about your campaigns’ performance — and early warnings about problems that could threaten your deliverability rates.

Using Google Postmaster Tools in tandem with your automated messaging platform (like Customer.io), you can get a better idea of how your emails are performing — and solve problems faster. Google Postmaster Tools also provides some additional data points that your automated messaging platform may not have access to, such as IP and domain reputation or spam rates.

That’s why we recommend that people pay attention to their spam rates and IP and domain reputation, which can be viewed via Google Postmaster Tools.

Spam rate and feedback loop

In Customer.io, we recommend keeping the spam rate on your dashboard below 0.1%, as high spam complaints can damage your IP and domain reputation. If your spam rate increases quickly, it can lead to increased filtration, reduced delivery speed, throttling, and bounces. Basically, your emails will stop landing in inboxes. 

Google does not provide a standard feedback loop to your automated messaging platform (unlike mailbox providers like Outlook or AOL). However, using Google Postmaster Tools will provide you insight into this information.

The feedback loop dashboard on Google Postmaster Tools gives you even more specific information about user-reported spam. It’s important to note that Google’s Spam Rate is only calculated based on emails that reach inbox as opposed to all emails that were delivered. When you implement this tool, you can identify specific campaigns that are getting a high volume of spam complaints. 

These two features of Google Postmaster Tools are especially important because Google doesn’t report user-reported spam rates to ESPs. So the spam rates you track in Customer.io don’t reflect when Gmail users mark messages as spam — and those metrics give you key missing insight about how your emails are performing. 

IP and domain reputation

Low sender IP or domain reputation is the most common reason emails are filtered as spam. Google Postmaster Tools assigns rankings based on the volume of spam that has come from your IP and domain in the past.   

  • Bad: pretty much all of your emails will be filtered as spam by Gmail 
  • Low: your emails are very likely to be caught in the spam filter
  • Medium: most of your emails will reach inboxes (unless there’s a notable uptick in people marking your emails as spam)
  • High: your messages will rarely be caught in the spam filter

You can also see changes in your IP and domain reputation over time. That can show you where any issues might be coming from, like how certain sends might have impacted your reputation. For instance, if you did a large send that had a lot of spam complaints, you’d see your reputation fall — and you’ll know you need to change strategies in the future. 

Other metrics

In my experience, marketers get the most important info from the spam and reputation dashboards. However, Google Postmaster Tools also allows you to monitor other metrics that affect deliverability, like:

  • Authentication: the percentage of your emails passing various authentication protocols
  • Encryption: the percentage of your traffic that’s encrypted 
  • Delivery errors: the percentage of your emails that were rejected and the reason why 

How to set it up

Good news: Google Postmaster Tools is free, and you can enroll at postmaster.google.com — you just need a Gmail address. You may need support from your IT department or domain host, as you’ll be asked to add the TXT record to your DNS configuration on your website so Google can verify your domain. 

After your domain is verified, you can give your team members access to view the metrics. Then it’s just a matter of tracking your data to understand how your campaigns are performing for Gmail users. 

Keep your deliverability healthy

Yes, sometimes it can feel like the most important thing is to get an email campaign out the door, but we’ve found that, long-term, your customer engagement benefits hugely from following these best practices for email deliverability. You likely have a lot of Gmail users in your audience, so make sure you’re hitting the mark for them. Take advantage of the metrics that Google Postmaster gives you to measure what’s going on in those Gmail inboxes, which you can’t get anywhere else. 

Email Verification: Keep Deliverability High By Keeping Undeliverable Emails Out

Jp Valery

When you hit “send” on a campaign, do you know how many of your emails will actually land in customers’ inboxes? If you’re not using email verification, you may be shouting into a void. 

You can wind up with undeliverable email addresses in your list for many reasons. Customers make typos, bots can sneak junk addresses into your forms, and people enter fake addresses to get a coupon code or free download.

Those bad email addresses are more than an annoyance—sending undeliverable emails can undermine your deliverability and, ultimately, your bottom line. 

Email verification uses an API to automatically check if an email address is deliverable. It answers the question, “Will this email actually make it into an inbox?” 

Why email validation matters

Better deliverability = protected domain reputation

Poor deliverability and open rates will hurt your domain reputation. To an inbox provider, lots of bounces are a red flag for bad actors. It’s usually a signal that it’s a bad actor either sending spam, or who bought a list without getting opt-ins, or who otherwise may be sending emails that people don’t want to receive. 

When that happens, email clients will be inclined to treat all other messages from that sender as spam.

So, even with all those good email addresses on your list, your engaged customers who want to hear from you could become out of reach. Email verification makes sure that undeliverable email addresses don’t get in the way of your connections with your customers. 

Valid profiles = reduced costs

It pays to validate emails, literally. Every spam profile is taking up space in your audience—so you’re paying your ESP to send emails that will never be received. It’s a bit like paying for postage to send a package to an empty lot.

The cost of an email validation API is usually nominal, and the savings you get from a clean list in your ESP are worth it. It will also spare you the expense of repairing a damaged domain reputation. Plus, you avoid the opportunity cost of winding up in your real customers’ spam folders. It’s like an insurance policy—nobody likes paying for it, but you’re happy to have one to protect you.

Cleaner data = better resource allocation

If your email strategy is based on bad data, you’re not going to get the results you want. From wasted time sending emails that will bounce to skewed lead scoring, undeliverable emails muddy your data and drain your resources. The more undeliverable emails in your list, the less understanding you’ll have of your customer base.

Even a small number of bad addresses can create big problems. Imagine: you offer a free gated PDF on a landing page, and you create a nurture campaign to the segment of customers who download it. Say a lot of people want that PDF, but not many of them want to give up their contact info—so you get a lot of fake email addresses. Even if they make up a small percentage of your overall list, they’ll be a big chunk of that segment, so you waste a lot of the resources you devote to that campaign. And when you look at the performance of that operation, you’ll see skewed numbers that won’t play in your favor.

How email validation works

Step 1: verify format

This step is simply checking that text entered in an email form field is in the correct format, such as name@domain.com This catches some typos, like if someone forgets to include the @ symbol, but it can’t tell you if the address is spelled correctly or if the address truly exists. This is a necessary step, but is limited in scope.

Step 2: verify deliverability

The most important aspect of email validation is ensuring a message you send to an address will actually be delivered. Simply use a third-party API, which will do the work for you. 

You can use any email verification API. I’ve found Kickbox to be the best bang for the buck, but any similar service will achieve the same results. You can do this right in Customer.io with our Kickbox integration, or you can add it into the code on your sign-up form using Kickbox API (or whichever email verification API you choose) .

Engagement starts with deliverability

If the metrics from a campaign or broadcast show high bounce rates or low open rates, there’s a good chance that undeliverable addresses may be muddying things. And even if your deliverability is healthy now, it’s a good idea to protect your domain reputation and data integrity in the future.

At the end of the day, your goal isn’t to send emails—it’s to have people actually receive your messages. Deliverability issues are incredibly common, and they’re potentially very costly. If you set up automated maintenance of your email lists, you’ll knock down one more barrier preventing you from landing at the top of your customers’ inboxes. 

Double Opt-in Best Practices

Emails should never be sent to people who did not sign up for them — that’s a sure way to get your emails marked as spam, which can eventually tank your domain reputation.

Using double opt-in helps ensure your readers have enthusiastically agreed to receive your messages — and that produces higher engagement, increased deliverability, and better conversion rates. It’s also essential to remaining in compliance with local regulations regarding spam if you have international customers. 

While double opt-in might mean you lose some people who don’t take the extra step of confirming their email address, the benefit to the health of your email list is worth it.  

Double opt-in set-up and best practices

If you have an existing customer base, you don’t need to send them a double opt-in form. Assume they have already opted in, update their unsubscribed attribute to false (if this is not done already), and set up a Sunset Policy to ensure that non-engaged profiles are regularly removed from your list. 

Moving forward, you can use a double opt-in for any new customer joining your email list. You’ll need four elements:

  • Sign-up form 
  • Sign-up confirmation page
  • Confirmation/double opt-in campaign and email 
  • Opt-in confirmation page

Sign-up form 

Any page a potential customer regularly visits could include a sign-up form, such as your homepage, sales pages, and checkout pages. In addition to asking for an email address, consider including fields for other demographic data you could use for personalizing future campaigns, like name and location. 

Sign-up confirmation page 

Once a user completes a sign-up form, the sign-up confirmation page or pop-up needs to make it abundantly clear that further action is required. 

Double opt-in campaign and email

Use the sign-up form on your site to trigger a Campaign in Customer.io. The trigger can be that a person completed the form (event triggered) or a set of conditions that match once a new profile is added to your system (condition/segment triggered). The double opt-in campaign sends a confirmation message immediately. 

Design your opt-in confirmation email to focus recipients’ attention on the one action that you want them to take: click the button to confirm their subscription.

Once a customer clicks the confirmation button, update their unsubscribed attribute to “false”.  Alternatively, you can add a custom attribute “has_confirmed_subscription” to track if a customer has subscribed or not. Check out more details in our recipe here: Double Opt-In

If the customer does not click on the confirmation button in the email, send a reminder within two days. If the customer doesn’t confirm after the second email, it’s best to remove them from your list; that ensures healthy deliverability and engaged customers moving forward.

Here’s an example of how you can set up your double opt-in Campaign in Customer.io: 

Opt-in confirmation page 

Once a customer clicks on the confirm email link, the opt-in confirmation page should clearly acknowledge that they are now subscribed and drive the relationship forward. 

Make the new subscriber feel welcome — whether that’s asking them to complete their user profile, presenting them with a welcome offer or discount, or giving them useful information.

Deepen relationships with double opt-in 

When a customer takes time to both sign up and confirm their interest, they’re giving you a powerful signal that they want what you have to offer. Don’t leave them hanging! 

In fact, you can see this moment as the beginning of lifecycle planning: the first opportunity to lead customers down the path of long-term engagement. Think about what you want them to do next, use your confirmation page to lead them forward, and consider what kind of lifecycle emails will support their journey. 

Setting up double opt-in is fairly straightforward, and the payoff can be tremendous. You’ll wind up with a healthier list and connect to customers with messages they actually want to receive.

How Mysa Revved up their Revenue by 592% Through Email Marketing

Lucy Wen

Mysa makes smart high-voltage thermostats that allow their US and Canadian customers to have full control over the heating and cooling of their home all within the Mysa app. Their thermostats can be purchased online through their website. 

Mysa was previously using Klaviyo to send their marketing messages but decided to switch to Customer.io for our ability to segment audiences more granularly and incorporate customers’ product usage into their messaging strategy.

By using Customer.io to create a more targeted email strategy, Mysa has seen its revenue skyrocket over 592% from just their email marketing.

The Road to Purchase

Purchasing a smart thermostat is more complex than the average eCommerce product because it needs to be compatible with the voltage and setup of a customer’s household. To ensure customers are suited to purchase their thermostat, Mysa embeds a Typeform compatibility quiz on their website. Results from the quiz determine if the thermostat is suitable for their household.

For the people who complete the compatibility quiz and are deemed qualified, Mysa asks if they’d like to opt-in to their newsletter. Once opted-in to these newsletters, they see that 19.2% of leads end up purchasing a thermostat. A huge conversion!

Suppose a lead is unsure whether they can take their old thermostat off the wall and replace it with a Mysa thermostat (a common drop-off point on their form). In that case, Mysa asks them if they’d like additional information regarding uninstalling their current thermostat. This allows them to capture leads who might have otherwise fallen off and convert them to customers. Through this flow, they see a 10.8% conversion rate for leads who initially marked themselves as unsure if their household was compatible.

Smart Thermostat, Smarter Automation

Mysa uses events taken by both their leads and customers to understand the actions and messages they should send to them. 

One example is how they trigger abandoned cart sequences with their Shopify integration (via Zapier). Using JSON in the builder, they dynamically include the picture, description, and any accompanying discounts directly in the email copy to send to leads who added a product to their cart but didn’t check out. With tens of thousands of abandoned cart emails sent, their 2.2% conversion rate yields them sizeable revenue that would otherwise have been lost. 

Another automation they’re able to incorporate into their strategy is by triggering an onboarding campaign when a customer has paired their mobile app to the smart thermostat. When Customer.io detects this, Mysa knows that that’s the cue to start sending a series of onboarding emails to help the customer get the most out of their product and know what to do now that they’re connected. 

In addition to this onboarding activation flow, they also set up messages to send out an NPS survey 30 days after a customer has paired a thermostat to their app. They’ve even gone a step further to delight their customers by making this point of entry simple. They build their email to appear as though a customer can vote directly in the email. Based on the numeric score they vote on within the email, they are brought to a specific Typeform survey already associated with that score to prevent customers from having to input the information twice. 

Data Housekeeping: The Energy-Efficient Way

Mysa also uses Customer.io as their primary CRM tool and as their single source of truth to base lead and customer communication on. From the continuous stream of actions and non-actions taken by leads and customers, they set up automations in their campaigns that keep their audience data clean. Beyond just campaign-related events, when events happen in the backend of their app, that information also updates a user’s profile within Customer.io. For example, if a customer adds the number of Mysa units on their account to their app, it updates their Customer.io profile in real-time so that they can create segments on it later.

“Customer.io is our main source of truth for anything related to marketing or eCommerce details. We take actions taken by leads and customers on our website, app, and Shopify, and funnel it into Customer.io instead of manually updating anything.” 
Performance Marketing Manager, Mysa

They also use information stored in Customer.io to help make informed business decisions. Through an automation that captures the moment a lead becomes a customer, Mysa is able to uncover how long it typically takes for a lead to convert to a customer. This has helped in their lead acquisition strategy by knowing how long they should reach out to leads before their efforts become futile. 

In a similar vein, they used to run contests where leads could win various freebies. Mysa then studied the results of the contest to see which of these leads eventually became customers. Through the data, they learned that this strategy wasn’t yielding significant results, so they stopped running this contest to focus on other approaches.

“Through data analysis within Customer.io, we’re able to learn about our lead acquisition strategy and understand whether it’s worth it to focus on a specific group or tactic, and if it is worth our time and money.”
Performance Marketing Manager, Mysa

Black Friday

Like many other US and Canadian-based eCommerce companies, Black Friday is an important day at Mysa. To run their Black Friday deals, they’ve set up amazing configurations within Customer.io to ensure the right offers get to the right leads. 

As one of Mysa’s Black Friday promotions, they partner with specific utility providers to offer rebates to customers. To do this, they use Customer.io to segment and target leads who live in the locations supported by those utility providers. They then take their sophistication one step further by segmenting out users who have used a rebate in the past, and acknowledge that in their messaging. Compared to their regular Black Friday promotion that targets users on a more general level, they see a 3x higher conversion rate, which they attribute to the personalization based on localization.

Final Thoughts

Through the use of sophisticated configurations led by smart automations, Mysa has been able to push their messaging personalization strategy to the highest degree to increase sales and revenue. By transforming every user attribute along with actions taken by leads and customers, Mysa sculpts the best messages to increase sales.

A Woman’s Place is in Tech

Lacey Budd

VP of Engineering Kitt Caffall is on a mission to diversify Engineering teams, “The (tech) industry is more diverse than when I started, but not nearly as diverse as it should be.”

Kitt’s family moved to Silicon Valley when she was in junior high, right when PCs were coming into homes.* Kitt was fortunate she had access to a computer at home and was able to take a computer course in high school—one of the first ones they offered—and later went to UC Santa Cruz, which has a great software program. Kitt’s worked in Silicon Valley, moving from telecoms to startups to e-commerce back to startups, focusing the latter part of her career on engineering management.

Kitt joined Customer.io as the first Engineering Manager and a year later moved into the VP of Engineering role after demonstrating the necessary skills and drive. Starting with a team of 20, she’s doubled the size of the Engineering department and plans on doing it again this year.

VP of Engineering Kitt Caffall

“We have some of the smartest, brightest minds who are always willing to answer questions and help in a situation, whether that question is coming from another engineer or marketing or technical support. One of the things that I like best is that all of our folks respect skills the other teams have, recognizing that those are not the skills that we (engineers) have, but that those skills are super important for the success of the company, for all of us working as a single team.”

Kitt shares what it’s like to work on Customer.io’s Engineering team and her thoughts on getting more women into the tech industry.

What attracted you to the Engineering team at Customer.io? What work are you most proud of? 
Matthew Newhook (CTO) recognized some gaps in our Engineering team. Our tech leads were really good at architecture and technical aspects but didn’t have a lot of interest in people management. 

Matthew and I worked together to put in an engineering management layer. To grow the team, we need to be disciplined on onboarding, setting expectations, succeeding, and having opportunities to work on interesting problems as they come up.

I’m proud that we have hired great Engineering Managers who have come in and helped their squads work well together. We’ve seen an increase in the velocity of squads, the types and number of product features coming out, fixes, and improvements across the board. 

The job also includes keeping track of what folks are working on, whether they need help, are getting blocked, or pulled into a million different directions. It’s sometimes hard for individuals to recognize, whereas engineering managers have a better overview of the squad. Doubling the size of the team provides everyone with more bandwidth, so folks can concentrate on a single thing without constantly being interrupted.

What has been your biggest challenge at Customer.io?
Getting to know folks, identifying the root problem, and what process might help. You want to put in enough process to provide guardrails, but not so much there is red tape. Small teams are very nimble for a lot of reasons. It’s hard to integrate new folks into a team that’s been working together for a long time. 

Why do you choose to stay working at Customer.io?
I love working here. I have the utmost respect for our Engineering team. It is by far one of the most collaborative, open teams that I have ever worked with.

I’ve spent a lot of my time in Silicon Valley. I know what a company full of tech bros looks like and how detrimental that can be—folks who aren’t willing to help, not willing to share, and are not interested in talking to engineers, much less to other people within the company.

We have some of the smartest, brightest minds who are always willing to answer questions and help in a situation, whether that question is coming from another engineer or marketing or technical support. One of the things that I like best is that all of our folks respect skills the other teams have, recognizing that those are not the skills that we (engineers) have, but that those skills are super important for the success of the company, for all of us working as a single team. 

What advice would you give to other engineers looking to join the team?
Do it. We’re solving interesting, hard problems as a team. We like to experiment and work fast. We make mistakes and correct those mistakes as we go along. The stuff we’re working on is fun.

Anything else you’d like to add about what it’s like to work at Customer.io as an engineer?
The culture Customer.io has rooted throughout the entire company, but the People Operations team, in particular, does a great job and works hard to cultivate it. All the hard work with retreats, Sip n’ Sees, VR game time, etc., get my team working, playing, or watching something together and with folks from other departments. This builds a collaborative, strong, and diverse team across the board. 

Our engineering culture is a little different than cultures from other teams, but all departments have that base Customer.io culture led by Colin (CEO) and worked so hard on by the People Ops team.

Why do you think it’s important for more women to join the tech industry?
I think the tech industry is solving the wrong problems. When you solve problems for only one half of the population, you don’t view all of the things that can be solved. You’re leaving money on the table. Having more women in tech provides a different perspective. It’s not just what problems you’re solving, but how those problems get solved and how they’re thought about. How collaborative a team is. Whether a team works together as a team, or just a set of individual stars. It’s not just a gender thing. It’s important to have different views and ways of working and thinking about how a problem is solved. 

What advice would you give to women entering the tech field? Anything you wish you had known?
Don’t be afraid of making mistakes. Don’t believe the fables around imposter syndrome. Everyone feels like maybe they don’t measure up, but it’s true in some places. It is harder for women to move forward in their careers. And if you are in one of those places, leave. Come to a place like Customer.io, and don’t sell yourself short. Don’t get stuck somewhere. 

This article, Stop Telling Women They Have Imposter Syndrom, by the Harvard Business Review rang very true to me. 

Be your authentic self. Bring yourself to work. You have strong ideas; say them. Be at the table. Talk about what needs to be done. Again, if you are in a place where you are not given the opportunity or cannot make the opportunity for yourself, go somewhere else because there are places where that happens.

I spent the first part of my career being closeted, passing as straight, and even still had lots of opportunities that were not available to me. I enjoy what I do far more when I can bring my entire self to my work, to my team, where I can talk about my family. All of those things make a difference. 

What do you believe young women need to know/hear/see to consider a career in tech?
Young girls need role models and opportunities. You need to see your dream to envision being a step or two beyond that. We’re doing some of this as we go along, but we need more women in the higher ranks, on boards, as CEOs, and having mentors, asking questions, and having conversations about what someone wants in their life.

*NPR investigated what happened to women in computer science and found a correlation between PCs being introduced into homes and marketed as toys for boys.

Customer.io is people-first with a globally distributed team across 34 countries. Our Engineering team is always hiring. Check out our open positions!

Easy Date Formatting With Liquid

Jp Valery

Personalizing your messages with Liquid can increase conversions and build stronger customer loyalty. Including specific dates in your emails can be a powerful way to connect with customers — celebrating a milestone, reminding them of renewal dates, alerting them when they take certain actions in your app, and more. With Liquid, it’s easy to transform and display dates to add that personal touch.

Using dates to personalize messages

Imagine you’re sending a birthday discount to a customer. You could say, “Happy birthday! Here’s a discount code.”

But you could easily go one step further and say: “We want to help you celebrate your birthday on March 9. Here’s a discount code valid March 9-16. Wishing you a wonderful birthday week!”

Both messages pull the data about your customer’s date of birth, but the second example uses Liquid to insert the specific date — and, importantly, formats it to match your brand style and customer needs. For instance, you’d want to display “March 9” for U.S. customers and “9 March” for those in the U.K.

To put this into practice, you first need to understand how computers count time using timestamps.

Timestamps: how computers mark time

Dates in computer-based systems are typically stored as timestamps. To the human eye, they look like a meaningless string of numbers:

Timestamp321436800
Human-readableSunday, March 9, 1980 at 8:00 a.m., Coordinated Universal Time

The timestamp above is in UNIX format which identifies dates by counting the number of seconds since January 1, 1970 at 12:00 a.m. Coordinated Universal Time (UTC). 

UTC allows computers to all speak the same language when referring to dates. To determine the local time in various time zones across the world, we use a positive or negative offset of UTC. When New York City, for example, is on Eastern Standard Time, or UTC-5:00, it’s five hours earlier than UTC. Similarly, when Tokyo is on Japan Standard Time, or UTC+9:00, it’s nine hours later than UTC. 

Epoch Converter is a great tool to see all this in action and convert timestamps into human-friendly date and hours. I use it all the time! (It also explains the difference between UNIX time and the UNIX epoch, if you’re curious.)

Converting timestamps into human-readable dates

To transform timestamps into dates that make sense for readers, you’ll use a Liquid date filter. There are countless options for how Liquid can display dates; here are some examples:

Your inputOutput
{{ customer.date_of_birth }}321436800
{{ customer.date_of_birth | date: “%D” }}03/09/80

The top row above shows the Liquid code for pulling in the customer’s date of birth attribute, which is a timestamp. In the second row, we’ve applied a filter: that’s the code after the pipe character. In this case, we used an argument that displays the date in MM/DD/YY format. 

There are many possible specifiers you can use to display dates, and you can combine them in countless ways — whatever elements you want, in any order. For example, say you want to display the same date above in the DD/MM/YY format. Here, we’ve used three arguments and added slashes between each element: 

Your inputOutput
{{ customer.date_of_birth }}321436800
{{ customer.date_of_birth | date: “%d/%m/%y” }}09/03/80

Because the timestamp is a quantity of seconds, it contains all the data you need to display times, too. 

Formatting dates and times in Liquid

There are dozens of specifiers for formatting dates in Liquid. Here’s a cheat sheet of the ones I see most often.

Dates

FormatOutputLiquid date filter arguments
MM/DD/YY03/09/22%D
DD/MM/YYYY09/03/22%d/%m/%y
Day abbreviation., MM/YYWed., 03/09%a., %m/%d
Day, Month, DDWednesday, March 9%A, %B %e

Times

FormatOutputLiquid date filter arguments
12-hour time (HH:MM)8:01 pm%I:%M %P
24-hour time (HH:MM)20:01%R
12-hour time (HH:MM) with am/pm and time zone abbreviation8:01 pm PST%I:%M %P %Z

Date + time

FormatOutputLiquid date filter arguments
Full date/timeThu Mar 09 20:01:00 2022%c
Day, Month, DD at 12-hour time (HH:MM) with am/pm and time zone abbreviationWed., 3/09 at 8:01 pm PST%a., %-m/%d at %I:%M %P %Z

As you can see above, some specifiers return a value with multiple elements (like %D for the full date in MM/DD/YY format), which is a handy shortcut. Other specifiers just display a single element; you can combine those to display the elements you want and add punctuation and text between them. 

Here’s another cheat sheet of common specifiers you can combine for displaying dates in different ways.

FormatOutputLiquid date filter arguments
Day
Full nameThursday%A
Shortened nameThu%a
Number with leading 009%d
Number without leading 09%e
Month
Full nameMarch%B
Shortened nameMar%b
Number with leading 003%m
Number without leading 03%-m
Year
Full year2022%Y
Shortened year22%y

A great way to explore how this works is to play with the Strftime.net tool; clicking the various date and time elements will show you the correct code and what the output looks like. 

Get started! 

Once you get going, formatting dates with Liquid is simple and, in my opinion, pretty fun — there are so many options and use cases. You’ll likely use the same formats frequently, so create cheat sheets of your own as you nail them down. For reference, here’s a list of all Liquid date filter arguments.  

As you put this into practice, consider experimenting with A/B tests to see how your audience reacts to different approaches. Over time, you’ll likely come up with a handful of formats you use regularly and can make a cheat sheet of your own, then easily build them into your templates. 

Attack of the Bots: Why You Need reCAPTCHA

Are you using reCAPTCHA on your site’s forms? If not, you’re taking a major risk. reCAPTCHA helps protect one of your most valuable assets: your domain reputation. If I could tell every one of our customers to implement reCAPTCHA today, I would!

Some marketers worry it will require too many resources or frustrate their users. However, the truth is that reCAPTCHA presents very few barriers — and the benefit of protecting your domain’s reputation is priceless. 

When bots attack: a cautionary tale

Here’s a real-world example that illustrates how skipping reCAPTCHA can cost you. Company X (not their real name, of course) had an automated workflow set up for their emails, but no reCAPTCHA on any of their forms.

One night, a bot poured junk emails into one of their forms — hundreds of thousands of addresses. The automated workflow did exactly what it was supposed to do: sent Company X’s automated emails to all the junk addresses. 

Since most of the emails were fake or spam traps, the majority of the messages bounced or were sent straight to spam. The result: a low domain reputation with Google Postmaster Tools. That meant all the emails they were sending to real customers began landing directly in the spam folder.

Eventually, they got their good reputation back, but it took a long time — and damaged their sales as they tried to rebuild.

The case for reCAPTCHA

As the case of Company X demonstrates, the cost of a bot attack can be huge. If they’d had reCAPTCHA in place, they could have been better protected. 

Your domain reputation is your most valuable asset

Without a strong domain reputation, you’re cut off from communicating with your customers. All the revenue you gain from email marketing instantly dries up until you recover.

In the case of Company X, it took months to rebuild their domain’s reputation. reCAPTCHA could  have prevented the crisis — perhaps a few junk addresses would have gotten into their workflow, but that’s a relatively minor problem. Bottom line: if a bot attack tanks your domain reputation, you will lose money. 

Rehabilitating your domain is costly

Restoring a domain’s reputation takes weeks or months. And while you’re rebuilding, you’ll be losing sales and working double-time to rebuild existing customer relationships. 

At the same time, fixing your domain security eats up considerable resources. For instance, Company X had to build segments of highly engaged recipients for very small sends — 200 or 500 at a time — then slowly scale back up. It’s a painful process, especially if your email list is in the hundreds of thousands.

Overcoming barriers to reCAPTCHA

The two biggest concerns I hear from marketers are that reCAPTCHA creates a bad customer experience and that implementing it requires too many resources. However, I’d argue that these worries are not worth the risk of compromising your domain reputation.

Your customers expect reCAPTCHA

It’s true that reCAPTCHA adds an extra step for customers, but in my experience, it doesn’t create a barrier to engagement. These days, it’s a standard practice, and people are accustomed to it. In fact, it’s far less intrusive than other common practices, like pop-ups. 

The benefits outweigh the costs

If you have highly customizable forms, it may take extra time and resources to implement reCAPTCHA. I advise customers to think bigger-picture. The resources required to implement reCAPTCHA pale in comparison to the cost of rebuilding your domain reputation. Think of it as an investment in protecting a critical business asset. 

What to do if reCAPTCHA isn’t an option

Most platforms support reCAPTCHA, so if you have it, use it! If it’s not available on your platform, find another protective strategy.  

For instance, if you have custom forms, you can add a line of HTML that helps weed out bots. Another option is an email validator service, which checks incoming email addresses and sends only valid ones to Customer.io. While these approaches might add extra cost or steps to your workflow, the security of your domain reputation is worth it. 

When you can skip reCAPTCHA

For forms behind a sign-in or paywall, reCAPTCHA is not needed. Only those available to anyone are vulnerable, like sign-in, contact, and newsletter sign-up forms. 

Also, if you’re a solopreneur, bots aren’t likely to target your business, so reCAPTCHA is less crucial. That said, it’s still worth considering as a best practice — imagine the headache of sorting through a load of junk, even if it’s just a small attack.

An ounce of prevention saves you a world of pain

Unfortunately, the internet is full of bad actors. When Company X was attacked, they kept asking themselves, “Why us? What did the bot get out of this?” Causing havoc is often the sole motivation for these kinds of attacks — and the company suffered the consequences. 
Bot attacks are entirely unpredictable. You can’t know if or when you’ll be targeted, but you can protect yourself. Adding reCAPTCHA to your forms protects your business so you can focus on building great products and improving your customers’ experiences.

Locking Users into Segments to Unlock 20% of Monthly Upgrades

Lucy Wen

Guardio is a cyber security company that provides protection to users through a browser extension. Driven by the ideal that security software should be easy enough for our everyone to use, they develop creative tools and products to combat modern web and browser threats. Guardio offers a freemium model along with a paid subscription-based browser extension that protects over 1M users from malvertising, phishing, scams, malicious extensions, and other web-based threats.

Guardio’s journey to Customer.io started when their marketing team decided to focus more on the end-user experience and their customer lifecycle journey. Previously, they had grown frustrated with the limitations of using react for their emails and how heavily they had to rely on developers to create, test, and send their emails. It became hard to manage their customer experience when it came to knowing who was getting what messages and when. Additionally, with their flagship product being a Chrome Extension, context-aware in-app messages were an important channel Guardio wanted to incorporate by implementing with Customer.io.

The Challenge Needing to create a more harmonious customer experience journey where members of the Guardio team could easily see & control the lifecycle journey

The Fix Customer lifecycle-based segments

The Result Over 20% of all monthly upgrades came directly from a Customer.io campaign

Securing their Customer’s Accounts to Secure Upgrades

Guardio uses Customer.io to send <10 million messages a month to < 3.5 million devices across their 1 million users. With Customer.io webhooks and analysis from our metrics dashboard, they’ve learned from their own customers when they’d prefer to hear from Guardio and have perfected their timing for the best results. In this message, they informed the user that they had blocked a security threat and suggested they explore their premium product to unlock even more potential. They’ve seen that 20% of all their direct monthly upgrades come from a Customer.io campaign. These upgrades also account for 20% of their total revenue.

“One of the biggest successes I’ve seen with Customer.io is being able to have multiple teams use the platform to generate value. Because the UI is so intuitive, anyone can go in and start building complex campaigns.”

Sharon Blatt Cohen, Senior Marketing Lead

Guardio also harnesses the power of Customer.io’s segmentation to target their premium users who experience a lot of cyberattacks (which Guardio blocks) to ask their customers to leave honest reviews to attract more customers.

Remote Control Viewing for Lifecycle Management

One of the most important factors that pushed Guardio away from their previous provider and to Customer.io’s platform was the ability to create sprawling campaigns based on where the customer was in their lifecycle journey. 

In the past, they had worked with siloed campaigns, and it was difficult to control message frequencies when a single user would be a part of two or more campaigns at once. 

Their 10 major lifecycle campaigns, which cover every part of a customer’s journey include the following:

Each campaign has one ultimate action they’d like the user to perform. For example, the segment titled ‘Installed’ encompasses users who have installed the product. Their end goal for users in this campaign is for them to complete their first malware scan. Once a user has completed the scan, they graduate into the “Upgrade” campaign which, as its name suggests, aims to upgrade users.

By running users through different campaigns meant for each stage in the lifecycle journey in a controlled way, they have been able to tighten up their communication strategy. With some of these campaigns spanning 3 months, Guardio can guarantee the flow and timing in which their users hear from them. They even implement logic regarding iteration counters that make sure if a user re-enters the same campaign, they receive content variations. 

Through these campaigns, Guardio now has a clear view-from-above of where people are in the customer journey, what messages they’re receiving and when, and where they stand in regards to conversion goals and outcomes. 

A Super-User of Event Triggers and Liquid Tags

To say that Guardio is a super-user when it comes to event triggers and attribute values would be a humble description. Guardio actively uses 400 event triggers across all their lifecycle journey campaigns with countless unique user attributes . By turning event actions into attributes, they’ve been able to supercharge their messaging personalization.

A prime example of this is when a user cancels. First, Guardio asks them why they’re canceling. Depending on the reason, they use Liquid tags to personalize which funnel of their reactivation campaign they will flow through. If someone says they canceled because the service was too expensive, their reactivation messaging focuses on discounts. If the user said they canceled because they couldn’t get the hang of how to use the product, their reactivation campaign content focuses on helping them understand how to use the product. 

Final Thoughts

By creating campaigns that utilize event triggers, segmentation, attributes, and liquid tags based on where customers are in their lifecycle journey, Guardio sends hyper-personalized messages to their audience to inspire them to take actions such as completing a security scan, upgrading, or leaving honest reviews. Even our own team was impressed by the extent of personalization they’ve managed to execute by leveraging events and attributes. 

Our mailing list is chock full of tactical lifecycle marketing how-tos, interviews with trending internet businesses, and product updates.