Przejdź do treści

MCP w marketingu: jak połączyć Claude lub ChatGPT z GA4, Google Ads i BigQuery

Model Context Protocol pozwala asystentowi AI samodzielnie pytać GA4, Google Ads i BigQuery. Pokazujemy konfigurację oficjalnych serwerów Google, minimalne uprawnienia i pułapki, które w praktyce psują wyniki.

Redakcja Pixel Insider10 min czytaniaPoziom: zaawansowany

  • MCP
  • GA4
  • Google Ads API
  • BigQuery
Spis treści
  1. Jak działa MCP: host, klient, serwer i narzędzia
  2. Oficjalne serwery MCP dla GA4, Google Ads i BigQuery
  3. Konfiguracja serwera GA4 MCP krok po kroku
  4. Google Ads MCP po zmianach z września 2026 roku
  5. BigQuery przez zdalny serwer MCP: uprawnienia i koszty
  6. Claude czy ChatGPT: który klient MCP wybrać do marketingu
  7. Bezpieczeństwo MCP w marketingu: uprawnienia, prompt injection i RODO
  8. Jak zadawać pytania przez MCP, żeby dostać wiarygodne odpowiedzi
  9. Najczęściej zadawane pytania

MCP w marketingu to sposób na połączenie asystenta AI – Claude, ChatGPT lub Gemini – bezpośrednio z GA4, Google Ads i BigQuery, tak by sam pobierał dane i odpowiadał na pytania o kampanie bez ręcznego eksportu do arkusza. Model Context Protocol to otwarty standard opublikowany przez Anthropic w listopadzie 2024 roku i przyjęty potem przez OpenAI oraz Google. Google udostępnia oficjalne serwery MCP dla GA4 i Google Ads, działające tylko w trybie odczytu, oraz zdalny serwer dla BigQuery. Poniżej pokazujemy konfigurację, minimalne uprawnienia i błędy, które najczęściej prowadzą do złych wniosków.

Najważniejsze w skrócie

  • MCP oddziela model od źródeł danych: jeden serwer, np. dla GA4, działa z wieloma klientami, takimi jak Claude Desktop, ChatGPT czy Gemini CLI.
  • Oficjalne serwery Google dla GA4 i Google Ads są tylko do odczytu – nie zmienią stawek, nie wstrzymają kampanii i nie utworzą zasobów.
  • Od 9 września 2026 roku serwer Google Ads MCP nie wymaga tokena dewelopera, a poziom dostępu do API wynika z projektu Google Cloud.
  • Zdalny serwer BigQuery MCP ma narzędzie execute_sql_readonly, przerywa zapytania po 3 minutach i zwraca maksymalnie 3000 wierszy.
  • Agent powinien działać na osobnej tożsamości z minimalnymi rolami i widzieć tylko dane zagregowane, bez danych osobowych.

Jak działa MCP: host, klient, serwer i narzędzia

MCP to protokół, w którym aplikacja z modelem językowym (host) łączy się z serwerami udostępniającymi narzędzia, a model sam decyduje, które narzędzie wywołać i z jakimi parametrami. Ty definiujesz, jakie serwery są dostępne, a model korzysta z nich w trakcie rozmowy.

W architekturze MCP występują trzy elementy. Host to aplikacja, w której rozmawiasz z modelem: Claude Desktop, ChatGPT, Gemini CLI albo edytor kodu. Klient to połączenie utrzymywane przez hosta z jednym serwerem. Serwer to program, który opisuje swoje narzędzia (nazwa, opis, schemat parametrów) i wykonuje je na żądanie. Serwer może też udostępniać zasoby (np. dokumentację) i gotowe szablony poleceń.

Serwery komunikują się na dwa sposoby. Transport stdio oznacza, że serwer działa lokalnie jako proces uruchamiany przez hosta – tak działa większość serwerów instalowanych przez pipx lub npx. Transport Streamable HTTP oznacza serwer zdalny pod adresem HTTPS, zwykle z logowaniem OAuth. To rozróżnienie ma praktyczne znaczenie: ChatGPT obsługuje wyłącznie serwery zdalne, a Claude Desktop także lokalne.

