SuperAPI AI 工具集

form-attribution

营销与增长

查看项目

更新于 10-16 15:03

技能介绍

用途

Form Attribution 是一个轻量级、零依赖的脚本,用于自动捕获营销归因数据并将其注入表单。它的目标是帮助网站在用户提交表单时,自动携带营销来源信息,从而便于后续分析或 CRM 记录。

主要能力

  • 自动捕获 UTM 参数(如 utm_source、utm_medium、utm_campaign、utm_term、utm_content、utm_id、ref)
  • 自动捕获元数据:landing_page、current_page、referrer_url、first_touch_timestamp
  • 可选捕获广告平台点击 ID:gclid(Google)、fbclid(Meta)、msclkid(Microsoft)、ttclid(TikTok)、li_fat_id(LinkedIn)、twclid(Twitter/X),需设置 data-click-ids="true"
  • 将捕获的数据作为隐藏字段注入到页面所有表单中
  • 支持三种存储方式:sessionStorage(默认)、localStorage、cookie
  • 支持跨子域跟踪(cookie 模式)
  • 支持字段前缀、额外参数、排除表单等配置
  • 提供调试面板覆盖层(data-debug="true")
  • 默认尊重 GPC 和 DNT 隐私信号

使用方式

在 </body> 标签前添加 script 标签引入 CDN 脚本:

<script src="https://cdn.jsdelivr.net/npm/form-attribution@latest/dist/script.min.js" defer></script>

脚本会自动捕获 UTM 参数、存入 sessionStorage,并向所有表单注入隐藏字段。

配置选项

通过 script 标签上的 data 属性进行配置:

  • data-storage:默认 sessionStorage,可选 sessionStorage、localStorage 或 cookie
  • data-field-prefix:隐藏字段名前缀,例如 attr_
  • data-extra-params:额外捕获的 URL 参数,逗号分隔
  • data-exclude-forms:要排除的表单的 CSS 选择器
  • data-click-ids:是否捕获广告平台点击 ID,默认 false
  • data-debug:是否启用调试面板覆盖层,默认 false
  • data-privacy:是否尊重 GPC/DNT 隐私信号,默认 true
  • data-storage-key:自定义存储键名,默认 form_attribution_data

cookie 特定选项(当 data-storage="cookie" 时):

  • data-cookie-domain:cookie 域,例如 .example.com
  • data-cookie-path:cookie 路径,默认 /
  • data-cookie-expires:过期天数,默认 30
  • data-cookie-samesite:lax、strict 或 none,默认 lax

常见配置示例

带广告点击 ID 跟踪:

<script src="https://cdn.jsdelivr.net/npm/form-attribution@latest/dist/script.min.js"
  data-click-ids="true" defer></script>

跨子域跟踪(cookie):

<script src="https://cdn.jsdelivr.net/npm/form-attribution@latest/dist/script.min.js"
  data-storage="cookie"
  data-cookie-domain=".example.com"
  data-cookie-expires="90"
  data-click-ids="true" defer></script>

CRM 字段前缀:

<script src="https://cdn.jsdelivr.net/npm/form-attribution@latest/dist/script.min.js"
  data-field-prefix="lead_"
  data-click-ids="true" defer></script>

排除表单(例如搜索、登录):

<script src="https://cdn.jsdelivr.net/npm/form-attribution@latest/dist/script.min.js"
  data-exclude-forms=".no-track, #login-form, [data-no-attribution]" defer></script>

JavaScript API

该库暴露全局 FormAttribution 对象:

  • FormAttribution.getData():获取所有捕获的数据
  • FormAttribution.getParam('utm_source'):获取特定参数
  • FormAttribution.getForms():获取被追踪的表单
  • FormAttribution.clear():清除存储数据
  • FormAttribution.refresh():重新注入到表单

隐私

默认尊重 Global Privacy Control (GPC) 和 Do Not Track (DNT)。当检测到这些信号时,不会捕获任何数据。可通过 data-privacy="false" 覆盖。

适用场景

  • 需要在表单提交时附带营销归因数据的网站
  • 使用 Webflow、HubSpot、WordPress、Marketo 等平台(具体实现模式见 references/platforms.md)
  • 需要跨子域跟踪营销来源的场景

限制

  • 资料中没有提供关于兼容性、性能、定价、价格等详细信息,这些内容暂未提供。
  • FAQ 内容参见 references/faq.md,但具体内容未提供。