Porter Metrics+AC+
boltActiveCampaign + AI Tutorial · 2026

4 ways to connect ActiveCampaign to Claude in 2026 (the easy way)

To connect ActiveCampaign 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 ActiveCampaign campaigns, contacts, lists, deals, and automations in plain English.

rocket_launchUse Porter for free14-day unlimited free trial. After that, keep unlimited queries for up to 3 audiences and 30 days of historical data — no credit card required.
Juan Bello

Juan Bello

Founder, Porter Metrics · May 04, 2026 · 20 min read

boltTL;DR

To connect ActiveCampaign 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 ActiveCampaign campaigns, contacts, lists, deals, and automations in plain English.

Once connected, you can automate your ActiveCampaign 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 ActiveCampaign 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 ActiveCampaign accounts you want to connect

Connect ActiveCampaign 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 ActiveCampaign.

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 ActiveCampaign 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.

content_paste
Copy-paste setup
No tokens, no scripts, no developer help — literally paste one URL into Claude and you’re done.
hub
Works with every AI tool
Claude, Claude Code, ChatGPT, Cursor, Antigravity, Lovable, Vercel v0, Zapier. One MCP URL, every tool that speaks the protocol.
merge_type
20+ sources in one connection
Porter’s MCP ships ActiveCampaign plus Google Ads, GA4, Shopify, HubSpot, Klaviyo, Google Sheets and 20+ more. Query and blend them all in a single conversation.
tune
Perfect granularity
Spreadsheets lock you into the columns you exported. MCP hits ActiveCampaign’s API directly — so you can filter by campaign, break down by list or contact tag, and add new dimensions on the fly without rebuilding tables.

The full setup takes under 5 minutes and breaks into three moves: connect ActiveCampaign to Porter, point Claude at the Porter MCP, and ask your first question.

1. Connect your ActiveCampaign data to Porter

Porter sits between ActiveCampaign’s 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 ActiveCampaign account. In Porter, click Create → pick Claude as the destination → select ActiveCampaign as the source → sign in with ActiveCampaign to grant access to your accounts.

Select your accounts. Choose the ActiveCampaign 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 ActiveCampaign data on demand in any conversation.

Go to claude.ai and click the + icon in the chat input to open the tools menu.

Click the + icon in the Claude chat input

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

Hover Connectors and click Manage connectors

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

Click + at the top of the Connectors panel

Pick Add custom connector from the dropdown that appears.

Select Add custom connector from the dropdown

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

Type Porter in the connector name field

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

Paste the Porter MCP URL into the Remote MCP server field

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.

Click Add on the custom connector dialog

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

Porter read-only tools visible in the Claude connectors panel

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 ActiveCampaign in plain English. Claude calls Porter behind the scenes, pulls live data from ActiveCampaign, and answers with tables, charts, or summaries.

Try one of these to verify the setup is working:

chat_bubble“Show me my top 5 campaigns by Campaign Unique Opens last 30 days in a table.”
chat_bubble“Which contacts with Tag Name ‘VIP’ have the highest Contact total revenue over the last 90 days?”
chat_bubble“Why did my Campaign Hard Bounces spike yesterday? Break it down by List Name.”

For a full catalogue of copy-paste prompts organized by use case (performance, fatigue, budget, agency, B2B, e-commerce, cross-channel), jump to the prompts section below.

Alternative ways to connect ActiveCampaign 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 ActiveCampaign data in front of Claude. The most common alternatives are ActiveCampaign’s direct API (or its official MCP if it has one), a live Google Sheets bridge, and BigQuery for scale. Each has its trade-offs — pick the one that fits how your team already works.

  • 🔌 ActiveCampaign’s direct API (or official MCP) — Talk to ActiveCampaign’s API yourself, or install ActiveCampaign’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 ActiveCampaign’s direct API (or official MCP)

