Google Sheets Google Sheets Claude AI Marketing Tutorial

How to Connect Google Sheets to Claude and Build a Marketing Dashboard — Entirely with AI

Juan Bello

Juan Bello

Founder, Porter Metrics

April 2026
16 min read

You have marketing data scattered across Google Ads, Meta Ads, GA4, and half a dozen other platforms. You want a unified view — a dashboard your team can use to make decisions, not just export CSVs and copy-paste into pivot tables every Monday morning.

This guide shows you how to build that dashboard without a BI tool subscription, without a developer, and without SQL. The workflow is: get all your marketing data into Google Sheets in a clean, structured format, connect that sheet to Claude AI, and let Claude build the interactive dashboard for you.

By the end, you’ll have a working marketing dashboard generated by AI from your own live data — and you’ll understand exactly how to keep it updated week after week.

Before you start: The quality of Claude’s analysis depends almost entirely on how well-structured your data is in Google Sheets. We start this guide there — with how to get clean, analysis-ready marketing data into your sheet.

Why Claude + Google Sheets is the Marketer’s New Superpower

Google Sheets is where marketers already live. It’s flexible, shareable, and familiar. But it’s terrible at understanding data — VLOOKUP, QUERY, and nested IF formulas require expertise and break the moment someone renames a column.

Claude reads your data the way a senior analyst would. You describe what you want in plain English, Claude performs the aggregation, identifies trends, writes the narrative explanation, and generates the code for a fully interactive dashboard that runs in any browser. No formula knowledge required.

What makes this workflow uniquely powerful for marketers:

  • Claude supports up to 200K token context windows — enough to process months of multi-channel marketing data in a single conversation.
  • Claude Artifacts generates live, interactive HTML dashboards — rendered directly in the chat window and shareable with a single link.
  • MCP (Model Context Protocol) allows Claude to read your live Sheets data without any manual export step.
  • The entire dashboard is generated by AI — you write prompts, not code.

Step Zero: Get Your Marketing Data into Google Sheets — Structured and Ready for AI

Before Claude can analyze anything, your data needs to actually be in Google Sheets — and it needs to be structured correctly. This is the step most tutorials skip, and it’s the reason most AI-generated dashboards produce mediocre results.

Manually copying data from Meta Ads, Google Ads, and GA4 into a spreadsheet is error-prone and unsustainable. You need a pipeline that pulls that data automatically, keeps it up to date, and structures it in a way that makes Claude’s job easy.

Porter Metrics: Your Marketing Data Pipeline to Google Sheets

With Porter Metrics, you can connect 20+ marketing data sources — Meta Ads, Google Ads, GA4, Google Search Console, Instagram, TikTok Ads, LinkedIn Ads, Pinterest, Snapchat, and more — and send that data directly into a Google Sheets spreadsheet, automatically, on a schedule you define. No code, no APIs, no engineering ticket.

Step-by-Step: Send Marketing Data to Google Sheets with Porter Metrics

Porter Metrics Setup — Google Sheets Destination

  1. 1

    Log in to Porter Metrics at app.portermetrics.com. If you don’t have an account, you can start for free.

  2. 2

    Click Create and select Google Sheets as the destination. Porter Metrics lets you send data to multiple destinations — choose Google Sheets for this workflow.

  3. 3

    Select your marketing data sources. Porter Metrics connects to 20+ platforms including Meta Ads, Instagram, Google Ads, Google Search Console, GA4, TikTok Ads, LinkedIn Ads, Pinterest Ads, Snapchat Ads, YouTube Ads, Bing Ads, and more. You can connect multiple sources in the same table.

  4. 4

    Select the accounts from each data source. Connect the ad accounts, properties, or profiles you want to pull data from. Each source can have multiple accounts.

  5. 5

    Connect your Google account and select the Spreadsheet and Worksheet. Authorize Porter Metrics to access Google Sheets, then pick the spreadsheet and the specific tab (worksheet) where the data will land. You can create a new sheet or write to an existing one.

  6. 6

    Select the metrics and dimensions. Choose exactly which columns go into your sheet — campaign name, impressions, clicks, spend, ROAS, conversions, date, and any other metrics relevant to your analysis. Porter Metrics normalizes field names across platforms so everything aligns in a single table.

  7. 7

    Set the date range. Define how much historical data to include — last 30 days, last 90 days, or a custom range. This becomes the initial dataset Claude will analyze.

  8. 8

    Optionally apply filters and sorting. Filter by campaign status, ad set, objective, or any other dimension. Sort the data by date or by a metric. This step keeps your sheet clean and focused.

  9. 9

    Set the update frequency. Choose how often Porter Metrics refreshes the data in your sheet — daily, hourly, or on demand. Daily updates are sufficient for most marketing dashboards.

  10. 10

    Choose the Write Mode: Overwrite or Insert Rows. Overwrite replaces the sheet content on each refresh (best for rolling windows like “last 30 days”). Insert Rows appends new data without touching existing rows (best for building a historical log).

  11. 11

    Save and send. Click Save and trigger the first data sync. Within minutes, your marketing data lands in Google Sheets — structured, normalized, and ready for Claude to analyze.