Kiedy pytasz „jak zmienił się przychód z kampanii produktowych tydzień do tygodnia”, model wybiera narzędzie (np. search z serwera Google Ads), buduje zapytanie, odczytuje wynik i dopiero na tej podstawie odpowiada. Jakość odpowiedzi zależy więc od trzech rzeczy: opisu narzędzi, Twojego pytania i tego, czy model poprawnie zbudował zapytanie. Szerzej o tym, czym agent różni się od czatu, piszemy w tekście o agentach AI w marketingu.

Oficjalne serwery MCP dla GA4, Google Ads i BigQuery

Google utrzymuje trzy serwery, które pokrywają podstawowe źródła danych marketingowych. Wszystkie wymagają projektu Google Cloud, a różnią się formą uruchomienia i zakresem uprawnień.

Serwer Forma Główne narzędzia Zapis danych Uwierzytelnianie
Google Analytics MCP (eksperymentalny) Lokalny, pipx run analytics-mcp run_report, run_realtime_report, get_account_summaries, get_property_details, get_custom_dimensions_and_metrics, list_google_ads_links Nie Application Default Credentials, zakres analytics.readonly
Google Ads MCP Lokalny (stdio) lub zdalny (np. Cloud Run) list_accessible_customers, search (GAQL), get_resource_metadata Nie OAuth 2.0 lub konto usługi, projekt Google Cloud
BigQuery MCP (zdalny) Zarządzany przez Google, Streamable HTTP list_dataset_ids, list_table_ids, get_dataset_info, get_table_info, execute_sql, execute_sql_readonly Tylko przez execute_sql OAuth 2.0 i role IAM

Poza oficjalnymi serwerami istnieje wiele społecznościowych i komercyjnych, także dla Meta Ads. Zanim podłączysz serwer innego dostawcy, sprawdź, kto go utrzymuje, czy działa tylko w trybie odczytu i gdzie trafiają dane z zapytań. Pośredni serwer hostowany przez firmę trzecią widzi wszystko, co przez niego przepływa.

Konfiguracja serwera GA4 MCP krok po kroku

Serwer GA4 uruchamiasz lokalnie: potrzebujesz projektu Google Cloud z włączonymi dwoma API, poświadczeń z zakresem tylko do odczytu i wpisu w pliku konfiguracyjnym klienta.

  1. Utwórz lub wybierz projekt Google Cloud i włącz w nim Google Analytics Admin API oraz Google Analytics Data API.
  2. Zainstaluj pipx (menedżer aplikacji Pythona) i Google Cloud CLI.
  3. Skonfiguruj Application Default Credentials z zakresem analytics.readonly. Konto, którym się logujesz, musi mieć w GA4 co najmniej rolę umożliwiającą odczyt danych.
  4. Dodaj serwer do konfiguracji klienta. W Claude Desktop to plik claude_desktop_config.json, w Gemini CLI plik settings.json w katalogu .gemini.
  5. Uruchom ponownie klienta i sprawdź, czy narzędzia serwera pojawiły się na liście dostępnych.
  6. Zadaj pytanie testowe o dane, które znasz z interfejsu GA4, i porównaj wynik.
gcloud auth application-default login \
  --scopes https://www.googleapis.com/auth/analytics.readonly,https://www.googleapis.com/auth/cloud-platform \
  --client-id-file=ID_KLIENTA_OAUTH.json
{
  "mcpServers": {
    "analytics-mcp": {
      "command": "pipx",
      "args": ["run", "analytics-mcp"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "/sciezka/do/application_default_credentials.json",
        "GOOGLE_PROJECT_ID": "twoj-projekt-gcp"
      }
    }
  }
}

Serwer korzysta z Data API, więc podlega tym samym limitom co Looker Studio i inne integracje. Przy dużych usługach i długich zakresach dat odpowiedź może być próbkowana albo przekroczyć limity tokenów API. W takich przypadkach lepiej pytać BigQuery. Pamiętaj też, że model zna wymiary i metryki GA4 tylko z opisu narzędzi – jeśli pytasz o zdarzenia kluczowe, podaj ich nazwy, zamiast liczyć, że model zgadnie, które zdarzenia oznaczyłeś.

