E-commerce · CRM. HubSpot, GA4 i hurtownia danych marketingowych.

HubSpot w sklepie: GA4 a CRM

Gdzie kończy się pomiar w GA4, a gdzie zaczyna praca w HubSpocie. Jak nie liczyć leadów dwa razy i nie porównywać raportów z dwóch zupełnie innych źródeł.

Aktualizacja: 2026-07-06

Dlaczego liczby się nie zgadzają

W większości sklepów HubSpot to CRM: kontakty, maile, sekwencje, deale. GA4 mierzy ruch na stronie, zdarzenia i zakupy. To dwa różne narzędzia i tak powinno zostać. Problem zaczyna się wtedy, gdy ktoś porównuje liczby z obu systemów jakby dotyczyły tego samego.

Marketing patrzy na kampanie i konwersje w GA4. Handlowcy zamykają deale w HubSpocie. Zarząd na koniec miesiąca chce jedną sumę przychodu. Bez zapisanej granicy między systemami bardzo szybko pada pytanie, kto właściwie dowiózł wynik i który raport jest „prawdziwy”.

Typowy układ to sklep (Shopify, WooCommerce, Magento), GA4 z GTM, HubSpot pod formularze i nurturing, czasem ERP lub system magazynowy jako źródło przychodu. Każdy z tych elementów ma inną definicję „zamówienia” lub „klienta”. Ten przewodnik porządkuje, co raportuje który system i jak to połączyć w hurtowni, jeśli w ogóle tego potrzebujesz.

Co ustalić na starcie

Zanim zaczniesz łączyć systemy, warto spisać kilka prostych reguł. Bez tego każdy zespół będzie budował własny Excel z „poprawionymi” liczbami.

  • GA4 raportuje ruch, zdarzenia i purchase według reguł analityki (sesja, atrybucja last-click w raporcie).
  • HubSpot raportuje kontakty, deale i aktywność mailową według własnego modelu atrybucji.
  • System sprzedaży (sklep, ERP) jest źródłem prawdy dla przychodu i statusu zamówienia.
  • Lead z formularza to jeden moment w czasie: nie sumujesz go jako dwóch konwersji w dwóch narzędziach.
  • Porównania między systemami robisz na tym samym poziomie szczegółu (np. zamówienie do zamówienia, nie deal do sesji).

Zamówienia vs kontakty

W GA4 i w sklepie operujesz na zamówieniach: zdarzenie purchase, parametr transaction_id, wartość koszyka, produkty. W HubSpocie operujesz na kontakcie i dealu: kto wypełnił formularz, kto dostał sekwencję maili, na jakim etapie jest sprzedaż.

To nie jest ten sam poziom danych. Raport „ile purchase w GA4” i raport „ile zamkniętych dealów w HubSpocie” odpowiadają na różne pytania. Tym bardziej nie porównuj eksportu purchase z BigQuery z raportem CRM bez wcześniejszego ustalenia, co łączysz i po jakim kluczu.

W B2C większość przychodu idzie przez sklep i GA4 ecommerce. HubSpot często obsługuje newsletter, porzucone koszyki lub leady z landingów. W B2B z kolei deal w HubSpocie może być ważniejszy niż pojedyncze purchase w GA4, bo zamówienie wpada do ERP z opóźnieniem. W obu przypadkach granica musi być opisana słownie, nie tylko w głowie analityka.

Klucz do joina

Żeby połączyć ruch z GA4 z danymi z HubSpota w hurtowni, potrzebujesz wspólnego klucza. Najczęściej sprawdza się transaction_id: ten sam identyfikator w zdarzeniu purchase w GA4 i w rekordzie zamówienia ze sklepu lub ERP.

Łączenie po e-mailu (GA4 user_id lub parametr formularza i contact_id w HubSpocie) ma sens tylko tam, gdzie masz podstawę prawną i spójny proces zbierania zgód. E-mail w dwóch systemach często wygląda inaczej (wielkość liter, aliasy, błędy literówek), więc join „po podobnym mailu” w SQL szybko psuje jakość danych.

W praktyce warto mieć tabelę mapowań: transaction_id, order_id z ERP, opcjonalnie contact_id z HubSpota, jeśli zamówienie wynika z konkretnego leada. Bez takiej tabeli każdy raport w Lookerze lub Power BI będzie zgadywał relacje na nowo.

Lead raz, nie dwa razy