Why structure matters: Claude’s analysis is only as good as the data you give it. A sheet with clear column headers, consistent date formats (YYYY-MM-DD), and numeric-only metric columns will produce actionable insights. Porter Metrics handles all of this normalization automatically — so you don’t have to clean data before passing it to Claude.

Prefer BigQuery? Porter Metrics Connects There Too

If your marketing data volume is large — think months of granular campaign data across 10+ platforms — Google Sheets may not be the right destination. Porter Metrics can also send your marketing data directly to Google BigQuery, giving you a scalable data warehouse that Claude can query via MCP. For teams already using BigQuery, this is the enterprise-grade path: same no-code connector setup, same 20+ marketing sources, just a different (and more powerful) destination.

Blending Multiple Marketing Sources: Where the Real Insights Live

Single-platform data tells a partial story. Your Google Ads dashboard shows clicks. Your Meta Ads dashboard shows reach. GA4 shows sessions. But none of them show you the full picture: what combination of channels actually drove revenue this quarter?

Porter Metrics lets you blend data from multiple marketing platforms into a single unified table in Google Sheets. When you pass that blended sheet to Claude, you unlock a completely different level of analysis — cross-channel attribution, spend efficiency comparisons, and full-funnel visibility that no single platform can provide on its own.

Marketing data combinations that unlock the best Claude insights:

Meta Ads GA4

Full-Funnel Attribution

Combine Meta ad spend and impressions with GA4 post-click sessions and conversions. Ask Claude: “Which Meta campaigns drove the most revenue relative to spend, based on GA4 conversion data?”

Google Ads Meta Ads TikTok Ads

Cross-Channel ROAS Comparison

Normalize spend, revenue, and ROAS across all paid channels in one table. Ask Claude: “Which channel delivered the best ROAS last month? Where should we shift budget?”

Google Search Console GA4

SEO + Organic Performance

Merge GSC impressions, clicks, and CTR with GA4 session quality and conversion data. Ask Claude: “Which organic landing pages have high impressions but low CTR? Where is the biggest SEO opportunity?”

Meta Ads Google Ads LinkedIn Ads

B2B Lead Generation by Platform

Compare CPL, lead volume, and lead quality across paid channels. Ask Claude: “Which platform generates the most qualified leads at the lowest cost? Show trend over the last 90 days.”

Instagram Ads Google Ads GA4

E-Commerce Revenue Attribution

Map paid media spend to actual e-commerce revenue by channel. Ask Claude: “Build a revenue attribution dashboard showing which channels drive the highest revenue and lowest CAC.”

Meta Ads TikTok Ads Pinterest Ads

Social Media Performance Overview

Compare reach, engagement rate, CPM, and CTR across all social platforms. Ask Claude: “Which social channel has the best CPM and engagement for our target audience this quarter?”

The key to great blended analysis: When setting up your Porter Metrics table, make sure the date column format is consistent across sources and that you include a “Source” or “Platform” dimension column. This lets Claude group, compare, and contrast channels cleanly in a single prompt.

The 4 Methods to Connect Google Sheets to Claude

Once your marketing data is in Google Sheets (via Porter Metrics or manually), you have four ways to connect that sheet to Claude. The best choice depends on your technical level and what you want to achieve.

