I’ve been noticing lately that my data sync in Tableau CRM is taking just a little bit longer than usual. My dataflows take just a little bit longer to run. Even my recipes feel slower. And even though everything is just taking *a little bit* longer… those extended run times cause all sorts of crazy stuff to happen. My favorite thing is to suddenly have 120 error emails in my inbox because all of my data sync objects failed because they were still running or still queued. So now my data sync is backed up, which makes my dataflow schedule backed up which means a lot of error emails and a lot of people asking why the data hasn’t been refreshed. So fun! What can we do about it? I think its time for a bit of spring cleaning – after all, ’tis the season!
There are a lot of things we could cleanup in Tableau CRM, meaning we aren’t just limited to cleaning up our dataflows and what not. Here are all the things I’m going to work on:
- local Data Sync – am I really using all the objects and fields I’m replicating?
- external Data Sync – am I really using all the objects and fields I’m replicating?
- Recipes – are they all really still in use?
- Dataflows – am I being as efficient as I can be?
- Datasets – I *know* I’m not using all the datasets in my org… what can I get rid of?
- *.csv Datasets specifically – I *know know* I’m not using all these – get ’em outta here!
- Dashboards – what can I retire? What needs to stay?
- Apps – is there anything I can get rid of?
- My Private App – there is so much in here that I never use but like to keep…
- Lenses – do I really still need that test lens I made 2 years ago?
- Stories – remember when I created like 15 versions of the same thing for fun…
Wow, okay, that’s potentially a lot of work. Lucky for me, there are some really awesome tools that we have at our disposal to help us prioritize.
Adoption Analytics App
The Adoption Analytics Template is rad and I use it all the time. It comes with pre-built datasets and dashboards that show how you are using apps, dashboards, and lenses. I use the WaveChangeEA dataset in particular for almost every project because it tells you how often people are using different assets. A dashboard not getting much traffic? Maybe its broken. Or better yet, maybe its not really needed anymore and you can get rid of it! I like creating a hidden page on dashboards that utilizes this dataset and shows the usage for that dashboard in particular. An unused dashboard, even when its the coolest thing ever, is wasteful.
Field Usage Analysis
Rikke posted about this on her blog back in October and I’m kind of obsessed with it. It’s not as easy as installing a templated app but totally worth it in the end. I’m not going to tell you how to do it because her blog post walks you through the entire process step by step, so definitely go check it out. The process uses an SFDX plugin for the Salesforce CLI and generates a csv file with all the fields used in a dataflow that you can use to see if a field is used in a lens, dashboard or security predicate. That’s RAD. Field not used anywhere? Remove it from the dataflow and also from data sync. Woot! You can even load the csv as a dataset so that you can visualize what changes you want to make in a dashboard.
Clean it up
Using these two tools will get you most of the way to prioritizing your cleanup. Using the templated Adoption Analytics App, you can see which apps, dashboards, and lenses may not being used and remove them. With the Field Usage Analysis, you can see what fields in your dataflows aren’t being used and remove them! Even with the aid of these tools, this is still going to potentially take a lot of time to complete. Remember, its always best practice to do a backup before you start making crazy changes and deleting stuff. Once I have a list of everything I want to cleanup, I will create a Jira issue for each item so that it can be well documented. This helps keep track of how much time I’m spending on cleanup too so next year when I want to do it again I will know how much time I need to set aside.
Optimizing your org shouldn’t be limited to cleaning up Tableau CRM data. Use a tool like Salesforce Optimizer to see where you can declutter the rest of your org!