← 返回目录
📁 Marketing API › Ad Measurement › Guides › Events API 2.0 › Events API for Web

发送 TikTok 点击 ID(ttclid)

TikTok 点击 ID (ttclid)

TikTok 点击 ID(ttclid) 是一个监测参数,每当用户点击 TikTok 上的广告时,该参数将附加到落地页 URL 中。以下是带有ttclid参数的 URL 示例:https://www.example.com/landing?ttclid=E.C.P.v3fQ2RHacdksKfofPmlyuStIIHJ4Af1tKYxF9zz2c2PLx1Oaw15oHpcfl5AH。

强烈建议通过事件 API 2.0 为您的网站上的事件发送ttclid。这样做有助于 TikTok 准确地将网站上的事件与广告点击关联起来,优化事件报告和推广系列效果。

若想了解 TikTok 点击 ID 的详情,请查看 TikTok 点击 ID。

存储 ttclid

TikTok 仅将ttclid参数附加到广告的落地页 URL 上。建议在用户访问您的网站的整个会话期间持续保留ttclid,以便在会话期间能够通过事件 API 为所有事件发送此信息。存储ttclid的方法有三种: - 在网站重定向到不同页面(例如,从落地页到产品页面)时,保留 URL 中的ttclid参数,并在 API 有效负载的page.url字段中发送完整的 URL(包括 URL 参数)。如果 API 后端检测到page.url中存在ttclid参数,将解析该点击 ID 。 - 若您已经在网站上安装了 TikTok Pixel,Pixel 将从落地页 URL 中解析ttclid并将其值存储在一个 Cookie 中。您可以在每次发送事件 API 请求时读取 Cookie 的值。若想了解有关此方法的详情,请查看下文的“使用 TikTok Pixel 获取点击 ID”小节。 - 您也可以自己从落地页 URL 中解析ttclid,并使用浏览器 Cookie 存储或会话存储进行存储。若想了解有关此方法的详情,请查看下文的“自行存储点击 ID”小节。

注意
强烈建议实施上述三个方法中的至少一个。

若您有额外的开发资源,还可以将ttclid存储在后端以实现跨浏览器或设备关联。若想了解相关步骤的详情,请查看下文的“跨浏览器或设备存储”小节。

使用 TikTok Pixel 获取点击 ID

若您在网站上安装了 TikTok Pixel,Pixel 将自动从落地页 URL 中解析ttclid,并将其值作为第一方 Cookie 存储在您的网站域名下。该 Cookie 的名称也为ttclid。

若想从您的网站服务器提取ttclid,您可以解析 HTTP Cookie 请求头,并通过事件 API 进行报告。若想了解此步骤的详情,请查看下文的“通过事件 API 发送ttclid”小节。

另外,您还可以通过从网站客户端的浏览器 Cookie jar 中读取ttclid Cookie,从而获取点击 ID, 并将其发送到您的服务器,从而使用事件 API 进行报告。以下是读取此 Cookie 的示例 JavaScript 代码:

(code curl http)
function getCookie(name) {
  let cookie = {};
  document.cookie.split(';').forEach(function(el) {
    let [k,v] = el.split('=');
    cookie[k.trim()] = v;
  })
  return cookie[name];
}
getCookie('ttclid')// TikTok Click ID
(/code)

自行存储点击 ID

若您尚未在您的网站上安装 TikTok Pixel,您可以自行解析和存储 ttclid。建议使用浏览器 Cookie 存储或 HTML5 本地存储。 - 推荐的存储 TTL(存活时间)为28天或更长(TikTok 将根据广告主的归因窗口设置处理点击 ID 的过期)。 - 若在您的落地页 URL 上检测到新的 ttclid,应将存储的值刷新为最新的值。

以下是使用 Cookie 存储(推荐)的代码示例:

(code curl http)
// Get the ttclid parameter from the URL
const urlSearchParams = new URLSearchParams(window.location.search);
const ttclidValue = urlSearchParams.get('ttclid');
if (ttclidValue) {
  // Set the cookie with the ttclid value and a 28-day expiration date
  expirationDate.setDate(new Date().getDate() + 28);
  // save the value in a cookie named ttclid
  document.cookie = `ttclid=${ttclidParam}; expires=${expirationDate.toUTCString()}; path=/`;
}
(/code)

以下是使用 HTML5 本地存储的代码示例:

(code curl http)
// Get the ttclid parameter value from the URL
const urlParams = new URLSearchParams(window.location.search);
const ttclidValue = urlParams.get('ttclid');

// Save ttclid to local storage with expiration of 28 days
if (ttclidValue) {
  let expirationDate = new Date(new Date().getDate() + 28)
    let data = {
      value: ttclid,
      expirationDate: expirationDate.toISOString()
  }
  // save the value in local storage with key='ttclid'
  localStorage.setItem('ttclid', data);
}
(/code)

对于您网站上触发的每个事件,请在服务器请求中包含事件数据和 ttclid,通过事件 API 进行报告。若想了解相关步骤的详情,请查看下文的“通过事件 API 发送ttclid”小节。

跨浏览器或设备存储(可选)

若您希望将跨浏览器或设备的客户操作与广告点击关联(例如,用户在笔记本电脑上点击广告,然后在移动浏览器上进行购买),您可以将 ttclid 存储在您的数据库中。以下是一般准则:

  1. 捕获并存储 ttclid 值,直到您能够识别出对应用户。 为提高广告效果,请存储 ttclid 值,直到您能够通过账户、订阅、会员等信息或通过 Cookie ID、电子邮件地址、电话号码和匿名 ID 等标识符在内部识别出对应用户。

  2. 在您的数据库中维护用户和 ttclid 的关联: - 在后端系统中创建一张表,维护用户和 ttclid 值之间的关系,例如ttclid<>email,ttclid<>external_id。 - 如果同一用户在不同时间点击您的广告,将生成不同的 ttclid。确保每次同一用户点击您的广告时都使用新的 ttclid 值覆盖旧的值。

  3. 通过事件 API 发送带有 ttclid 的网站事件: - 触发网站事件时,您将需要查找用户-ttclid 的关联,并在 API 有效负载中传入ttclid值。若想了解相关步骤的详情,请查看下文的“通过事件 API 发送ttclid”小节。

通过事件 API 发送ttclid

报告用户事件时,通过/event/track/在事件 API 的 user.ttclid 字段中插入 ttclid。若想了解报告网站事件的步骤和相关参数,请查看事件 API 2.0 - 网站事件设置指南。

注意
ttclid 的长度可以达到 1,000 个字符,因此您需要确保不要在服务器端对其进行截断。

(code curl http)
  "user": {
  "ttclid": "E.C.P.v3fQ2RHacdksKfofPmlyuStIIHJ4Af1tKYxF9zz2c2PLx1Oaw15oHpcfl5AH",
  // ... ...
},
(/code)

从落地页 URL 中移除 ttclid

若您想从落地页 URL 中移除ttclid,可以通过程序或通过编辑您的网站代码来实现,方法类似于管理其他查询参数。以下为移除所有 ttclid URL 参数的 JavaScript 代码示例:

(code curl http)
// Add this before pixel tag
<script>
  const myurl = new URL(location.href);  // build a url object from current url
  myurl.searchParams.delete('ttclid');  // remove all ttclid url paramters
  history.replaceState({}, '', myurl);  // replace current url with updated one
</script>
(/code)

内容来源:TikTok API for Business 官方文档 · 本地归档

在接这个接口时卡住了?
Stuck wiring this API into production? We build ad-delivery tooling on these platforms — campaign automation, reporting pipelines, error-handling and migration between API versions.
联系我们 · Talk to us 每日平台更新简报 →