Automating Reporting Dashboards for Marketing & Advertising / eComm - Google Ads, Meta Ads, Amazon, Shopify, AWS

Summary

Check out https://marketing.streamlit.app to see how I use streamlit cloud to provide marketing and advertising reports in a marketing analyst role.

While the dashboard above doesn’t contain real data, I’ve already created several working dashboards that work with real data using the following workflow:

  1. Run Python reporting scripts with Google Ads API, FB Insights API, SP-API, etc, then export the dataframes to csv’s
  2. Upload csv’s to private AWS S3 Buckets which automatically serve the files to AWS Cloudfront distributions depending
  3. Make a request to invalidate the cache for each file so the data is fresh (files are cached 24 hrs by default)

I personally run all scripts for multiple accounts at once from my computer…It is possible to have the reports run automatically with AWS EC2 or another server, but I have not gotten there yet :sweat_smile:

Full disclosure, I’m an advanced beginner/intermediate Python user, so please take my code with a grain of salt. I apologize for any obvious errors / hacky lines of codes. I’m considering creating some tutorials on my AWS workflow if it’s not too niche.

Links

Additional information

Drawbacks & Complaints
Lastly, please note that using Streamlit Cloud has its drawbacks.

  • If the client doesn’t touch the app for a while, it turns off & needs to be rebooted.
  • I’m not sure there’s a way to prevent Streamlit from automatically updating libraries so my apps break from time to time.
  • Additionally, creating & authorizing multiple organizations through Github can be pretty frustrating since there’s no button to authorize new organizations.

Let me know what you think!
I’m hoping this is useful to somebody else. The value of this kind of reporting can’t be understated. It saves hours of work & is 10000% better than any reporting provided by the majority of marketing agencies.

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.