Method Technical Level Cost Live Sheets Data Can Build Dashboard Status
Official Add-on
=CLAUDE() formula
Beginner Free + API usage ✓ In-cell Partial (text only) Buggy — needs fix
MCP + Claude Desktop
No-code after setup
Intermediate Free + API usage ✓ Read & Write Yes — full dashboard Recommended
Claude Code + Composio
Terminal workflow
Advanced Free + API usage ✓ Read & Write Yes — full dashboard Working
n8n / Albato
Automation workflow
Beginner-Mid Freemium ✓ Trigger-based No Working

For the full dashboard generation workflow covered in this article, we recommend Method 2 (MCP + Claude Desktop). It’s the most capable, free, and doesn’t require programming skills beyond a one-time 30-minute setup.

Method 1: The Official Claude for Sheets Add-on

The simplest way to bring Claude into your spreadsheet is the official Claude for Sheets add-on, built by Anthropic and available in the Google Workspace Marketplace. It lets you call Claude directly from a cell using a formula — useful for cell-level tasks like summarizing ad copy, classifying campaigns, or generating variations.

How to Set It Up

  1. Go to Google Workspace Marketplace and search for Claude for Sheets.
  2. Click Install and accept the required permissions.
  3. In your spreadsheet, go to Extensions → Add-ons → Manage add-ons.
  4. Click the menu next to Claude for Sheets and check “Use in this document”.
  5. Reload the sheet. After 5–10 seconds, the Claude for Sheets sidebar will appear.
  6. Enter your Anthropic API key (get one at console.anthropic.com).

Basic Usage for Marketers

Once set up, use the =CLAUDE() formula to run AI analysis on any cell in your marketing data:

=CLAUDE("Classify this campaign objective as Awareness, Consideration, or Conversion: " & A2)

=CLAUDE("Suggest 3 improved ad headlines based on this current headline: " & B2)

=CLAUDE("What does this ROAS of " & C2 & " suggest about campaign profitability? Answer in one sentence.")

Fixing the Error 404: Model Deprecated Bug

Known issue: The official add-on is currently broken for many users, returning Error 404: claude-3-haiku-20240307 because the underlying model has been deprecated. Here is the workaround.
  1. In your spreadsheet, go to Extensions → Apps Script.
  2. Delete any existing code and paste the following:
function CLAUDE_CUSTOM(prompt) {
  const API_KEY = "YOUR_ANTHROPIC_API_KEY";
  const url = "https://api.anthropic.com/v1/messages";

  const payload = {
    model: "claude-sonnet-4-6",
    max_tokens: 1024,
    messages: [{ role: "user", content: prompt }]
  };

  const options = {
    method: "post",
    contentType: "application/json",
    headers: {
      "x-api-key": API_KEY,
      "anthropic-version": "2023-06-01"
    },
    payload: JSON.stringify(payload)
  };

  const response = UrlFetchApp.fetch(url, options);
  const json = JSON.parse(response.getContentText());
  return json.content[0].text;
}
  1. Click Save, then close the Apps Script editor.
  2. Back in your sheet, use =CLAUDE_CUSTOM("Your prompt here") instead of =CLAUDE().

Method 2: Claude Desktop via MCP — The Most Powerful Setup

MCP stands for Model Context Protocol — Anthropic’s open standard for connecting AI assistants to external tools and data sources. With MCP configured, Claude Desktop can read your Google Sheets directly, analyze your live marketing data, and generate a complete interactive dashboard — all in a single conversation.

This is the method we recommend for building the full dashboard workflow described in this guide.

What You’ll Need

  • Claude Desktop — latest version for macOS or Windows
  • A Google account (personal Gmail or Google Workspace)
  • A Google Cloud project (free to create at console.cloud.google.com)
  • uv package manager installed on your machine

Step-by-Step Setup

MCP Setup Steps

  1. 1

    Enable Google Sheets API — Go to console.cloud.google.com, create a project, search “Google Sheets API” and click Enable. Also enable the Google Drive API.

  2. 2

    Create OAuth Credentials — Go to APIs & Services → Credentials → Create Credentials → OAuth client ID. Choose Desktop app. Download the credentials.json file.

  3. 3

    Install uv package manager:

    # macOS / Linux
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
    # Windows (PowerShell)
    powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
  4. 4

    Configure Claude Desktop — Open ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) and add the mcpServers block below.

  5. 5

    Authenticate and Test — Restart Claude Desktop. Type “List my Google Sheets” — Claude will open a browser for OAuth login on the first run.

