Category: Blog

October Release Notes

Did you have a cup of java to celebrate International Coffee Day in October? Our team celebrated with a global coffee exchange. With elevated energy levels, we were focused on speeding up the workflow builder and adding the final touches to some upcoming (and BIG!) features that we’re not quite ready to reveal yet. In the meantime, read on to learn what we improved last month.

What’s New?

Fast and Space-Efficient Visual Workflows

We love seeing the complex workflows you’re building in Customer.io, but sometimes they took a few seconds too long to load and required a bunch of scrolling. This past month, we rebuilt the algorithm that renders our workflows. The new builder loads complex workflows 3 times faster than before and organizes them efficiently so you can navigate without tons of zooming in and out.

Side-by-side image comparison of old vs new visual workflow builder.
Old vs New

Commenting for Drag and Drop Emails

Ever want to leave feedback for the designer of an email? You can now write comments for yourself or collaborators directly within the Drag and Drop email editor. Click on any Row in the editor, then tap on the chat bubble to add comments.

The chat icon is displayed to the left of the delete icon.

Custom Column Layouts for Drag and Drop Emails

It’s now possible to set a custom number of columns for layouts in the Drag and Drop email editor, rather than be restricted to a few presets. From the editor, select the entire row to alter the number of columns, background color, and padding.

Add new customize columns by taping the purple [+ Add new] button.

Smaller Improvements

  • We added automatic language detection on the unsubscribe page. Visitors will now be presented with a translated unsubscribe page based on their browser’s language settings.
  • When creating a new email, we now show you the list of Layouts so you can use them as starting points with one click. Find this in the “Rich text” and “Code” tabs when adding message content.
  • Your list of manual segments can now be sorted by the date they were imported.

We’ll see you next month! In the meantime, stay updated with the latest releases and improvements by following Customer.io on Twitter. Questions? Comments? Send them over to win@customer.io.

September Release Notes

We were busy in September working on some big projects you’ll see later this year, yet we always leave room for improvements to performance, usability, and small commonly requested features. Read on to learn what we improved this month!

What’s New?

Tagging for Newsletters and Segments

Sometimes you spend a little too much time searching for that one particular Newsletter. What was it called again? It happens. To help you save time and stay organized, we added tagging to Newsletters and Segments alongside existing support for Campaigns. Tags can also be used on the Analysis page to understand the performance for an entire category of messages.

Message Content in Reporting Webhooks

Reporting Webhooks can now include the content of messages. This is useful when building custom reporting or features based on Customer.io activity, such as populating a message/notification center. By default, it’s turned off and you toggle it via your Reporting Webhook configuration page.

Navigation Updates

We redesigned our main navigation for clarity and simplicity based on the analysis of the most common usage patterns. Aside from the new color, you’ll notice a new hierarchy of pages re-organized to reduce the amount of time required to find exactly what you’re looking for.

Comparing old vs new nav menu

Smaller Improvements

  • We continued optimizing our segment-building algorithms to reduce the time it takes to build large segments.
  • When setting up new workspaces, we’ve added shortcuts that remove a few steps when you need to manually add new People.

We’ll see you next month! In the meantime, stay updated with the latest releases and improvements by following Customer.io on Twitter. Questions? Comments? Send them over to win@customer.io.

August Release Notes

No lazy days of summer over here! Our team was heads down working on new features, including our new Workspace Dashboard. Read on to learn what else we shipped in August.

What’s New?

New Workspace Dashboard

Stay on top of how your account is performing at a glance with the new workspace dashboard. This is the first page we load when you log into your account, and it now lets you:

  • Monitor two membership charts for segments of your choosing.
  • Identify which campaigns and broadcasts are the top and bottom performers across the account.
  • View sending performance and delivery metrics trends over a period of time.
  • Determine if any running A/B tests are ready for completion.
  • See all links used across all channels, sorted by the highest click count.

Multi-Channel Newsletters

You can now send Push and SMS Newsletters, just like you’ve always done for Email. The next time you’re creating a Newsletter, choose the channel on the ‘Content’ step. 

Select Email, Push, or SMS channel type.

Faster Segment Build Time 

We’ve decreased the time required to build segments that must look through extensive event histories. Many segments that would previously take 1-2 days can now be built in minutes!