Serwer Google Ads MCP wykonuje zapytania GAQL przez Google Ads API i od 9 września 2026 roku nie potrzebuje tokena dewelopera. Wystarczą identyfikator projektu Google Cloud z przyznanym poziomem dostępu (Explorer, Basic lub Standard) oraz poświadczenia OAuth.

Zmiana wynika z nowego modelu dostępu do Google Ads API, w którym uprawnienia są powiązane z projektem w Google Cloud, a nie z tokenem przypisanym do konta menedżera. Szczegóły tej zmiany i pierwsze raporty przez API opisujemy w poradniku o Google Ads API po zmianach z września 2026. Jeśli korzystasz ze starszej wersji serwera, zaktualizuj ją – wcześniejsze wydania oczekiwały zmiennej z tokenem dewelopera.

Konfiguracja lokalna wygląda podobnie jak dla GA4. Zmienna GOOGLE_PROJECT_ID jest wymagana, a GOOGLE_ADS_LOGIN_CUSTOMER_ID podajesz, gdy pracujesz na kontach przez konto menedżera. Pakiet instalujesz z oficjalnego repozytorium Google wskazanego w dokumentacji Google Ads API.

{
  "mcpServers": {
    "google-ads-mcp": {
      "command": "pipx",
      "args": ["run", "--spec", "ZRODLO_PAKIETU_Z_DOKUMENTACJI_GOOGLE", "google-ads-mcp"],
      "env": {
        "GOOGLE_PROJECT_ID": "twoj-projekt-gcp",
        "GOOGLE_APPLICATION_CREDENTIALS": "/sciezka/do/credentials.json",
        "GOOGLE_ADS_LOGIN_CUSTOMER_ID": "1234567890"
      }
    }
  }
}

Model sam buduje zapytania GAQL, ale warto mu pokazać wzór. Poniższe zapytanie zwraca 20 kampanii z najwyższym kosztem z ostatnich 7 dni. Koszt w API jest podawany w mikrojednostkach, więc trzeba go podzielić przez milion – modele często o tym zapominają.

SELECT campaign.name, campaign.advertising_channel_type,
       metrics.cost_micros, metrics.conversions, metrics.conversions_value
FROM campaign
WHERE segments.date DURING LAST_7_DAYS
  AND campaign.status = 'ENABLED'
ORDER BY metrics.cost_micros DESC
LIMIT 20

Zdalne wdrożenie serwera, np. na Cloud Run ze ścieżką /mcp i logowaniem OAuth, pozwala dodać go jako niestandardowy konektor w Claude lub ChatGPT. Klienci bez obsługi OAuth dostaną błąd 401 i muszą korzystać z wersji lokalnej.

BigQuery przez zdalny serwer MCP: uprawnienia i koszty

Zdalny serwer BigQuery MCP jest włączany razem z BigQuery API i nie wymaga instalacji. Do działania potrzebuje trzech ról IAM, a ryzyko zapisu i kosztów ograniczasz narzędziem tylko do odczytu, osobnym zbiorem danych z widokami i limitami zapytań.

Wymagane role to roles/mcp.toolUser, roles/bigquery.jobUser i roles/bigquery.dataViewer. Google zaleca osobną tożsamość dla agentów. Narzędzie execute_sql pozwala także na zapis (DML, DDL), dlatego zablokuj je polityką odmowy IAM i zostaw agentowi execute_sql_readonly, które odrzuca polecenia zmieniające dane. Zapytania są przerywane po 3 minutach, wynik ma maksymalnie 3000 wierszy, a obowiązują zwykłe limity BigQuery API.

Najbezpieczniejszy układ to osobny zbiór danych z widokami agregującymi eksport GA4, udostępniony agentowi jako widoki autoryzowane. Agent nie widzi wtedy surowych tabel zdarzeń ani identyfikatorów użytkowników.

CREATE OR REPLACE VIEW `twoj-projekt.mcp_marketing.v_sprzedaz_dzienna` AS
SELECT
  PARSE_DATE('%Y%m%d', event_date) AS data,
  device.category AS urzadzenie,
  COUNTIF(event_name = 'purchase') AS zakupy,
  SUM(IF(event_name = 'purchase', ecommerce.purchase_revenue, 0)) AS przychod
