追踪
X 像素
在您的 Nuxt 应用中使用 X 像素。
X 像素 允许您收集、清理和控制您的客户数据。X 可以帮助您了解您的客户并个性化他们的体验。
Nuxt 脚本提供了一个注册表脚本可组合函数 useScriptXPixel
,以便轻松地将 X 像素集成到您的 Nuxt 应用中。
Nuxt 配置设置
在您的 Nuxt 应用中全局加载 Meta 像素的最简单方法是使用 Nuxt 配置。或者,您可以直接使用 useScriptXPixel 可组合函数。
如果您不打算发送自定义事件,可以使用 环境覆盖 在开发中禁用脚本。
export default defineNuxtConfig({
scripts: {
registry: {
xPixel: {
id: 'YOUR_ID'
}
}
}
})
使用环境变量
如果您希望使用环境变量配置您的 ID。
nuxt.config.ts
export default defineNuxtConfig({
scripts: {
registry: {
xPixel: true,
}
},
// you need to provide a runtime config to access the environment variables
runtimeConfig: {
public: {
scripts: {
xPixel: {
id: '', // NUXT_PUBLIC_SCRIPTS_X_PIXEL_ID
},
},
},
},
})
.env
NUXT_PUBLIC_SCRIPTS_X_PIXEL_ID=<YOUR_ID>
useScriptXPixel
可组合函数 useScriptXPixel
允许您对 X 像素在您的网站上的加载时间和方式进行细粒度控制。
const { proxy } = useScriptXPixel({
id: 'YOUR_ID'
})
// example
proxy.twq('event', '<EventId>', {
value: 1,
})
请遵循 注册表脚本 指南,以了解更多有关高级用法的知识。
XPixelApi
export interface XPixelApi {
fbq: FbqFns & {
push: FbqFns
loaded: boolean
version: string
queue: any[]
}
_fbq: XPixelApi['fbq']
}
type FbqFns = ((event: 'track', eventName: StandardEvents, data?: EventObjectProperties) => void)
& ((event: 'trackCustom', eventName: string, data?: EventObjectProperties) => void)
& ((event: 'init', id: number, data?: Record<string, any>) => void)
& ((event: 'init', id: string) => void)
& ((event: string, ...params: any[]) => void)
type StandardEvents = 'AddPaymentInfo' | 'AddToCart' | 'AddToWishlist' | 'CompleteRegistration' | 'Contact' | 'CustomizeProduct' | 'Donate' | 'FindLocation' | 'InitiateCheckout' | 'Lead' | 'Purchase' | 'Schedule' | 'Search' | 'StartTrial' | 'SubmitApplication' | 'Subscribe' | 'ViewContent'
interface EventObjectProperties {
content_category?: string
content_ids?: string[]
content_name?: string
content_type?: string
contents: { id: string, quantity: number }[]
currency?: string
delivery_category?: 'in_store' | 'curbside' | 'home_delivery'
num_items?: number
predicted_ltv?: number
search_string?: string
status?: 'completed' | 'updated' | 'viewed' | 'added_to_cart' | 'removed_from_cart' | string
value?: number
[key: string]: any
}
配置模式
您必须在首次设置脚本时提供选项。
export const XPixelOptions = object({
id: string(),
version: optional(string()),
})
示例
仅在生产环境中使用 X 像素,同时使用 twq
发送转换事件。
<script setup lang="ts">
const { proxy } = useScriptXPixel()
// noop in development, ssr
// just works in production, client
function sendConversion() {
proxy.twq('event', 'Purchase', {
value: 1,
currency: 'USD'
})
}
</script>
<template>
<div>
<button @click="sendConversion">
Send Conversion
</button>
</div>
</template>