If you’re building a product around ActiveCampaign — or you’re a developer who’d rather own every layer of the integration — the most direct path is talking to ActiveCampaign’s API documentation yourself, or installing the official ActiveCampaign MCP (if one exists). ActiveCampaign ships an official MCP server, so you can connect directly from Claude Desktop Settings → Developer → Edit Config using your private MCP endpoint URL. You’ll need to follow ActiveCampaign’s rate limits & quotas and request a Developer Token / API access where applicable. Either way, you skip Porter entirely and call ActiveCampaign from your own code or from Claude Code with raw HTTP requests.

The trade-off to know. Going direct gives you maximum control and the freshest possible data — every endpoint, every parameter, no abstraction layer in between. But you’re now responsible for OAuth flows, refresh tokens, rate limits, pagination, schema changes, and error retries. And critically, you only get one source. The moment you also want Google Ads, GA4 or Shopify in the same conversation, you’re back to building (or stitching together) more integrations.
When this makes sense: engineering teams that need a single source with full control, products that ship ActiveCampaign data as a feature (where you own the integration anyway), or one-off scripts where you don’t mind writing the auth and pagination code yourself. For marketers who want to ask questions in plain English and blend ActiveCampaign with the rest of their stack in a single conversation, the Porter MCP path is dramatically less work.

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 ActiveCampaign into a Sheet, then let Claude read the Sheet. You can automate the ActiveCampaign → Sheets pipeline with Porter so it refreshes daily, or do one-off CSV exports from ActiveCampaign’s native UI for static analysis.

The trade-off to know. With the MCP path, Claude calls ActiveCampaign’s API directly and ActiveCampaign does the filtering and aggregation on its side — clean and deterministic. With the Sheets path, Claude aggregates inside the Sheet itself, which can introduce hallucinations on totals, averages, and joins when you have thousands of rows. The upside is speed: for very large date ranges or historical analysis, a pre-built Sheet is dramatically faster than live API calls.
When this makes sense: finance teams that want to review numbers before Claude acts on them, agencies already delivering client reports in Sheets, historical analysis across years of data, or any case where you care more about speed than real-time freshness.

For more Sheets tutorials, see our Google Sheets tutorials.

Via Google BigQuery (for scale)

This is the path most people overlook — and it’s the one that saves you when your ActiveCampaign 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 ActiveCampaign 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 ActiveCampaign data, you let BigQuery aggregate into small, optimized tables, and Claude only queries the summarized output. Scale problem solved.

When this makes sense: enterprise accounts with thousands of contacts, agencies running multi-account analysis across 10+ clients, or any team already using BigQuery as a data warehouse. Porter loads ActiveCampaign (and 25+ other sources) directly into BigQuery so you don’t have to build your own ETL.

For more BigQuery tutorials, see our BigQuery tutorials.

Connecting ActiveCampaign 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 ActiveCampaign 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 ActiveCampaign, a whole category of work becomes possible.

What Claude Code that Claude alone cannot

This is where the MCP ecosystem pays off most. Because Claude Code can combine Porter’s MCP with other MCPs — Firecrawl for web scraping, Airtable for structured data, Notion for wikis, Vercel for deployment, Slack and Gmail for delivery — you’re no longer querying data. You’re building tools.

🛠️ Build your own campaign performance dashboard

Stack: Porter MCP + Vercel MCP (or Cloudflare Pages, Netlify) Feed Claude Code your ActiveCampaign targets and goals — open rate goals, click-through targets, unsubscribe thresholds — and ask it to generate a custom ROI dashboard for each client. It builds the HTML, pulls live data, deploys to a URL. No Data Studio embed to break when the vendor changes pricing, no template constraints. The dashboard updates automatically because it queries Porter’s MCP on every page load.

Best for: agencies that want white-label client dashboards without Looker or Data Studio dependencies.

🔍 Full competitor + performance monitoring

Stack: Porter MCP + Firecrawl MCP Combine your own ActiveCampaign performance from Porter with competitor email campaigns and landing pages scraped via Firecrawl. Claude Code stitches both into a weekly competitive intelligence report — your numbers next to their subject lines and send frequency, with an LLM summary on top of what changed week over week. Runs on cron, lands in your inbox every Monday morning.

