To connect Klaviyo to Claude via MCP: copy mcp.portermetrics.com/mcp, go to Claude.ai, open Connectors → Manage connectors → Add custom connector, paste the URL, and sign in. From there, ask Claude anything about your Klaviyo campaigns, flows, and segments in plain English.
Once connected, you can automate your Klaviyo reporting and analysis — ask questions about your data, build dashboards, trigger alerts, or ship client-ready reports like the one below.
Prerequisites
- A Porter Metrics account with your Klaviyo account connected (free tier is enough to try it end-to-end)
- A Claude account — the free plan works for Claude Web; a Pro subscription is needed for Claude Code and Desktop MCP features
- Admin or standard access to the Klaviyo accounts you want to connect
Connect Klaviyo to Claude with MCP
For this tutorial we’re going with the MCP method. Here’s a quick explainer of what MCP is and why it’s the best path for Klaviyo.
MCP (Model Context Protocol) is the open standard that lets AI tools like Claude, ChatGPT, Claude Code and others access and use external APIs — the things that make tools like Klaviyo work under the hood. Instead of building a custom integration for every AI tool you use, you install one MCP and every compatible AI gets access to the same data.
Four reasons MCP wins for Klaviyo:
The full setup takes under 5 minutes and breaks into three moves: connect Klaviyo to Porter, point Claude at the Porter MCP, and ask your first question.
1. Connect your Klaviyo data to Porter
Porter sits between Klaviyo’s Email & SMS API and Claude. It handles OAuth, rate limiting, pagination and all the plumbing so Claude only ever sees clean, structured data.
Sign up for Porter. Create a free account at portermetrics.com. The free tier is enough to run this full workflow end-to-end.
Connect your Klaviyo account. In Porter, click Create → pick Claude as the destination → select Klaviyo as the source → sign in with Klaviyo to grant access to your accounts.
Select your accounts. Choose the Klaviyo accounts you want Claude to query. When you select multiple accounts under a single connection, Porter automatically blends their data together so you can query them as one.
Optional: enable automatic BigQuery storage if you’re connecting multiple accounts with large data volumes. This keeps Claude’s responses fast even at scale.
2. Connect the MCP to Claude
Porter’s MCP URL is what you paste into Claude. Once added, Claude can query Klaviyo data on demand in any conversation.
Go to claude.ai and click the + icon in the chat input to open the tools menu.

In the menu that opens, hover over Connectors and click Manage connectors.

In the Connectors panel, click the + button at the top of the list to start adding a new connector.

Pick Add custom connector from the dropdown that appears.

A dialog opens with the name and URL fields. Type Porter in the first field to name the connector.

In the second field, paste https://mcp.portermetrics.com/mcp. Leave the advanced settings alone.

Click Add at the bottom right of the dialog. Claude opens a sign-in window — use the same Google account linked to your Porter workspace and approve access.

Once the authorization finishes, you’ll see Porter’s read-only tools appear in the connectors panel. You’re ready to start asking questions.