Klasyczny scenariusz: użytkownik wysyła formularz kontaktowy. W GTM odpalasz generate_lead w GA4, a integracja HubSpota zakłada kontakt w CRM. To jeden moment w czasie, nie dwie niezależne konwersje do dodawania w jednym KPI.

W słowniku metryk (glossary) rozdziel definicję leada i definicję zakupu. Lead może być kluczowy dla marketingu, ale zarząd patrzy na przychód ze sklepu lub ERP. Jeśli w dashboardzie sumujesz „leady z GA4” i „nowe kontakty z HubSpota”, liczysz to samo zdarzenie dwa razy.

Przy formularzach B2B ustal też, czy generate_lead leci przy każdym wysłaniu, czy tylko przy pierwszym kontakcie. HubSpot może aktualizować istniejący rekord zamiast tworzyć nowy. GA4 bez dodatkowej logiki zarejestruje kolejne zdarzenie. Stąd rozjazdy, które wyglądają jak błąd tagowania, a są różnicą definicji.

Tag HubSpota a baner cookies

Tracking HubSpota w GTM podlega tym samym zasadom co GA4: najpierw CMP, potem tag. Bez zgody na analytics_storage tag często nie zbiera pełnych danych albo w ogóle nie startuje. Zachowanie zależy od banera i od tego, czy masz Consent Mode Basic czy Advanced.

W audytach widzę dwa typowe błędy. Pierwszy: tag HubSpota odpala się przed decyzją użytkownika, bo jest w szablonie strony poza GTM. Drugi: tag jest w GTM, ale bez warunku zgody, bo „CRM to nie analityka”. W UE traktuj to jak każdy inny skrypt śledzący i spiąj z kategoriami w banerze.

Po wdrożeniu banera sprawdź w trybie preview w GTM, czy tag HubSpota i tag GA4 zachowują się tak samo przy odmowie i przy akceptacji. Inaczej porównujesz raporty z różnych pokryć danych i wnioskujesz o „słabszym CRM”, choć problem leży w zgodach.

Atrybucja

HubSpot przypisze deal według własnych reguł (pierwsze/ostatnie touchpointy w CRM, własne pola źródła). GA4 w standardowych raportach pokaże atrybucję opartą o sesję i model last-click (lub inny, jeśli go wybierzesz).

Różnica na poziomie kilkudziesięciu procent między systemami nie musi oznaczać zepsutego wdrożenia. Często po prostu mierzycie inne rzeczy: sesja vs kontakt, purchase vs deal, inny horyzont czasu zamknięcia sprzedaży.

Jeśli zarząd pyta „skąd przyszli klienci”, ustal jeden raport referencyjny i dopiero pod niego dopasuj pozostałe. Symulator atrybucji w GA4 pomaga pokazać, jak zmienia się obraz przy różnych modelach, ale nie zastąpi reguł HubSpota w CRM.

Źródło do hurtowni

Kontakty i deale z HubSpota najczęściej lądują w hurtowni przez API lub gotową integrację (np. ze Shopify). GA4 trafia do BigQuery eksportem z właściwości. Zamówienia bierzesz ze sklepu lub ERP. Każde źródło ma własną warstwę staging, zanim zbudujesz wspólny widok w mart.

Join robisz po ustalonym kluczu, nie po „podobnym” mailu. Dopiero wtedy w BI da się prześledzić ścieżkę: ruch, lead, zamówienie w jednym wierszu albo w jednym funnelu. Bez tego zostajesz przy trzech osobnych raportach i ręcznym kopiowaniu liczb.

Przed budową pipeline sprawdź checklistę hurtowni marketingowej: czy masz właścicieli metryk, słownik KPI i reguły anulacji zamówień. HubSpot i GA4 to tylko dwa węzły w większym układzie. Reszta opisana jest w hubie danych marketingowych.

Podsumowanie

GA4 zostaje przy ruchu i zakupie. HubSpot przy pracy na kontakcie i dealu. Przychód potwierdzasz w sklepie lub ERP. To trzy warstwy, nie trzy wersje tej samej liczby.

Jedna wersja KPI dla zarządu to efekt ustaleń i mapowania kluczy, nie magicznego przycisku „zsynchronizuj wszystko”. Jeśli tego potrzebujesz, zacznij od glossary i checklisty hurtowni, a dopiero potem dokładaj kolejne integracje.

Chcesz spiąć GA4, HubSpota i hurtownię?

Pomagam ustalić granicę między systemami, dobrać klucze joina i zbudować jedną wersję KPI dla marketingu i zarządu.

← Wszystkie narzędzia