Best for: in-house teams that need market context, not just internal numbers.

📚 Internal marketing wiki with live metrics

Stack: Porter MCP + Airtable MCP (or Notion MCP) Use Airtable or Notion as the schema, Porter as the data source. Claude Code keeps every page populated with current Campaign Unique Opens, Campaign Link Clicks, and Campaign Hard Bounces for every account — no stale screenshots, no copy-paste from Excel. New hires read one wiki entry and have full context on a client’s account.

Best for: agencies and ops teams onboarding analysts or rotating account managers frequently.

🔔 24/7 alerts on campaign performance, contact engagement, and deliverability

Stack: Porter MCP + Slack MCP (or Gmail MCP) A Claude Code routine on cron pulls ActiveCampaign via Porter, evaluates thresholds — open rate drops below 15%, unsubscribe rate spikes above 2% — and pushes Slack or Gmail alerts the moment something crosses the line. You stop checking dashboards reactively; the dashboard checks itself and tells you when to look.

Best for: any team that’s ever discovered a problem 48 hours too late because nobody opened the report.

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 ActiveCampaign 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 ActiveCampaign 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.

chat_bubble“Show me my top 5 campaigns by Campaign Unique Opens last 30 days in a table.”
chat_bubble“Draft a client report using my Campaign Link Clicks and Campaign Soft Bounces from last week.”
chat_bubble“Why did my Campaign Hard Bounces spike yesterday? Break it down by List Name.”

It’s the fastest way to replace a daily ActiveCampaign Reports dashboard check-in. But chat is table stakes — the interesting use cases come next.

### 2. Blend ActiveCampaign with your revenue data (Shopify, Stripe, HubSpot)

This is where a 360° view gets real. When you connect ActiveCampaign and your revenue source (Shopify for e-commerce, Stripe for payments, HubSpot for CRM), Claude can map email campaigns to actual closed-won deals or purchases — using contact IDs, campaign names, and timestamps — and give you attribution that no platform-side number can.

chat_bubble“Cross-reference my Campaign Sends with Deal closed won from last month to show pipeline impact.”
chat_bubble“How do contacts with Tag Name ‘VIP’ compare to ‘New Subscriber’ on Contact total revenue over the last 90 days?”

Claude handles the contact IDs, campaign names, 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 ActiveCampaign 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.

chat_bubble“Flag any campaign where Marketing email unsubscribed ratio jumped over 5% in the last 7 days.”
chat_bubble“Alert me when any contact’s Contact sends since last engagement hits 5 this week with zero Campaign Opens.”

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 Data Studio link, Looker breaks, the client panics — 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.

chat_bubble“Draft a client report using my Campaign Link Clicks and Campaign Soft Bounces from last week.”
chat_bubble“Draft a weekly summary comparing my Campaign Soft Bounces and Campaign Hard Bounces by GA Campaign Source for my team.”

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.

ActiveCampaign 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 556 ActiveCampaign fields and metrics across every reporting level, plus breakdowns by date, campaign, list, and contact segment. And the same MCP URL also unlocks 25+ other sources — so Claude can blend ActiveCampaign with Google Ads, GA4, Shopify, HubSpot and more in a single prompt.

Reporting levels
Campaign metrics (opensclicksbouncesforwardsunsubscribessendsstatusscheduling)Contact fields (profile datalifecycle stagestagslistsautomation statusengagement historyrevenue attribution)+12 more
Visibility metrics
None classified separately — campaign reach and send metrics are included under Reporting levels.
Engagement metrics
Marketing email performance (opensclicksbouncesunsubscribesspam reportsdeliveredpendingsuppressed)Form submissions and engagementMeeting/task/email/note engagement metadata. 111 total engagement fields.
Conversion metrics
Contact first/recent conversion datesUTM and source attribution (GA Campaign fieldsoriginal source)Deal closed amount and days to closeFacebook/Google ad click IDs. 18 total conversion fields.
Efficiency (rates & costs)
None classified separately — rates are computed on-the-fly from engagement metrics (e.g., open ratio, click-through ratio).
Audience breakdowns
DateDay of weekHour of dayMonthQuarterWeekYearMonth and yearQuarter and yearWeek and yearDay of month. 11 total breakdown dimensions.
Cross-channel sources (same URL)
Google AdsGA4ShopifyTikTok AdsLinkedIn AdsHubSpotSearch Console+15 more

