iOS14更新后Facebook Pixel异常 如何集成Conversion API解决问题
问题1:Conversion APIs能否解决iOS14导致的Facebook Pixel失效问题
是,该方案可以解决你遇到的异常。iOS14更新后推出的ATT跟踪透明机制要求用户主动授权才允许跨应用/站点跟踪用户行为,多数iOS用户会拒绝该授权,直接导致前端部署的Facebook Pixel无法正常采集、回传用户行为数据。而Conversion APIs是从服务端直接向Facebook平台回传转化数据,不依赖前端Cookie,也不受用户端跟踪授权限制,配合你已经添加的域名验证代码,即可覆盖前端Pixel无法采集的iOS14+用户数据,恢复数据统计能力。
问题2:Laravel框架下Conversion APIs的集成方式
你需要先在Facebook商务管理平台提前获取到转化API访问令牌、Pixel ID、测试事件码(仅开发阶段使用),再按以下步骤集成:
- 安装Facebook官方PHP SDK
在Laravel项目根目录执行Composer命令:composer require facebook/php-business-sdk - 配置全局参数
将申请到的参数添加到项目.env配置文件中,避免硬编码泄露敏感信息:
再在FACEBOOK_CAPI_ACCESS_TOKEN=你申请的转化API访问令牌 FACEBOOK_PIXEL_ID=你的Facebook Pixel ID FACEBOOK_CAPI_TEST_CODE=你申请的测试事件码config/services.php文件中添加对应配置项,方便全局调用:'facebook' => [ 'capi_access_token' => env('FACEBOOK_CAPI_ACCESS_TOKEN'), 'pixel_id' => env('FACEBOOK_PIXEL_ID'), 'capi_test_code' => env('FACEBOOK_CAPI_TEST_CODE'), ], - 在业务逻辑节点触发事件回传
无需修改前端代码,直接在对应转化行为的服务端逻辑中添加回传代码即可,电商场景常用的统计节点包括商品浏览、加购、发起结账、支付成功、新用户注册等。
以下为支付成功场景的代码示例:use FacebookAds\Api; use FacebookAds\Object\ServerSide\Event; use FacebookAds\Object\ServerSide\UserData; use FacebookAds\Object\ServerSide\CustomData; use FacebookAds\Object\ServerSide\EventRequest; // 初始化SDK Api::init(null, null, config('services.facebook.capi_access_token')); // 组装用户数据,尽可能多传可匹配字段能大幅提升数据匹配率 $user_data = (new UserData()) ->setEmail($order->user->email) ->setPhone($order->user->phone) ->setClientIpAddress(request()->ip()) ->setClientUserAgent(request()->userAgent()); // 组装转化自定义数据,按实际业务需求传入订单金额、商品信息等 $custom_data = (new CustomData()) ->setValue($order->total_amount) ->setCurrency('CNY') ->setOrderId($order->order_sn); // 组装事件参数 $event = (new Event()) ->setEventName('Purchase') ->setEventTime(time()) ->setUserData($user_data) ->setCustomData($custom_data) ->setActionSource('website'); // 发送回传请求 $request = (new EventRequest(config('services.facebook.pixel_id'))) ->setEvents([$event]); // 开发阶段添加测试码方便校验数据,正式上线后删除该行即可 if (config('app.env') !== 'production') { $request->setTestEventCode(config('services.facebook.capi_test_code')); } $response = $request->execute(); - 数据校验
开发阶段可以直接在Facebook事件管理平台的测试事件页面查看回传是否正常,上线后对比前端Pixel和服务端CAPI的回传数据,确认数据覆盖率符合预期即可。
内容的提问来源于stack exchange,提问作者zayed
相关产品推荐
相关产品推荐

