Use cases
This guide provides a set of common use cases for tracking user engagement:
Tracking page views
Learn how to track page views using amp-pixel
and amp-analytics
.
Using amp-pixel
Send pageview data to a specified URL using
amp-pixel
:
<amp-pixel src="https://foo.com/pixel?"></amp-pixel>
Using amp-analytics - no vendor
Send pageview data to a specified URL using
amp-analytics
:
<amp-analytics>
<script type="application/json">
{
"requests": {
"pageview": "https://example.com/analytics?url=${canonicalUrl}&title=${title}&acct=${account}"
},
"vars": {
"account": "ABC123"
},
"triggers": {
"trackPageview": {
"on": "visible",
"request": "pageview"
}
}
}
</script>
</amp-analytics>
Using amp-analytics - googleanalytics
Send pageview data to Google Analytics (see also Page tracking in Google Analytics):
<amp-analytics type="googleanalytics" id="analytics1">
<script type="application/json">
{
"vars": {
"account": "UA-XXXXX-Y" // Replace with your property ID.
},
"triggers": {
"trackPageview": { // Trigger names can be any string. trackPageview is not a required name.
"on": "visible",
"request": "pageview"
}
}
}
</script>
</amp-analytics>
Tracking page clicks
Learn how to track page clicks using
amp-analytics
,
sending event data to a specified URL, and to
Google Analytics.
Sending data to specified URL
The following example uses the selector
attribute to send a click
event
to the specified URL everytime a user clicks on a link (<a href>
):
<amp-analytics>
<script type="application/json">
{
"requests": {
"event": "https://example.com/analytics?eid=${eventId}&elab=${eventLabel}&acct=${account}"
},
"vars": {
"account": "ABC123"
},
"triggers": {
"trackAnchorClicks": {
"on": "click",
"selector": "a",
"request": "event",
"vars": {
"eventId": "42",
"eventLabel": "clicked on a link"
}
}
}
}
</script>
</amp-analytics>
Sending data to Google Analytics
The following example uses the selector
attribute of the trigger
to send a click
event to Google Analytics when a particular element is clicked
(see also
AMP event tracking in Google Analytics):
<amp-analytics type="googleanalytics" id="analytics3">
<script type="application/json">
{
"vars": {
"account": "UA-XXXXX-Y" // Replace with your property ID.
},
"triggers": {
"trackClickOnHeader" : {
"on": "click",
"selector": "#header",
"request": "event",
"vars": {
"eventCategory": "ui-components",
"eventAction": "header-click"
}
}
}
}
</script>
</amp-analytics>
Tracking scrolling
Track page scrolling using amp-analytics
.
The following example uses the scrollspec
attribute to send a scroll
event
to the specified URL when page is scrolled vertically by 25%, 50% and 90%.
The event also fires when the page is horizontally scrolled
to 90% of scroll
width:
<amp-analytics>
<script type="application/json">
{
"requests": {
"event": "https://example.com/analytics?eid=${eventId}&elab=${eventLabel}&acct=${account}"
},
"vars": {
"account": "ABC123"
},
"triggers": {
"scrollPings": {
"on": "scroll",
"scrollSpec": {
"verticalBoundaries": [25, 50, 90],
"horizontalBoundaries": [90]
}
}
}
}
</script>
</amp-analytics>
Tracking social interactions
Learn how to track social interactions using
amp-analytics
,
sending event data to a specified URL, and to
Google Analytics.
Sending data to specified URL
The following example uses the selector
attribute to send a click
event
to the specified URL everytime a user clicks on a tweet (#tweet-link
):
<amp-analytics>
<script type="application/json">
{
"requests": {
"event": "https://example.com/analytics?eid=${eventId}&elab=${eventLabel}&acct=${account}"
},
"vars": {
"account": "ABC123"
},
"triggers": {
"trackClickOnTwitterLink": {
"on": "click",
"selector": "#tweet-link",
"request": "event",
"vars": {
"eventId": "43",
"eventLabel": "clicked on a tweet link"
}
}
}
}
</script>
</amp-analytics>
Sending data to Google Analytics
The following example uses the selector
attribute of the trigger
to send an event when a particular social button is clicked
(see also
AMP social interactions tracking in Google Analytics):
<amp-analytics type="googleanalytics" id="analytics4">
<script type="application/json">
{
"vars": {
"account": "UA-XXXXX-Y" // Replace with your property ID.
},
"triggers": {
"trackClickOnTwitterLink" : {
"on": "click",
"selector": "#tweet-link",
"request": "social",
"vars": {
"socialNetwork": "twitter",
"socialAction": "tweet",
"socialTarget": "https://www.examplepetstore.com"
}
}
}
}
</script>
</amp-analytics>