Link to project: Email Marketing Dashboard (Desktop view)
This quick and simple project draws inspiration from closing up on the magic number of 1000 email subscribers that have found my articles useful.
With it, I hope to share with you how you can quickly develop your own personal view of your subscriber base, using a bit of automation and Tableau, in order to be able to deep dive into the data and highlight trends of interest, rather than being served ready-made statistics by your email marketing platform of choice.
It should serve as a fun little project if you interested in getting inspiration for developing your personal window over your readership base.
You can use your own email subscriber dataset as your main data source. I have mine stored in MailerLite but naturally yours will be stored on your preferred platform and/or website back-end.
Option 1: Zapier Automation workflow
The steps to follow in this sample implementation are quite simple and are outlined below; they assume you are ready to connect to your available email subscribers dataset.
1) Store your dataset on Google Sheets
2) Create an event trigger with Zapier that updates the target Google Sheets dataset every time you collect a new subscriber is added to it and every time there’s an update to an existing field
3) Connect your Tableau workbook to Google Sheets
4) Develop Visualisation
5) Publish Dashboard on Tableau Public
Option 2: MailerLite API Python Wrapper
Instead of the above no-code option, there’s a very useful python wrapper called Mailerlite-api-python which can be used to directly call the MailerLite API via a simple python script.
Below is my attached implementation in python; the script calls the full active subscriber list and joins with a manually exported version of the same dataset in order to bring in the country name of a given subscriber, given that the API only returns a country_id column, with no apparent way to identify a country by name to re-conciliate the full country name with the id.
After this script runs, you can simply store the resulting dataset locally and establish a live Tableau connection.
Automation tips: the automation step here would be quite simply either running the python script via task scheduler or running it daily in the cloud via cron jobs, a method I have made use of in another article of mine linked below:
How to automate financial data collection with Python using Tiingo API and Google Cloud Platform
A step-by-step tutorial for Python programmers looking to anayze stock prices and automate data collection through GCP
Note: currently, I have not found a way to programmatically obtain the Country Name directly via the MailerLite API, which for some obscure reason only returns a Country_ID field. Solving this issue would eliminate the need for any present workaround and streamline the automation workflow.
Main dashboard functionality recap
- Track your key email marketing KPIs at a total and country level by using graph level filters
- Get a glimpse of top email domains and locations
- Stay on top of your cumulative, daily average and recent growth in subscribers
Let me know how you find it and if you have any questions or feedback on how to make it better!
I am sure there are lots of tweaks that could be made to improve the dashboard, both in design and functionality.
Thanks for reading!
Access my free Data Science resource checklist here