Tutorial: Wdrożenie Google Ads Enhanced Conversions (Rozszerzone Konwersje)

Spis treści
Rozszerzone Konwersje (Enhanced Conversions) w systemie Google Ads znacząco poprawiają dokładność pomiarów, umożliwiając odzyskiwanie konwersji, które w przeciwnym razie zostałyby utracone z powodu blokowania plików cookie lub wieloekranowych ścieżek zakupowych (cross-device). Dzięki bezpiecznemu przesyłaniu zahaszowanych danych własnych (tzw. first-party data, np. adresu e-mail) do Google, system może dopasować te informacje do zalogowanych kont Google, przypisując konwersję do właściwego kliknięcia w reklamę.
Poniższy poradnik wyjaśnia proces przechwytywania adresu e-mail po dokonaniu zakupu lub wygenerowaniu leada, gwarantując jego poprawne zahaszowanie i przesłanie za pomocą narzędzia Google Tag Manager (GTM).

Krok 1: Włączenie funkcji w Google Ads
Przed rozpoczęciem jakichkolwiek prac technicznych, Rozszerzone Konwersje muszą zostać aktywowane na koncie Google Ads. Dokonuje się tego poprzez nawigację do sekcji „Konwersje”, wybranie odpowiedniej akcji konwersji (np. Zakup lub Kontakt) i zaznaczenie pola aktywującego funkcję. Należy przy tym wybrać metodę wdrożenia przez „Tag Google lub Menedżer tagów Google”.
Krok 2: Przechwytywanie adresu e-mail
Trzonem wdrożenia jest ekstrakcja adresu e-mail klienta na stronie z podziękowaniem (Thank You Page). Istnieją dwie główne metody realizacji tego zadania:
Metoda A: DataLayer (Zalecana)
Najbardziej niezawodne podejście polega na wypchnięciu adresu e-mail bezpośrednio do warstwy danych (DataLayer) z poziomu serwera lub systemu CMS. Standardowy kod DataLayer push po udanej transakcji wygląda następująco:
<script>
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'purchase',
'customerData': {
'email': 'klient@przyklad.pl'
}
});
</script>
Następnie w GTM konieczne jest utworzenie Zmiennej warstwy danych (Data Layer Variable) wskazującej na klucz customerData.email.
Metoda B: Selektory CSS (Zapasowa)
Jeśli modyfikacja DataLayer jest niemożliwa, adres e-mail da się wyciągnąć bezpośrednio ze struktury dokumentu (DOM) witryny. Jeżeli adres wyświetla się na stronie potwierdzenia (np. w elemencie <span id="customer-email">klient@przyklad.pl</span>), w GTM da się utworzyć Zmienną elementu DOM (DOM Element Variable). Jako metodę wyboru należy ustawić „Selektor CSS”, wskazując konkretny identyfikator (np. #customer-email).
Krok 3: Utworzenie zmiennej danych podanych przez użytkownika
Po przechwyceniu adresu e-mail w formie zmiennej GTM, należy go odpowiednio sformatować pod kątem Google Ads.
- W GTM tworzona jest nowa zmienna typu Dane podane przez użytkownika (User-Provided Data).
- Wybierana jest opcja konfiguracji ręcznej.
- Wcześniej utworzona zmienna z adresem e-mail (z DataLayer lub DOM) zostaje przypisana do pola „E-mail”.
Krok 4: Haszowanie i transmisja
Przepisy o ochronie prywatności wymagają, aby dane osobowe nigdy nie były przesyłane otwartym tekstem. Ogromną zaletą użycia zmiennej GTM typu „Dane podane przez użytkownika” jest fakt, że automatycznie nakłada ona wymagany algorytm haszujący SHA-256 na adres e-mail przed jego wysłaniem. Ręczne haszowanie za pomocą niestandardowego kodu JavaScript nie jest wymagane.
Krok 5: Podpięcie do tagu konwersji
Ostatnim etapem jest powiązanie skonfigurowanych danych z tagiem śledzącym.
- Otwierany jest istniejący tag śledzenia konwersji Google Ads.
- Zaznaczane jest pole „Uwzględnij dane podane przez użytkownika ze swojej witryny”.
- Z menu rozwijanego wybierana jest nowo utworzona zmienna danych użytkownika.
Konfigurację należy bezwzględnie przetestować, korzystając z trybu podglądu (Preview Mode) w GTM. Po uruchomieniu tagu konwersji da się przeanalizować żądanie sieciowe (Network Request), aby zweryfikować, czy parametr em (e-mail) został wypełniony zahaszowanym ciągiem znaków. Potwierdza to w pełni skuteczne i bezpieczne dla prywatności wdrożenie.
Komentarze: 2
Wyjaśnienie, że zmienna sama wykonuje haszowanie, oszczędza sporo niepotrzebnego kodu — spotykam wdrożenia z własną implementacją SHA-256 w szablonie.
Pytanie o zgody: konwersje rozszerzone wysyłają zahaszowane dane osobowe. Jak to się ma do Consent Mode, gdy odwiedzający odmówił?
Dane użytkownika jadą tylko wtedy, gdy tag rzeczywiście wysyła konwersję i zgoda na dane reklamowe została udzielona. Przy odmowie tag działa w trybie ograniczonym: wychodzi ping bez identyfikatorów i bez tych pól. Konwersje rozszerzone niczego tu nie obchodzą.
Praktyczny błąd leży gdzie indziej i zdarza się często: adres trafia do warstwy danych niezależnie od decyzji, bo tak jest wygodniej programiście. Wtedy leży w przeglądarce, dostępny dla każdego innego tagu w kontenerze — również tych, których zgoda nie obejmuje.
Stąd zasada, którą warto zapisać przy wdrożeniu: dane osobowe trafiają do warstwy danych dopiero wtedy, gdy istnieje podstawa do ich wysłania. Samo poprawne skonfigurowanie tagu nie wystarcza, jeżeli wartość i tak czeka w kodzie strony — kontrola po stronie tagu chroni wysyłkę, nie samą obecność danych.