For the full list, see All ActiveCampaign fields and metrics.

Prompts you can copy-paste today

1. For agencies

Use these when you’re building client reports, comparing multi-account performance, or diagnosing deliverability issues across campaigns.

chat_bubble“Show me my top 5 campaigns by Campaign Unique Opens last 30 days in a table.”
chat_bubble“Draft a client report using my Campaign Link Clicks and Campaign Soft Bounces from last week.”
chat_bubble“Why did my Campaign Hard Bounces spike yesterday? Break it down by List Name.”
chat_bubble“Cross-reference my Campaign Sends with Deal closed won from last month to show pipeline impact.”

2. For DTC & e-commerce

Use these when you’re tracking product-deal linkage, repeat-buyer tags, and unsubscribe-rate spikes after promo blasts.

chat_bubble“Which product in my deals has the highest Deal amount but lowest Deal Win Probability this quarter?”
chat_bubble“Compare my Campaign Unique Link Clicks this month versus last month for my top 3 lists.”
chat_bubble“How do contacts with Tag Name ‘VIP’ compare to ‘New Subscriber’ on Contact total revenue over the last 90 days?”
chat_bubble“Flag any campaign where Marketing email unsubscribed ratio jumped over 5% in the last 7 days.”

3. For B2B marketers

Use these when you’re tracking lifecycle stage transitions, sales-qualified lead velocity, and deal-pipeline health.

chat_bubble“List my worst 5 deals by Deal days to close this quarter with Deal stage and Deal owner.”
chat_bubble“Why did my Contact became a sales qualified lead date drop off after March 15? Show the funnel.”
chat_bubble“Project my Deal amount won for next month based on Deal forecast probability from last 60 days.”
chat_bubble“Alert me when any contact’s Contact sends since last engagement hits 5 this week with zero Campaign Opens.”

4. Cross-channel

Use these when you want to match UTM-tagged campaigns with email opens and revenue outcomes across platforms.

chat_bubble“Match my Campaign Name with GA Campaign Name from last month to spot tracking gaps.”
chat_bubble“Which GA Campaign Medium drives the most Campaign Unique Opens but lowest Campaign Link Clicks this quarter?”
chat_bubble“Why did my Campaign Opens from GA Campaign Source ‘newsletter’ drop on March 1? Show the breakdown.”
chat_bubble“Draft a weekly summary comparing my Campaign Soft Bounces and Campaign Hard Bounces by GA Campaign Source for my team.”

Limits, safety, and best practices for ActiveCampaign via Claude

chat_bubble“We hit the ActiveCampaign API rate limit during a bulk contact import and our automation stopped triggering for 3 hours. The 429 errors weren’t obvious in our dashboard — we only noticed when leads stopped moving through nurture sequences.”

— Marketing ops manager, ActiveCampaign community forum discussion on API throttling during bulk operations, 2024.

This is the most common “horror story” with ActiveCampaign’s API: not a ban, but a silent throttle during high-volume operations. A marketer running a contact sync, list import, or automation trigger at scale can inadvertently exceed the 5 requests/second limit. The consequence isn’t account suspension — it’s failed API calls that break downstream automations, causing leads to stall in pipelines and campaigns to stop firing. The cost is measured in lost pipeline velocity and manual recovery time, not in a terminated account.

