Ускоренные мобильные страницы (AMP) создаются для статического контента и отличаются от обычных высокой скоростью загрузки. Действия пользователей на AMP-страницах отслеживаются при помощи элемента amp-analytics
, у которого есть встроенная поддержка Google Analytics.
Подробнее об анализе действий на AMP-страницах читайте в руководстве по элементу amp-analytics. О том, что такое ускоренные мобильные страницы, читайте в статье What Is AMP? на сайте Accelerated Mobile Pages Project (на английском языке).
О требованиях для настройки и возможностях отслеживания AMP-страниц с помощью Google Analytics читайте в этой статье Справочного центра.
Какие действия пользователей на AMP-страницах можно отслеживать с помощью Google Analytics
amp-analytics
– это дополнительный компонент. Его нельзя использовать, пока он не будет явным образом включен в документ в качестве пользовательского элемента. Чтобы функции Google Analytics работали на AMP-страницах, разместите между тегами <head>
(перед библиотекой AMP JS) следующий скрипт:
<script async custom-element="amp-analytics"
src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>
Добавьте элемент amp-analytics
в тело страницы. Чтобы включить встроенную поддержку Google Analytics, задайте для атрибута type
элемента amp-analytics
значение googleanalytics
. Также рекомендуется добавить атрибут id
, чтобы распознать, для чего используется тот или иной элемент amp-analytics
(например, для отладки или другой операции).
<amp-analytics type="googleanalytics">
...
</amp-analytics>
При настройке Google Analytics в атрибуте триггера request
можно использовать следующие значения:
pageview
для отслеживания страниц;event
для отслеживания событий;social
для отслеживания активности в социальных сетях.
Отслеживание страниц
С помощью этой функции вы можете узнать число просмотров определенной страницы на вашем сайте.
Для передачи просмотров страниц в атрибуте триггера request
нужно установить значение pageview
.
<amp-analytics type="googleanalytics">
<script type="application/json">
{
"vars": {
"account": "UA-XXXXX-Y"
},
"triggers": {
"trackPageview": {
"on": "visible",
"request": "pageview"
}
}
}
</script>
</amp-analytics>
В атрибуте триггера vars
можно установить пары "ключ–значение" для следующих полей просмотров страниц:
Значение | Тип | Обязательно? | Описание |
---|---|---|---|
title |
string |
Нет | Заголовок страницы (например, "главная страница"). Значение по умолчанию – title . |
documentLocation |
string |
Нет | URL отслеживаемой страницы, например, https://www.ampproject.org/ (по умолчанию – sourceUrl ). |
Следующий пример кода переопределяет значения по умолчанию для title
и documentLocation
.
<amp-analytics type="googleanalytics">
<script type="application/json">
{
"vars": {
"account": "UA-XXXXX-Y"
},
"triggers": {
"trackPageviewWithCustomUrl": {
"on": "visible",
"request": "pageview",
"vars": {
"title": "My page",
"documentLocation": "https://www.examplepetstore.com/pets.html"
}
}
}
}
</script>
</amp-analytics>
Отслеживание событий
Событие – это взаимодействие пользователя с контентом, которое можно отслеживать независимо от просмотров страниц или экранов. Подробнее о событиях в Google Analytics читайте в нашем Справочном центре.
Для отправки событий в атрибуте триггера request
нужно установить значение event
, а также задать категорию событий и поля действий.
В примере ниже с помощью атрибута триггера selector
событие отправляется при нажатии на определенный элемент:
<amp-analytics type="googleanalytics">
<script type="application/json">
{
"vars": {
"account": "UA-XXXXX-Y"
},
"triggers": {
"trackClickOnHeader" : {
"on": "click",
"selector": "#header",
"request": "event",
"vars": {
"eventCategory": "ui-components",
"eventAction": "header-click"
}
}
}
}
</script>
</amp-analytics>
В атрибуте триггера vars
можно установить пары "ключ–значение" для следующих полей события:
Значение | Тип | Обязательно? | Описание |
---|---|---|---|
eventCategory |
string |
Да | Обычно – объект, с которым произошло взаимодействие (например, "Видео"). |
eventAction |
string |
Да | Тип взаимодействия (например, "Воспроизведение"). |
eventLabel |
string |
Нет | Поле, в котором можно указывать категорию события (например, "Осенняя кампания"). |
eventValue |
integer |
Нет | Численное значение, связанное с событием (например, 42). Значение по умолчанию – 0. |
События без взаимодействия
В некоторых случаях вам может потребоваться отправить событие без взаимодействия.
Для этого параметру ni
в разделе extraUrlParams
нужно присвоить значение "1"
, как показано в примере ниже:
"extraUrlParams": {
"ni": "1"
}
Полный пример синтаксиса представлен в разделе Расширение функции googleanalytics
.
Отслеживание взаимодействий в социальных сетях
С помощью этой функции можно узнать, сколько раз пользователи выполняли действия, связанные с социальными сетями, – например, отслеживать число нажатий на ссылку "Отправить твит" в Twitter.
Если вы не работали с социальными взаимодействиями в Google Analytics или не знаете, какие значения использовать для отслеживания действий в социальных сетях, прочтите статью О социальных плагинах и взаимодействиях в Справочном центре Google Analytics.
Для отправки взаимодействий в атрибуте триггера request
необходимо задать значение social
, а также указать социальную сеть, действие и цель в одноименных полях.
В следующем примере с помощью атрибута триггера selector
событие отправляется при нажатии на определенную кнопку социальной сети.
<amp-analytics type="googleanalytics">
<script type="application/json">
{
"vars": {
"account": "UA-XXXXX-Y"
},
"triggers": {
"trackClickOnTwitterLink" : {
"on": "click",
"selector": "#tweet-link",
"request": "social",
"vars": {
"socialNetwork": "twitter",
"socialAction": "tweet",
"socialTarget": "https://www.examplepetstore.com"
}
}
}
}
</script>
</amp-analytics>
В атрибуте триггера vars
можно установить пары "ключ–значение" для следующих полей события:
Значение | Тип | Обязательно? | Описание |
---|---|---|---|
socialNetwork |
string |
Да | Сеть, в которой произошло взаимодействие. Примеры: Facebook, Twitter. |
socialAction |
string |
Да | Тип взаимодействия. Примеры: "Нравится", "Отправить", "Отправить твит". |
socialTarget |
string |
Да | Цель взаимодействия в социальных сетях. Значением обычно является URL, но может быть любой текст. Пример: http://mycoolpage.com. |
Расширение функции googleanalytics
Поскольку конечной точкой для запросов в конфигурации googleanalytics
является Measurement Protocol, вы можете настроить отправку с обращениями дополнительных параметров Measurement Protocol. Например, это помогает при отправке значений для пользовательских параметров и показателей, отправка которых ожидается вместе с обращениями.
Например, вы можете отправить запрос, указав специальный параметр pageview (или любые другие параметры, которые нужно добавить к обращению), в разделе extraUrlParams
. Этот раздел может быть включен на уровне триггера для одиночных запросов или на общем уровне, чтобы отправлять данные со всеми запросами.
<amp-analytics type="googleanalytics">
<script type="application/json">
{
"vars": {
"account": "UA-XXXXX-Y"
},
"extraUrlParams": {
"cd3": "AMP"
},
"triggers": {
"trackPageviewWithCustomData": {
"on": "visible",
"request": "pageview"
},
"trackEvent" : {
"on": "visible",
"request": "event",
"vars": {
"eventCategory": "ui-components",
"eventAction": "header-click"
},
"extraUrlParams": {
"ni": "1"
}
}
}
}
</script>
</amp-analytics>
Выборка
Элемент AMP-analytics позволяет производить выборку для запросов с AMP-страниц. Чтобы настроить выборку 1% данных для одного или нескольких запросов, отправляемых с такой страницы, можно использовать следующую конфигурацию:
<amp-analytics type="googleanalytics">
<script type="application/json">
{
"vars": {
"account": "UA-XXXXX-Y"
},
"triggers": {
"trackPageviewWithCustom" : {
"on": "visible",
"request": "pageview",
"sampleSpec": {
"sampleOn": "${clientId}",
"threshold": 1
}
}
}
}
</script>
</amp-analytics>
Отслеживание исходящих ссылок
Вы можете реализовать отслеживание исходящих ссылок на AMP-странице, если пометите эти ссылки и настроите триггер так, чтобы он срабатывал при нажатии на них. Ниже описано, как сделать это.
Добавление триггера для отслеживания кликов по ссылкам
<amp-analytics type="googleanalytics">
<script type="application/json">
{
"vars": {
"account": "UA-XXXXX-Y"
},
"triggers": {
"outboundLinks": {
"on": "click",
"selector": "a",
"request": "event",
"vars": {
"eventCategory": "outbound",
"eventAction": "click",
"eventLabel": "${outboundLink}"
}
}
}
}
</script>
</amp-analytics>
Пометка ссылок
<a href="http://example.com/page" data-vars-outbound-link="http://example.com/page">Some link</a>
Трафик на страницах AMP и обычных веб-страницах
В силу технических ограничений для AMP по умолчанию используются идентификаторы клиентов, отличные от идентификаторов для обычных веб-ресурсов. AMP-страницы загружаются быстрее обычных и им свойственна другая структура трафика. Используя отдельный ресурс для AMP, вы сможете получать более точные данные о трафике на этих страницах. Если же вы работаете с одним ресурсом, обозначьте тип страниц параметром ds или иным специальным параметром. По умолчанию Google Analytics будет передавать с параметром источника данных значение "AMP", которое вы можете использовать для сегментации, фильтрации или иных аналитических операций, требующих сравнения данных по AMP и обычным страницам в рамках одного представления. Подробнее о настройке специальных параметров читайте здесь. Также вы можете настроить Google AMP Client ID API, чтобы использовать один идентификатора клиента на страницах с поддержкой AMP и без нее.
Пример кода AMP-страницы
Вот как выглядит код AMP-страницы, на которой настроено отслеживание просмотров и событий с помощью Google Analytics.
<!doctype html>
<html amp lang="en">
<head>
<meta charset="utf-8">
<title>Hello, AMP Analytics</title>
<link rel="canonical" href="http://example.ampproject.org/article-metadata.html" />
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
<script async custom-element="amp-analytics"
src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>
<style>body {opacity: 0}</style><noscript><style>body {opacity: 1}</style></noscript>
<script async src="https://cdn.ampproject.org/v0.js"></script>
</head>
<body>
<amp-analytics type="googleanalytics">
<script type="application/json">
{
"vars": {
"account": "UA-XXXXX-Y"
},
"triggers": {
"trackPageview": {
"on": "visible",
"request": "pageview"
},
"trackEvent": {
"selector": "#event-test",
"on": "click",
"request": "event",
"vars": {
"eventCategory": "ui-components",
"eventAction": "click"
}
}
}
}
</script>
</amp-analytics>
<h1 id="header">AMP Page</h1>
<span id="event-test" class="box">
Click here to generate an event
</span>
</body>
</html>
Отладка
Узнать, соответствует ли веб-страница спецификации AMP HTML, поможет инструмент AMP Validator. Чтобы включить его, добавьте в URL страницы компонент #development=1
.
Провести отладку конфигурации и устранить неполадки также поможет расширение amp-analytics
, которое выводит предупреждения и сообщения об ошибках. Эти сообщения сохраняются в консоли браузера. Чтобы включить расширение, добавьте в URL страницы компонент #log=1
.
Пользовательская настройка
Благодаря встроенной поддержке Google Analytics расширение amp-analytics
позволяет легко отслеживать действия пользователей на AMP-страницах. Вы также можете создать свою конфигурацию, чтобы отправлять дополнительные поля и типы обращений из Measurement Protocol.
О том, как настроить пользовательскую конфигурацию, читайте здесь:
- amp-analytics extension: обзор расширения для захвата аналитических данных из документа AMP;
- amp-analytics variables: список переменных, поддерживаемых в
amp-analytics
; - vendor.js: файл с шаблонами
request
для поставщиков, включаяgoogleanalytics
(используйте шаблонgoogleanalytics
в качестве примера для создания собственных конфигураций). - Статьи о работе с Measurement Protocol и подходящих для него параметрах.