FROM `twoj-projekt.analytics_123456789.events_*`
WHERE _TABLE_SUFFIX >= FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE(), INTERVAL 90 DAY))
GROUP BY data, urzadzenie;

GRANT `roles/bigquery.dataViewer`
ON SCHEMA `twoj-projekt.mcp_marketing`
TO "serviceAccount:[email protected]";

Kosztów pilnuj dwutorowo: widoki zawężają skanowany zakres, a niestandardowe limity zapytań dziennie na użytkownika w BigQuery zatrzymają agenta, który wpadnie w pętlę. Więcej o partycjach i limitach dla zespołu piszemy w tekście o kosztach BigQuery w marketingu, a jeśli dopiero uruchamiasz eksport, zacznij od poradnika o łączeniu GA4 z BigQuery. Przy włączonym logowaniu Model Armor pamiętaj, że zapisuje on pełną treść zapytań i odpowiedzi.

Claude czy ChatGPT: który klient MCP wybrać do marketingu

Do pracy z lokalnymi serwerami GA4 i Google Ads wygodniejszy jest Claude Desktop, bo obsługuje transport stdio. ChatGPT łączy się wyłącznie z serwerami zdalnymi, więc wymaga wdrożenia serwera pod adresem HTTPS albo skorzystania z gotowej aplikacji.

W ChatGPT niestandardowe serwery MCP dodajesz w trybie deweloperskim, który według stanu na październik 2026 roku jest oznaczony jako beta i dostępny w wybranych planach płatnych, w tym firmowych. Narzędzia zapisujące wymagają potwierdzenia przez użytkownika przed wykonaniem. W Claude serwery lokalne konfigurujesz w pliku, a zdalne dodajesz jako niestandardowe konektory; w planach zespołowych robi to administrator. Nazwy menu w obu aplikacjach zmieniają się często, dlatego szukaj w ustawieniach sekcji poświęconej aplikacjom lub konektorom.

Jeśli Twój zespół pracuje głównie w ekosystemie Google, alternatywą jest Gemini CLI albo Gemini bezpośrednio w konsoli BigQuery, opisane w artykule o Gemini w BigQuery. Wybór klienta ma też znaczenie dla danych: plan firmowy z umową powierzenia to warunek, jeśli przez serwer mogą przepływać dane osobowe.

Bezpieczeństwo MCP w marketingu: uprawnienia, prompt injection i RODO

Bezpieczne MCP w marketingu opiera się na trzech zasadach: najmniejszych możliwych uprawnieniach, braku danych osobowych w odpowiedziach serwerów i świadomości, że model może wykonać instrukcję ukrytą w danych.

Uprawnienia. Twórz osobne konto usługi dla każdego zastosowania, przyznawaj role na poziomie zbioru danych, a nie projektu, i regularnie przeglądaj, kto ma dostęp. Konto administratora Google Ads podłączone do asystenta to proszenie się o kłopoty, nawet przy serwerze tylko do odczytu.

Prompt injection. Nazwy kampanii, tytuły produktów czy wyszukiwane hasła mogą zawierać tekst, który model potraktuje jak polecenie. Przy serwerach tylko do odczytu najgorszym skutkiem jest zła odpowiedź, ale jeśli w tej samej rozmowie aktywny jest serwer z prawem zapisu albo wysyłki wiadomości, ryzyko rośnie. Nie łącz w jednej sesji narzędzi czytających treści z zewnątrz z narzędziami, które coś zmieniają.

Dane osobowe. Raporty zagregowane z GA4 i Google Ads zwykle nie zawierają danych osobowych, ale surowy eksport GA4 w BigQuery zawiera identyfikatory użytkowników. Zasady bezpiecznej pracy omawiamy w tekście o danych klientów w narzędziach AI i RODO.

MCP pojawia się też w handlu agentowym, gdzie sklepy udostępniają katalog agentom zakupowym – ten kontekst opisujemy w porównaniu protokołów UCP i ACP.

Jak zadawać pytania przez MCP, żeby dostać wiarygodne odpowiedzi

