Analityk finansowy sprawdza raporty

Google Analytics API – jak pobierać dane automatycznie i budować raporty?

6 min. czytania

W erze marketingu opartego na danych automatyzacja pobierania informacji z Google Analytics staje się kluczowym elementem efektywności.

Google Analytics Data API (GA4) umożliwia programową ekstrakcję danych, generowanie raportów w czasie rzeczywistym i płynną integrację z narzędziami zewnętrznymi, oszczędzając godziny ręcznej pracy.

Ten przewodnik krok po kroku pokazuje, jak skonfigurować API, pobierać dane automatycznie i budować zaawansowane raporty – od prostych zapytań po interaktywne dashboardy.

Dlaczego warto automatyzować pobieranie danych z Google Analytics API?

Ręczne eksporty z interfejsu GA4 są ograniczone limitem wierszy i nie skalują się w dużych kampaniach. Google Analytics Data API v1 rozwiązuje te problemy, oferując metody do raportów niestandardowych, wsadowych, tabel przestawnych, lejków konwersji i danych czasu rzeczywistego. Kluczowe zalety:

  • automatyzacja raportów – generuj codzienne/tygodniowe zestawienia bez logowania do panelu;
  • integracja z ekosystemem – połącz z Google Sheets, Excel, Power BI czy własnymi skryptami;
  • dane w czasie rzeczywistym – monitoruj aktywność użytkowników z opóźnieniem kilku sekund (do 30 minut wstecz);
  • skalowalność – wsadowe zapytania pozwalają na wiele raportów jednym wywołaniem, idealne dla agencji obsługujących wielu klientów.

API nadaje się do budowy dashboardów, automatyzacji BI i integracji z aplikacjami zewnętrznymi, z bibliotekami klienckimi ułatwiającymi implementację w Pythonie, Node.js i innych językach.

Konfiguracja dostępu do Google Analytics Data API

Zanim zaczniesz kodować, przygotuj środowisko. Cały proces zajmie ok. 15–30 minut.

Krok 1 – włącz API i utwórz projekt w Google Cloud

Wykonaj poniższe kroki, aby uzyskać autoryzowany dostęp do danych GA4:

  1. Wejdź do Google Cloud Console.
  2. Utwórz nowy projekt lub wybierz istniejący.
  3. W Bibliotece API wyszukaj Google Analytics Data API i włącz je.
  4. Przejdź do IAM i administracja oraz do sekcji Dane logowania.
  5. Utwórz konto usługi (Service Account), a następnie pobierz plik JSON z kluczem, np. service-account-key.json.
  6. Dodaj konto usługi do Google Analytics > Administracja > Konto/Właściwość > Uprawnienia dostępu i nadaj rolę Widok lub Edytor.

Uwaga: identyfikator właściwości (property ID, np. properties/123456789) znajdziesz w GA4 w sekcji Administracja > Szczegóły właściwości.

Krok 2 – zainstaluj biblioteki klienckie

Użyj oficjalnych SDK, aby szybciej wdrożyć połączenie:

Dla Pythona: pip install google-analytics-data. Dla Node.js: npm install @google-analytics/data.

Podstawowe metody pobierania danych – od prostego raportu do zaawansowanych zapytań

API opiera się na wymiarach (np. kraj, źródło ruchu) i metrykach (np. aktywni użytkownicy, konwersje). Każde zapytanie definiuje zakres dat, wymiary i metryki.

1. Prosty raport z runReport

To najczęściej używana metoda do standardowych raportów, podobnych do sekcji Raporty w GA4. Przykłady wywołań:

Przykład HTTP (curl lub Postman):

POST https://analyticsdata.googleapis.com/v1/properties/GA_PROPERTY_ID:runReport
{
"dateRanges": [{ "startDate": "2023-09-01", "endDate": "2023-09-15" }],
"dimensions": [{ "name": "country" }],
"metrics": [{ "name": "activeUsers" }]
}

To zapytanie zwraca liczbę aktywnych użytkowników po krajach w podanym okresie.

Przykład w Pythonie:

from google.analytics.data_v1beta import BetaAnalyticsDataClient
from google.analytics.data_v1beta.types import RunReportRequest, DateRange, Dimension, Metric

client = BetaAnalyticsDataClient.from_service_account_info(...) # Załaduj klucz JSON

request = RunReportRequest(
property="properties/TWOJ_PROPERTY_ID",
date_ranges=[DateRange(start_date="2023-09-01", end_date="2023-09-15")],
dimensions=[Dimension(name="country")],
metrics=[Metric(name="activeUsers")]
)

response = client.run_report(request)

for row in response.rows:
print(f"Kraj: {row.dimension_values.value}, Aktywni użytkownicy: {row.metric_values.value}")

