It always starts the same. You export data from Facebook or GoogleAds. Then grab a CSV from the CRM. Manually stitch everything together in Excel. Add a couple of formulas, calculate ROAS, CAC, maybe LTV if you’re feeling fancy. Throw in a chart. Share it in Slack. Feels productive, even elegant.
Until it breaks. And it always breaks.
Then come the classics:
• “Where’s the spreadsheet?”
• “How was CAC calculated again?”
• “Why don’t the numbers match last month’s?”
• “Wait… who edited this formula?”
I’ve seen this in action. One massive Excel file, 48MB, living on someone’s desktop. It lagged like a 2003 laptop. Half the columns were cryptic, color-coded by a long-gone intern. And when that person quit, we had to reverse-engineer the whole thing. We literally reconstructed ROMI using a photo of their screen. One key formula was rediscovered in a dusty slide deck from a meetup. Possibly wrong. Definitely undocumented.
Excel is fine for napkin math. But not for real systems. If your model lives in someone’s head, if Friday means fixing broken reports, if you’re terrified of VLOOKUPs nested six levels deep- it’s time to grow up.
Google Sheets? Cute, but no better. Once you hit 100,000 rows, it huffs like a cheap coffee machine. Someone always deletes the one critical cell. And nobody remembers how that “helper column” worked.
Here’s my current stack:
• BigQuery for central storage
• Metabase or Power BI for dashboards
• Scheduled auto-imports from ad platforms and CRMs
• Logic documented in Notion
• Reports are shared and versioned
Yes, automation takes effort. But it’s effort you only spend once. Excel needs babysitting every week.
If you work with GA4 to BigQuery exports, be sure to check out my SQL cheat sheet.