I Replaced $300/mo Software with a Free ChatGPT Dashboard

Every Monday morning used to start with the exact same frustrating routine: opening Meta Ads Manager, downloading raw CSV files, manually copying rows into spreadsheets, and staring at software tools like Supermetrics that charge over $300 every month just to transport ad numbers into a Google Sheet.

When you are running a lean operation, managing 1 to 3 accounts, or building your portfolio as a beginner, paying hundreds of dollars every month for basic data middleware makes zero financial sense.

I spent this past week testing a zero-cost pipeline using Google Apps Script and ChatGPT Work Scheduled Tasks to fully automate weekly Meta Ads reporting and audits.

Here is how the system works, how to set it up step-by-step, and an honest look at where this lean workflow shines and where enterprise software is still necessary.

What Supermetrics Actually Does (And Why You Don't Always Need It)

Yan Chowdhury - Supermetrics collects data from Meta Ads, Google Ads, and TikTok Ads and sends it to Google Sheets, Looker Studio, and an analytics dashboard.

If you are early in your marketing career, you might be asking: what does software like Supermetrics actually do?

In simple terms, Supermetrics is a data middleware pipeline. Instead of manually exporting spreadsheets from Facebook Ads, Google Ads, and TikTok Ads every week, it automatically fetches that data and drops it directly into Google Sheets or Looker Studio. Marketing agencies happily pay $300 or more per month for it because it saves them hundreds of hours across dozens of client accounts.

[Ad Platforms: Meta / Google / TikTok] 
          │
          ▼ (Data Middleware / SaaS)
[Supermetrics / Paid Connectors ($300/mo)]
          │
          ▼
[Google Sheets / Client Dashboard]

When you manage 50 client accounts, that cost is easy to justify. But when you are running a solo agency, freelancing, or working on personal portfolio projects, you can replicate this exact pipeline yourself using free, native tools.

The 3-Part Architecture

Yan Chowdhury - A three-stage automated Meta Ads reporting workflow fetching data at 8:00, visualizing KPIs in Google Sheets, and producing a ChatGPT audit at 8:15

To automate weekly reporting without spending a dollar, we connect three lightweight components:

  1. The Backend Pipe (Google Apps Script): Connects directly to Meta’s native Graph API to pull raw metrics every Monday morning on autopilot.

  2. The Front-End Visualizer (Google Sheets): Isolates raw data and presents key performance indicators (KPIs) through clean formulas.

  3. The AI Analyst Layer (ChatGPT Work): Reads the fresh data, evaluates performance against set thresholds, and writes executive audit notes straight into the dashboard.

[Meta Graph API]
       │
       ▼ (Google Apps Script - Mon 8:00 AM)
[Raw_Data Tab in Google Sheets]
       │
       ▼ (Dynamic Formulas: SUM / AVERAGE)
[Dashboard KPI Visualizer]
       │
       ▼ (ChatGPT Scheduled Task - Mon 8:15 AM)
[Executive Audit Container (Cell A9)]

Step 1: Build the Free API Pipeline (Google Apps Script)

Instead of paying third-party SaaS tools to fetch data, we use a 25-line Google Apps Script inside Google Sheets.

1. Get Your Meta Credentials

To connect Google Sheets directly to Meta Ads Manager, you need two credentials:

  • Ad Account ID: Found in your Meta Ads Manager URL or account selector (e.g., act_2480355359012725).

  • Read-Only Access Token: Generated for free via the Graph API Explorer inside developers.facebook.com under your Meta Developer App with ads_read permissions. Extend this to a long-lived token (60 days) using the Access Token Tool.

Note: If you haven't created a Meta Developer App yet, you can set one up in under 3 minutes inside Meta's developer portal. Checkout how we did it.

2. Paste the Script into Google Sheets

In your Google Sheet, navigate to Extensions > Apps Script. Insert a lightweight script that requests spend, impressions, clicks, ctr, cpc, conversions, and roas from Meta's Graph API.

JavaScript

function fetchMetaAdsData() {
  var adAccountId = 'act_YOUR_AD_ACCOUNT_ID';
  var accessToken = 'YOUR_LONG_LIVED_ACCESS_TOKEN';
  
  var url = 'https://graph.facebook.com/v18.0/' + adAccountId + '/insights?fields=campaign_name,spend,impressions,clicks,ctr,cpc,actions,purchase_roas&date_preset=last_7d&access_token=' + accessToken;
  
  var response = UrlFetchApp.fetch(url);
  var json = JSON.parse(response.getContentText());
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Raw_Data');
  
  // Script parses JSON and appends rows to Raw_Data tab
}

3. Schedule the Automated Trigger

Inside the Apps Script editor, click the Triggers icon (clock logo) on the left sidebar:

  • Choose function to run: fetchMetaAdsData

  • Select event source: Time-driven

  • Type of time-based trigger: Week timer

  • Day of week: Every Monday

  • Time of day: 8:00 AM to 9:00 AM

Every Monday morning between 8:00 AM and 9:00 AM, Google Sheets automatically pings Meta, grabs the previous week's performance data, and appends it directly to your sheet.

Step 2: Structure the Client-Ready Dashboard

One fundamental rule in agency reporting: never send raw API dumps directly to clients or managers.

Isolate all incoming API rows inside a tab named Raw_Data. Then, build a clean, dark-themed Dashboard tab that aggregates performance using standard spreadsheet formulas.

Raw_Data Tab (Incoming API Rows)
├── Date | Campaign Name | Spend | Impressions | Clicks | CTR | CPC | Conversions | ROAS

On the main Dashboard tab, set up 5 high-level KPI cards at the top (Row 5) pointing dynamically to your raw data:

  • Total Spend (Cell A5): =SUM(Raw_Data!C2:C)

  • Avg. CTR (Cell B5): =AVERAGE(Raw_Data!F2:F)

  • Avg. CPC (Cell C5): =AVERAGE(Raw_Data!G2:G)

  • Total Conversions (Cell D5): =SUM(Raw_Data!H2:H)

  • Blended ROAS (Cell E5): =AVERAGE(Raw_Data!I2:I)

Below the summary cards, add a campaign breakdown table referencing the individual raw rows so anyone viewing the sheet can inspect performance by campaign.

Step 3: Program the ChatGPT AI Analyst Layer

Having updated metrics is great, but analyzing rows of numbers still takes manual effort. We can automate the analysis layer using ChatGPT Work Scheduled Tasks.

Setting Up the Scheduled Task

In ChatGPT Work, navigate to Scheduled Tasks and create a new task configured for Every Monday at 8:15 AM (15 minutes after Apps Script pulls fresh Meta data).

Use this strict audit prompt string:

"Connect to my Google Drive and access the 'Meta Ads Performance Dashboard' sheet. Inspect the latest entries in the Raw_Data tab. Summarize weekly performance, calculate overall efficiency, flag any campaign where CPC is above $1.30 or CTR is below 2.0%, and write a 3-bullet point executive summary inside the Executive Audit box."

                       [MONDAY AUTOMATION TIMELINE]
08:00 AM                                                   08:15 AM
   │                                                          │
   ▼                                                          ▼
[Apps Script Triggers] ──> [Raw Data Appended] ──> [ChatGPT Scheduled Task] ──> [Executive Audit Rendered]

The Live Result

When the Monday execution loop runs, raw data populates the spreadsheet, formulas recalculate instantly, and ChatGPT analyzes the metrics.

In under 30 seconds, a sky-blue container on your dashboard (Cells A9:G11) populates with executive bullet points:

  • Overall Efficiency: $1,500.00 total spend generated 46 conversions at a blended CPA of $32.61 and 1.85% CTR.

  • Flagged Campaign: Prospecting_Lookalike hit an inefficient $1.37 CPC (exceeding the $1.30 benchmark threshold).

  • Creative Action: Brand_Awareness CTR dropped to 1.16%; recommend refreshing ad creatives.

The Honest Reality Check: DIY System vs. Enterprise SaaS

Here is the honest truth: this lean workflow is not a complete 1-to-1 replacement for Supermetrics.

Enterprise SaaS platforms like Supermetrics charge $300+ per month for good reasons:

  • They connect dozens of platforms simultaneously (Meta, Google Ads, TikTok, LinkedIn, Shopify, GA4).

  • They offer automated historical data warehousing and enterprise-grade security compliance.

  • They scale seamlessly for large agencies managing 50+ client accounts.

However, if you are a freelancer, student, or solo marketer managing 1 to 3 accounts, paying $3,600 every year for software connectors is unnecessary. This free Google Apps Script and ChatGPT workflow gives you automated, client-ready reporting on a $0 budget.

Here is the Practical Takeaway

You do not need an enterprise budget to build professional, automated marketing systems. By connecting free native tools like Google Apps Script with modern AI agents like ChatGPT, you can eliminate manual CSV exports and deliver executive-level weekly audits on complete autopilot.

Want to set this up yourself? You can clone my exact Google Sheets template, Apps Script code, and ChatGPT prompt string for free using the resource link below. If you get stuck authenticating your Meta account, drop a comment below and I will help you debug it.

Next
Next

Stop Sending 10-Page Portfolios: How I Built an AI Case Study That Gets Replies