TikTok Pixel

在你的 Nuxt 应用中使用 TikTok Pixel。

TikTok Pixel 让你能够衡量、优化并构建 TikTok 广告活动的受众。

Nuxt Scripts 提供了注册脚本组合函数 useScriptTikTokPixel,轻松地在你的 Nuxt 应用中集成 TikTok Pixel。

Nuxt 配置设置

在 Nuxt 应用中全局加载 TikTok Pixel 最简单的方式是使用 Nuxt 配置。你也可以直接使用 useScriptTikTokPixel 组合函数。

如果你不打算发送自定义事件,可以使用 环境配置覆盖 在开发环境中禁用该脚本。

export default defineNuxtConfig({
  scripts: {
    registry: {
      tiktokPixel: {
        id: 'YOUR_PIXEL_ID'
      }
    }
  }
})

使用环境变量

如果你更倾向于使用环境变量配置你的 id。

nuxt.config.ts
export default defineNuxtConfig({
  scripts: {
    registry: {
      tiktokPixel: true,
    }
  },
  // 需要提供运行时配置以访问环境变量
  runtimeConfig: {
    public: {
      scripts: {
        tiktokPixel: {
          id: '', // 对应 NUXT_PUBLIC_SCRIPTS_TIKTOK_PIXEL_ID
        },
      },
    },
  },
})
.env
NUXT_PUBLIC_SCRIPTS_TIKTOK_PIXEL_ID=<YOUR_ID>

useScriptTikTokPixel

useScriptTikTokPixel 组合函数让你能够细粒度地控制 TikTok Pixel 在你网站上的加载时机和方式。

const { proxy } = useScriptTikTokPixel({
  id: 'YOUR_PIXEL_ID'
})

// 跟踪事件
proxy.ttq('track', 'ViewContent', {
  content_id: '123',
  content_name: '产品名称',
  value: 99.99,
  currency: 'USD'
})

请参考 注册脚本 指南了解更多高级用法。

TikTokPixelApi

export interface TikTokPixelApi {
  ttq: TtqFns & {
    push: TtqFns
    loaded: boolean
    queue: any[]
  }
}

type TtqFns =
  & ((cmd: 'track', event: StandardEvents | string, properties?: EventProperties) => void)
  & ((cmd: 'page') => void)
  & ((cmd: 'identify', properties: IdentifyProperties) => void)
  & ((cmd: string, ...args: any[]) => void)

type StandardEvents =
  | 'ViewContent' | 'ClickButton' | 'Search' | 'AddToWishlist'
  | 'AddToCart' | 'InitiateCheckout' | 'AddPaymentInfo' | 'CompletePayment'
  | 'PlaceAnOrder' | 'Contact' | 'Download' | 'SubmitForm'
  | 'CompleteRegistration' | 'Subscribe'

配置 Schema

首次设置脚本时必须提供选项。

export const TikTokPixelOptions = object({
  id: string(),
  trackPageView: optional(boolean()), // 默认: true
})

First-Party 模式

此脚本支持 First-Party Mode,该模式通过你的域名路由所有流量,以提升隐私保护并绕过广告拦截器。

当在全局通过 scripts.firstParty: true 启用时,该脚本将:

  • 从你的域名加载,而非 analytics.tiktok.com
  • 通过你的服务器路由跟踪请求
  • 完全隐私匿名化 — IP 地址、用户代理、语言、屏幕、时区和硬件指纹均被匿名化(不被信任的广告网络)
nuxt.config.ts
export default defineNuxtConfig({
  scripts: {
    firstParty: true,
    registry: {
      tiktokPixel: { id: 'YOUR_PIXEL_ID' }
    }
  }
})

如果你想为此脚本单独禁用该功能:

useScriptTikTokPixel({
  id: 'YOUR_PIXEL_ID',
  scriptOptions: {
    firstParty: false // 直接从 TikTok 加载
  }
})

示例

使用 TikTok Pixel 跟踪购买事件。

<script setup lang="ts">
const { proxy } = useScriptTikTokPixel()

function trackPurchase() {
  proxy.ttq('track', 'CompletePayment', {
    content_id: 'product-123',
    content_name: '超棒的产品',
    value: 49.99,
    currency: 'USD'
  })
}
</script>

<template>
  <button @click="trackPurchase">
    完成购买
  </button>
</template>

用户识别

你可以识别用户进行高级匹配:

const { proxy } = useScriptTikTokPixel()

proxy.ttq('identify', {
  email: 'user@example.com',
  phone_number: '+1234567890'
})

禁用自动页面浏览跟踪

默认情况下,TikTok Pixel 会自动追踪页面浏览。若要禁用:

export default defineNuxtConfig({
  scripts: {
    registry: {
      tiktokPixel: {
        id: 'YOUR_PIXEL_ID',
        trackPageView: false
      }
    }
  }
})