For a fuller walkthrough with screenshots at every step, see the Porter MCP tutorial.
3. Start building questions and dashboards
With Porter connected, open a new Claude chat and ask anything about your Klaviyo in plain English. Claude calls Porter behind the scenes, pulls live data from Klaviyo, and answers with tables, charts, or summaries.
Try one of these to verify the setup is working:
For a full catalogue of copy-paste prompts organized by use case (agencies, DTC & e-commerce, B2B marketers, cross-channel), jump to the prompts section below.
Alternative ways to connect Klaviyo to Claude
MCP is the path we just walked through — and the one we recommend for most marketers. But it’s not the only way to get Klaviyo data in front of Claude. The most common alternatives are Klaviyo’s direct API (or its official MCP), a live Google Sheets bridge, and BigQuery for scale. Each has its trade-offs — pick the one that fits how your team already works.
- 🔌 Klaviyo’s direct API (or official MCP) — Talk to Klaviyo’s Email & SMS API yourself, or install Klaviyo’s native MCP if one exists. Maximum control, but you handle auth, rate limits and pagination — and you only get one source.
- 📊 Google Sheets — Live Sheet or one-off CSV upload. Auditable, familiar, faster for big exports — but aggregation happens in the Sheet, not the API.
- 🗄️ Google BigQuery — For large accounts or agencies running multi-account analysis. BigQuery aggregates; Claude only queries pre-built summaries.
Via Klaviyo’s direct API (or official MCP)
If you’re building a product around Klaviyo — or you’re a developer who’d rather own every layer of the integration — the most direct path is talking to Klaviyo’s Email & SMS API yourself, or installing the official Klaviyo MCP (if one exists). Klaviyo ships an official MCP server. You can generate a unique MCP URL from your Klaviyo account settings and add it directly to Claude Desktop or other MCP clients. You’ll need to follow Klaviyo’s rate limits & quotas and request a Developer Token / API access where applicable. Either way, you skip Porter entirely and call Klaviyo from your own code or from Claude Code with raw HTTP requests.
Via Google Sheets (live Sheet or manual CSV)
If your team already lives in Google Sheets — or you want a paper trail before Claude touches anything — feed Klaviyo into a Sheet, then let Claude read the Sheet. You can automate the Klaviyo → Sheets pipeline with Porter so it refreshes daily, or do one-off CSV exports from Klaviyo’s native UI for static analysis.
Via Google BigQuery (for scale)
This is the path most people overlook — and it’s the one that saves you when your Klaviyo account gets serious. A single large marketer or an agency managing 10+ accounts will hit API rate limits and latency problems querying Claude directly. Claude will literally tell you it’s taking too long or timing out on big pulls.
BigQuery fixes that. You load Klaviyo data into BigQuery tables on a schedule, then connect BigQuery to Claude — either through a BigQuery MCP or via Claude Code with SQL queries. Instead of asking Claude to pull raw Klaviyo data, you let BigQuery aggregate into small, optimized tables, and Claude only queries the summarized output. Scale problem solved.
Read the full BigQuery tutorial →
Connecting Klaviyo to Claude Code
Most marketers lump Claude and Claude Code together and miss the biggest advantage of the entire MCP ecosystem. They’re not the same tool — and the difference matters enormously once you start working with Klaviyo data seriously.
Claude is a chat interface. You ask a question, Claude pulls live data through the MCP, answers, maybe builds a quick dashboard inside the conversation. Great for one-off analysis. The problem: everything is ephemeral. Want to refresh the dashboard tomorrow? You regenerate it from scratch. Want the same report every Monday? You re-ask the question every Monday.
Claude Code is Claude running inside your computer’s terminal. Because it has access to your filesystem, runtime, and other developer tools, it doesn’t just answer questions — it can build real software. Persistent scripts, scheduled routines, HTML apps, internal dashboards, integrations that run 24/7 without your input. Once it’s connected to Porter’s MCP for Klaviyo, a whole category of work becomes possible.
Bottom line: Claude is for quick questions and ad-hoc dashboards. Claude Code is for building apps, live dashboards, alerts, and actual tools — anything you want to run on its own without re-asking. Same Porter MCP URL works in both, so you don’t pick once and lock in.
Use cases — what you can actually do once Klaviyo is connected to Claude
Getting the connection right is half the battle. The real value shows up in what you do next. Here are the use cases Porter users build around their Klaviyo data — from simple Q&A to full client-facing workflows.
1. Chat and ask questions directly
The simplest use case — and still the one 80% of marketers start with. Open Claude, ask a question, get an answer grounded in live data.
It’s the fastest way to replace a daily Klaviyo dashboard check-in. But chat is table stakes — the interesting use cases come next.
2. Blend Klaviyo with your e-commerce and CRM data (Shopify, Stripe, HubSpot)
This is where a 360° view gets real. When you connect Klaviyo and your e-commerce platform (Shopify for e-commerce, Stripe for payments, HubSpot for CRM), Claude can map campaigns to actual purchases — using campaign names, flow IDs, and timestamps — and give you attribution that no platform-side number can.
Claude handles the campaign names, flow IDs, and timestamps mapping and joins. You get a client-ready attribution report that no single platform can generate on its own.
3. Automated alerts and notifications on Slack or Gmail
With Claude Code you can turn Klaviyo monitoring into a routine that runs on its own. Hook Porter’s MCP (for the data) together with a Slack or Gmail MCP (for delivery), then write a Claude Code scheduled task that pulls performance every morning and pings you only when something actually needs attention.
No dashboards, no daily check-ins. The report comes to you — and only when it matters.
4. Client-ready presentations with live data (Gamma, HTML, PDF)
A common agency pain: you send clients a static PDF report — and you spend an hour explaining a broken dashboard. With Claude you can build the presentation itself — as a Gamma deck, a custom HTML page, or a PDF — populated with live numbers each time.
The presentation becomes a delivery artifact you send to the client, not a dashboard that depends on another tool staying up. No broken iframe, no login prompts, just the content.
Klaviyo fields and metrics you can query with Claude
Before you start writing prompts, it helps to know what data is actually available. Porter MCP gives Claude access to 84 Klaviyo fields and metrics across every reporting level, plus breakdowns by date, day of week, month, and quarter. And the same MCP URL also unlocks 25+ other sources — so Claude can blend Klaviyo with Google Ads, GA4, Shopify, HubSpot and more in a single prompt.
Prompts you can copy-paste today
1. For agencies
When you need multi-client campaign post-mortems, flow bottleneck identification, and templated client reporting without logging into each Klaviyo account manually.
2. For DTC & e-commerce
When you monitor abandoned-cart flow revenue, predicted CLV tiers, and churn probability to time win-back sends.
3. For B2B marketers
When you track lead-to-customer email sequences, list growth by segment, and cross-reference email engagement with CRM deal stages.
4. Cross-channel
When you blend Klaviyo with other marketing sources for unified analysis.
Limits, auth, and best practices for Klaviyo via Claude
This post illustrates the most severe enforcement action Klaviyo takes: compliance-driven account suspension after a new user uploaded a list and sent their first campaign. While this is an email deliverability/compliance issue rather than an API abuse case, it demonstrates that Klaviyo’s automated systems do enforce hard limits when data quality or permissioning is suspect. For marketers using Klaviyo via Claude, the parallel risk is not “getting banned for MCP usage” but rather hitting rate ceilings mid-analysis and losing access to live data precisely when making time-sensitive campaign decisions. The cost is measured in interrupted workflow and delayed insights, not irreversible account loss.
A second documented frustration comes from developers whose integrations broke when Klaviyo changed API limits without warning: “API limits changed again” — Klaviyo Developer Community. This underscores that Klaviyo’s rate limits are living thresholds that can shift, making hard-coded assumptions dangerous.
Klaviyo’s rate-limit enforcement is quota-based and tiered by endpoint, not tool-based. Klaviyo does not ban or throttle accounts because you used Claude or an MCP server. It throttles because of how the API was used: exceeding the per-endpoint burst (per-second) or steady (per-minute) request thresholds triggers HTTP 429 responses with a `Retry-After` header. Read-only queries within your account’s tier are safe. Bursty parallel requests, write operations at scale, or mixing high-volume endpoints without awareness of their respective tiers are not. The system uses a fixed-window algorithm, meaning counters reset at predictable intervals rather than sliding windows.
The two ways to burn through your Klaviyo quota
After reviewing official docs and community threads, two patterns come up again and again.
1. Parallel API bursts across multiple endpoints. Sending concurrent requests to several Klaviyo endpoints simultaneously (e.g., querying campaigns, flows, segments, and metrics at once via Claude) can exceed the per-account burst limit of 1 request per second for Tier XS endpoints or 3 requests per second for Tier S endpoints like metrics. This triggers 429 throttling and forces the MCP server to back off, leaving the user with partial or stale data. Klaviyo Developer Community — Rate Limits Discussion
2. Exceeding endpoint-specific steady limits. Klaviyo assigns each endpoint to a tier with distinct burst and steady thresholds. For example, Tier S endpoints allow 60 requests per minute steady after the initial burst. A marketer asking Claude to “pull every campaign from the last 12 months with full event breakdown” can unknowingly burn through this quota in a single conversation thread. The result is not a ban but a hard stop on data access until the window resets. Klaviyo API Overview — Rate Limit Tiers
3. Using public API keys for `/api` endpoints or misconfiguring scopes. Klaviyo distinguishes between public keys (for `/client` endpoints like onsite tracking) and private keys (for `/api` endpoints like campaigns, flows, and segments). Attempting to use a public key for server-side MCP queries returns 401 or 400 errors. Additionally, private keys must have the correct scopes enabled in Klaviyo Settings > API Keys; missing scopes produce 403 access denied responses that appear as “Claude can’t access my data” in user experience. Klaviyo Help Center — API Keys
Both behaviors trigger rate throttling and access errors. If you want to use Claude for Klaviyo safely, stay within your tier’s burst and steady limits, use private API keys with correct scopes, and let Porter’s MCP handle batching and backoff automatically.
The 5-rule scaling protocol
Based on Klaviyo’s documented rate limits and the behaviors that have actually caused throttling — not guesswork:
- Use private API keys exclusively for `/api` endpoints. Public keys are restricted to `/client` endpoints only; all MCP server queries route through `/api` and require a private key. Misconfiguration triggers immediate 400/401 errors. Klaviyo Help Center — API Keys
- Respect the 3-requests-per-second burst limit for Tier S endpoints (metrics, campaigns, flows). Tier S is the most common tier for marketing analytics endpoints. Exceeding 3 req/s burst triggers 429 throttling. Klaviyo Developer Community — Rate Limits
- Stay under the 60-requests-per-minute steady limit for Tier S endpoints. After the initial burst window, sustained querying must remain below 60 req/min. For large historical pulls, paginate with `page_cursor` and pause between batches. Klaviyo API Overview — Rate Limit Tiers
- Honor the `Retry-After` header on 429 responses. Klaviyo’s documentation states that 429 errors include a `Retry-After` header indicating seconds to wait. Ignoring this and immediately retrying extends the throttle window.
- Grant only the minimum scopes required in Klaviyo API Key settings. The MCP server only needs read access to Campaigns, Flows, Segments, and Metrics. Write scopes (e.g., `campaigns:write`, `profiles:write`) should remain disabled unless actively managing campaigns via Claude.
What Porter MCP does differently: it enforces these rate limits and safeguards at the platform level. Porter’s Universal MCP server implements read-only by default for all Klaviyo queries, eliminating the risk of accidental write operations. It applies automatic request batching and backoff when Klaviyo returns 429 responses, transparently retrying with exponential delay so the marketer never sees a broken conversation. Per-account connection isolation ensures that one user’s burst traffic never bleeds into another’s quota. That’s the behavior Klaviyo’s automated systems handle gracefully and do not flag.
Frequently asked questions
A Klaviyo MCP (Model Context Protocol) is an open standard that lets AI tools — Claude, Claude Code, ChatGPT, Cursor — connect to your Klaviyo data without custom integrations. Porter’s MCP server makes your campaigns, flows, segments, and metrics available through one URL: no tokens, no scripts, no developer setup.
Claude is the conversational product (web, app, mobile). Claude Code is a terminal-based developer tool that can write scripts, save files, and automate workflows. Both can connect to Klaviyo via MCP.
Klaviyo updates segments automatically based on real-time data, and reporting metrics typically reflect within minutes. Porter MCP pulls live, so your data is always within that window.
Yes. Klaviyo enforces tiered rate limits: for example, Tier S endpoints allow 3 requests per second burst and 60 requests per minute steady. Porter MCP batches and caches requests automatically so you rarely hit them.
(Sources: Klaviyo Developer Community — Rate Limits; Klaviyo API Overview — Rate Limit Tiers)
Three common reasons: (1) Attribution windows — the dashboard attributes metrics to message send dates with custom windows, while the API returns raw events by occurrence. (2) Time aggregation — the dashboard rolls up data differently than API queries. (3) Uniqueness — the dashboard deduplicates unique metrics across the period, while raw API data can inflate counts. The fix: match your query filters and date ranges to the dashboard view settings.
(Sources: Weld — Klaviyo Discrepancies; Klaviyo Community — Data Mismatch Between API and Dashboard)
No. Klaviyo doesn’t ban or restrict accounts for legitimate API usage, and Porter MCP is read-only by default — it stays well inside Klaviyo’s normal rate limits. The thing to watch is rate throttling on bursty parallel requests — see the limits section above.
(Sources: Klaviyo Community — Account Disabled; Klaviyo Developer Community — API Limits Changed Again)
Ready to chat with your Klaviyo?
Open Claude, add the Porter connector, and ask your first question. If you don’t have Porter yet, start a free trial and connect your Klaviyo account — you’ll be chatting with your campaigns, flows, and segments in under five minutes.
rocket_launchStart free Porter trialopen_in_newOpen Claude