Iterate Faster with Better Data & Supercharge Your Growth
Use Salesforce regularly? This webinar recap is for you. Here, Integrate.io's panel of experts explore hot-button Salesforce issues and more.
Iterate Faster with Better Data & Supercharge Your Growth
Casey Holston, Director of Marketing at Broughton Partners, shares how his team moved from slow, batch reporting to near real-time marketing analytics with Integrate.io. Broughton Partners is a legal marketing company that connects potential claimants with the law firms best equipped to handle their cases, a fast-moving, competitive market where spend decisions need to be evaluated daily, not monthly.
Holston walks through the evolution of their reporting stack, from Klipfolio and Tableau to using Integrate.io to pull Salesforce, Google Ads, and Facebook data into BigQuery on an hourly schedule. With accurate, automated data in one warehouse, he could measure cost per lead and cost per case by campaign and channel, catch problems within hours, and reallocate ad spend before a bad day became a bad week.
This talk is useful for marketing leaders and data practitioners who need to unify CRM and advertising data for faster decisions, anyone weighing build-versus-buy for a data pipeline, and teams looking to move from static dashboards to timely reporting they can act on every morning.
VIEW TRANSCRIPT
Hello and welcome to another X Force Data Summit presentation. Today we have Casey Holston who's the marketing director of marketing at Bratton Partners, which does an interesting thing that Casey will explain.
Casey is also an XPlanet customer and he does real time or near real time marketing with XPlanet, something I hadn't heard of before until Casey told me about it. So here's Casey.
Hello. Welcome to Iterate Faster with Better Data and Supercharge Your Growth.
Broaden Partners is a legal marketing company that tries to find potential claimants for lawsuits that are happening in United States and then matches them with a partner law firm that is able to handle their case. And so issue or the problem that Broaden Partners solves is a lot of times there's mismatch between where a person contacts a lawyer and then that lawyer is not able to handle their type of case. And so they're trying to start trying to find a lawyer that can actually handle their case for them and has the resources to take on somebody like a Roundup or a Pfizer or one of these larger companies that have access to millions or billions of dollars to to win these court cases. And so we have to try and match their capabilities with capabilities for these clients so that they're able to get the compensation that they deserve.
And it's a very competitive market, lucrative market. There's just a lot of players in the space and every lawyer in the country could be working with these people. And so we have to find as many people as possible, as quickly as possible, and as efficiently as possible.
And so we take advantage of the latest technology and we're always looking for new new technologies that'll help us do our jobs better and easier and faster.
I want to talk a little bit about our case acquisition trajectory.
So I started with Broaden Partners in twenty seventeen, have history with data analytics and marketing. And we got to a point in twenty eighteen where we needed to, the stuff we were doing was getting so complicated and competitive and needing to be able to make decisions quickly that we needed to find a different way of evaluating our marketing so that we were able to make the right decisions more quickly.
And so in October of twenty eighteen, I started searching for a way to get us as close as possible to real time or daily data. The initial ask was for daily data by our campaign marketing channel to try and really find the pieces of our marketing that were working well.
So as you can see, about October twenty eighteen was when I started working with X Plenty. Went from six thousand cases in twenty eighteen to thirty two thousand cases in twenty nineteen. Now that's not all due to X Plenty obviously, but it gave us the intelligence to be able to make the decisions that allowed us to sign additional twenty six thousand cases in one year. And we're pacing towards seventy five thousand this year. We're not expecting, no growth is ever linear unless you're only in your dreams is a linear growth. So we're pacing well through this year, well ahead of last year to hopefully get to seventy five thousand this year.
So Casey, when you say a case, this is where you have hooked a claimant or somebody who wanted to, plaintiff I guess would be the word, right? Right, correct. With an attorney who can handle whatever their case is, right?
Right. So the way our marketing works is we're out finding the right demographics, finding the right targets, and showing them a social media ad, a paid search ad, sending them an email, whatever we think will be effective. And then to get them to raise their hand and say, Hey, I think that's me. I think I need help.
And so the way it flows is they go into our call center and either they pick pick up the phone or they submit a web form.
And then our call center takes it from there. And every one of these different types of cases, we have about fourteen or fifteen active case types right now, we have a different set of qualifying questions that our call center leads a potential claimant through that then turns that person into a qualified lead. So that's the first or second filtration step, depending on what we do on the landing page.
And then once they're qualified, send them a contract and then they sign that contract and then we send that to the law firm that they've been matched with.
How do we do it?
So when I came on board in twenty seventeen, we were using clipfolio, which is a kind of an always on web reporting platform that connects to a lot of different platforms. And so we were connecting that to our Salesforce and our marketing spend through Google Sheets, AdWords, and I think that was it at the time.
And so there are some limitations there. You're able to query the Salesforce objects exactly the way you want to, but you're not able to do effective grouping based on the number of records we had. At that time, had about two fifty to three hundred thousand lead records in our system that we were trying to accurately run through ClickFolio.
And the way ClickFolio works is you have to group a lot of things and it would cause really high load times. But in addition to that, trying to answer the question I was asked about a daily report, I had to figure out a way to group the data together and exploring the Salesforce grouping capabilities, it just wasn't there. And so I have to know what happened yesterday.
So we spent five thousand dollars or ten thousand dollars on one campaign yesterday, was that a good amount of money to spend or did we waste all that money? And so I need to know where to find problems. I need to know if it's a trend or an outlier.
I need to be able to dig deeper into my data to explore relationships, which ClickFolio just doesn't offer because it's more of a visual platform to distribute data out.
And so you have to know where you're going. You have to the end destination in mind before you really get going there. It's not a platform like Excel or any other platform where you're exploring data really. It's it's like, here's the finished product to present and make available for other people.
So that all the different things I need to know, be able to do to evaluate effectiveness doesn't really work with ClickFolio.
So where did I go from there?
I went to Tableau. I have experience with Tableau. I knew they had a Salesforce connector that would allow me to connect to our lead object.
So now I can arrange data by any dimension that I can create with my dataset. I can compare easily, I can segment, I can explore those complex relationships. So now I'm able to quickly look at my leads and my leads to qualified rate to know by campaign what's going on.
But the piece I was missing, because there's not an AdWords connector in Tableau, which we spend a decent amount of money in Google, missing an AdWords connector. Also, had five hundred fields on our lead object.
So we had been developing on the same Salesforce instance for four or five years, and there's been a handful of people and gone through several different iterations of what the company was trying to be before I got there. So there were five hundred fields that we had to pull back for every record. And so at three hundred and fifty thousand lead records, it has five hundred. It took about an hour for that Tableau dataset to refresh.
And then even once it was refreshed, Tableau has a way that they pull the data into an extract that allows you to work with it a little more quickly than if you connect to it live, but still very, very large and unwieldy. But the Salesforce sector, a lot of times on their extracts that they allow you to do, you're allowed to edit the fields down to where you only pull what you're really interested in, unless it's Salesforce, which don't have that ability when you connect to the Salesforce object. You had very limited capability to try and limit what you're looking at. You just had to say, Well, give me everything.
And I think part of that contributed to point number two is that the numbers are not one hundred percent accurate.
Checked against Salesforce, They were close, but they accurate. For what I'm doing, need them to be accurate.
Additionally, I need to have manual data updates because I was working on Tableau Desktop. Every time I want to update the data, have to kick off a refresh of all that data.
Then spin data was unavailable.
And then without having that, I'd get a general idea of how my campaigns were performing, but that was all back end after it's already in the call center because I don't have that front end marketing spend data to know what's going on out there. Like, oh, it looks like maybe that one's converting well. But when I look at what we're spending to get that, maybe it's not the right place.
That's because your spend data is starting like AdWords or someplace like that.
Right.
It's an AdWords or we had worked out solutions with some of our vendors. They're running on Facebook and they are running for other people.
And so they couldn't give us direct access to the Facebook accounts because we would see data for other accounts, which you don't want to do that.
So we figured out a way to have them input their data into a Google sheet that we could then connect to and pull that data in and then match it up.
Leading me to new solutions.
I need accurate Salesforce data retrieval. I need something that's automated so that when I come in in the morning, it's ready to go. I need the ability to connect to any number of APIs, AdWords, Salesforce, Facebook, whatever. And it needs to be something that's scalable to whatever kind of data I want to connect to.
I want to be to easily connect to any new data, I guess, as the more data I can have, the better decisions I can make.
So just really looking at what kind of products could meet that need. I explored Stitch, a product called Stitch, Didn't work easily. You know, as director of marketing, I've got some time, but not a lot of time. And so it needs to be something that was easy to use and and just worked out of the box. And I was exploring Stitch, Hevo, and Explanate. Doing my Googling or whatever, guys, these are the three products that kind of sifted to the top of what I was looking at.
But I got Xplanning to work quickly, and I haven't really looked back.
So what do we do with Xplanning?
So in order to give you the most flexibility, I wanted to push everything to some kind of data warehouse or database storage of what you will. So I set up XFunny to connect to our Salesforce data, our AdWords data, our Facebook data, any other data that I need to, and then push all that data to BigQuery.
And I have a mix of the ones you see in the middle of the all resets section schedule. This runs every hour.
And so what that does is on the Salesforce data, I've set up the system mod stamp capability variable that Xplanee had good documentation on to only get the records that have changed. So when I'm looking at data during the day, I'm getting what has happened in the last hour. If a lead has come in and we finally got we're able get them on the phone, I'm able to see that as soon as I need to. But then the other piece of that is things change with lead records or we're running tests or deleting records or something, stuff always happens during the day.
And so every morning at five thirty, I just had to check the time there, I run a full refresh of my data sets so that I catch anything that may have changed in the data set. I'm able to pick that up and then for the next twenty four hours, I'm pulling records that updated since the since the last time I ran I ran the ran my reset.
So the so when you pull the leads in, it sounds like you got a bit of a crufty lead object, a little extra a few a couple three too many fields, you leave out all your legacy or whatever word you want to use for your cruf. You just take in what you're using now, right?
Right, and so in September, September? I think like September of last year, we went to a new Salesforce instance. So we're down to like maybe two fifty fields.
Slimmed it right down.
Slimmed it down considerably. Yeah.
Half half the size.
I can't argue with that.
Right. And so the so one of the one thing that is interesting is that you do have to the system mod stamp variable, you have to connect to the whole object for that to run. But your savings in the hourly refresh are more than offset what you get by having to connect to everything.
Yeah. Roughly how many leads do you have in your system total?
We're probably up to four hundred and fifty thousand.
We everything over from the old system to the new Salesforce instance.
We're going to continue to build that out.
And judging from that graph you showed a few minutes ago, you probably get a couple hundred leads a day, right? Maybe that's under.
That's under.
We do.
A couple of thousand maybe or something.
We do anywhere from a thousand to two thousand new leads a day.
But a tiny percentage of half a million.
Yes.
And so, there was something, I was going somewhere. Oh, so the other piece that makes the ease of connection. So in this list of resets, think I've added, no, I have like a Salesforce activities data. And so we have a fifty person call team, fifty person call center that's running and updating records throughout the day. And we've got a call center software that's writing to Salesforce.
Have some lead nurtured platforms like ActiveCampaign. We've got some other partners that are writing all this data to our leads in our Salesforce instance. And so with that ease of connection, I'm able to pull what's going on in the call center because we're writing it back to Salesforce. So now I've got our activities data, that's going to be a giant object. Absolutely.
And then even looking back, looking over here on the full refresh, see the chatter last thirty days refresh. And so that was a data exploration that I did where we were working with a partner that was sending text messages and people were responding back and they were pushing that to the Chatter or feed object in Salesforce. And we had a little bit of trouble reaching that. So I was able to build a report that would have all of the last five hundred or last three days of text messages that had come in. And so it gave our call center insight into what kind of messages were coming in and if they needed to better idea of what was happening with text messages so they could make it a priority to reach back out to them. And so, you know, it's TextFunny allows me to go as far as my mind can take me in as far as making relationships in our data that we do have.
So did you write all this yourself or you and your team? Or did Xplanning do it for you? What was the learning process like?
I did it all myself. Great.
You're not a and you're not a software developer, right?
I'm not a software developer, but I have, you know, I have database experience writing writing SQL query writing SQL queries. And so I do have a little bit advantage there, but it was very, you know, with the documentation, getting that system mod stamp was getting that in place, you know, made it so much easier to do what we were doing. And then, Exponent saved my bacon last summer.
That same person who was sending text messages and making phone calls for us, we got to a point where we had so many leads that they were making our API time out.
And so it was making our Salesforce API timeout. So our call center would lose access to their Salesforce instance and wouldn't be able to update any records because we were making so many API calls that Salesforce would shut it down.
And so that's when we moved everything from ClickFolio connecting directly to Salesforce to ClickFolio connecting to the BigQuery database that we had set up with our Salesforce data to cut down on the number of calls that we were making so that we could do everything possible to avoid any outages in the call center.
So basically, your combined API usage was causing you to hit your governor limits, right? And so you just pulled out ClipFolio, which was probably banging against Salesforce all day long or whenever you want to write reports.
Because I decided to just use X Plenty to extract the data to BigQuery.
Yeah. I mean, I was already doing it, but then I started out every three hours with X Plenty. Or it's every six hours. Okay, that's great.
That's good enough. Every three hours. Okay, that's better. And then at that point I was like, okay, I can't afford to not have this hourly because it solves so many other problems for the business. I have to do whatever I can to where I'm not making all those requests of the API. Our clipfolio instance, you can use the SOQL query language in clipfolio.
For the way our reporting was set up, were creating a data set for type of campaign we were running.
By type, mean like, we're involved in the Roundup litigation and the Talc litigation, disruptive litigation. And so the way we needed to visualize our data, we had to have a different connection to the Salesforce data for each of those different ones. And so by the time you get to thirty or forty of those now running those every hour, plus your more general ones running every hour, we're making so many requests of the Salesforce API that no surprise we hit our limit.
Right. And the reason it shut down your collars is because they're using a tool that uses a Salesforce API also, right?
Yep. Yeah. They couldn't they weren't able to weren't able to log in. Yeah. That was not that was not fun.
Yeah. It wasn't a happy day, I bet.
No. I was think I was in New Orleans at that point. Was on a one or two day vacation.
Yeah, that's when all those things tend to happen.
Using what I had already had in place and extending it, I was able navigate that solution. Yeah, great.
So BigQuery, Tableau has a built in connector and I'm able to write SQL queries to clean up, shape my data a little more. There's some native functionality really around dates that a database software provider has that makes my life much easier. Instead of trying to figure out the daylight savings time conversion, I'm able to just tell it what time zone to put stuff in and it's able to figure that out. And then I'm also able to combine that data in new and interesting ways with a SQL connector, because Tableau does have some native blending capabilities that you're able to just connect to data and then tell it what fields to essentially join on. But there are additional things that you just need to have a database to do. So we've got a date table that I create using a view.
One of the things about combining data that I've learned in using Tableau and other products is when I'm matching up CRM data and my advertising data. There are days where you spend money and you don't generate leads.
And there's days where you don't spend any money and you generate leads. Those are the best days. Don't happen that often, but you need to have some kind of record to make that match up to account for days when I have leads and no spend and days where I have spend but no leads. Because if start with leads, on any day where you have leads but you have spend data, you're to drop that spend.
So I was able to create a temp table that makes a list of all of our campaigns that we have in our system and creates a fake, puts a date with it. So now I have a dataset that has every, you know, since twenty sixteen, every campaign that we have has a date record that I can then say, all right, match the leads against, match the spend against. So then when I build Tableau sheets out or my other reporting out, I have a reference and I'm not dropping any data.
So then what did that do to Tableau? Now I'm able to line up my lead sources and combine them in whatever way I want. Now I have the spend data, so now I can get inside Tableau, I can look at what's my cost per lead a Thursday, on a Friday? Is that different than my cost per lead on this campaign? Is it different than my cost per qualified lead?
Is it my true leads, my case specific qualified leads qualified? However I want to look at it, now I've got my spend data all lined up and able to really determine what are the most effective campaigns and where should I expend effort to refine, where should I stop, Where should I keep going? How can I make the best decisions for my company?
So on this chart, CPC is our cost per contract then?
It's cost per case is what we're looking Cost per case.
Yep. So you're micro targeting here. I mean, these are, except in one case, it's under one hundred leads that your advertising campaigns have gotten. You spend a significant amount of money on advertising to get those leads.
Yes, we have.
Some of this stuff is a work in progress, so I'm looking at my overall goal as far as where I need to drive our costs to. And so I can say, all right, well, this campaign is doing this and this campaign is doing this, but overall I'm sitting here.
I think I took a bad day to look the data here. This is from one day.
Well, we all have bad days.
We have good days, you know?
We do.
So to this point, looking at this data, what I realized, actually I realized in other ways, but in looking at this data, could have realized that our call center had an issue on this specific day, which they did, but it would have been obvious looking at some of the fields that I pulled out of here are leads that are still kind of pending. And I would have seen ninety eight percent pending from when I pulled this data. And so I would have, okay, what's going on? And then I would have, okay, well, the call center did some stuff that they shouldn't have done over the weekend. And that's why I'm seeing what I'm seeing. So I know not to be able to immediately pull the plug on my very expensive qualified lead that I got the other day.
But still the point is that your marketing strategy is not it's kind of the opposite of mass marketing. It's micro marketing. It's super targeted, super, and that's why you need this real time feedback is because to keep that kind of a super targeted marketing campaign going, you got to know if it's working like Yesterday. You got to take the pulse of the thing all the time, right?
Yeah, like it just doesn't it's such a competitive and small niche area that we had. I had one vendor that were doing really, really well on a Zantac campaign. So Zantac has had a recall potentially if you take it for a long period of time, it can cause cancer. The FDA issued a formal withdrawal request, not a recall, a formal withdrawal request.
So that news hit on a Tuesday.
One of my vendors who had been doing very well, you know, they're not the, we're not their only client. So, you know, that news hit now everybody wants Anti cases, right? And so my cost per lead went it doubled It doubled in one day.
It made them not profitable. And so I'd been spending a significant amount of money with them.
And so I'd kind of expected with that news happening that this would happen.
But then being able to see, yep, there it is. That's the day it happened. I called them up and said, cut the budget. And I'll spend that money elsewhere where it's not as competitive, where not all of our relationships with our vendors are, if we do well, they do well.
In that specific case, they're a percentage of advertising spend. And so the more interest there is and the more expensive a lead gets, the better they do, and the worse we do. So, you know, just having that daily hourly pulse of what's going on, you know, there's been so many times where I'm looking at some of my reporting, which I think is the next slide, we'll get to it. We'll listen my daily spend, and it triggers me to go to a vendor and say, Hey, what's going on?
And that's what I'm seeing what's happening today. I'm saying, Hey, things are looking weird. Like, Oh yeah, thanks for reaching out. We had an issue here.
And so I'm able to catch problems somewhat smaller before they become an even bigger problem. If we're spending nine thousand dollars a day with one lead vendor or thirty thousand dollars in total, this is just one of our campaign, one of our towards that we have running.
If we're spending this amount of money, a mistake is so costly that it keeps me up at night. And so that's why need to have our data as real time as possible.
Even though we've moved away from clipfolio because it didn't do some things well, By the insight that I gained from pushing it to BigQuery and pulling it down to Tableau, I'm able to then connect back to this via BigQuery, and now I have something that's useful for me on a daily basis. This is what I because my Tableau instance is still having to refresh when I want to dig into that data, but here I can spot my daily stuff that's going on and then reach out to my vendors, ask them what's going on, what are they seeing, what's happening here.
And then in the mornings I'll come and look and get a refresh of what happened yesterday and then dig into, okay, what's it look like last three days, last seven days, fourteen days, last thirty days? And so I'm able to segment the data in a way to where I'm able to quickly determine if it's something that I need to address or it's something that maybe a momentary blip. What does the future look like for what we're doing? It's a Salesforce product called Datorama. It was separate. Salesforce bought it as they do with a lot of things and they now bought Tableau.
In my mind, it's the replacement for Workletfolio, but it offers automated alerts and emails. The current platform does not do a good job of emails and alerts are not a thing.
The filtering with the way our data has to be set up was not real great in Clipfolio. And then we also, future future, you can give Datorama goals on what you're looking for in specific campaigns, and if it falls outside of what you're looking for, it'll shut it off or make changes.
And so just continuing to leverage what we have to go further.
And so does Datorama mainly report directly from Salesforce or does it also Yeah, Datorama can pull directly from Salesforce.
But even though I'm going to need something to connect my Salesforce data to Tableau and Datorama is not it. So I'm able to keep going in future but still be able to have what I need to be truly effective.
And so are you, I don't know if you're doing it now, but are you using XPlanet to push data back into Salesforce so that it can be reported on there? Like things from your ad campaigns or other indicators?
Not yet, but that would definitely be an area where I would want to explore. Our tech team is small. We're only like five to six.
I think they're up to six.
And they're, you know, they're stretched thin and that's what, got me to a place where I got to a park like Integrate.io is I needed this to do my job effectively.
My tech team could have built out APIs and connected all this stuff together and put it in a place where I could have connected to it, but they weren't available, so I'm going to do what I can do get the data and the pieces in place to do my job as best as I can.
And Xplain enabled me to do that because it was so It was just simple to understand and easy to use. It's right product, right time.
Thank you. If anybody has any questions, can email me. There's my email.
It's rough out there in my email if I don't get back to you immediately if you have questions. But I'm always interested to talk about data and marketing and how tools can help you get where you need to go.
Right. This is great, Casey. I have to say out of this whole conference, we're we're recording this towards one of the last ones of recording and I haven't seen anybody talking about real time marketing updates or near real time marketing updates. But basically, you rejigger your marketing strategy, what every day?
Daily be the right grain for that or would it even be even more often?
It would be daily. Every morning, part of my to dos is look at what happened yesterday and seeing, in my back of my head, have the problem campaigns that I know need to look at. But it's a continual reminder in my face of where do we need help? And then I'm able to, you know, then work with a vendor or work with my internal marketing team on our stuff to say, here's the things that we need to take a look at or, here are the things we need to do if already know what if I have an idea of what we need to do.
Great. Well, again, thank you so much for sharing your experience with X Plenty at Bratton Partners, and I wish you a lot of success in the future.
Well, with X Plenty, I'm sure we'll have. Thank you. Thank you.