Wynik: tabela z danymi gotowa do eksportu do CSV/Excel.

2. Raporty wsadowe z batchRunReports

Gdy potrzebujesz wielu raportów jednym wywołaniem – oszczędzisz limit zapytań (quota) i skrócisz czas. Metoda działa analogicznie do runReport, ale przyjmuje listę zapytań.

3. Raporty czasu rzeczywistego z runRealtimeReport

Idealne do monitoringu kampanii live (np. Black Friday). Przykład implementacji w Node.js:

const {BetaAnalyticsDataClient} = require('@google-analytics/data');
const analyticsDataClient = new BetaAnalyticsDataClient();

const [response] = await analyticsDataClient.runRealtimeReport({
property: `properties/TWOJ_PROPERTY_ID`,
dimensions: [{ name: 'country' }],
metrics: [{ name: 'activeUsers' }]
});

console.log(`${response.rowCount} wierszy`);
response.rows.forEach(row => {
console.log(`${row.dimensionValues.value}: ${row.metricValues.value}`);
});

Dane obejmują ostatnie ~30 minut i pojawiają się po zaledwie kilku sekundach od zdarzenia.

4. Inne zaawansowane metody

Dla bardziej złożonych analiz skorzystaj z poniższych endpointów:

  • runPivotReport / batchRunPivotReports – tabele przestawne do analiz krzyżowych (np. źródło ruchu × urządzenie);
  • runFunnelReport – analiza lejków konwersji;
  • getMetadata – lista dostępnych wymiarów i metryk dla Twojej właściwości.

Budowanie automatycznych raportów i dashboardów

Integracja z arkuszami i Excel

Google Sheets + Apps Script – wywołuj API przez UrlFetchApp i ustaw automatyczne odświeżanie (np. co godzinę) w Triggers; idealne do szybkich, współdzielonych raportów.

Excel z Power Query – połącz z API przez OData lub własny łącznik; przykładowy dashboard może pobierać dane geograficzne/demograficzne bezpośrednio z GA4 i aktualizować tabele przestawne oraz wykresy.

Przykład zautomatyzowanego dashboardu w Excelu (inspirowane Origami Effect): integruje API z tabelami przestawnymi, filtrami i wykresami – dane o sesjach, konwersjach, ROI kampanii.

Narzędzia no-code/low-code

Jeśli wolisz minimalny kod, rozważ te rozwiązania:

Narzędzie Zastosowanie Zalety
Zapier Automatyczny eksport do Sheets/Email Bez kodowania, 100+ integracji
Looker Studio (dawniej Data Studio) Dynamiczne dashboardy z GA4 Wizualizacje, auto-refresh
Supermetrics Zaawansowany connector do GA4/Sheets Segmentacja, custom metryki

Niestandardowe aplikacje BI

Python + Streamlit/Power BI – uruchamiaj skrypty cronem, zapisuj dane do bazy (np. BigQuery), generuj raporty PDF dla interesariuszy bez dostępu do GA4.

Przykład automatyzacji – skrypt w Pythonie codziennie pobiera metryki (sesje, konwersje), zapisuje do Google Sheets i wysyła raport e‑mailem przez SMTP.

Quota i limity – przykładowo: do 10 000 zapytań/dzień (plan standardowy), więcej w GA360; optymalizuj zapytania raportami wsadowymi i ograniczaj zakres danych.

Najczęstsze błędy i najlepsze praktyki

Poniżej znajdziesz typowe problemy i wskazówki, jak ich uniknąć:

  • błąd autentykacji – upewnij się, że używasz poprawnego scope: https://www.googleapis.com/auth/analytics.readonly;
  • brak danych – doprecyzuj zapytanie przez dimensionFilter (np. tylko ruch organiczny);
  • optymalizacja – ustaw keepEmptyRows: false i limituj wynik do maks. 100 000 wierszy;
  • bezpieczeństwo – nigdy nie commituj kluczy JSON do repozytorium; używaj zmiennych środowiskowych lub managera sekretów;
  • testuj metadane – wywołaj getMetadata, aby sprawdzić dostępne wymiary/metryki (np. customEvent:zakup).

Dla konwersji: śledź zdarzenia e-commerce (np. in_app_purchase – automatycznie zbierane w aplikacjach).

Następne kroki

Aby szybko ruszyć z automatyzacją, zrób to w tej kolejności:

  1. Skonfiguruj projekt i dane logowania w Google Cloud.
  2. Przetestuj przykładowy skrypt z dokumentacji (runReport z jedną metryką i wymiarem).
  3. Zbuduj pierwszy dashboard w Sheets lub Looker Studio i ustaw automatyczne odświeżanie.