Smaller Improvements

  • We increased the rate limit for our Track API from 30 to 100 requests per second. If you need to go over that limit, please reach out to our support team.
  • In the ‘People’ tab, we’ve consolidated “Add Person” and “Import CSV” into a single drop-down.
    Add People dropdown displays Import a CSV and Add Person

  • We added four new liquid functions: abs, ceil, uniq, and hmac_sha256. View the entire list of supported Liquid tags.

  • The unsubscribe page has built-in support for 23 different languages. French, Japanese, Portuguese, Turkish, and Thai were updated to more clearly express the unsubscribe prompt.

We’ll see you next month! In the meantime, stay updated with the latest releases and improvements by following Customer.io on Twitter. Questions? Comments? Send them over to win@customer.io.

You Can Now Configure Customer.io as an mParticle Feed

mParticle users rejoice! Before, Customer.io’s mParticle integration only allowed Customer.io to receive data from mParticle. Now, Customer.io can be set up to send your customer and messaging data back to mParticle as a feed, unifying your data all in one place.

The Data We Send Back to mParticle

In just a few clicks, you can configure Customer.io to start sending event data back to mParticle. Here’s what you’ll see returned in the feed:

  • Customer Subscription Events
  • Email Events
  • Push Events
  • SMS Events

You can find the full list of events and event attributes here.

Setting up Customer.io as a Feed

We’ve made it super simple to set up the mParticle feed inside of Customer.io. Simply navigate to the integrations tab in the app, search for “mParticle”, click on the “mParticle Source” tile, enter your server key and secret key, then click “Connect mParticle”. That’s it!

For more details, check out the setup guide and documentation: Integrating with mParticle.

What You Can Do Once You Integrate 

By integrating mParticle and Customer.io to send data in both directions, you’ll have a more complete and detailed picture of how your users are responding to your business and messaging strategy in real-time across multiple touchpoints.

  • Analyze message performance alongside behavioral data
    Now that you can configure Customer.io as the Source, you have the ability to pass Email, SMS, and Push event data back to mParticle to analyze these metrics for additional strategic exploration and planning.
  • Widen the landscape of relevant information
    With data continuously funneling into Customer.io, you can segment and send personalized messages based on what users do, or don’t do, in your apps.
  • Preserve segment memberships
    Whether you’re creating segment audiences in Customer.io or in mParticle, you can programmatically maintain which groups of people you’re communicating with to ensure parity across multiple tools.

If you’re looking to expand your actionable data without adding additional tools (or involving engineers), enable Customer.io as a feed to mParticle and start improving your user communications today.


Have questions or want to share how you’re using Customer.io as a Source or Destination? Send us an email at win@customer.io!

July Release Notes

When planning a roadmap, it’s difficult to deny the allure of focusing only on groundbreaking shiny new features. This month, we focused on housekeeping by investing in parts of the app that everyone uses, but no one writes home about: email delivery configuration, our billing interfaces, and tuning existing features based on feedback.

What’s New?

Email Sending Domains

Email Sending Domains and Sender Identities have been combined into a single view. Now you can quickly see whether or not the addresses used in your emails have been correctly configured for deliverability and link tracking. These changes also simplify the process of adding new domains or deleting unused ones. You’ll find Sending Domains by going to “Workspace Settings” and selecting “Email”.

Redesigned Receipts

We’ve redesigned our receipt pages and emails to give you a clear and detailed explanation of your bill. These changes resolve a handful of issues where line items were being confusingly presented or missing sufficient information. As always, please let us know at billing@customer.io if you ever have questions. 

mParticle Integration

mParticle is a Customer Data Platform that helps you unify all your tracking and pass the data along to marketing and analytics tools. Our new integration lets you set up Customer.io as an mParticle Source, sending Email, SMS, and Push events as they occur in real-time. Search for mParticle on the “Integrations” page to learn more about how to configure this connection.

Data Exports and UI Refinements for the Analysis Page

The metrics you’re viewing on the Analysis page can now be exported as a CSV for use in other tools. The exported data is broken down by channel, metric, and time period. We also simplified the UI so queries run automatically and to ensure that all queries plus display options will be saved in the URL so you can quickly share your exact view with others.

