The free PPC portfolio dashboard you can rebuild with your own data in 5 minutes.

No login. No SaaS. No analytics setup. Just download the HTML, open it in your browser, and — if you want — drop a Google Ads CSV into Claude to rebuild it with your real accounts.

L
Leonardo Rocha
Building actcenter while operating 39 client accounts at RMC PPC
↓ Download

Portfolio Overview Dashboard

One HTML file you can open offline · sample data included · works in any browser. portfolio-dashboard.zip · ~340 KB

↓ Get the dashboard (free)
Portfolio Overview dashboard — multi-account PPC view with KPI cards, state cards, health donut, and tCPA action buckets.
The dashboard you'll have running locally in under five minutes — sample data shown.

If you manage more than three PPC accounts, you've felt this: Monday morning, fourteen browser tabs, three spreadsheets, two Google Docs, and a creeping sense that something important is hiding in plain sight. We built this dashboard for ourselves — and we're publishing it so you can have it too.

The problem this solves

Portfolio-level visibility is the hardest part of running a multi-account PPC agency. The data is everywhere, the tools are expensive, and by the time you've finished your Monday reporting ritual, it's already Tuesday afternoon.

The big BI tools (Power BI, Looker Studio, Tableau) solve a real problem — but they bring their own. Data warehouse setup. Recurring licenses. A connector that breaks every time Google Ads updates a schema. And once it's all wired up, somebody on the team has to maintain it.

What we wanted, for our own team, was the simplest possible thing that worked: one HTML file, opens in any browser, shows the whole book at a glance, rebuilds in 30 seconds when fresh data comes in. No SaaS, no logins, no SOC2 ceremony.

So we built it. It's free. Here's what's in the download.

What you get

portfolio-dashboard.zip ├── Portfolio-Overview-Dashboard.html ← double-click to open ├── CLAUDE-PROMPT.md ← rebuild with your data ├── README.md ← 5-min setup guide └── sample-data/ ├── accounts.json ← 24 fictional accounts ├── portfolio.json ← agency KPIs + briefcase ├── sample_campaigns_90d.csv ← Google Ads style export ├── sample_adgroups_90d.csv ← ad group performance ├── sample_keywords_90d.csv ← keywords + QS └── sample_searchterms_90d.csv ← search term report

The sample data uses a fictional agency, Northpoint Digital, with 24 accounts across roofing, home services, vet clinics, schools, and SaaS. No real client information is included — open it, ship screenshots, build a pitch deck, hand it to a junior on the team for training. Whatever you need.

Quick start (60 seconds)

1. Try the demo

Download the zip, unzip it, double-click Portfolio-Overview-Dashboard.html. Your browser opens the full dashboard with sample data. Nothing to install, no internet required after the first download.

2. Rebuild with your own data

Want to see your accounts in the same layout?

Open Claude desktop in Cowork mode

The version with file access. If you've never used Cowork, our Resources page walks through the setup.

Drop two files in a new chat

Portfolio-Overview-Dashboard.html (so Claude knows the visual template) and your Google Ads CSV export from the last 30–90 days.

Paste the prompt from CLAUDE-PROMPT.md

The whole prompt is in the download. Copy it, paste it into the chat, send. Claude will ask one or two clarifying questions (monthly budget per account, target CPA per vertical, today's date).

Open your new dashboard

About 30 seconds later, Claude saves Portfolio-Overview-yourname-YYYY-MM-DD.html to your folder. Double-click it. Done.

Why a separate Claude prompt and not a SaaS? Because the prompt is yours to fork. Change the layout, swap the color, add a panel for Microsoft Ads — Claude rewrites the HTML in place. No vendor on the critical path.

Three ways to use it

Option A

Static demo

Open the HTML, browse the data, decide if the layout fits how you think about your portfolio. Use it as a mockup to share with the team or a prospective client.

Recommended first run
Option B

Refreshed weekly with Claude

Every Monday, drop your fresh CSV into the same Claude chat and say "refresh". Claude remembers your previous answers and regenerates the HTML in seconds.

Recommended for real use
Option C

Connected live

Install a Google Ads MCP or Supermetrics connector inside Cowork. Change the prompt from "the attached CSV" to "my Google Ads, last 30 days" — Claude pulls fresh data on every run.

For the curious

What the dashboard surfaces

The layout is opinionated. We've stripped out the noise that doesn't change decisions and kept only what does:

SectionThe question it answers
KPI rowHow much have we spent? Are we pacing on plan? How many conversions across the whole book?
State cardsWhich accounts are at risk, which need watching, which are ramping, which are healthy?
Health donutOne-glance distribution of all accounts by state
tCPA bucketsWhich lever each account needs next: RISK · DIAGNOSE · RAISE · LOWER · MIGRATE · HOLD
Daily BriefcaseTop movers since yesterday · hidden risks · opportunities worth scaling
Weekly actionsThe 4-6 things that actually matter this week, by account name
Account tableFilterable view of all accounts: budget, MTD spend, pacing, CPA, health, tCPA action

If you've used Looker Studio or Power BI for client reporting, this is the same layer of insight — but without the data warehouse, the licensing, or the maintenance.

The "but, but, but" objections

"My CSV columns are different."

Claude reads the headers and maps them automatically. If a column is genuinely missing — say, you don't track conversions on some accounts — the matching section is hidden gracefully instead of showing zeros.

"My accounts are in CAD / EUR / BRL / GBP."

Detected per-account from the CSV. The dashboard shows the right currency symbol next to each row. Multi-currency portfolios render correctly.

"Will my data leave my machine?"

No. The HTML runs entirely in your browser. The Claude rebuild happens in your local Cowork session. Nothing is uploaded to any third party by this tool.

"Can I re-skin it for a white-label client?"

Yes. The CSS lives in a <style> block at the top. Change the --accent and --accent-2 variables and you're done. Or ask Claude: "Use #FF6A00 as the accent."

"Can I add a section for Meta Ads / Microsoft Ads?"

Yes. "Add a panel showing spend by channel — Search / Shopping / PMax / Meta." Claude edits the HTML in place.

"I'm not technical. Will I actually get this to work?"

The static demo: double-click the HTML. That's the whole process. The rebuild: copy a prompt into Claude. If you can send a Gmail attachment, you can do this.

Why we're giving this away

We sell actcenter, the operating system this kind of dashboard plugs into. Daily Briefcase generation, talking points per account, the tCPA Health framework with the 14-day cool-off baked in, a real product that connects to your MCC.

But you don't need any of that to get value from this dashboard. So we packaged it up and made it free. If you decide later that you want the briefcase generated for you every morning at 8am instead of running a prompt every Monday — come back to actcenter. If you never do — keep the dashboard, use it weekly, fork the prompt.

Either way, your Monday morning gets shorter.

Shorter Mondays. Same insight.

Download the dashboard, open it once, and decide for yourself.