跟踪
Segment
在您的 Nuxt 应用程序中使用 Segment。
Segment 允许您收集、清理和控制您的客户数据。Segment 帮助您了解您的客户并个性化他们的体验。
Nuxt Scripts 提供了一个注册表脚本可组合 useScriptSegment
以便轻松地将 Segment 集成到您的 Nuxt 应用程序中。
Nuxt 配置设置
在您的 Nuxt 应用程序中全局加载 Segment 的最简单方法是使用 Nuxt 配置。或者,您可以直接使用 useScriptSegment 可组合。
如果您不打算发送自定义事件,您可以使用 环境覆盖 在开发中禁用脚本。
export default defineNuxtConfig({
scripts: {
registry: {
segment: {
writeKey: 'YOUR_WRITE_KEY'
}
}
}
})
使用环境变量
如果您更喜欢使用环境变量配置您的 ID。
nuxt.config.ts
export default defineNuxtConfig({
scripts: {
registry: {
segment: true,
}
},
// you need to provide a runtime config to access the environment variables
runtimeConfig: {
public: {
scripts: {
segment: {
writeKey: '' // NUXT_PUBLIC_SCRIPTS_SEGMENT_WRITE_KEY
}
},
},
},
})
.env
NUXT_PUBLIC_SCRIPTS_SEGMENT_WRITE_KEY=<YOUR_WRITE_KEY>
useScriptSegment
useScriptSegment
可组合让您对 Segment 何时以及如何在您的网站上加载有细粒度控制。
const { proxy } = useScriptSegment({
id: 'YOUR_ID'
})
// example
proxy.track('event', {
foo: 'bar'
})
请遵循 注册表脚本 指南以了解有关高级用法的更多信息。
SegmentApi
interface SegmentApi {
track: (event: string, properties?: Record<string, any>) => void
page: (name?: string, properties?: Record<string, any>) => void
identify: (userId: string, traits?: Record<string, any>, options?: Record<string, any>) => void
group: (groupId: string, traits?: Record<string, any>, options?: Record<string, any>) => void
alias: (userId: string, previousId: string, options?: Record<string, any>) => void
reset: () => void
}
配置模式
您必须在首次设置脚本时提供选项。
export const SegmentOptions = object({
writeKey: string(),
analyticsKey: optional(string()),
})
示例
仅在生产中使用 Segment,同时使用 analytics
发送转换事件。
<script setup lang="ts">
const { proxy } = useScriptSegment()
// noop in development, ssr
// just works in production, client
function sendConversion() {
proxy.track('conversion', {
value: 1,
currency: 'USD'
})
}
</script>
<template>
<div>
<button @click="sendConversion">
Send Conversion
</button>
</div>
</template>