Data layer events and attributes sent to tag managers
Published on October 9, 2023· Andronautic Team
Introduction and technical details of the tag management system integrated into Andronautic.
Built-in tag manager
To improve and standardize the collection of navigation and conversion data from our clients’ public websites, and to ensure this is done in compliance with European data protection regulations, these websites integrate a tool called Matomo, which records, stores, and reports the collected and generated data.
This tool is installed on our own server infrastructure, so both our clients and their visitors can browse the public websites with the peace of mind of knowing that their data never leaves our servers and will never be sold to third parties or used for other purposes. In addition, this approach eliminates the need for visitors to accept marketing cookies in the usual banner (only statistics cookies are required, which are less invasive for privacy-sensitive audiences).
This tool consists of two parts:
- Matomo Tag Manager, a tag manager that captures visit data.
- Matomo Analytics, a visit analyzer and report generator, where this data is stored.
The visit data generated by Matomo Analytics is available on a dedicated dashboard, included in the Dashboard: Web analytics menu option of our backoffice.
Other tag managers
While the use of third-party tracking codes, such as Google Analytics, Yandex Metrika, Metricool, or Meta Pixel, is still directly supported, it is recommended to use them through tag managers.
Beyond the data Andronautic collects with its own tag manager, and which it presents as a dashboard in the backoffice, our clients can configure their own tag managers through the Web analytics and tracking option in their public website’s control panel. It is only necessary to enable the desired tag manager and enter the identifier.
Currently, the following can be used:
- Google Tag Manager.
- Matomo Tag Manager.
Tag manager events
Tag managers use the concept of an event to collect data. Each page includes at least one event, and each event contains a certain number of attributes or parameters. The set of events and data sent is known as the data layer. The data sent to these external tag managers is the same as that collected by our internal tool, explained in the following section.
The events currently used are conceptually divided into two groups: navigation and e-commerce.
Andronautic tag manager events
| Type | Name | Description |
|---|---|---|
| Navigation | pageview |
Page load. Active on every page when accessed. |
| E-commerce | view_item_list |
Display of a product on the product listing page. |
| E-commerce | select_item |
Click on a product from the listing. |
| E-commerce | view_item |
Display of the product detail page. |
| E-commerce | add_to_cart |
Product added to the cart. |
| E-commerce | begin_checkout |
Start of the purchase process. |
| E-commerce | prepurchase |
Completion of checkout and entry into the payment gateway. |
| E-commerce | purchase |
Booking confirmation, whether or not a payment gateway was used. |
| E-commerce | contact |
Use of a contact form or information request. |
The pageview event runs on every page, always first, regardless of whether any other event is triggered.
The view_item_list event on the product listing page fires multiple times:
- A first time with the list of products visible on screen during the initial page load.
- Subsequent times as the user navigates or scrolls through the page and views more products.
- Each call sends one or more products (to optimize network traffic), depending on scrolling speed and screen size.
The view_item event fires when a product detail page loads.
The add_to_cart event is triggered in the following cases:
- On the product detail page, when any of the buttons that start order processing is clicked, since the product is added to the shopping cart.
- During checkout, after the
begin_checkoutevent, if additional products are added to the cart (e.g., an extra is selected).
The begin_checkout event fires when the booking process starts, which can be reached in three ways:
- From the product detail page, by clicking one of the buttons that appear after the initial selection of parameters.
- From the opportunities area of the backoffice.
- Directly, by passing at least the dates in the URL’s query string.
The prepurchase event fires on the checkout page, when the Book button is clicked on a booking form. It requires the payment method to have been configured in the system, which can be online (payment gateway) or after the fact (e.g., bank transfer).
The purchase event only fires when returning from a payment gateway, once that payment has been completed successfully.
The contact event fires on the thank-you page after a contact form has been filled in. Available contact forms:
- As a CMS plug-in (without product context), for use on content pages.
- On the activity and boat detail page, with product context, with two variations: a) at the very bottom (default), and b) in the right-hand column, if the product is unavailable when the page loads.
- On checkout, both on the Contact tab and on the Request tab (if enabled), with product, date, and price context.
From the form accompanying this contact event, the system can create two types of entities: opportunities and bookings. To distinguish this behavior, an additional key dataLayer.request_type is included, which can take two values:
opportunity, when an opportunity is created.booking, when a booking is created.
Common data layer attributes
All events include the following context attributes within the page object:
| Attribute | Description |
|---|---|
pageTitle |
Page title |
pageUrl |
Page path (without the domain) |
pageType |
Page type |
store |
Website name (site name) |
language |
Browsing language |
The page types (pageType attribute) can be the following:
home: home page.content: CMS content page.grid: product listing.product: product detail page.checkout: any of the purchase process pages.account: user account creation or modification page.searcher: page dedicated exclusively to a product search tool.
All events include the following user attributes:
| Attribute | Description |
|---|---|
clientID |
Session ID |
login |
User’s session status |
email |
User’s (encrypted) email |
E-commerce variables
E-commerce events include the following transaction variables:
| Attribute | Description |
|---|---|
orderID |
Transaction ID |
revenue |
Total revenue |
status |
Order status (confirmed/not confirmed) |
taxes |
Transaction taxes |
totalProducts |
Total number of products included in the transaction |
coupon |
Discount coupon at the product or transaction level |
perDiscount |
Discount percentage applied to the transaction |
paymentMethod |
Payment method |
locator |
Booking locator |
request_type |
“Request” type (booking, opportunity…) |
And the following product variables are included:
| Attribute | Description |
|---|---|
name |
Product name |
id |
Product SKU (reference) |
price |
Product sale price |
category |
Product destination (down to the maximum level of detail) |
variant |
Product variant (if applicable) |
list |
Web category in which the product is shown (propagated from the listing) |
brand |
Selected boat type |
position |
Position at which the product is shown in the listing |
date_start |
Selected start date for the booking |
date_end |
Selected end date for the booking |
days |
Total number of booking days |
productType |
Product type (boat, activity) |
subTypeBoat |
Boat with or without license (yes/no) |
mainUrlPhoto |
Product main image (url) |
promoted |
Indicates whether the product is featured in the listing (yes/no) |
quantity |
Number of passengers in the booking |
currency |
Currency |
index |
Used in boat/activity listings, indicates the position relative to the rest |
This list of events and their attributes will be extended over time, as new needs are identified.