A Clearbit Signup - Behind the Scenes
Whenever someone signs up to Clearbit they kick off a whole series of events ranging from drip campaigns, sales notifications and funnel analytics. I thought it would be fun to dig into what's happening behind the scenes.
As soon as someone clicks that signup button we do an analysis on their registration information and email address to try and decide if it's genuine. We ping MX servers, our own Person API, and also look at the company associated with the email's domain.
If we detect the email is anonymous we reject it. Alternatively if we can't find a social profile attached to the person signing up then we email them a link to confirm their address is valid. Otherwise we send them on to our API integration page.
We don't use email much internally apart from communicating with customers so all new signup notifications go directly into a Slack channel. We've built a Slack plugin that uses our APIs to enrich a signup into a full person & company profile display the person's name, title and company information.
We also do a quick internal calculation based on this person & company data. If the signup looks especially high value (say the company has raised money) we elevate it to a different channel. Our sales team will then do a bit of research on the company and reach out personally.
We use Close.io as our CRM principally because it's simple and provides a good API. All new signups get created programmatically in Close.io. We try and de-dup signups from ones we've already received (i.e. group people who work at the same company). We'll also try and associate a company with signups from personal email addresses at this point.
Close.io integrates with Gmail and collects all the emails we've sent a customer in one place. This is useful for taking a quick glance at before beginning a sales call to get some context.
We use Google Analytics for page view events, and Mixpanel for action based events. New signups are registered in Mixpanel and any browsing profile made before they signed up is merged so we can get a complete view into the actions made leading up to and after registration.
Before we do a sales call we'll take a quick glance at all the actions a customer has made, the docs they've viewed and the APIs they've pinged. This gives us a better sense of what a customer is interested in and how they want to use our APIs.
Lastly we register the new customer in Customer.io which we use to manage all our drip campaigns. We send out an initial welcome email which we tailor slightly on whether we think the signup is from a developer or not. We use a lot of signals to determine this--what source referred them, whether they have a GitHub profile associated with their email etc.
If the user has elected we subscribe them to our newsletters and put them in a 'getting started' drip campaign.
Once a day we sync all of our API call stats to Close.io and associate them with each customer. After a week, if a signup hasn't made any API calls, we trigger another email to help them get integrated and give some ideas of the things you can do with our APIs. On the flip side, if they've made the maximum calls allowed under their trial plan, we prompt them to upgrade.
We're constantly tuning, tweaking and automating this process. It should only get better as more customers pass through the flow and we get a chance to do more a/b testing. Let us know if you've any questions or other ideas!