If your team is still copy-pasting metrics from Google Analytics into a Google Doc every Friday afternoon, you’re burning real money on a task that a well-configured AI workflow can handle in under four minutes. This is a breakdown of the exact reporting pipeline we built for a seven-person digital marketing agency in Austin, Texas—named tools, actual costs, honest problems included.
The Problem: Friday Reporting Was Eating 11 Hours a Week
Before the automation, the agency’s account managers spent roughly 2.5 hours per client pulling data, formatting it, writing commentary, and sending the report. Across four active clients, that’s ten hours—plus at least another hour of back-and-forth Slack messages when numbers didn’t match. The process was manual, error-prone, and deeply resented by everyone involved.
The real cost wasn’t just time. Inconsistent formatting meant clients sometimes got reports that looked different month to month. One client actually called to ask why their “conversion rate” was labeled differently in two consecutive reports. That kind of thing erodes trust fast.
The goal was simple: get a clean, accurate, client-ready report out the door in under 10 minutes per client, with zero manual data entry.
Step 1 — Centralizing Data With Supermetrics
Supermetrics was the first piece. If you haven’t used it, the core idea is that it pulls marketing data—Google Ads, Meta Ads, GA4, LinkedIn, you name it—directly into Google Sheets, Looker Studio, or Excel on a schedule you set. No logging into six different dashboards.
For this workflow, we configured Supermetrics to refresh every Thursday night at 11 PM, dumping the prior week’s data into a master Google Sheet. The Sheet has one tab per client, with clean column headers: Date, Sessions, Conversions, Cost, Revenue, ROAS, CTR. That’s it. No merged cells, no color coding—just raw numbers a script can read reliably.
The honest limitation: Supermetrics is not cheap. The Google Sheets connector for a small team runs around $99/month at the entry tier, and if you need multiple data sources, costs escalate. There’s also a learning curve to the query builder—plan for a couple of hours of setup per data source the first time. But once it’s running, it genuinely just runs.
Step 2 — Triggering the Workflow in Make (Formerly Integromat)
Every Friday at 6 AM, a Make scenario fires. Make (formerly Integromat) is the automation glue here—it watches for the completed data refresh in Google Sheets and kicks off the rest of the pipeline. We use Make rather than Zapier for this particular workflow because Make handles multi-step branching and array iteration far more cleanly, and the pricing at the Core plan ($9/month for 10,000 operations) is hard to argue with for a workflow this size.
The scenario does three things in sequence: it reads each client tab in the Sheet, formats the raw numbers into a structured JSON object, and passes that object to OpenAI’s API.
If you’re curious about how deeper orchestration between tools like this actually works under the hood, this beginner’s guide to AI workflow orchestration explains the core concepts without drowning you in jargon.
Step 3 — Generating the Written Commentary With GPT-4o
This is where the actual AI work happens. The JSON object from Make gets sent to OpenAI’s GPT-4o via API with a prompt that’s been refined over about six weeks of iteration. The prompt instructs the model to:
- Write in a professional but conversational tone (we have a style guide excerpt baked into the system prompt)
- Highlight the top two wins and one area of concern, specifically citing the numbers from the data
- Avoid jargon the client doesn’t care about (“impression share,” “quality score”) unless it’s directly relevant
- Keep the commentary to 150–200 words total
The output is surprisingly good—better than what a junior account manager under time pressure would write on a Friday morning. The model correctly identifies, for example, that a 34% drop in ROAS week-over-week is more noteworthy than a 2% dip in CTR, because that context is built into the prompt.
The real limitation here is hallucination risk. Early on, GPT-4o occasionally invented numbers that weren’t in the data. We fixed this almost entirely by restructuring the prompt to say “only reference numbers present in the following data object” and by adding a Make step that does a string-match check on the output before it moves forward. Not foolproof, but we went from ~1 hallucination per 8 reports to roughly zero over 90 days of production use.
API costs run about $0.40–$0.60 per report at current GPT-4o pricing, so for four weekly reports, we’re talking roughly $8–10/month. Negligible.
Step 4 — Building the PDF With Carrd and Bannerbear
Raw text and a spreadsheet aren’t a client report. The final deliverable needed to look polished. We use Bannerbear to auto-generate the report PDFs. Bannerbear is primarily known as a tool for auto-generating social images, but its API can populate a pre-designed template with dynamic data—and that’s exactly what we’re doing here.
We designed one master report template in Bannerbear with placeholders for: client name, date range, key metrics, and the GPT-generated commentary block. Make sends the structured data to Bannerbear’s API, the template renders in about 12 seconds, and a download link is returned. Bannerbear’s Starter plan is $49/month and covers around 1,000 image/document generations—more than enough for this use case.
The honest downside: Bannerbear’s template editor is clunky. Custom fonts require manual uploading, and aligning elements is tedious compared to Canva or Figma. Budget a full afternoon for your first template build. After that, you never touch it again.
Step 5 — Delivery via Gmail + a Personalized Intro
Make grabs the Bannerbear PDF link and fires an email through Gmail (connected via OAuth). Each email uses a simple template with the client’s first name, a one-sentence AI-generated intro line specific to that client’s top metric for the week, and the PDF attached. The intro line—something like “Your ROAS climbed to 4.1x this week, the highest it’s been since March”—takes about three seconds to generate via a separate lightweight GPT call.
Clients almost universally respond better to these automated emails than they did to the manual ones. Probably because the manual ones were written at 4:45 PM on a Friday by someone who’d already had a long week.
What the Full Workflow Actually Costs
- Supermetrics: ~$99/month
- Make Core plan: $9/month
- OpenAI API: ~$8–10/month
- Bannerbear Starter: $49/month
- Total: ~$165–170/month
Before the automation, 11 hours of account manager time at $35/hour (fully loaded cost) was costing roughly $385/week, or about $1,540/month. The workflow now handles the same output in under an hour of total human oversight—spot-checking outputs, handling edge cases. That’s around $1,370/month in recaptured labor, not counting the error reduction or the fact that reports now go out at 7 AM instead of 4 PM.
If you want a broader look at how to think about these numbers before committing to a build, this piece on what most businesses get wrong about AI automation ROI is worth reading first—it might save you from a build that doesn’t pencil out.
What We’d Do Differently
Honestly, we’d start with Bannerbear’s template earlier. We wasted three weeks using a Google Slides export hack that kept breaking because of font rendering issues. Bannerbear wasn’t on anyone’s radar initially, but it solved the PDF problem cleanly.
We’d also invest more time upfront in the GPT prompt. The first version was generic and produced bland commentary. The current version has a 400-word system prompt that includes the agency’s actual tone guidelines, a list of phrases to avoid, and two worked examples of good vs. bad commentary. That investment—maybe four hours of work—made the biggest single quality improvement in the entire pipeline.
This kind of thinking applies broadly. Whether you’re automating reports, onboarding flows, or social content, the quality of your AI outputs almost always traces back to the quality of your prompts and your data structure, not the tool itself. This breakdown of how a small agency automated its client onboarding makes a similar point from a different angle and is worth a read if you’re thinking about what to automate next.
My Honest Take
This workflow isn’t magic. It took about three weeks to build properly, and it required someone comfortable enough with APIs and Make to debug it when things broke. If your team has zero technical capacity, you’ll need a freelancer for the build phase—budget $800–$1,500 for a competent Make/API specialist to do it right.
But if you’re running recurring reporting for even two or three clients and doing it manually, the math is almost always going to work in favor of building something like this. The tools are mature enough now that the failure rate is low. And frankly, your account managers will thank you.
FAQ
Can this workflow handle clients on different platforms, like some on Meta Ads and some on Google Ads?
Yes—that’s exactly where Supermetrics earns its cost. Each client’s Google Sheet tab can pull from entirely different source platforms. The Make scenario reads whatever columns are present in that tab, so as long as your column headers are consistent, the downstream steps don’t care where the data came from. You’ll need to configure a separate Supermetrics query per client, which takes maybe 20 minutes each.
What happens if Supermetrics pulls incorrect data or a connection breaks?
We have a Make step that checks whether the refresh timestamp in the Sheet is within the last 18 hours before the scenario runs. If it’s stale, Make sends a Slack alert to the ops channel instead of proceeding. You still need a human to catch it, but at least no broken report gets sent to the client. Supermetrics connections do occasionally drop—usually after a platform updates its API—so that safety check is non-negotiable.
Is GPT-4o reliable enough for client-facing content without human review?
For factual commentary anchored to a structured data object, it’s reliable enough that we review output spot-checks rather than reading every report word for word. That said, we always recommend a 60-second human glance before delivery, especially for any client with an unusual week. Automation handles the 90% case well; human judgment still owns the edge cases.
This article was produced with the assistance of AI, and its featured image was AI-generated. We review for accuracy, but please verify critical details.



