vue-gtm
не требует роутера. это просто автоматизирует и делает это проще, это не значит, что вы должны это делать.
import VueGtm from 'vue-gtm';
import VueRouter from 'vue-router';
const router = new VueRouter({ routes, mode, linkActiveClass });
Vue.use(VueGtm, {
id: 'GTM-xxxxxxx', // Your GTM ID
enabled: true, // defaults to true. Plugin can be disabled by setting this to false for Ex: enabled: !!GDPR_Cookie (optional)
debug: true, // Whether or not display console logs debugs (optional)
vueRouter: router, // Pass the router instance to automatically sync with router (optional)
ignoredViews: ['homepage'] // If router, you can exclude some routes name (case insensitive) (optional)
});
Вы можете полностью игнорировать добавление параметров vueRouter
и ignoredViews
выше.
Тогда в ваших компонентах, которые должны отправлять события:
this.$gtm.trackEvent({
event: null, // Event type [default = 'interaction'] (Optional)
category: 'Calculator',
action: 'click',
label: 'Home page SIP calculator',
value: 5000,
noninteraction: false // Optional
});
Вы можете использовать эту функцию для любого действия. Загрузка страницы, щелчок, отправка формы и т. Д. Просто измените свойства в соответствии с вашими потребностями.