Smaller Improvements

  • You’ll now see our logo displayed in Slack messages sent from Customer.io. 



  • When people are suppressed from being re-added (often for GDPR compliance), we show that as a failure reason in CSV imports.

We’ll see you next month! In the meantime, stay updated with the latest releases and improvements by following Customer.io on Twitter. Questions? Comments? Send them over to win@customer.io.

Customizing My Welcome Campaign with Local Weather

I recently re-joined the team at Customer.io to head a new Professional Services team after about a year away from the company. After spending that year leading the Marketing team at Simple Finance, I had a greater appreciation for the struggles that B2C companies face when trying to keep their lifecycle comms as relevant as possible. This is one of the biggest reasons I came back to Customer.io. I am passionate obstinate about how our product gives lifecycle marketers and product teams the canvas they need to create some incredible journeys for their customers…And after spending that year in another lifecycle tool, there’s just no contest that we’re doing it better than anyone else in the space.

One of the things that every new hire at Customer.io is asked to do is to create a five-email welcome series to introduce themselves to the rest of the company. The core principles that are required to get the welcome series out are:

  • Getting data into Customer.io
  • Creating a Segment
  • Setting up a Segment Triggered Campaign
  • Learning about Drafts
  • Creating and Managing our Drag-and-Drop Workflow Builder

It’s a lot of information for any new employee, especially non-marketers that have never sent out an email campaign before (i.e. that send-button stress is real.) However, this experience lets every employee, whether they’re in Finance or a new Salesperson, the experience of living our customers’ life in a very real way. Even as a returning employee and heavy user of the platform, I had a few things to learn about the platform after being gone for a year…To name a few things there’s Webhook Responses, the Visual Workflow Builder, a complete visual redesign, and Journey Metrics.

As I was planning out my re-welcome series, I wanted to use the opportunity to reacquaint myself with the platform and try out some of the new features. I was MOST excited about Webhook Responses, so I decided to focus the first message on giving my recipients a real-time weather report using OpenWeather. Here’s a high-level overview of how I approached the problem:

  • Every 15 minutes trigger an Event Triggered Campaign to update the weather. The scheduling of the update was a neat thing to figure out.
    • I originally approached the trigger using a stack of Google Cloud Scheduler/Google Cloud Pub Sub/ and Google Cloud Functions. While this worked well, I wanted something that was contained completely in Customer.io
    • After 30 seconds of brainstorming with our VP of engineering, he handed me the cleanest solution on a platter.  He suggested that I create an Event Triggered Campaign that did everything. 
    • The only complication of doing this with an event triggered campaign was that I needed a way to get all users into the flow for the first time. Said another way, every customer had to “perform” the update_weather event, or in this case, I had to do that for them. To accomplish this task, I used a basic Python script to fire the event for each customer with their id. 
  • Moving down the workflow, I used attribute updates to clear any existing weather attributes from each profile.
  • Then, a Webhook fired to get the recent weather from OpenWeather and store the response in each users’ profile
  • After the webhook responses were stored, the workflow paused for 15-minutes, and finally concluded with a webhook that POSTs to the customer.io track API, sending the same event that triggers the campaign. Essentially creating a loop. 

With the weather information stored on the users’ profiles I was able to include it in my first welcome email that looked something like this:

There are three specific bits of Liquid magic happening in the middle section there. 

  1. OpenWeather provides an icon id in their API responses and a resource endpoint for pulling the image into the HTML. The liquid looked like this:
{% for weather in customer.weather_current_weather %}
  {% if forloop.first == true %}
    <img alt src="http://openweathermap.org/img/wn/{{weather.icon}}@2x.png"/>
  {% else %}
  {% endif %}
{% endfor %}
  1. The second column seems relatively straightforward with the exception of unit conversion. A lot (if not most) of the Customer.io team is on the metric system, and they’re proud of it. OpenWeather looks for a units parameter on the API call, and if I was storing an address, including country, it would have been very easy to conditionally flip between imperial and metric with an “unless country == US” liquid statement. Since I was only storing ZIP Code, I handily grabbed the country name from the OpenWeather response to enable switching between metric and imperial using the aforementioned logic. Here’s what it looked like:
{% if customer.weather_current_sys.country == "US"%}   
  {{customer.weather_current_main.temp | round}}º F
{% else %} 
  {{customer.weather_current_main.temp | minus: 32 | times: 0.556 | round }}º C {% endif %} 