{
  "mcpServers": {
    "google-sheets": {
      "command": "uvx",
      "args": [
        "mcp-google-sheets@latest",
        "--credentials-file",
        "/full/path/to/your/credentials.json"
      ]
    }
  }
}
Common mistake: Use the full absolute path to credentials.json, not a relative path. This is the most frequent reason the setup fails.

7 Common Errors and Fixes

Error Cause Fix
uvx: command not found uv not installed or not in PATH Run the uv install script and restart your terminal
MCP server not listed in Claude Config file syntax error or wrong path Validate JSON at jsonlint.com; use absolute path for credentials
403 Permission Denied Sheets or Drive API not enabled Enable both APIs in Google Cloud Console
OAuth redirect mismatch Wrong OAuth app type selected Recreate credentials as “Desktop app” type
Authentication loop Token file corrupted Delete ~/.config/google-sheets-mcp/token.json and reauth
Claude can’t find a specific sheet Sheet not shared with authorized account Ensure the sheet is accessible from the Google account you authorized
protocolVersion mismatch MCP client/server version mismatch Update both Claude Desktop and the MCP server to latest versions

Method 3: Claude Code + Composio (Developer Route)

For marketers with a technical background or a developer on the team, Claude Code paired with Composio as the MCP middleware offers the most flexible and scriptable setup. It supports full CRUD operations, multi-sheet workflows, and automated report generation that runs on a schedule without any manual intervention.

# Step 1: Install Claude Code
curl -fsSL https://claude.ai/install.sh | bash

# Step 2: Add the Google Sheets MCP via Composio
claude mcp add --transport http googlesheets-composio \
  "YOUR_COMPOSIO_MCP_URL" \
  --headers "X-API-Key:YOUR_COMPOSIO_API_KEY"

# Step 3: Restart Claude Code
exit
claude

# Step 4: Verify the server is registered
claude mcp list

After authentication, you can interact with your marketing spreadsheets in natural language:

  • “Read the Porter Metrics export in the ‘Paid Media’ tab and calculate ROAS by channel for the last 30 days.”
  • “Create a new sheet called ‘Weekly Summary’ and populate it with aggregated totals from the raw data tab.”
  • “Compare this week’s spend vs. last week’s spend across all campaigns and flag anything that increased by more than 20%.”

Method 4: Automation with n8n or Albato

If your goal is to automate recurring marketing tasks — like sending a weekly AI summary of your Sheets data to Slack, or having Claude analyze new rows as they’re added by Porter Metrics — automation platforms like n8n or Albato are the right tool.

The workflow logic follows a simple pattern: New data added to Google Sheets by Porter Metrics → Claude AI analysis → Summary sent to Slack / Email.

Both n8n and Albato offer free tiers and pre-built templates for the Sheets + Claude integration. This method is best for automated reporting pipelines, not for building interactive dashboards from scratch.

The Full Pipeline: Porter Metrics + Google Sheets + Claude Dashboard

Now that your marketing data is in Google Sheets via Porter Metrics and Claude is connected via MCP, here is the complete dashboard generation workflow. This is the part that turns raw marketing data into a shareable, interactive visual report — without writing a single line of code.