ActiveCampaign’s enforcement is quota-based, not behavior-based. ActiveCampaign doesn’t ban or suspend accounts because you used Claude, an MCP, or a third-party connector. It throttles because of how the API was used: exceeding the 5 requests/second per account limit, sending payloads larger than 400,000 bytes in bulk imports, or firing webhooks faster than the endpoint can acknowledge. Read-only queries, staying within the 5 req/s threshold, and respecting the 250-contact batch limit are safe. Parallel API bursts, unbatched bulk writes, and unacknowledged webhook floods are not — they trigger HTTP 429 (Too Many Requests) or 503 (Service Unavailable) responses that silently fail operations until the rate limit window resets.

The two ways to burn through your ActiveCampaign quota

After reviewing official docs and community threads, two patterns come up again and again.

1. Parallel API bursts exceeding 5 requests/second. Sending multiple simultaneous API calls — for example, syncing contact lists, updating deal stages, and pulling campaign metrics at the same time — quickly exhausts the 5 req/s per account limit. ActiveCampaign responds with HTTP 429 errors, and any request that fails mid-automation can leave contacts in an inconsistent state (e.g., tagged but not added to a list). Source: ActiveCampaign API Overview — “API rate limit of 5 requests per second per account” ActiveCampaign API Overview; Merge.dev ActiveCampaign integration docs. What to do instead: serialize requests with a minimum 200ms delay between calls, or use a connector that enforces rate-limiting backoff automatically.

2. Bulk contact imports exceeding payload or frequency limits. The Bulk Contact Importer API accepts a maximum payload of 400,000 bytes and recommends batches of up to 250 contacts per request. Additionally, importing single contacts at a rate exceeding 20 per minute, or multiple contacts exceeding 100 per minute, violates fair-use guidelines and can trigger throttling or import rejection. Source: ActiveCampaign Help Center — “Use the Bulk Contact Importer API”. What to do instead: pre-batch contacts into chunks of ≤250, compress payloads, and space imports across multiple minutes rather than firing thousands of contacts in seconds.

3. Webhook overload from high-scale events. ActiveCampaign webhooks fire on triggers like contact creation, tag application, or deal stage changes. If the receiving endpoint is slow to respond (does not return HTTP 200 within the timeout window) or if the event volume spikes during a campaign send, ActiveCampaign may queue, delay, or drop webhook deliveries. This creates data sync gaps between ActiveCampaign and downstream tools like Claude or a data warehouse. Source: ActiveCampaign API documentation — webhook timeout and retry behavior ActiveCampaign API Documentation — Webhook Configuration. What to do instead: ensure webhook endpoints respond within 2 seconds, implement idempotency keys to handle retries, and monitor webhook delivery logs during high-volume campaign periods.

Both behaviors trigger rate throttling and temporary service degradation. If you want to use Claude for ActiveCampaign safely, stay within the documented request limits, batch bulk operations, and rely on read-only queries for day-to-day analysis.

The 5-rule scaling protocol