3. The last bit took the longest, and I definitely could have spent more time making the message feel even more personal. My goal was to address the current weather in real-human terms, then provide some anecdote around the temperature…Something in line with the theme of the email. Brace yourself, here’s the Liquid for that section:

{% for weather in customer.weather_current_weather %}
{% if forloop.first == true %}
{% if weather.main == 'Thunderstorm' %}Bang! Boom! Looks nasty with {{ weather.description }} in {{ customer.city }}. My old dog, Lola, used to hide in the bathroom during storms.
{% elsif weather.main == 'Drizzle' or weather.main == 'Rain' %}Grab your raincoat, there's {{ weather.description }} in {{ customer.city }}.
{% elsif weather.main == 'Snow' %}Snowshoeing, skiing, snowboarding! 
		{% if weather.id == 611 or weather.id == 612 or weather.id == 613 %}I hope that sleet turns into snow{% else %} I hope there's enough {{ weather.description }} to do something fun
		{% endif %} in {{ customer.city }}. (My wife and I just took up snowboarding this year. SHRED, BRO!
{% elsif weather.id == 701 or weather.id == 711 or weather.id == 721 or weather.id == 731 or weather.id == 741 or weather.id == 751 or weather.id == 761 or weather.id == 762 or weather.id == 771 or weather.id == 781 %}Might want to stay inside right now...There's some nasty {{ weather.description }} going on in {{ customer.city }}. Does this happen a lot there?
{% elsif weather.main == 'Clear' %}It looks like there's {{ weather.description }} in {{ customer.city }}. Sounds pretty good to me!
{% elsif weather.main == 'Clouds' %}It looks like there's just {{ weather.description }} right now in {{ customer.city }}. I hope blue skies are not far off!
{% endif %}
{% if customer.weather_current_main.feels_like < 60 %}I prefer slightly warmer temps than what you've got in {{ customer.city }} right now. 
	{% elsif customer.weather_current_main.feels_like < 40 %}I'd prefer it were A LOT warmer than what you're dealing with right now in {{ customer.city }}
	{% else %}And I'll tell you what...The temps sound pretty good in {{customer.city}} right now.
	{% endif %}
{% else %}
{% endif %}
{% endfor %}

One of the biggest learnings for me in building the Liquid for this email was how I should deal with the fact that OpenWeather could return more than one weather result per ZIP code. After some research I found a built-in forloop helper that used a first attribute to evaluate whether or not the result is the first in a loop or not. It’s basically a way to filter out everything but the first result.

If you’re looking for ways to add some relevance to your lifecycle messages, here are a number of public APIs for inspiration!

EU Customers, Privacy Shield, and a European Availability Zone

On July 16th, the European Court of Justice (CJEU) invalidated the Privacy Shield Framework that allowed data transfer between the EU and the US.

For all EU customers who don’t have Standard Contractual Clauses (SCC) with us in place, we recommend you download and countersign our pre-signed form.

Customer.io’s stance has always been that the data that you as a customer upload to our servers belongs to you. We’re just storing it to provide a service. The shifting regulatory environment as well as the relationship between the US and EU has been a source of stress for our many EU customers. We’ve begun making investments to eliminate that stress for you.

Customer.io is committed to privacy broadly and the GDPR specifically. To better support our EU customers, we plan to do the following:

  • Build an availability zone for the Customer.io service hosted in the EU which will be online on or before January 1, 2021
  • Use Standard Contractual Clauses to allow for the lawful transfer of data in the interim
  • Be transparent about our progress towards launching the European Availability Zone

If you have any questions, please email win@customer.io.

Thank you for being our customer,

Colin Nederkoorn
CEO

Oh, the other features you’ll ship if you focus on your product’s onboarding!


How you approach the work is as important as what you ship.

That was a good day. It’s a tweet that puts a smile on any product designer’s face. Better yet, Brad said “SHOW the value”. It’s like he was referencing a slide from a presentation I gave at our company retreat. So thank you Brad for recognizing the effort we put into showing the value in our onboarding.

A slide from the presentation, one day we’ll get to “Do”…
A slide from the presentation, one day we’ll get to “Do”…

Brad’s kind tweet isn’t the only positive from our new onboarding experience. People are flying through the new signup flow. People are completing it at a 41% higher rate and in 58% less time.

Once in the app, they were met by a personalized welcome screen. We wanted to show people the power of using data to personalize an experience. After all, it’s the value of our product. Customer.io is a marketing automation platform that enables you to send relevant and contextual email, sms, and push messages. For Brad, and other customers, hopefully the value of personalization carries over to their own messages.

A step from the signup flow and the resulting welcome screen
A step from the signup flow and the resulting welcome screen in our setup guide

I wish the positive impact was a result of two well-scoped projects with perfectly designed mockups. But that isn’t how software is built. You set out in one direction, learn along the way, and end up somewhere else. It wasn’t what we shipped that made this successful, it’s how we approached the work.That’s what I’m most proud of. It’s the seemingly smaller improvements we made that wouldn’t have happened otherwise. When I look back on the approach we took, a few things stood out:

  1. We prioritized the work, which provided focus and freedom.
  2. We shipped to learn. We gave the new signup flow and setup guide time to breathe and time for us to learn, then we iterated.
  3. We listened to the questions and frustrations people had during a trial.
  4. We thought about the product from a new customer’s perspective. It’s often easy to ignore the familiarity you have with your own product.

Brad’s excitement and enthusiasm was a result of investing beyond the initial setup guide and signup flow. We gave ourselves the opportunity to learn and improve the entire product experience.


1. Prioritize the work.

Often onboarding can fall into the “when we have time” camp. It’s that kinda sad pile of work that you want to work on, but it’s never quite the highest priority. For us, we made it a priority. We chose to work to improve onboarding over some other new feature. We dedicated a squad (small team) to the project to support a shift in our sales approach.

As a company, we wanted to better support two distinct purchase paths. (1) People that want help from sales and (2) those that don’t. Customers that wanted to explore the product on their own were not set up for success. They were numerous rough patches that had the potential to trip people up. If those people were going to be successful without any outside help, we needed to make improvements.

That was the “right time” part of the equation. Expressing interest in onboarding added the“right place” half. When the opportunity arose to give a presentation at a company retreat, I jumped on it. I put together a presentation about onboarding to share what I’ve learned from UserOnboard’s teardowns, Kathy Sierra’s talks, and other resources I’ve enjoyed over the years. It was a great opportunity to say “Let’s work on this, I’ve already done the research.”

With the project prioritized, we aligned our squad around an outcome: decrease the time it took to send your first message. This outcome was a direct result of aligning with our shift in sales approach. Focusing on an outcome, instead of shipping a feature, was what made this work successful. With an outcome, you don’t limit yourself to a single solution. You have the freedom to take different paths as long as those ideas contribute to the outcome. Our outdated setup guide gave us a good place to start.


2. Ship to learn.

After releasing a new setup guide, we noticed people still navigated around the entire app. People wanted to explore. They wanted to see what features existed. It makes sense. Not everyone wants to follow the path you laid out and that’s ok. We don’t need to force them down that path.

However, those people were often met by unhelpful empty states. Pages that simply said “No activity”. We decided to ship better ones. They included what the feature is, why it matters, the value it provides, and how to take the next step.

Empty States: Before and After

Our setup guide outlined a path to take and we added better guard rails if people got off track. Surely that’d be enough. Turns out there’s still a hesitation to send a real message to a customer. Most people tried to send test messages to themselves. Yet all they found was a disabled button that said “your account isn’t verified”. It’s a logical safeguard to prevent spam, but did that need to be the case? Wouldn’t a customer be more prepared to send their first message once their account was verified if they were confident with their messages?

We shipped the ability to send test messages to your own email. No account verification needed, only email confirmation. Now, customers could continue to make progress while their account was being verified. Requests to verify accounts dropped in half. For the requests we did receive, our team was able to use the “approved” saved reply in 79% of replies (up from 41%).

We also noticed when people created a new campaign, they didn’t have their segment of people ready. Which makes complete sense. How would a person new to our product know to create a segment first? They had an idea for a campaign and figured defining the audience would be part of the process. We shipped the ability to create segments inline. So when you’re on that first step deciding who will trigger the campaign, you don’t have to leave. You can create your segment right there and continue on your merry way.


3. Listen to what people ask during their trial.

Free trials do expire…what happens then? Do you know what your product looks like in that case? In our product, customers were met with a dead end and told to contact support. Sometimes those people still had intent to purchase. We actually had people reach out to support asking “how can I re-activate my account so I can pay you?”. In fact, 8% of support tickets for self-service trials were about account reactivation.

We wanted to get out of our own way. We wanted to ensure they never had to ask us that question. We shipped timely reminders, clearer plan options, and ways to self-reactivate your account. Since launch, 77% of people that viewed their canceled state reactivated their account. And 19% of those paid for a subscription. Better yet, we’ve only received two customer requests to reactivate their account since.

A large source of trials came from our startup program. They received a discount as part of the program. Sure enough, many would write in “I don’t see my discount applied at checkout?” It stopped them from purchasing! We also saw people trying to checkout, but were stopped by errors with unhelpful messages. We shipped improvements to the checkout experience and added clearer line items. We also revamped billing error messages to make them more actionable.

Configuring your email settings is perhaps the most confusing step for new trials. This is especially true if you’re not familiar with DNS settings. In our new setup guide, we tried something new. We didn’t link to the settings, but added steps that better matched what the settings enabled. Instead of verifying DNS records, you are verifying a domain to send emails and setting up link tracking. We ended up bringing those changes to the email settings.


4. Put yourself in the mindset of a new customer.

If you’re new to the app, there are all kinds of questions you’re asking yourself. Maybe it’s your first time setting up automated workflows. Maybe you’re used to building them in another product. No matter your experience, you’re still new to Customer.io and thinking “can I build the workflow I want?”

We have sample campaigns to demonstrate common use cases, e.g. an onboarding campaign. We’ve had them for awhile, but they had become outdated. They didn’t showcase the flexibility and power of our workflow builder. We shipped new campaign templates to highlight features, like branching, that help you send more relevant messages. Before you had to discover branches in the sidebar. Then you had to add them to your workflow to see them in action. It’s frankly too many steps. Now people can see them in action before committing to creating a campaign. The sample campaigns now serve as inspiration, showing you what’s possible.

Previewing sample campaigns within the new Setup Guide
Previewing sample campaigns within the new Setup Guide

It’s the same thing with email. You’ve created emails in another product, but you haven’t in Customer.io yet. You’re still wondering if you can recreate your designs in our product?

Typically, you’ll probably start from an existing email. If you’re new to the product, you can only start from scratch. You have to commit to an editor type (drag and drop, rich text, or code) before knowing if it’ll even work out. We shipped templates for the drag and drop editor. It’s not meant to be a shortcut for creating an email, but to be that source of inspiration. People don’t have to worry if a full-width background image is possible because there’s a template showcasing one.


Wrap-up

We didn’t set out to “ship a new setup guide.” We set out to increase the amount of people sending a message during their trial. If we accomplished that, we knew we’d be successful. We did decide to start with improving our setup guide and signup flow, but it would have been a mistake to stop there.

Pursuing that outcome allowed us to move beyond those two projects. We had the freedom to find other points of frustration and confusion:

  • providing guidance for the people that roamed around the app.
  • allowing people to send a test messages.
  • making the check out process as frictionless and self-serve as possible.
  • giving people a better idea of what campaigns are possible.

So yes, work on your onboarding if you’re trying to increase conversation rates. But those aren’t the only reasons to work on onboarding. Smoothing out those little bumps a new person experiences will benefit all customers. After all, we’re trying to help all people become the fireball-throwing awesomeness that is fiery Mario.

https://www.useronboard.com/features-vs-benefits/

Thank you

Many, many people deserve credit for helping make this work successful: Duck squad 🦆 for shipping all of this work! Madeline and Annie for encouraging writing time, discussing ideas, and reviewing drafts. And everyone sharing resources on onboarding: Samuel Hulick and Yohann Kunders of UserOnboard, Kathy Sierra, Dan Benoni and Louis-Xavier Lavallee of Growth.design, and others!

June Release Notes

We kicked off summer in the northern hemisphere and winter in the southern hemisphere with a trio of big releases: a new Analysis Page, Workspace Permissions, and opened up our Collections Beta to everyone. Read on to learn more about our new features and smaller improvements in June. 

What’s New?

Analysis Page

Metrics for an entire workspace can now be viewed in one location: the new Analysis page! This enables you to compare metrics across multiple campaigns and broadcasts. Reports can be filtered by name, tag, or specific time range then viewed as either a table or a chart.

Collections

A Collection is a new way of storing data in Customer.io that allows you to represent “things” that exist in your business. For example, a Collection could be a list of upcoming events, promotions/coupons, or online courses. Within campaigns, you can query those Collections to find the data relevant to each individual person. For more details, check out the docs.

During the Collections open beta, you can use this new functionality with confidence throughout your campaigns, but don’t forget to share your feedback with our product team at product@customer.io. We’re actively listening for suggestions to expand Collections in the future!

Workspace Permissions

Workspaces are often used for isolating projects, clients, or apps from each other within a single account.  We’ve added the ability to configure user access to only certain workspaces. Admins can now visit the Team Members page to grant and remove these access permissions.

New Workspace Manager Role

As part of Workspace Permissions, we’ve added a new Workspace Manager role for team members who need to manage a Workspace’s delivery settings, API keys, integrations, imports, and exports. These permissions have been removed from Authors, who are limited to managing campaigns and content. Visit the Team Members page to change team member permissions.

Automatically Archiving Unused Segments

To help maintain the real-time processing performance of your account, we started automatically archiving unused segments. Any segment you have not used in the past 60 days will be automatically archived. This will not affect the messages you are sending in campaigns or newsletters and you can unarchive at any time.

Smaller Improvements

  • A new block is available in our Drag ‘n Drop Email Editor: Icons. Use Icons to mix icons and images with text in a way that looks good on both desktop and mobile devices. This is useful when displaying star ratings, for example, or for creating a bullet list with images.
  • You can now export the segment membership count over time as a CSV for use in other tools. Find this ”Change in membership” option under the “Export” dropdown on each Segment page.
  • Quickly and securely sign in to Customer.io using your Google account! Click “Sign in with Google” on the Login page, or go to your Personal Settings and link your Google account. 

We’ll see you next month! In the meantime, stay updated with the latest releases and improvements by following Customer.io on Twitter. Questions? Comments? Send them over to win@customer.io.

May Release Notes

Cinco de Mayo fell on a Taco Tuesday this year, and we were pretty excited about it. Do you know what else has us jumping up and down? The ability to view segment membership counts over time. Read on to learn what other new features we shipped in May.

What’s New?

Segment Membership Metrics
We now track the number of people who have been in your segments over time. This lets you understand the performance of anything you create a segment for! For example, you can see a chart of the number of recently engaged customers, people who received a certain message, or how many have unsubscribed.

You’ll find these metrics on the “People” tab for any of your segments, including a daily and weekly breakdown of how many people entered or left. For any segment that you’d like to keep a particularly close eye on, select it from the dropdown on your Workspace Dashboard so it will be the first thing you see every time you log in.

Stop, Restart, and Archive Campaigns
We’ve introduced a new set of tools for managing the lifecycle of your campaigns. Use these when you need to wind down a current campaign or to archive campaigns you’re no longer using.

  • Stopping a Campaign will immediately prevent new people from entering the campaign and offer a choice to either exit everyone or let them finish normally. You can restart the campaign anytime.
  • Archiving a Campaign will remove it from your Active list and prevent it from running or being changed. It is still kept in a new “Archived” tab so you can reference the metrics or restore the campaign at a later date.

You’ll find these controls in Campaign Actions dropdown on your Campaign overview page. For more details, check out the docs.

Smaller Improvements

  • We simplified the process of configuring a Data Warehouse Sync. You can now request access to this feature directly from the Integrations page in your account. For more info, check out our docs here.
  • Your Billing History page now highlights the most recent invoices and overage details so they’re quicker to find.

What’s Next?

We’ve begun an early beta test for a new feature we’re super excited about. It’s called “Collections” and it lets you store data sets that can be queried in campaign workflows for use in your messages. Interested in trying it out? Drop us a note at product@customer.io and let us know!

In the meantime, stay updated with the latest releases and improvements by following Customer.io on Twitter. Questions? Comments? Send them over to win@customer.io.