Version: 1.0.7
All events are registered on the window dataLayer variable, as per Google Guidelines:
https://developers.google.com/tag-manager/devguide
Variables are shown below using the {{ handlebar }} notation - these will be filled by the system with the relevant data.
All Page Events
This data is output on all pages that contain a Vue instance.
{
'event': 'customer',
'customerId': '{{ customer.id }}',
'dob': '{{ customer.dob }}',
'gender': '{{ customer.metafields.gender }}',
'memberSince' : '{{ customer.created_at' }}',
'totalUniqueBookings' : '{{ customer.stats.total_unique_bookings' }}',
'totalUniqueBookingsAttended' : '{{ customer.stats.total_unique_bookings_attended' }}',
'totalUniqueVideoViews' : '{{ customer.stats.total_unique_views' }}',
'subscriptionStatuses': [
{
"handle": {{ subscription.plan.handle }},
"name": {{ subscription.name }},
"status": {{ subscription.status }}
}
],
'customerTags': [
"{{ tag_name_here }}"
]
}
Customer Events
Register
Fired when a customer successfully registers an account.
{
'event': 'customerRegistered',
'email': '{{ customer email }}'
}
Login
Fired when a customer successfully logs into their account.
{
'event': 'customerLogin',
'email': '{{ customer email }}'
}
Logout
Fired when a customer successfully logs out of their account.
{
'event': 'customerLogout'
}
Password Recover
Fired when a customer requests a password recovery.
{
'event': 'customerRecoverPassword',
'email': '{{ customer email }}'
}
Password Reset
Fired when a customer successfully resets their password following a forgotten password recovery.
{
'event': 'customerResetPassword',
'email': '{{ customer email }}'
}
Password Update
Fired when a customer successfully updates their password.
{
'event': 'customerUpdatedPassword',
'email': '{{ customer email }}'
}
Profile Update
Fired when a customer successfully updates their profile.
{
'event': 'customerUpdated',
'email': '{{ customer email }}'
}
Cart Events
Add To Cart / Increment Cart
Fired when a customer adds an item to their cart, or increments the quantity of an item.
{
'event': 'addToCart',
'ecommerce': {
'currencyCode': 'GBP',
'add': {
'products': [{
'name': {{ item.name}},
'id': {{item.id}},
'price': {{item.price}},
'category': {{item.type}},
'quantity': {{item.quantity}}
}]
}
}
}
Remove From Cart / Decrement Cart
Fired when a customer removes an item from their cart, or decrements the quantity of an item.
{
'event': 'removeFromCart',
'ecommerce': {
'currencyCode': 'GBP',
'remove': {
'products': [{
'name': {{ item.name}},
'id': {{item.id}},
'price': {{item.price}},
'category': {{item.type}},
'quantity': {{item.qty}}
}]
}
}
}
Purchase
Fired when a customer completes the checkout process.
{
"event": "purchase",
"ecommerce": {
"currencyCode": "GBP",
"purchase": {
"actionField": {
"id": {{ cart.id }},
"revenue": {{ cart.total }},
"tax": {{ cart.tax }},
"shipping": "0",
"coupon": {{ cart.coupon }}
},
"products": [
{
"name": {{ product.name }},
"id": {{ product.id }},
"price": {{ product.price }},
"category": {{ product.type }},
"quantity": {{ product.quantity }}
}
]
}
}
}
Booking Events
Make a Booking
Fired when a customer creates a booking - if there are multiple bookings, this will be registered multiple times, once for each slot booked.
{
'event': 'bookingCreated',
'eventId': {{ booking.event_id }},
'bookingId': {{ booking.id }},
'customerId': {{ booking.customer_id }},
'slot': {{ booking.slot }}
}
Cancel Booking
Fired when a customer cancels a booking.
{
'event': 'bookingCancelled',
'bookingId': {{ bookingId }}
}
Subscription/Membership Events
Cancel Subscription/Membership
Fired when a customer cancels a subscription.
{
'event': 'subscriptionCancelled',
'subscriptionId': {{ subscriptionId }}
}
Video Detail Events
On viewing Video Detail page
{
'event': 'videoDetail',
'videoId': {{ vimeoID without /videos/ }},
'videoName': {{ video.name }},
'videoLength': {{ video.duration }},
'instructorFullName': {{ video.instructor.full_name }},
'eventTypeName': {{ video.event_type.name }},
'difficulty': {{ video.metafields.difficulty }},
'duration': {{ video.metafields.duration }},
'equipment': {{ video.metafields.equipment }},
}
Video Play Status
On video detail page load, pressing play or pause. Progress is derived from the Vimeo stats
{
'event': 'videoPlayStatus',
'progress': {{ Load, start, pause, stop and integer percentages from 1% up to 100% }},
}
For original documentation, click here.