Slight Reliability is a podcast about site reliability engineer (SRE) and observability. I started it as a way to share my learning journey when I transitioned from performance engineering to SRE back in 2021. It contains a mix of individual episodes where I share something I learned as well as interviews with experts from across the industry.
I'd like Slight Reliability to grow its audience. To validate whether that is happening, I need analytics data about the number of people listening or watching each episode, and most importantly how this is changing over time.
Slight Reliability is distributed across two channels. It is primarily consumed as an audio only podcast. Audio files are hosted by Buzzsprout, and then indexed by most podcast platforms such as Spotify, Apple Podcasts, and Google Podcasts. I also release it as a YouTube video for those who like to see the faces of my guests and I.
Buzzsprout and YouTube individually provide analytics data about subscribers and listens/views, but I wanted a way to bring this to together into a single view so I could see at a glance whether the podcast is growing or not.
YouTube Analytics API and OAuth
My first intention was to directly pull analytics data from YouTube using the YouTube Analytics API and to render the dashboard using SquaredUp.
As a precursor to this, I wanted to be able to successfully query the YouTube Analytics API using an API development and testing tool called Postman. Just getting this working took a little longer than anticipated. Without going into the detail this involves:
- Learning the structure of YouTube Analytics API requests
- Enabling the YouTube Analytics API within your Google account
- Configuring OAuth 2.0 for your account and setting up a test user
- Configuring Postman to use OAuth 2.0 to authorize your requests
Google Cloud and OAuth were pretty foreign to me so it took me a couple of days to figure it all out. I'll be sure to create some content about OAuth in the future to make it easier for others who want to access APIs that require it.
Once I got to the point where I could submit requests in Postman and get analytics data back in the response, most of the heavy lifting was done:
Then I used SquaredUp's Web API plugin, which allows you to connect to any API at all that returns JSON data, to connect and retrieve analytics data from YouTube. It only took a few minutes before I was able to stream live data:
At this point, I was halfway there!
Buzzsprout, my podcast hosting provide, also provides an API. The authorization for this API turned out to be much simpler, it only required an API token to be passed as query string parameter:
Unfortunately, despite how simple the API was to use, I hit a bit of a road block. The Buzzsprout API only provides an overall count of how many times each episode has been listened to. You cannot break down how many listens occurred each month, which was key information I needed to know. So, I was back to the drawing board.
Google Sheets to the Rescue
For over a year now I have been tracking social media and podcast analytics in a Google Sheets workbook.
Like the YouTube Analytics API, Google provides the Google Sheets API. This lets you read and write data from your spreadsheets. Maybe I can't stream in live data about the number of podcast listens each month, but I can use the data I've been recording in this sheet to populate a SquaredUp dashboard.
Because I had already gone through the process of setting up the YouTube Analytics API and OAuth it was fairly straightforward to get the Google Sheets API working. With this new approach, I was quickly able to build out a summary dashboard for Slight Reliability:
This process wasn't just about building another dashboard, I actually learned useful information.
Firstly, although the number of YouTube subscribers is continually going up, the monthly video views was staying static or even decreasing over time. I'm not certain why this is happening but it boils down to either the content not engaging the audience, or I'm not promoting it sufficiently (or both). Something I have been experimenting with since then is supplementing the longer form podcast episodes with short form content, and exploring other platforms such as Instagram and TikTok.
The second insight was that the audio only podcast listens was staying pretty constant over time. Reflecting on this, I realise I hadn't promoted the audio only podcast at all since I started also releasing it on YouTube. I have since started reminding my audience that you can also listen to Slight Reliability using your favourite podcast app, and I will look into other ways I can increase engagement there.
Lastly, I had a three week break from the podcast while I went overseas for work. Normally I release an episode every week, but while I was away engagement decreased. Since I've come back the numbers haven't recovered either. The lessons I see here is that consistency is key, and next time I head away I'll aim to prepare a backlog of content to release or to make the most of being overseas to create fresh content for the podcast while I'm there.
I love the way SquaredUp's Web API plugin lets you connect to just about anything at all to get the insight you want. There's something powerful about bringing together data from disparate locations into a single view to see the big picture.
Now that I have my dashboard, it also provides me an easy way to share how things are going with my colleagues (without them needing access to my Google Sheets workbook, or any other APIs).
If you want to give SquaredUp and the Web API plugin a go, it's completely free!
Create your free dashboard
This Slight Reliability Podcast dashboard is not available out of the box, but you can easily build something similar yourself with the WebAPI plugin.
Simply create a free account to get started, or check out this video to see how easy it is to use our Dashboard Designer:
To see what other dashboards you can create, check out the Dashboard Gallery.