4-Step Marketing Dashboard Generation

  1. 1

    Tell Claude About Your Marketing Data — Start a new conversation in Claude Desktop. Give Claude context about what’s in your sheet: “Read the spreadsheet called ‘Porter Metrics Export’. The sheet called ‘Paid Media’ has these columns: Date, Platform, Campaign Name, Impressions, Clicks, Spend, Conversions, Revenue. Tell me the key trends — total spend by platform, top campaigns by ROAS, and any anomalies you notice.”

  2. 2

    Describe the Marketing Dashboard You Want — Once Claude confirms it has read the data, ask it to build the dashboard: “Using the data you just read, build me a complete interactive HTML marketing dashboard. Include: 4 KPI cards (Total Spend, Total Revenue, Overall ROAS, Total Conversions), a line chart of weekly spend by platform, a horizontal bar chart of ROAS ranked highest to lowest, a table of top 10 campaigns by revenue, and a filter to switch between platforms. Dark header, clean design. Output as a single self-contained HTML file.”

  3. 3

    Claude Generates the Dashboard — Claude produces a complete, interactive HTML file (typically 200–500 lines) with all charts rendered live inside the conversation Artifact panel. Review it and ask for iterations in plain English: “Change the bar chart to show spend instead of ROAS.” / “Add a date range filter.” / “Make the KPI cards bigger.”

  4. 4

    Publish and Share — Click the Publish button on the Artifact panel. Claude generates a public URL with your interactive dashboard — no login required for viewers. Share in Slack, embed in Notion, or open in a client meeting instead of a static slide deck. When Porter Metrics refreshes your Google Sheet with new data, re-run the conversation to regenerate the dashboard with updated numbers.

Pro tip: Ask Claude to add a “Data source: Porter Metrics” label and a “Last updated: [date]” timestamp in the dashboard header. This makes it immediately clear to stakeholders that the data is fresh and automated — not a manually updated slide.

Marketing Prompt Library — Copy and Paste into Claude

Use these prompts as starting points after Claude has read your Google Sheets data. Each one is tailored for a specific marketing use case. Paste them directly into Claude Desktop once your MCP connection is active.

Paid Media

Paid Advertising Performance Dashboard

Best used with a sheet containing data from Meta Ads, Google Ads, or TikTok Ads exported via Porter Metrics.

Prompt
Build an interactive HTML paid media dashboard from this data. Include: 4 KPI cards (Total Spend, Total Revenue, Overall ROAS, Total Conversions), a line chart of daily spend by platform over the selected period, a horizontal bar chart ranking campaigns by ROAS (highest to lowest), a scatter plot of Spend vs. Conversions by campaign, and a sortable data table with all campaigns. Flag any campaign where ROAS is below 1.5 in red. Add a platform filter at the top.
Cross-Channel

Cross-Channel Attribution Dashboard

Best used with a blended sheet combining Meta Ads, Google Ads, and GA4 data via Porter Metrics.

Prompt
Create a cross-channel attribution dashboard HTML page from this blended data. Show: a stacked bar chart of revenue by channel over time, a comparison table of Spend / Revenue / ROAS / CAC for each platform, a line chart showing conversion trends by channel, and a budget allocation recommendation based on current ROAS. Highlight the channel with the best ROAS. Include a period selector (last 7 / 30 / 90 days).
SEO

SEO & Organic Traffic Dashboard

Best used with a sheet combining Google Search Console and GA4 data via Porter Metrics.

Prompt
Build an SEO performance dashboard from this data. Include: KPI cards for Total Impressions, Total Clicks, Average CTR, and Average Position. Show a line chart of impressions and clicks over time, a table of top 20 queries sorted by impressions with CTR and position, a chart comparing pages by click volume, and a highlight section showing queries with high impressions but CTR below 3% (biggest optimization opportunities). Clean, minimal design.
Social Media

Social Media Performance Dashboard

Best used with a blended sheet combining Meta Ads, Instagram Ads, TikTok Ads, and Pinterest Ads data.

Prompt
Generate a social media performance dashboard HTML file from this data. Show: CPM by platform (bar chart, lowest to highest), CTR comparison across platforms (horizontal bars), weekly reach trend by platform (line chart), engagement rate and cost-per-engagement table, and a top creatives section with the 5 highest-performing ad names by CTR. Use platform brand colors where possible. Add a date filter.
Campaign Analysis

Campaign ROI & Budget Pacing Dashboard

Best used with a sheet containing campaign-level spend, budget, and revenue data from any platform.

Prompt
Build a campaign ROI and budget pacing dashboard. Include: a KPI summary row showing total budget used vs. remaining, total revenue, and blended ROAS. A bar chart showing budget pacing by campaign (% spent vs. % of period elapsed). A table of all campaigns with Budget, Spent, Remaining, Revenue, ROAS, and a "Pacing" status (Ahead / On Track / Behind). Flag campaigns that are overpacing or underpacing by more than 15% in orange. Add a "Recommended action" column where Claude suggests pausing, scaling, or adjusting each campaign.

