用途
该技能用于帮助开发者在 Web 项目中安装并验证 Contentsquare 追踪标签。适用于需要“添加 Contentsquare”“安装 CS 标签”“设置 Contentsquare”等场景。技能强调必须按文档顺序执行,不得跳过步骤。
主要能力
- 按框架插入 Contentsquare 标签初始化代码,支持 Next.js(App Router 与 Pages Router)、React(Vite/CRA)、Vue(Vite)、Nuxt 3、Angular、SvelteKit 以及静态 HTML/服务端渲染项目(Django、Rails、Laravel、PHP、WordPress 等)。
- 通过单一命令
npx --yes @contentsquare/wizard@2 verify完成运行时验证,该命令启动真实浏览器,报告标签加载、首次页面浏览、导航页面浏览与 CSP 问题。 - 根据验证报告判断标签加载失败、初始页面浏览缺失、标签 ID 不匹配、CSP 违规等情况,并给出对应处理路径。
- 对导航追踪进行人工评估:根据 navigations 与 pageviewBeacons 两路原始证据,判断单页应用、哈希或查询路由的页面浏览是否被正确追踪。
使用方式
- 获取标签 ID:可从开发者原始指令中获取,若项目存在
.cs-wizard/state.json则读取其中的 tagId,否则需向开发者询问。标签 ID 为约 13 位小写十六进制字符串(如 81c677ba742d7),不得自行哈希、转换、生成或猜测。 - 检测框架与包管理器:通过查看 package.json、锁文件、tsconfig.json、入口文件等方式确定框架、TypeScript/JavaScript、包管理器,并与开发者确认后才继续。
- 安装 SDK:执行
npm install @contentsquare/tag-sdk(或匹配的 yarn/pnpm/bun 命令),并按框架模板插入初始化代码。初始化函数必须仅在浏览器上下文运行,严禁在 SSR 中执行。 - 运行验证:在项目根目录执行
npx --yes @contentsquare/wizard@2 verify --url <url> --tag-id <TAG_ID> --json,由开发者浏览应用,完成后点击 Done 或关闭窗口。该命令为交互式且会阻塞直到开发者完成,不应假定其挂起或取消它。 - 根据报告结果处理:result 为 pass 时检查导航追踪;pass-with-recommendation 时按提示处理 CSP;tagScriptLoaded 为 false 时检查注入位置与安装;initialPageview 为 false 时确认标签 ID 与项目状态;tagIdMismatch 时修正 clientId;cspViolations 非空时进入 CSP 修复步骤。
- 若浏览器无法获取,按退出码处理:2 NO_BROWSER 需征得同意后加
--install-browser重跑;3 MISSING_LIBS 需运行sudo npx playwright-core install-deps chromium;4 BLOCKED_LAUNCH 需关闭所有 Chrome/Edge 窗口或安装捆绑引擎;5 NO_DISPLAY 需在有图形显示的机器上运行。
适用场景
适用于需要在前端项目中接入 Contentsquare 追踪标签的开发者,包括 SPA、MPA、服务端渲染及静态站点。技能覆盖从安装到验证的完整流程,并特别针对单页应用的路由变化追踪给出判断方法。
限制
- 不得替换、重命名或自创替代包与函数:包固定为
@contentsquare/tag-sdk,函数固定为injectContentsquareScript,必填选项仅为clientId。 - 不得在 SSR 中运行注入函数。
- 不得自行启动、重启或终止开发服务器,必须由开发者操作。
- 除非验证报告显示 CSP 违规或发现现有 CSP 缺少 Contentsquare 域名,否则不得修改 CSP,也不得预防性添加 CSP 头。
- 连续两次验证失败后须停止改动并询问开发者。
- 验证需要可见的浏览器窗口,无法在无图形显示的主机上运行。
- 关于收费、价格及平台支持等内容,原文未提供。