Vue plugin for Segment
Vue.js plugin for Segment
Segment Analytics.js Documentation
Vue ^2.x or Vue ^3.x
npm install @prestashopcorp/segment-vue
import Vue from 'vue'
import SegmentVue from '@prestashopcorp/segment-vue'
Vue.use(SegmentVue, {
id: 'XXXXX',
})
import { createApp } from 'vue'
import SegmentVue from '@prestashopcorp/segment-vue'
const app = createApp(App)
app.use(SegmentVue, {
id: 'XXXXX',
})
For GDPR it's necessary to desactivate all integrations An Example below :
import Vue from 'vue'
import SegmentVue from '@prestashopcorp/segment-vue'
Vue.use(SegmentVue, {
id: 'XXXXX',
settings: {
integrations: {
All: false,
'Segment.io': true,
},
},
})
axeptio.on('cookies:complete', function (choices) {
if (choices.google_analytics && choices.hotjar) {
window.analytics.load(SEGMENT_KEY, {
integrations: {
All: false,
'Segment.io': true,
'Google Analytics': true,
Hotjar: true,
},
})
window.location.reload()
}
})
add this on your layout file
created(){
this.$segment.identify({shopId}, {
name: "FullName_account",
email: "email_account",
plan: "premium_account"
})
}
add this on each method click
handleClick(){
this.$segment.track(NAME_YOUR_TRACK,
//optional properties
{
name: "it's your track name",
category: "ps_metrics",
})
}
put the name attribute in each route and add your router to the vue-segment initialization
export default {
path: 'dashboard',
name: 'dashboard', //Set name on each route
component: DashboardApp,
}
Vue.use(SegmentVue, {
id: 'XXXXX',
router,
})
export default {
path: 'dashboard',
name: 'dashboard', //Set name on each route
component: DashboardApp,
}
app.use(SegmentVue, {
id: 'XXXXX',
router,
})
export default {
name: 'activity',
path: 'activity',
meta: { exclude: true }, // <= add this key in your route object, true to exclude, false to track
component: () =>
import(
/* webpackChunkName: "dashboardActivity" */ '@/core/dashboard/pages/ActivityApp'
),
redirect: 'activity/revenue',
children: [RevenueRouter, OrderRouter, ConversionRouter, VisitRouter],
}
put the name attribute in each route and add your router to the vue-segment initialization
Vue.use(SegmentVue, {
id: 'XXXXX',
router,
pageCategory: 'ps_metrics_',
})
app.use(SegmentVue, {
id: 'XXXXX',
router,
pageCategory: 'ps_metrics_',
})