Projekt przyspieszonych stron mobilnych (Accelerated Mobile Pages, AMP) to platforma internetowa typu open source , która pomaga poprawić wydajność treści internetowych. AMP obejmuje wbudowaną obsługę tagu Google i Menedżera tagów Google. Z tego przewodnika dowiesz się, jak skonfigurować Google Analytics na stronach AMP.
Instalacja
Tag Google umożliwia instalowanie Google Analytics, Google Ads i innych usług Google na stronach AMP. Menedżer tagów Google konfiguruje kontener AMP i umożliwia tworzenie zaawansowanych konfiguracji oraz wdrażanie tagów innych firm z interfejsu Menedżera tagów.
Wybierz preferowaną platformę, klikając jeden z tych przycisków:
Tag Google
Implementacja tagu gtag.js w AMP korzysta z platformy amp-analytics, która umożliwia
instrumentowanie analizy w witrynie AMP. Dane mogą być wysyłane ze stron AMP do Google Ads, Google Analytics i innych usług Google z tej samej implementacji tagu gtag.js.
Instalacja
Aby skonfigurować tag gtag.js na stronie AMP, najpierw upewnij się, że
komponent amp-analytics został umieszczony w tagu <head> na stronie:
<script async custom-element="amp-analytics"
src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js">
</script>
Następnie dodaj tag Google do strony AMP jako komponent JSON w tagu
<body> na stronie. Zastąp ciąg <TARGET_ID>
identyfikatorem tagu usług (np. Google Ads, Google Analytics), do których chcesz
wysyłać dane:
<amp-analytics type="gtag" data-credentials="include">
<script type="application/json">
{
"vars" : {
"gtag_id": "<TARGET_ID>",
"config" : {
"<TARGET_ID>": { "groups": "default" }
}
}
}
</script>
</amp-analytics>
Aby skonfigurować wiele usług w tagu Google, nie musisz instalować całego tagu z tej usługi. Wystarczy, że dodasz identyfikator miejsca docelowego do
osobnego config polecenia.
<amp-analytics type="gtag" data-credentials="include">
<script type="application/json">
{
"vars" : {
"gtag_id": "<TAG_ID>",
"config" : {
"<TAG_ID>": { "groups": "default" },
<!-- Additional IDs -->
}
}
}
</script>
</amp-analytics>
Więcej informacji znajdziesz w dokumentacji amp-analytics.
Aktywatory zdarzeń
Aby wysyłać określone dane do usług, skonfiguruj reguły na podstawie zdarzeń, takich jak kliknięcia. Reguły dla gtag.js w AMP są zgodne z tymi samymi wzorcami JSON co
inne amp-analytics konfiguracje reguł.
Ten przykład pokazuje, jak wysłać zdarzenie click do Google Analytics. Wartość selector to selektor CSS, który pozwala określić, który element jest docelowy. Wartość on określa typ zdarzenia, w tym przypadku jest to zdarzenie click. W sekcji vars określ typ zdarzenia w event_name i dodaj dodatkowe parametry w razie potrzeby.
"triggers": {
"button": {
"selector": "#the-button",
"on": "click",
"vars": {
"event_name": "login",
"method": "Google"
}
}
}
Oprócz zalecanych zdarzeń możesz określić własne zdarzenia niestandardowe.
Wysyłanie wymiarów i parametrów niestandardowych do Google Analytics
Aby wysyłać wymiary i dane niestandardowe do Google Analytics ze stron AMP za pomocą
gtag.js, możesz użyć właściwości extraUrlParams w konfiguracjach reguł
w pliku JSON <amp-analytics>. Parametry niestandardowe w Google Analytics są wysyłane jako parametry zdarzeń.
- W przypadku parametrów zdarzeń o wartościach tekstowych użyj prefiksu
ep.. - W przypadku parametrów zdarzeń o wartościach liczbowych użyj prefiksu
epn..
Przed wysłaniem upewnij się, że te wymiary i dane niestandardowe są zarejestrowane w usłudze w Google Analytics.
Przykład: parametry niestandardowe z wyświetleniem strony
Ta konfiguracja wysyła wymiar niestandardowy my_custom_dimension i dane niestandardowe my_page_score z początkowym wyświetleniem strony:
<amp-analytics type="gtag" id="gtag_amp">
<script type="application/json">
{
"vars": {
"gtag_id": "G-XXXXXX",
"config": {
"G-XXXXXX": { "groups": "default" }
}
},
"triggers": {
"pageview": {
"on": "visible",
"request": "pageview",
"extraUrlParams": {
"ep.my_custom_dimension": "value1",
"epn.my_page_score": 95
}
}
}
}
</script>
</amp-analytics>
Przykład: parametry niestandardowe ze zdarzeniem kliknięcia
Ta konfiguracja wysyła parametry niestandardowe po kliknięciu elementu o identyfikatorze myButton:
<amp-analytics type="gtag" id="gtag_amp">
<script type="application/json">
{
"vars": {
"gtag_id": "G-XXXXXX",
"config": {
"G-XXXXXX": { "groups": "default" }
}
},
"triggers": {
"pageview": {
"on": "visible",
"request": "pageview"
},
"trackButtonClick": {
"on": "click",
"selector": "#myButton",
"request": "event",
"vars": {
"event_name": "button_click",
"event_category": "Interactive"
},
"extraUrlParams": {
"ep.button_id": "myButton",
"ep.custom_info": "MoreDetails"
}
}
}
}
</script>
</amp-analytics>
Domeny z linków
Tag łączący domeny umożliwia pomiar 2 lub więcej powiązanych witryn w osobnych domenach jako jednej. Aby określić domeny, które mają być połączone, użyj kodu
"linker": { "domains": [...] }:
<amp-analytics type="gtag" data-credentials="include">
<script type="application/json">
{
"vars" : {
"gtag_id": "<TARGET_ID>",
"config" : {
"<TARGET_ID>": {
"groups": "default",
"linker": { "domains": ["example.com", "example2.com", "foo.example.com"] }
}
}
}
}
</script>
</amp-analytics>
Możliwość łączenia z domeną kanoniczną z pamięci podręcznej AMP jest domyślnie włączona. Aby wyłączyć możliwość łączenia ruchu w domenie, dodaj "linker":
"false" do parametrów config:
<amp-analytics type="gtag" data-credentials="include">
<script type="application/json">
{
"vars" : {
"gtag_id": "<TARGET_ID>",
"config" : {
"<TARGET_ID>": {
"groups": "default",
"linker": "false"
}
}
}
}
</script>
</amp-analytics>
Kompletny przykład
Ten przykład kodu przedstawia kompletną działającą wersję demonstracyjną strony AMP, która tworzy jedną stronę AMP i wysyła zdarzenie button-click do Google Analytics po kliknięciu przycisku. Zastąp ciąg <TAG_ID> prawidłowym identyfikatorem tagu:
<!doctype html>
<html ⚡ lang="en">
<head>
<meta charset="utf-8">
<link rel="canonical" href="self.html" />
<title>AMP gtag demo</title>
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
<!-- Load AMP -->
<script async src="https://cdn.ampproject.org/v0.js"></script>
<!-- Load amp-analytics -->
<script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>
</head>
<body>
<!-- Configure analytics to use gtag -->
<amp-analytics type="gtag" data-credentials="include">
<script type="application/json">
{
"vars": {
"gtag_id": "<TAG_ID>",
"config": {
"<TAG_ID>": {}
}
},
"triggers": {
"button": {
"selector": "#the-button",
"on": "click",
"vars": {
"event_name": "login",
"method": "Google"
}
}
}
}
</script>
</amp-analytics>
<h1>Welcome to the mobile web</h1>
<div>
<button type="button" id="the-button">Example: Log in with Google</button>
</div>
</body>
</html>
Rozwiązywanie problemów
Aby sprawdzić konfigurację tagowania, użyj validator.amp.dev. Możesz też ręcznie
sprawdzić, czy wartość cid jest spójna w różnych domenach, wykonując te
czynności:
- Wyczyść pliki cookie lub użyj trybu incognito.
- Jeśli nie można znaleźć parametru
cidw pliku cookie Google Analytics, można go też sprawdzić na karcie Sieć w przeglądarce. Wyszukajcollect request, a ładunek powinien zawierać wartośćcid. Po przejściu z sieci CDN Google do witryny klienta wartość
cidigclidpowinny być przekazywane za pomocą dekoracji adresu URL:**_Linker format: mydomain.com?\_gl=1\*1ie2jr6\*\_ga\*WHFTa3JPckw2TGxZSzY5b3V1cVNVSmRIREI.\*gclid\*dGVzdA.._**Końcowa strona docelowa powinna mieć taką samą wartość
cidjak początkowa strona docelowa.Uważaj na przekierowania i zmiany domeny między stroną kanoniczną a stronami docelowymi innymi niż AMP.