Case studies / Digital advertising agency

Building an AI-powered media operations platform

Smartphone displaying a chat conversation about ad campaign performance, resting on a wooden surface next to a large textured vase with a beige wall background.
Use case
AI Agents, MCP, Data Integration
Industry
Digital Marketing
Tech stack

A fast-growing digital advertising agency manages performance campaigns across Google, Meta, and Bing for 13+ e-commerce clients simultaneously. Their 10-person team handles strategy calls, reporting, budget management, and client communication. All at once, every day.

The data existed. The problem was that it lived in five different places, none of them talking to each other. Islands was brought in to fix that — by turning Claude into a context-aware AI assistant with real-time access to everything.

10–15 hrs

Saved per account manager per week

2 weeks

From kickoff to full team deployment

The challenge

A high-performing agency runs on context. Who said what on last week's call. Why spend spiked on Tuesday. What the client's Q1 targets are. Which campaigns to cut.

Getting that context meant switching between the ad data platform, reporting dashboards, Google Drive for SOPs and call notes, Slack for client comms, and a call transcript tool. Every answer required a different tool and manual cross-referencing.

Three problems made this unsustainable at scale:

Fragmented data, no unified query layer

Getting a full picture of one client required opening 3–4 tools and assembling the answer manually. There was no way to ask a single question that spanned ad performance, client docs, and team conversations at once.

No programmatic access to ad performance data

The primary data platform had no API. Pulling performance data required manual exports or navigating dashboards, neither of which an AI agent could work with directly.

Context loss at scale

With 13 clients across a 10-person team, institutional knowledge lived in people's heads, buried Slack threads, and Google Docs nobody had time to find. Preparing for a client call meant hunting through four tools before getting on.

What we built

We built a Model Context Protocol (MCP) server: a custom backend that connects Claude directly to the agency's entire data stack. No new UI. No dashboards to learn. The team uses Claude as they normally would, but now Claude has live access to everything.

Comparison flowchart showing before and after scenarios: before, an account manager manually switches tools like Funnel.io, Google Drive, Slack, spreadsheets, and call transcripts for manual cross-referencing taking 30-45 minutes; after, the account manager asks questions in plain English via Claude Desktop, connected through MCP Server on GCP Cloud Run, integrating Google Drive, Slack, and BigQuery for instant full context across all data sources.

Solution 1

MCP server infrastructure

The MCP server is the backbone. Hosted on GCP Cloud Run, it exposes all data sources as tools Claude can call in real time. When a team member asks a question, Claude decides which sources to query, fetches the data, and responds — in a single conversation.

V1 was deployed in under 2 weeks from kickoff. Onboarding a team member: open Claude Desktop, add the MCP server URL, done. No training required.

Solution 2

Solving the data access problem

The primary ad platform had no public API. The entire performance dataset was locked behind a UI with no programmatic exit.

We built an automated export pipeline into BigQuery. Scheduled nightly exports per client account, normalized schema, connected directly to the MCP server. Claude can now query 6 months of ad performance data — spend, impressions, clicks, CPC, ROAS — across all platforms and all clients, in plain English.

Before: answering "which campaigns should we cut?" meant opening the platform, filtering manually, cross-referencing dashboards, and thinking through it yourself, 30–45 minutes of work. After: one question, answered in seconds.

Solution 3

Google Drive: read everything, find anything

We connected Claude to the agency's full Google Drive — internal and shared client folders, SOPs, call notes, budget trackers, decks. Claude can search across the entire drive, navigate by client folder, read documents, pull specific spreadsheet ranges, and surface who last edited any file.

Combined with Slack access, Claude can read a client's contract, cross-reference the budget tracker, and pull the relevant Slack thread in a single conversation.

Solution 4

Slack: full context, all channels

All Slack channels, internal and client-facing, are connected. Claude can search message history, pull context from specific threads, and surface conversations relevant to any query. The gap between what was said and what was documented is closed.

“Islands built us exactly what we needed,  an AI that actually understands our business. The team adopted it immediately, and we're already planning the next phase. This is the foundation we'll be building our product roadmap on.”

Key integrations

Slack API

All internal and external channels indexed and queryable in real time.

Google Drive API

Full read: Docs, Sheets (specific tabs + ranges), PDFs, slides, revision history.

Ad platform → BigQuery

Nightly export pipeline across Google, Meta, and Bing; 6-month rolling history; normalized schema per client.

GCP Cloud Run

Persistent MCP endpoint; team connects via Claude Desktop in under 60 seconds.

How the team uses it

Within days of launch, the team was answering questions that previously required 3–4 tools:

• "What are [Client]'s top 5 campaigns by spend? Which have the worst CPC?"
• "Find days where [Client]'s spend was 2x their average, what caused it?"
• "Pull the notes from last week's strategy call and summarize the action items."
• "Which campaigns should we cut and which should we scale?"

Organic adoption followed immediately. Senior team members asked to expand access to junior staff within two weeks of launch, unprompted. A feature request backlog formed on its own. Once the team saw it work, they wanted more of it.

Results

We built a custom MCP server that connected Claude directly to the agency's full data stack — ad performance, Google Drive, and Slack — eliminating the manual cross-referencing that was eating hours every day. One interface, no new tools to learn, and a single question now does the work that used to require four.

10–15 hrs

Saved per account manager, per week

13+

Client accounts with unified data access

6 months

Of ad performance data queryable in plain English

2 weeks

From kickoff to full team deployment

1 interface

No new tools, no dashboards, no training

What's next

Phase 1 built the data foundation. Phase 2 moves this into a standalone branded product: a custom portal on top of the same MCP backend, with role-based access controls, multi-LLM switching (Claude, Gemini, GPT-4), and client-facing features.

The goal: a white-label AI platform for performance marketing agencies, proven internally first, then scaled to new clients.

contact image