-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathinject.js
27 lines (22 loc) · 899 Bytes
/
inject.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import GtmPlugin from './GtmPlugin'
export default ({router, Vue}) => {
if (process.env.NODE_ENV === 'production' && GTM_ID && typeof window !== 'undefined') {
(function (w, d, s, l, i) {
w[l] = w[l] || [];
w[l].push({
'gtm.start':
new Date().getTime(), event: 'gtm.js'
});
var f = d.getElementsByTagName(s)[0],
j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
j.async = true;
j.src =
'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
f.parentNode.insertBefore(j, f);
})(window, document, 'script', 'dataLayer', GTM_ID);
Vue.prototype.$gtm = Vue.gtm = new GtmPlugin();
router.afterEach(function (to) {
Vue.prototype.$gtm.trackView(to.name, to.fullPath);
})
}
}