Z tego przewodnika dowiesz się, jak:
- Skonfiguruj serwer tagowania w usłudze App Engine w Google Cloud Platform (GCP).
- Zaktualizuj serwer tagowania, aby obsługiwał ruch na żywo.
- Zwiększ lub zmniejsz liczbę serwerów, na których działa kontener Menedżera tagów Google.
- Po skonfigurowaniu serwera aktualizuj jego wersję.
Wymagania wstępne
- Musisz mieć konto GCP. Jeśli nie masz konta, utwórz nowe konto GCP.
- Musisz mieć konto rozliczeniowe GCP. Jeśli nie masz takiego konta, utwórz konto rozliczeniowe GCP (wymaga to roli „Twórca konta rozliczeniowego”).
- Musisz mieć rolę twórcy projektu i użytkownika konta rozliczeniowego. Dowiedz się więcej o dodawaniu ról.
1. Konfigurowanie serwera
Aby utworzyć nowy serwer tagowania na instancji App Engine, wykonaj te czynności:
- Tworzenie nowego kontenera serwera w Menedżerze tagów
- Utwórz nowy projekt Google Cloud (GCP)
- Konfigurowanie nowego serwera tagowania App Engine
- Dodaj adres URL nowego serwera tagowania do kontenera serwera Menedżera tagów
Tworzenie kontenera serwera Menedżera tagów Google
Otwórz Menedżera tagów Google.
W wierszu konta kliknij menu > Utwórz kontener.
Utwórz nowy kontener serwera.
Kliknij opcję „Udostępnij serwer tagowania ręcznie”. Zwróć uwagę na konfigurację kontenera. Potrzebujesz go do zaprovisionowania serwera.
Tworzenie nowego projektu GCP
Aby utworzyć nowy projekt GCP dla serwera tagowania:
Otwórz konsolę Google Cloud.
Nazwij projekt. Dla wygody zalecamy używanie identyfikatora kontenera. Ta nazwa jest używana tylko w GCP.
Zanotuj identyfikator projektu GCP, ponieważ będziesz go potrzebować do utworzenia serwera tagowania.
Konfigurowanie nowego serwera tagowania
Aby utworzyć serwer tagowania:
Otwórz Cloud Shell.
Ustaw projekt GCP w Cloud Shell. Zastąp
project IDidentyfikatorem projektu GCP zapisanym wcześniej:gcloud config set project project IDUtwórz serwer tagowania, postępując zgodnie ze skryptem powłoki. Ustaw typ wdrożenia na
testing.bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
Dodawanie adresu URL serwera tagowania do Menedżera tagów
Otwórz Menedżera tagów Google.
W sekcji Administracja > Ustawienia kontenera kliknij Dodaj URL. Jeśli nie znasz adresu URL serwera, uruchom w Cloud Shell to polecenie:
gcloud app browseWynik: skonfigurowany serwer tagowania z konfiguracją
testing. Możesz teraz przetestować tagowanie po stronie serwera.
Początkowa konfiguracja serwera (testing)
Konfiguracja testów jest odpowiednia do testowania usługi przez wysyłanie niewielkich ilości testowego ruchu i używanie funkcji podglądu w Menedżerze tagów. Ta konfiguracja jest klasą instancji F1 App Engine w środowisku Standard i w większości przypadków nie wiąże się z żadnymi kosztami.
2. Korzystanie z App Engine w środowisku produkcyjnym
W konfiguracji production każdy serwer kosztuje około 40 USD miesięcznie. Każdy serwer to instancja App Engine z 1 vCPU, 0, 5 GB pamięci i 10 GB dysku w środowisku elastycznym.
Aby dowiedzieć się więcej o płatnościach za App Engine i o konfigurowaniu alertów dotyczących płatności, przeczytaj artykuł Zarządzanie kosztami App Engine. Zalecamy skonfigurowanie alertu dotyczącego rozliczeń.
Zalecane ustawienia dotyczące produkcji
Zalecamy korzystanie z co najmniej 3 serwerów, aby zmniejszyć ryzyko utraty danych w przypadku awarii serwera. Możesz jednak zdecydować się na mniej (lub więcej) serwerów. Oczekujemy, że autoskalowanie od 3 do 6 serwerów (domyślnie) będzie obsługiwać 50–200 żądań na sekundę. Skuteczność zależy od liczby tagów i ich funkcji.
Aby skonfigurować serwer tagowania:
- Otwórz Cloud Shell w Google Cloud Platform.
- Ustaw projekt Cloud Platform w Cloud Shell. Zastąp
project IDidentyfikatorem projektu GCP zapisanym wcześniej:gcloud config set project project ID
- Aby ponownie skonfigurować serwer tagowania pod kątem środowiska produkcyjnego, uruchom skrypt konfiguracji poniżej. Wykonaj te czynności:
bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
- Zmień typ wdrożenia na
production. - Skonfiguruj dodatkowe serwery obsługujące ruch produkcyjny. Zalecamy minimalną liczbę 3 serwerów.
- Zmień typ wdrożenia na
Opcjonalnie: wyłącz logowanie
Logowanie żądań
Domyślnie App Engine rejestruje informacje o każdym otrzymanym żądaniu (np.ścieżkę żądania, parametry zapytania itp.). Jeśli Twój serwer tagowania obsługuje dużo żądań miesięcznie (np. ponad 1 mln), te komunikaty logowania mogą spowodować znaczne opłaty za rejestrowanie. Aby zmniejszyć lub wyeliminować opłaty za logowanie, zalecamy wyłączenie logowania żądań App Engine.
Aby wyłączyć rejestrowanie żądań App Engine:
- Na platformie Google Cloud otwórz Router logów. Upewnij się, że jesteś w projekcie, który odpowiada identyfikatorowi kontenera:

- W polu Typ: Zbiornik Cloud Logging, Nazwa: _Domyślny wybierz menu przepełnienia, a potem kliknij Edytuj odbiornik.
- W sekcji Miejsce docelowe ujścia wybierz zasobnik logów _Default.
W sekcji Wybierz logi do uwzględnienia w ujściu dodaj nową linię. Wpisz tę regułę do istniejącego filtra uwzględniania:
NOT LOG_ID("appengine.googleapis.com/nginx.request") AND NOT LOG_ID("appengine.googleapis.com/request_log")Aby wyłączyć również rejestrowanie z równoważnika obciążenia, dodaj nową linię i wpisz tę regułę do istniejącego filtra uwzględniania:
NOT LOG_ID("requests")Aby zastosować zmiany, kliknij Zaktualizuj ujście. Żądania App Engine zostaną wykluczone z rejestrowania.
Sprawdź, czy w logach Eksploratora logów nie pojawiają się żadne nowe żądania.
Logowanie w konsoli
Serwer tagowania, klienty lub tagi w kontenerze może rejestrować w konsoli wiadomości, które mogą powodować opłaty za rejestrowanie. Aby zmniejszyć lub wyeliminować opłaty za rejestrowanie, możesz wyłączyć niechciane komunikaty z konsoli.
Wykrywanie niechcianych logów konsoli:
- W GCP otwórz Eksplorator logów.
Poszukaj wszelkich niechcianych komunikatów dziennika, które pochodzą z Twoich tagów. Przykład:
Tag może wysyłać te logi:
const logToConsole = require('logToConsole'); logToConsole('Custom message: ' + data.param1); logToConsole('An important message to keep around!'); data.gtmOnSuccess()Odpowiednie komunikaty dziennika znajdziesz w polu
textPayload:
Aby wyłączyć komunikat z dziennika konsoli:
- Na platformie Google Cloud otwórz Router logów. Upewnij się, że jesteś w projekcie, który odpowiada identyfikatorowi kontenera:

