
本教程详细介绍了如何使用facebook php business sdk发送测试事件。通过配置用户数据、事件内容和自定义数据,并利用`eventrequest`对象上的`settesteventcode`方法,开发者可以轻松地将事件标记为测试,从而在facebook事件管理器中验证集成效果,确保数据准确无误地传输,为后续的广告优化和效果衡量奠定基础。
理解Facebook Business SDK与测试事件
Facebook Business SDK 提供了一套强大的工具,帮助开发者将其网站或应用的用户行为数据安全、高效地发送至Facebook,用于广告投放优化、受众分析和效果衡量。在实际部署任何追踪事件之前,发送测试事件是验证集成是否正确、数据是否准确无误的关键步骤。测试事件允许您在不影响实际数据报告的情况下,检查事件的传输和处理情况,从而确保生产环境中的数据质量。
构建基础事件数据
在使用Facebook PHP Business SDK发送事件时,需要首先构建一系列数据对象来描述用户行为和事件详情。这些核心对象包括 UserData、Content、CustomData 和 Event。
UserData (用户数据):包含用户的匿名或哈希化信息,用于匹配用户。建议包含电子邮件、电话、IP地址和用户代理等。
use FacebookAdsObjectServerSideUserData;$user_data = (new UserData()) ->setEmails(array(hash('sha256', 'test@example.com'))) // 替换为实际用户邮箱,建议哈希化 ->setPhones(array(hash('sha256', '12345678901'))) // 替换为实际用户电话,建议哈希化 ->setClientIpAddress($_SERVER['REMOTE_ADDR']) // 客户端IP地址 ->setClientUserAgent($_SERVER['HTTP_USER_AGENT']) // 客户端用户代理 ->setFbc('fb.1.1554763741205.AbCdEfGhIjKlMnOpQrStUvWxYz1234567890') // Facebook点击ID (可选) ->setFbp('fb.1.1558571054389.1098115397'); // Facebook浏览器ID (可选)
Content (内容数据):描述事件中涉及的具体商品或服务。
use FacebookAdsObjectServerSideContent;use FacebookAdsObjectServerSideDeliveryCategory;$content = (new Content()) ->setProductId('product123') // 商品ID ->setQuantity(1) // 数量 ->setDeliveryCategory(DeliveryCategory::HOME_DELIVERY); // 配送类别
CustomData (自定义数据):包含事件相关的业务价值信息,如货币、价值和内容列表。
use FacebookAdsObjectServerSideCustomData;$custom_data = (new CustomData()) ->setContents(array($content)) // 关联的内容对象数组 ->setCurrency('usd') // 货币单位 ->setValue(123.45); // 事件价值
Event (事件对象):将上述所有数据封装成一个具体的事件。
use FacebookAdsObjectServerSideEvent;use FacebookAdsObjectServerSideActionSource;$event = (new Event()) ->setEventName('Purchase') // 事件名称,如 'Purchase', 'AddToCart' 等 ->setEventTime(time()) // 事件发生时间戳 ->setEventSourceUrl('http://jaspers-market.com/product/123') // 事件来源URL ->setUserData($user_data) // 关联的用户数据 ->setCustomData($custom_data) // 关联的自定义数据 ->setActionSource(ActionSource::WEBSITE); // 动作来源
封装事件并发送请求
创建单个或多个事件对象后,需要将它们封装到一个事件数组中,并通过 EventRequest 对象发送。
use FacebookAdsObjectServerSideEventRequest;$events = array();array_push($events, $event); // 将构建好的事件添加到数组// 假设 $pixel_id 已经初始化为您的Facebook像素ID// 在实际应用中,您需要先初始化Facebook API,例如:// require __DIR__ . '/vendor/autoload.php';// use FacebookAdsApi;// use FacebookAdsLoggerCurlLogger;// Api::init($app_id, $app_secret, $access_token);// Api::instance()->setLogger(new CurlLogger());// $pixel_id = 'YOUR_PIXEL_ID';$request = (new EventRequest($pixel_id)) ->setEvents($events);// 执行请求$response = $request->execute();print_r($response);
如何发送测试事件
要将上述事件标记为测试事件,您需要在 EventRequest 对象上调用 setTestEventCode() 方法,并传入您在Facebook事件管理器中获取到的测试事件代码。
立即学习“PHP免费学习笔记(深入)”;
获取测试事件代码:登录您的Facebook商务管理平台,进入“事件管理器”。选择您的像素,点击“测试事件”选项卡,您将看到一个唯一的“测试事件代码”。设置测试事件代码:将该代码通过 setTestEventCode() 方法添加到您的 EventRequest 对象中。
修改后的 EventRequest 部分代码如下:
// ... 前面构建 $events 数组的代码不变 ...// 替换 'YOUR_PIXEL_ID' 为您的Facebook像素ID// 替换 'YOUR_TEST_EVENT_CODE' 为您在Facebook事件管理器中获取的测试事件代码$pixel_id = 'YOUR_PIXEL_ID'; // 请替换为您的实际像素ID$test_event_code = 'YOUR_TEST_EVENT_CODE'; // 例如: 'TEST12345',请替换为您的实际测试事件代码$request = (new EventRequest($pixel_id)) ->setTestEventCode($test_event_code) // setEvents($events);// 执行请求并打印响应$response = $request->execute();print_r($response);
完整示例代码
以下是一个完整的PHP示例,演示如何使用Facebook PHP Business SDK发送一个测试购买事件:
setLogger(new CurlLogger());// --- 2. 构建用户数据 (UserData) ---$user_data = (new UserData()) ->setEmails(array(hash('sha256', 'test@example.com'))) // 建议哈希化处理用户邮箱 ->setPhones(array(hash('sha256', '12345678901'))) // 建议哈希化处理用户电话 ->setClientIpAddress($_SERVER['REMOTE_ADDR']) ->setClientUserAgent($_SERVER['HTTP_USER_AGENT']) ->setFbc('fb.1.1554763741205.AbCdEfGhIjKlMnOpQrStUvWxYz1234567890') // 示例FBC,实际应从cookie获取 ->setFbp('fb.1.1558571054389.1098115397'); // 示例FBP,实际应从cookie获取
以上就是Facebook PHP Business SDK:发送测试事件的完整指南的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1334191.html
微信扫一扫
支付宝扫一扫