Gartner® Hype Cycle™ for Data Management 2024
Read The ReportGartner® Data Management 2024
Read The ReportDiscover how Martin Matějka, Keboola's data engineer, approaches the internal data world of Keboola.
Greetings, my dear readers. It’s been some time since I’ve posted my last article. This is the third chapter of the introduction to the internal data world of Keboola. In the previous chapters, I’ve posted about an introduction to our internal reporting and communication with our users.
Since the last time, a couple things have happened. I’ve visited my first concert since the Covid outbreak and it was nothing less than the best Czech band called Hm… I’ve received an Underground River card for my MTG premodern Psychatog deck in Deutsch rather than in English. And we celebrated the birth of my friend’s second daughter - he definitely has a lot of ladies to take care of right now.
You know, just a few highlights from an ordinary life we all missed. And now I’d like to take you on a journey through our CRM universum. Another kinda ordinary thing, but this time related to the business part of our life.
Well, we all know what CRM is, so I won’t be talking about that. I’ll just mention that we’re using Salesforce for a while and we’re trying to utilize it as much as possible, to get some bang for the buck, as it’s definitely pricier than our free plan Hubspot we’ve used back in the day :)
I believe that most of our readers are a bit familiar with data gathering and processing, so I’ll just briefly mention that we are of course consuming data from our CRM platform. Getting all those precious information about our leads, contacts, opportunities, orders, customers etc. and combining them with data from the other tools. That’s pretty easily done by using Salesforce Extractor, where you just fill in your credentials to Salesforce and define objects to be extracted. One example for all - part of our contract with a customer contains soft platform limits which shouldn’t be breached by the customer. And if they are, it’s probably time for an upgrade.
To measure that, we are combining data from our CRM orders with data coming from Keboola projects, so we are able to see the overall usage of our customers vs limits they have in their contracts. That is done by using data Transformations. That way our Customer Success managers are able to track usage of our clients and get in touch with them regarding the next steps (our customers are able to get such data as well, of course).
But extracting the data is the usual part of the BI solution. Feeding the CRM with additional data is the next step which helps us get further in taking care of our leads and customers.
We’re sending different kinds of data to our CRM through our Salesforce Writer multiple times a day. I’d like to talk deeper about data related to people (leads, customers), but also share with you other use cases we’re taking care of:
Though, most of the data is linked to the people, especially leads, and that helps us get a bigger picture about people we are interacting with and those who are trying out our product.
Before you can create data related to the lead, you have to acquire one. We value every person who is interested in Keboola, hence trying to reach all of them.
We have quite lot of source of leads:
It’s probably worth mentioning that we are not tracking every single Keboola user, as we definitely don’t want to bother skilled power users with articles with introduction to our platform etc. Simply, we want to interact with people who might be really interested in Keboola.
Such data are acquired through different sources (Zapier process mentioned above, custom component or metadata from Keboola projects, which you can get by using Telemetry Data extractor as well).
To identify such persons, we are generating events to be linked to our leads in the CRM. And we have a lot of those. It’s not just about grabbing an email and to start spamming it with random stuff. We want to approach the people in a more fine way. And to do that, we need to gather as much information as possible.
Let’s say there is a person who hears about our webinar and decides to visit it. They participate in the webinar and because they like it, they decide to watch another webinar from the past. They like it as well, so they decide to start a Pay As You Go project to test Keboola and see how it goes. They connect their first data source, write some transformations above acquired data, set up their first automation by using the orchestration component in our tool, and because they want to do more and more, they decide to buy additional credits in their project to have more computation time.
Ok, to be honest, this is quite an ideal scenario and there might be hiccups during that journey, but that’s where we are trying to help.
But the whole described journey generates something really important for our decision - events. This particular journey generates this set of events:
All those events from the lead’s journey are created in transformation and then stored in our CRM.
Along the way, we are trying to help the user with some tips about Keboola. And we are also updating the lead's score, to determine if they are just a random person stumbling on our tool and moving on, or a person who would love to do some data magic and seeking the right way of doing that. We are trying to send appropriate tips by using Customer.io campaigns triggered by the particular events.
And that’s how we target and nurture our potential customers. And as we add more interaction with people linked to our world, we are adding more events which help us understand people dancing around us. Hopefully, it can benefit both sides, as that’s what we are always aiming for.
It’s the same as with everything. It’s never perfect and you can’t stop evolving the system. Everything is changing - product, people, world… You have to be adjusting the system to handle your leads in the most favorable way for both sides. Keboola makes the work with the data easier, but the main decisions are still yours. I wish you to make the best ones :)