Wiarygodne odpowiedzi dostaniesz, gdy podasz modelowi zakres dat, definicje wskaźników i źródło prawdy, a potem każesz mu pokazać zapytanie, które wykonał. Bez tego model sam wybiera metryki i okresy, a wyniki trudno porównać z raportami.

W praktyce najczęstsze błędy to: porównywanie niepełnego dnia z pełnym, mieszanie konwersji z Google Ads i zdarzeń kluczowych z GA4 bez zaznaczenia różnicy oraz zapominanie o mikrojednostkach kosztu. Rozbieżności między systemami są normalne i wyjaśniamy je w tekście o różnicach w liczbie konwersji między GA4, Google Ads i Meta.

Na podstawie serwera Google Ads i GA4:
1. Porównaj ostatnie 7 pełnych dni z poprzednimi 7 dniami.
2. Koszt podaj w PLN (cost_micros / 1 000 000), przychód z conversions_value.
3. Wskaż 3 kampanie z największą zmianą ROAS.
4. Pokaż zapytania GAQL i parametry run_report, których użyłeś.
5. Jeśli dane z GA4 i Google Ads się różnią, opisz różnicę, nie uśredniaj.

Gdy chcesz pisać zapytania do eksportu GA4 samodzielnie lub sprawdzić te wygenerowane przez model, sięgnij po zestaw 10 zapytań do eksportu GA4 w BigQuery. Gotowe szablony poleceń znajdziesz w zestawie promptów dla specjalisty performance, a sposób na cykliczne raporty bez ręcznego pytania – w poradniku o raportach w n8n z modelem językowym. Pozostałe teksty o automatyzacji zebraliśmy w podtemacie Agenci AI i automatyzacja.

Najczęściej zadawane pytania

Czy przez MCP asystent AI może zmieniać kampanie w Google Ads?

Oficjalny serwer Google Ads MCP działa tylko w trybie odczytu: nie zmienia stawek, nie wstrzymuje kampanii i nie tworzy zasobów. Istnieją serwery innych dostawców z prawem zapisu, ale przy nich szczególnie ważne są ograniczone uprawnienia, potwierdzanie każdej akcji i log zmian. Do zmian z akceptacją możesz też użyć wbudowanego w Google Ads asystenta Ask Advisor.

Czy do serwera Google Ads MCP potrzebny jest token dewelopera?

Nie w aktualnej wersji. Google wycofał tokeny dewelopera 9 września 2026 roku i poziom dostępu do Google Ads API zależy teraz od projektu Google Cloud. Serwer potrzebuje identyfikatora projektu, poświadczeń OAuth lub konta usługi, a przy pracy przez konto menedżera także jego identyfikatora. Starsze wersje serwera mogą wymagać aktualizacji.

Ile kosztuje korzystanie z MCP z GA4 i BigQuery?

Same serwery Google są bezpłatne. Płacisz za plan asystenta AI lub wywołania API modelu oraz za zapytania w BigQuery według zwykłego cennika. Data API GA4 ma limity tokenów, ale nie generuje osobnych opłat. Największe ryzyko kosztowe to agent skanujący surowe tabele eksportu, dlatego udostępniaj mu widoki i ustaw dzienne limity zapytań.

Czy ChatGPT obsługuje lokalne serwery MCP?

Nie. ChatGPT łączy się wyłącznie z serwerami zdalnymi dostępnymi przez HTTPS, a niestandardowe serwery dodaje się w trybie deweloperskim oznaczonym jako beta. Lokalne serwery GA4 i Google Ads trzeba więc wdrożyć zdalnie, np. na Cloud Run z logowaniem OAuth, albo użyć klienta obsługującego transport stdio, takiego jak Claude Desktop lub Gemini CLI.

Czy dane z GA4 przesyłane przez MCP to dane osobowe?

Raporty zagregowane z Data API, np. sesje według kanału, zwykle nie identyfikują osób. Inaczej jest z surowym eksportem GA4 w BigQuery, który zawiera pseudonimowe identyfikatory użytkowników, a te w rozumieniu RODO nadal są danymi osobowymi. Udostępniaj agentowi widoki zagregowane, a w razie wątpliwości skonsultuj sposób przetwarzania z prawnikiem lub inspektorem ochrony danych.