Tips for Better Marketing Dashboards

  • Let Porter Metrics handle data structure: The single biggest factor in dashboard quality is how clean and structured your input data is. Porter Metrics normalizes field names, date formats, and numeric values across platforms automatically — so you start with data Claude can actually work with, not a spreadsheet you have to clean first.
  • Always include a “Platform” or “Source” column: When blending data from multiple sources, make sure your sheet has a column identifying which platform each row came from. This lets Claude group, filter, and compare channels cleanly in any chart or table it generates.
  • Anchor the dashboard to a specific decision: Before writing your prompt, decide what decision this dashboard should support. Add that context explicitly: “This dashboard will be reviewed by our CMO on Monday to decide where to reallocate budget for Q2.” Claude will prioritize the most relevant metrics for that audience.
  • Iterate, don’t start over: Claude maintains context across the conversation. After the first dashboard is generated, ask for specific changes: “Change the bar chart to horizontal.” / “Add a 7-day rolling average line to the trend chart.” / “Include a benchmark line for our target ROAS of 3.0.” Each iteration takes seconds, not hours.

Frequently Asked Questions

Is my marketing data safe when I connect Google Sheets to Claude?

With the MCP method, your data travels from Google’s servers to Claude’s API over an encrypted connection. Anthropic’s standard privacy policy applies — data sent via the API is not used to train models by default. Avoid including PII (customer names, emails, phone numbers) in the sheets you pass to Claude.

How does Porter Metrics keep the dashboard data up to date?

When you set up a Porter Metrics table with a daily refresh schedule, the data in your Google Sheet is automatically updated every day. The next time you run the Claude MCP workflow, it reads the freshest version of the sheet. You can also trigger a manual refresh in Porter Metrics at any time before running the analysis.

What’s the difference between Claude Artifacts and the MCP method for dashboards?

Claude Artifacts can generate dashboards from data you paste or upload manually (like a CSV export). MCP lets Claude access your live, automatically-updated Google Sheets data without any manual export step. For production marketing dashboards that stay current, MCP combined with a Porter Metrics data pipeline is the right architecture.

How much marketing data can Claude process at once?

Claude supports context windows of up to 200,000 tokens. For most marketing use cases — 90 days of campaign data across 5–10 channels — Claude handles the full dataset in a single conversation. For very large exports, use Porter Metrics filters to limit the date range or select only the metrics you need before passing the sheet to Claude.

Can I use this workflow to automatically send marketing reports to my team?

Yes. Using Method 4 (n8n or Albato), you can automate the full loop: Porter Metrics refreshes the Google Sheet daily, n8n detects the update, triggers a Claude analysis via API, and sends the summary or dashboard link to a Slack channel or email. This requires some automation setup but produces a fully hands-off weekly marketing report.

Can Porter Metrics send data directly to BigQuery instead of Google Sheets?

Yes. Porter Metrics supports Google BigQuery as a destination in addition to Google Sheets. For teams that need to analyze large volumes of historical marketing data — multiple months, multiple platforms, granular daily data — BigQuery is the better destination. Claude can then connect to BigQuery via MCP and run the same natural language dashboard workflow on a much larger dataset.

Start Building Your Marketing Dashboard

The combination of Porter Metrics, Google Sheets, and Claude eliminates the three biggest bottlenecks in marketing reporting: getting data out of platforms, structuring it for analysis, and turning it into something visual and shareable.

The workflow is clear: use Porter Metrics to pull your marketing data from 20+ sources into a clean, structured Google Sheet on autopilot. Connect that sheet to Claude via MCP. Describe the dashboard you need in plain English. In minutes, you have an interactive, shareable marketing report built by AI from your live data.

Start with a single channel — Meta Ads or Google Ads — run it through Porter Metrics into Sheets, and build your first Claude dashboard. Once you see how fast the iteration loop is, you’ll never go back to building charts manually.

Ready to connect your marketing data to Claude?

Porter Metrics syncs 20+ marketing platforms to Google Sheets automatically — so Claude always has fresh, structured data to work with.

Start with Porter Metrics for free →