You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何向Facebook Conversion API传递Facebook用户ID

实现方案:通过GTM+SGTM传递Facebook CAPI所需的FB登录ID与external_id

核心思路

由于GTM无法跨域读取Facebook域名下的Cookie,需借助Facebook JavaScript SDK在前端页面获取FB登录ID,再将数据传递给GTM;同时生成或关联网站自身的用户唯一标识作为external_id,最终通过SGTM的CAPI事件模板完成参数传递。

分步操作(新手友好)

1. 在网站中引入Facebook JavaScript SDK

在网站的<head>标签内添加以下代码,替换{your-app-id}为你的Facebook应用ID:

<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : '{your-app-id}',
      cookie     : true,
      xfbml      : true,
      version    : 'v18.0'
    });

    // 检查用户登录状态,获取FB用户ID
    FB.getLoginStatus(function(response) {
      if (response.status === 'connected') {
        // 将FB用户ID存入全局变量
        window.fbUserId = response.authResponse.userID;
        // 向GTM数据层推送事件,通知数据就绪
        window.dataLayer.push({
          'event': 'fb_user_id_ready',
          'fb_user_id': window.fbUserId
        });
      }
    });
  };

  // 加载SDK脚本
  (function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "https://connect.facebook.net/en_US/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));
</script>

2. 在GTM中配置变量接收数据

  • 创建数据层变量:变量名设为fb_user_id,对应数据层中的fb_user_id字段,用于接收FB登录ID。
  • 创建external_id变量:
    • 如果网站已有用户唯一标识(如会员ID),直接选择对应数据源;
    • 若无现成标识,可创建自定义JavaScript变量,用以下代码生成并存储唯一ID:
function() {
  var extId = window.localStorage.getItem('site_external_id');
  if (!extId) {
    // 生成随机唯一字符串作为external_id
    extId = 'ext_' + Math.random().toString(36).substring(2, 15);
    window.localStorage.setItem('site_external_id', extId);
  }
  return extId;
}

3. 配置SGTM的CAPI事件标签

  • 打开SGTM中已有的Facebook CAPI事件标签,进入参数设置:
    • 添加fb_login_id参数,值选择刚创建的fb_user_id变量;
    • 添加external_id参数,值选择对应的external_id变量。
  • 调整触发条件:可关联fb_user_id_ready自定义事件,或与原有转化事件(如purchase、lead)结合触发。

4. 验证数据传递有效性

  • 使用Facebook事件管理器的测试工具,触发网站转化行为,检查事件是否包含fb_login_id和external_id参数;
  • 开启GTM预览模式,确认fb_user_id和external_id变量能正常读取到值。

注意事项

  • 需在Facebook应用后台配置网站域名白名单,否则SDK无法获取用户登录状态;
  • 若用户未登录Facebook,fb_user_id会为空,此时可跳过传递该参数,避免无效数据上报;
  • external_id需保证同一用户在网站内的唯一性,便于Facebook匹配用户全链路行为。

内容的提问来源于stack exchange,提问作者Jack Nezie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 19:49:52