AWS Pinpoint has been deprecated so this solution no longer is valid.
Tracking tag library for AWS Pinpoint as an alternative to Google Analytics using AWS Amplify.
Moving to AWS from Google Analytics is a way to maintain your users' privacy. Our blog post, Why you need to move off Google Analytics, explains more about it.
Amplify requires a lot of boilerplate to be able to setup a useful Analytics setup quickly and effectively.
- Create an AWS account
- Create your Pinpoint account and Cognito Federated user pool
- Add the following tag to your code (with your own values for
data-id-poolanddata-pinpoint-id):
<script
data-id-pool="us-east-1:abcd1234-abcd-1234-5678-abcd12345678"
data-pinpoint-id="1234abcd5678abcd7890abcd1234"
id="aws-web-analytics"
src="https://goatandsheep.github.io/aws-web-analytics/dist/aws-web-analytics.js"
type="text/javascript"
></script>Based on Amplify Page Event Tracking
Use data-aws-analytics- to indicate:
on: event listeningname: what will analytics event be named?attrs: any needed associated info
<!-- you want to track this button and send an event when it is clicked -->
<button
data-aws-analytics-on="click"
data-aws-analytics-name="submitButtonClick"
data-aws-analytics-attrs="attr1:attr1_value,attr2:attr2_value"
>Continue</button>If you need other events than click, open a ticket
Based on Amplify Analytics record.
window.Amplify.Analytics.record({
name: 'albumVisit',
// Attribute values must be strings
attributes: { genre: '', artist: '' }
});Setup the Federated Cognito pool allowing unauth roles with the following permissions:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"mobiletargeting:PutEvents",
"mobiletargeting:UpdateEndpoint"
],
"Resource": "arn:aws:mobiletargeting:us-east-1:<account-number>:apps/<pinpoint-project-id>/*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": [
"mobiletargeting:GetUserEndpoints",
"mobileanalytics:PutEvents"
],
"Resource": "*"
}
]
}CloudFormation coming soon...