- W polu Typ: Zbiornik Cloud Logging, Nazwa: _Domyślny wybierz menu przepełnienia, a potem kliknij Edytuj odbiornik.
- W sekcji Miejsce docelowe ujścia wybierz zasobnik logów _Default.
W sekcji Wybierz logi do uwzględnienia w ujściu dodaj nową linię. Dodaj do istniejącego filtra uwzględniającego tę regułę:
NOT textPayload:"Custom message:"W przypadku logów konsoli zastąp tekst Custom message: podłańcuchem z logu konsoli, który chcesz wyłączyć. Aby tworzyć bardziej zaawansowane filtry, użyj języka zapytań dotyczących logów.
Aby zastosować zmiany, kliknij Zaktualizuj ujście. Odpowiadająca wiadomość
logToConsolepowinna zostać wykluczona z rejestrowania.Sprawdź, czy w eksploratorze logów nie pojawiają się żadne nowe komunikaty z konsoli.
3. Mapowanie wdrożenia na własną domenę
Domyślne wdrożenie tagowania po stronie serwera jest hostowane w domenie App Engine. Zalecamy zmodyfikowanie wdrożenia, aby używać subdomeny witryny.
Mapuj subdomenę witryny na serwer tagowania.
4. Dodawanie adresu URL serwera do Menedżera tagów Google
Teraz, gdy masz już serwer, musisz się upewnić, że Menedżer tagów Google wie, że ma go używać.
Otwórz Menedżera tagów Google.
Kliknij kontener serwera, który ma wskazywać na serwer tagowania.
Otwórz ustawienia kontenera serwera na karcie Administracja > Ustawienia kontenera.
Kliknij Dodaj URL i wklej adres URL serwera.
Zapisz i wróć do obszaru roboczego.
5. Weryfikacja
Po skonfigurowaniu serwera tagowania sprawdź, czy działa on zgodnie z oczekiwaniami. W obszarze roboczym Menedżera tagów kliknij przycisk Podgląd. Jeśli załaduje się strona podglądu, oznacza to, że wszystko jest skonfigurowane prawidłowo.
Wyświetlanie podglądu wielu adresów URL
Jeśli na 1 serwer tagowania masz zmapowane wiele domen, upewnij się, że do ustawień kontenera dodano każdy adres URL.
Jeśli podasz kilka adresów URL, wszystkie ścieżki (ciąg znaków po nazwie domeny) muszą być takie same.
| Działanie | Nie działa |
|---|---|
URL 1: example.com/abcURL 2: example2.com/abc |
URL 1: example.com/abcURL 2: example2.com/def |
Jeśli dodasz kilka adresów URL, obok przycisku Podgląd zobaczysz ikonę, która pozwala wybrać adres URL, którego podgląd chcesz wyświetlić.
Aktualizacja wersji serwera tagowania
Nowe aktualizacje serwera tagowania zawierają poprawki dotyczące luk w zabezpieczeniach i nowe funkcje. Zalecamy aktualizację serwera tagowania co najmniej w przypadku każdej nowej głównej wersji (np. z 1.x.x na 2.x.x), gdy Menedżer tagów powiadomi Cię o konieczności aktualizacji.
Aby zaktualizować serwer tagowania, ponownie uruchom skrypt konfiguracji, używając tych samych ustawień. Domyślnie są używane istniejące ustawienia.
Aby zaktualizować serwer tagowania:
- Otwórz Cloud Shell w Google Cloud Platform.
- Ustaw projekt Cloud Platform w Cloud Shell. Zastąp
project IDidentyfikatorem projektu GCP zapisanym wcześniej:gcloud config set project project ID
- Uruchom skrypt konfiguracji, używając tych samych ustawień co poprzednio. Domyślnie używane są istniejące ustawienia.
bash -c "$(curl -fsSL https://googletagmanager.com/static/serverjs/setup.sh)"
Aby sprawdzić, czy aktualizacja została przeprowadzona prawidłowo:
- W kontenerze serwera kliknij przycisk Podgląd, aby rozpocząć nową sesję debugowania i wysłać żądanie na osobnej karcie.
- W sekcji Podsumowanie kliknij kartę Konsola i upewnij się, że nie ma żadnych komunikatów z prośbą o zaktualizowanie serwera tagowania.
Menedżer tagów może wyświetlać komunikaty z prośbą o zaktualizowanie serwera tagowania przez okres do 1 dnia po jego zaktualizowaniu. Na stronie podglądu pojawi się jednak aktualny komunikat o wersji serwera tagowania.
Rozwiązywanie problemów z czasem oczekiwania na wdrożenie w środowisku produkcyjnym
Gdy uruchamiasz skrypt konfiguracji, aby utworzyć lub zmienić konfigurację serwera tagowania, może wystąpić przekroczenie limitu czasu skryptu. Może się tak zdarzyć z kilku powodów. Oto 2 najczęstsze z nich:
Uprawnienia kont usługi są nieprawidłowe – konta usługi Compute Engine i App Engine odpowiadają za wdrażanie i utrzymywanie wdrożenia produkcyjnego. Domyślnie mają one wstępnie skonfigurowane odpowiednie uprawnienia. Jednak w niektórych przypadkach zasady organizacji mogą spowodować, że będą nieprawidłowe.
- Na pasku nawigacyjnym po lewej stronie w konsoli Google Cloud otwórz stronę Administracja.
- Znajdź konto usługi Compute Engine
<project_number>-compute@developer.gserviceaccount.comi konto usługi App Engine<project_name>@appspot.gserviceaccount.com. - Oba konta usługi muszą mieć przypisaną rolę
Editor. Jeśli któreś z kont nie ma przypisanej roliEditor, zaktualizuj rolę. Aby to zrobić, kliknij ikonę ołówka po prawej stronie konta, kliknij menu dotychczasowej roli, przewiń w górę i kliknij Projekt, a następnie Edytujący.
Niewystarczający limit – wdrożenie produkcyjne zużywa limit Compute Engine. Jeśli projekt nie ma wystarczającej ilości limitu, wdrożenie może zostać przerwane podczas próby zasobu.
- Otwórz stronę Administracja na pasku nawigacyjnym po lewej stronie w konsoli Google Cloud, a następnie kliknij kartę Limity na pasku nawigacyjnym po lewej stronie.
- U góry strony kliknij pole tekstowe Filtruj tabelę i wpisz
Compute Engine API. Kliknij jedyny wynik. - Sprawdź, czy wszystkie stany limitów są w zakresie limitu lub mają zieloną ikonę wyboru.
- Znajdź i kliknij Procesory. Sprawdź, czy bieżące wykorzystanie plus liczba wdrożonych instancji nadal nie przekracza limitu dla regionu wdrożenia.