Konwersje Google Ads i Enhanced Conversions po stronie serwera
Twój kontener serwerowy już odbiera zdarzenie GA4 purchase z wartością, walutą i identyfikatorem transakcji. Google Ads może użyć tego samego zdarzenia, więc nie potrzebujesz drugiego strumienia danych z przeglądarki. W tej lekcji dodasz do kontenera serwerowego Conversion Linker i tag Google Ads Conversion Tracking, a potem wyślesz ze zdarzeniem zahashowane dane klienta, żeby Enhanced Conversions mogły dopasować więcej sprzedaży do kliknięć w reklamy.
Zaawansowany 12 min czytania
Czego się nauczysz
- Zachowasz identyfikator kliknięcia Google Ads w ciasteczkach first-party dzięki Conversion Linkerowi w obu kontenerach.
- Uruchomisz tag Google Ads Conversion Tracking w kontenerze serwerowym na zdarzeniu GA4
purchase. - Wyślesz e-mail, telefon i adres jako dane przekazane przez użytkownika, żeby Enhanced Conversions mogły z nich korzystać.
- Sprawdzisz konwersję w Preview serwera i w diagnostyce Google Ads.
01 Jak to wszystko do siebie pasuje
Gdy ktoś klika reklamę, adres strony docelowej zawiera gclid. Conversion Linker zapisuje go w ciasteczku first-party (_gcl_aw). Gdy odwiedzający kupuje, trafienie GA4 purchase dociera do kontenera serwerowego, a znajdujący się tam tag Google Ads Conversion Tracking wysyła konwersję do Google Ads z informacją o kliknięciu, wartością zamówienia i, przy Enhanced Conversions, zahashowanymi danymi klienta.
- Kontener Web: tag Conversion Linker i tagi GA4, które już masz.
- Kontener serwerowy: tag Conversion Linker, tag Google Ads Conversion Tracking i, jeśli prowadzisz remarketing, tag Google Ads Remarketing.
- Google Ads: działanie powodujące konwersję z włączonymi Enhanced Conversions.
02 Dodaj Conversion Linker w obu kontenerach
W kontenerze Web Conversion Linker odczytuje identyfikator kliknięcia z adresu strony docelowej i go zapisuje. W kontenerze serwerowym pozwala serwerowi tagowania obsługiwać ciasteczka Google Ads na sgtm.example.com, więc ustawia je jako first-party Twoja własna domena.
- 1 W kontenerze Web utwórz tag typu Conversion Linker, ustaw regułę All Pages i zapisz.
- 2 W kontenerze serwerowym otwórz Tags, kliknij New i wybierz Conversion Linker.
- 3 Uruchamiaj go na każdym trafieniu GA4: regułą typu Custom, która uruchamia się na Some Events z warunkiem Client Name equals
GA4. Reguła z lekcji 4 zadziała bez zmian. - 4 Zapisz tag.
03 Dodaj tag Google Ads Conversion Tracking
Najpierw zdobądź dwa identyfikatory działania powodującego konwersję. W Google Ads otwórz Goals, potem Conversions, otwórz działanie dla zakupu i zajrzyj do konfiguracji tagu dla Google Tag Managera. Znajdziesz tam Conversion ID (liczbę z AW-XXXXXXXXX) i Conversion Label.
- 1 W kontenerze serwerowym utwórz tag typu Google Ads Conversion Tracking.
- 2 Wpisz Conversion ID i Conversion Label z Google Ads.
- 3 Sprawdź pola wartości, waluty i identyfikatora transakcji. Domyślnie tag odczytuje je z danych zdarzenia (
value,currency,transaction_id), które niesie trafienie zakupu GA4. Wypełnij je tylko wtedy, gdy potrzebujesz innych wartości. - 4 Utwórz regułę typu Custom, która uruchamia się na Some Events z dwoma warunkami: Client Name equals
GA4i Event Name equalspurchase. - 5 Nazwij tag, na przykład
Google Ads - purchase, i zapisz.
Google Ads używa transaction_id, żeby odrzucać zduplikowane konwersje tego samego zamówienia, więc wysyłaj prawdziwy numer zamówienia, tak jak w poprzedniej lekcji.
04 Wysyłaj dane przekazane przez użytkownika dla Enhanced Conversions
Enhanced Conversions dodają do konwersji dane klienta z zamówienia (e-mail, numer telefonu, imię i nazwisko oraz adres). Google dopasowuje je do zalogowanych kont Google, co odzyskuje konwersje, których same ciasteczka nie wychwycą. Tagi Google normalizują wartości i hashują je SHA-256, zanim wyślą je do Google.
Wyślij dane razem z zakupem, w obiekcie user_data obok ecommerce:
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({ ecommerce: null });
window.dataLayer.push({
event: 'purchase',
user_data: {
email: '[email protected]',
phone_number: '+48123456789',
address: { first_name: 'Jan', last_name: 'Kowalski', postal_code: '00-001', country: 'PL' }
},
ecommerce: {
transaction_id: 'T-10293',
value: 129.90,
currency: 'EUR',
items: [{ item_id: 'SKU-1', item_name: 'Shoes', price: 129.90, quantity: 1 }]
}
});- 1 W kontenerze Web utwórz zmienne Data Layer Variables dla pól, na przykład
user_data.email,user_data.phone_numberiuser_data.address.postal_code. - 2 Utwórz zmienną typu User-Provided Data, wybierz konfigurację ręczną i przypisz każde pole (e-mail, telefon, imię, nazwisko, kod pocztowy, kraj) do odpowiedniej zmiennej Data Layer Variable.
- 3 W Google tagu dodaj parametr konfiguracji
user_dataze zmienną User-Provided Data jako wartością. Jeśli chcesz go tylko przy zakupie, dodaj zamiast tegouser_datajako parametr zdarzenia w tagu zdarzenia GA4. - 4 W Google Ads otwórz Goals, potem Settings, rozwiń Enhanced conversions for web, włącz tę opcję, jako metodę wybierz Google Tag Manager i zaakceptuj warunki dotyczące danych klientów.
Dane jadą teraz z trafieniem GA4 do sgtm.example.com, a tag Google Ads Conversion Tracking w kontenerze serwerowym wysyła je dalej razem z konwersją. W tagu serwerowym nie musisz niczego dodatkowo konfigurować.
05 Zgoda decyduje, co dostaje Google Ads
Trafienie GA4 przenosi stan zgody odwiedzającego do kontenera serwerowego, a tagi Google Ads w nim go respektują. Do pełnej konwersji z ciasteczkami kliknięcia i danymi klienta potrzebna jest zgoda na ad_storage i ad_user_data, skonfigurowana jak w lekcji 6.
- Odmowa
ad_storage: ciasteczka Google Ads nie są odczytywane ani zapisywane, więc nie da się przez nie powiązać konwersji z kliknięciem. - Odmowa
ad_user_data: dane przekazane przez użytkownika nie są używane do reklam, więc Enhanced Conversions nie mają czego dopasować. - Odmowa
ad_personalization: odwiedzający nie trafia na listy remarketingowe.
06 Sprawdź konwersję
Otwórz Preview w obu kontenerach. Wejdź na stronę z parametrem testowym, na przykład ?gclid=test123, zaakceptuj wszystkie zgody i złóż zamówienie testowe.
- Preview Web: Conversion Linker uruchamia się przy ładowaniu strony, a na Twojej domenie istnieje ciasteczko
_gcl_aw. - Preview serwera: przy zdarzeniu
purchasezarówno Conversion Linker, jak iGoogle Ads - purchasesą na liście Tags Fired. - Preview serwera: Outgoing HTTP Requests pokazują zapytanie z tagu Google Ads do domeny Google Ads, na przykład
googleadservices.com, ze statusem powodzenia. - Preview serwera: dane zdarzenia zawierają
user_data, avalue,currencyitransaction_idsą ustawione. - Google Ads: po kilku dniach działanie powodujące konwersję i jego diagnostyka Enhanced Conversions pokazują zarejestrowane konwersje i dopasowane dane klientów.
Najczęstsze pytania
Czy nadal potrzebuję tagu konwersji Google Ads w kontenerze Web?
Nie. Tag serwerowy wysyła konwersję ze zdarzenia zakupu GA4. Oba tagi naraz policzyłyby każde zamówienie podwójnie, chyba że oba wysyłają ten sam transaction_id. W kontenerze Web zostaw tylko Conversion Linker.
Czy mam sam zahashować e-mail przed wysłaniem do dataLayer?
Nie przy ręcznie skonfigurowanej zmiennej User-Provided Data: tagi Google normalizują i hashują wartości za Ciebie. Jeśli wolisz wysyłać już zahashowane wartości, muszą być znormalizowane i zahashowane SHA-256 dokładnie tak, jak opisuje to Google w dokumentacji Enhanced Conversions.
Dlaczego po zamówieniu testowym w Google Ads nie ma konwersji?
Zamówienie testowe bez prawdziwego kliknięcia w reklamę często nie jest przypisywane do kampanii. Najpierw sprawdź Preview serwera: jeśli zapytanie do Google Ads wyszło z serwera ze statusem powodzenia, a zgoda była udzielona, poczekaj dzień i sprawdź ponownie.
Gotowy, żeby przejść do praktyki?
Wdróż kontener server GTM na własnej domenie w kilka minut. Plan darmowy nie wymaga karty.
Załóż darmowe konto