... | ... | @@ -33,3 +33,78 @@ eventStructure = { |
|
|
verifyCallback?: () => boolean, // event verification function, if it returns `false` the event will not be sent
|
|
|
}
|
|
|
```
|
|
|
|
|
|
example of event configuration file:
|
|
|
|
|
|
```js
|
|
|
(function() {
|
|
|
const webAnalytics = window._waInstance;
|
|
|
const eventTypes = webAnalytics.eventTypes;
|
|
|
|
|
|
// EVENT TYPES:
|
|
|
// - click
|
|
|
// - inViewport
|
|
|
// - onFormSubmit
|
|
|
// - onPage
|
|
|
// - sequence
|
|
|
// - checklist
|
|
|
|
|
|
webAnalytics.eventsConfiguration = [
|
|
|
{
|
|
|
// event triggered if at least 5 seconds are spent on the page
|
|
|
urls: ['*'],
|
|
|
type: eventTypes.onPage,
|
|
|
eventId: 'TEST_ONPAGE',
|
|
|
categories: ['category'],
|
|
|
minTime: 5000,
|
|
|
},
|
|
|
{
|
|
|
// onPage event triggered only when the selector is detected
|
|
|
urls: ['*'],
|
|
|
type: eventTypes.onPage,
|
|
|
selector: 'div#notinpage',
|
|
|
eventId: 'TEST_ONPAGE_WITH_SELECTOR',
|
|
|
categories: ['category'],
|
|
|
minTime: 2000,
|
|
|
},
|
|
|
{
|
|
|
// if the form remain in-viewport for at least 1 second
|
|
|
urls: ['*'],
|
|
|
type: eventTypes.inViewport,
|
|
|
selector: 'form#form',
|
|
|
eventId: 'TEST_INVIEWPORT',
|
|
|
categories: ['category'],
|
|
|
minTime: 1000,
|
|
|
},
|
|
|
{
|
|
|
// click on all post titles
|
|
|
urls: ['*'],
|
|
|
type: eventTypes.click,
|
|
|
selector: 'h2.blog-post-title',
|
|
|
eventId: 'TEST_CLICK_POST_TITLES',
|
|
|
categories: ['category'],
|
|
|
},
|
|
|
{
|
|
|
// click on all buttons of type button and containing text different than "Primary"
|
|
|
urls: ['*'],
|
|
|
type: eventTypes.click,
|
|
|
selector: 'button[type="button"]',
|
|
|
eventId: 'TEST_CLICK_BUTTON_CONDITIONAL',
|
|
|
categories: ['category'],
|
|
|
verifyCallback: (e) => {
|
|
|
return e.target.textContent !== 'Primary';
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
// Form Submission event
|
|
|
urls: ['*'],
|
|
|
type: eventTypes.onFormSubmit,
|
|
|
selector: 'form#form',
|
|
|
eventId: 'TEST_FORM_SUBMISSION',
|
|
|
categories: ['category'],
|
|
|
},
|
|
|
];
|
|
|
|
|
|
})();
|
|
|
|
|
|
``` |
|
|
\ No newline at end of file |