Based on ActiveCampaign’s documented rate limits and quotas and the behaviors that have actually caused throttling — not guesswork:

  • Limit API calls to 5 requests per second per account. ActiveCampaign enforces a hard limit of 5 requests/second per account across all endpoints. Exceeding this triggers HTTP 429 throttling that can silently break automations. Source: Official ActiveCampaign API Overview ActiveCampaign API Overview; Merge.dev docs. Consequence if ignored: Failed contact syncs, stalled automations, and incomplete campaign data in Claude. Porter enforces this automatically: the MCP connector queues and paces requests to stay under the threshold.
  • Implement a minimum 200ms delay between sequential requests. At 5 requests/second, each request must be spaced by at least 200 milliseconds to avoid hitting the limit. Source: Derived from 5 req/s limit — 1,000ms ÷ 5 = 200ms per request ActiveCampaign API Overview. Consequence if ignored: Bursty traffic patterns trigger 429 errors even for legitimate operations. Porter enforces this automatically: built-in request pacing with exponential backoff on 429 responses.
  • Batch bulk imports to a maximum of 250 contacts per request. The Bulk Contact Importer API recommends batches of up to 250 contacts with a maximum payload size of 400,000 bytes. Source: ActiveCampaign Help Center — “Use the Bulk Contact Importer API”. Consequence if ignored: Import rejection, partial contact uploads, or throttling that blocks other API operations. Porter enforces this automatically: bulk operations are pre-batched before transmission.
  • Never exceed 20 single-contact imports per minute or 100 multi-contact imports per minute. ActiveCampaign’s fair-use guidelines for the Bulk Contact Importer suggest frequency thresholds to prevent abuse. Source: ActiveCampaign Help Center. Consequence if ignored: Temporary import blocking or degraded API performance for the account. Porter enforces this automatically: import operations are rate-limited and scheduled across time windows.
  • Monitor webhook endpoint response times and return HTTP 200 within 2 seconds. ActiveCampaign webhooks expect timely acknowledgment; slow endpoints cause delivery delays or drops. Source: ActiveCampaign API documentation — webhook configuration ActiveCampaign API Documentation — Webhook Configuration. Consequence if ignored: Missing events in Claude, stale data in reports, and out-of-sync contact segments. Porter enforces this automatically: the MCP architecture is read-only by default, eliminating webhook backpressure — data is pulled on-demand rather than pushed.

What Porter MCP does differently: it enforces these rate limits and safeguards at the platform level. Porter’s ActiveCampaign MCP connector is read-only by default — it queries campaign metrics, contact segments, and deal pipelines without writing data back, eliminating the risk of bulk import failures or write-triggered throttling. Requests are automatically paced with 200ms+ spacing and exponential backoff on 429 responses, so marketers never need to manually throttle API calls. Bulk operations are pre-batched to 250-contact chunks before transmission. That’s the behavior ActiveCampaign’s automated systems handle gracefully — predictable, read-heavy, rate-respecting traffic that never triggers enforcement.

Frequently asked questions

What is an ActiveCampaign MCP?

An ActiveCampaign MCP (Model Context Protocol) is an open standard that lets AI tools — Claude, Claude Code, ChatGPT, Cursor — connect to your ActiveCampaign data without custom integrations. Porter’s MCP server makes your campaigns, contacts, lists, deals, and automations available through one URL: no tokens, no scripts, no developer setup.

What’s the difference between Claude and Claude Code?

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 ActiveCampaign via MCP.

How fresh is the data? Is it real time?

ActiveCampaign’s custom reports refresh approximately every 15 minutes. Campaign opens and clicks update in real time, but aggregate metrics in the Reports dashboard lag by ~15 minutes. Porter MCP pulls live, so your data is always within that window.

Are there rate limits for ActiveCampaign data?

Yes. ActiveCampaign enforces a hard limit of 5 requests per second per account across all endpoints. Exceeding this triggers HTTP 429 throttling that can silently break automations. Porter MCP batches and caches requests automatically so you rarely hit them.

Why do Claude’s numbers sometimes differ from ActiveCampaign Reports dashboard?

Three common reasons: (1) Refresh lag — API data may be 15 minutes behind real-time opens and clicks. (2) Time zone differences — the API returns UTC timestamps while the dashboard uses your account time zone. (3) Status filtering — the API includes all contact statuses by default while the dashboard may exclude unsubscribed or bounced contacts. The fix: compare numbers using the same date range, time zone, and contact status filters.

Will using Claude affect my ActiveCampaign access or limits?

No. ActiveCampaign doesn’t ban or restrict accounts for legitimate API usage, and Porter MCP is read-only by default — it stays well inside ActiveCampaign’s normal rate limits. The thing to watch is request throttling when exceeding 5 requests per second — see the limits section above.

Ready to chat with your ActiveCampaign?

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 ActiveCampaign account — you’ll be chatting with your campaigns, contacts, lists, deals, and automations in under five minutes.

rocket_launchStart free Porter trialopen_in_newOpen Claude