如何使用ActiveCampaign事件跟踪功能追踪特定事件 附PHP示例代码修改方法
按钮点击场景下ActiveCampaign事件跟踪代码调整方案
一、代码调整核心要点
你给出的PHP示例是调用ActiveCampaign事件跟踪接口的服务端实现,要适配登录按钮点击场景,需要做以下修改:
- 替换身份验证参数:把
actid和key的值替换成你自己ActiveCampaign账户对应的账户ID和事件跟踪密钥,这两个参数可以在账户后台的「设置-开发者」板块获取 - 调整事件标识:把
event字段的EVENT NAME改为和业务匹配的标识,比如login_button_click,方便后续在后台归类统计同类型事件 - 补充事件属性:
eventdata字段可以按需补充更多上下文信息,除了固定的「登录按钮点击」描述,还可以追加当前页面路径、按钮所在板块、用户端设备类型等自定义数据 - 补全用户标识:
visit数组里的email字段建议填充当前访问用户的邮箱,如果用户已登录可以直接从session中读取;如果是未登录用户也可以留空,或者追加自定义用户ID字段做关联 - 移除冗余代码:原示例最后多余的
};要删掉,避免语法报错
注意:生产环境建议将
CURLOPT_SSL_VERIFYPEER参数值改为true开启SSL验证,避免安全风险,测试阶段可临时保留false降低调试门槛。
二、调整后完整PHP代码
<?php // 初始化cURL会话 $curl = curl_init(); // 配置cURL参数 curl_setopt($curl, CURLOPT_URL, "https://trackcmp.net/event"); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_POST, true); // 从前端请求获取自定义事件数据,示例为当前页面地址,可按需扩展 $page_url = $_POST['page_url'] ?? '未知页面'; // 从项目现有登录态获取用户邮箱,可替换为自己业务的取数逻辑 $user_email = $_SESSION['user_email'] ?? ''; curl_setopt($curl, CURLOPT_POSTFIELDS, array( "actid" => "替换为你的ActiveCampaign账户ID", "key" => "替换为你的事件跟踪密钥", "event" => "login_button_click", "eventdata" => "登录按钮点击,页面:".$page_url, "visit" => json_encode(array( "email" => $user_email, )), )); // 执行请求 $result = curl_exec($curl); if ($result !== false) { $result = json_decode($result); if ($result->success) { echo 'Success! '; } else { echo 'Error! '; } echo $result->message; } else { echo 'cURL请求失败: ', curl_error($curl); } ?>
三、前端触发逻辑配套
这段PHP代码不能直接嵌在前端页面里,需要单独存为接口文件比如track_ac_event.php,然后给目标按钮加点击监听,点击时发送请求到该接口即可,示例JS代码如下:
const loginBtn = document.getElementById('login-btn'); loginBtn.addEventListener('click', () => { // 发送请求到后端事件跟踪接口 fetch('/track_ac_event.php', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: 'page_url=' + encodeURIComponent(window.location.href) }); });
内容的提问来源于stack exchange,提问作者Ellenfih
相关产品推荐
相关产品推荐

