xddesigners / silverstripe-facebook-serverside-pixel
用于与silverstripe(及SilverShop)配合使用的服务端像素实现
dev-main
2023-12-14 12:43 UTC
Requires
This package is auto-updated.
Last update: 2024-09-14 14:19:58 UTC
README
将服务端fb像素跟踪添加到您的silverstripe站点,或Silvershop产品(如果已安装)。
安装
composer require xddesigners/silverstripe-facebook-serverside-pixel
获取您的像素ID和访问令牌,并在您的环境(.env)文件中设置这些值。
FB_ACCESS_TOKEN="FB_ACCESS_TOKEN" FB_PIXEL_ID="FB_PIXEL_ID" FB_TEST_EVENT_CODE="OPTIONAL"
配置
默认情况下,页面浏览事件被添加到SiteTree类中。如果您有SilverShop,您还希望启用Order和CheckoutPage上的扩展。
SilverShop\Model\Order: extensions: - XD\SilverStripeFacebookServerSidePixel\Extensions\OrderExtension SilverShop\Page\CheckoutPage: extensions: - XD\SilverStripeFacebookServerSidePixel\Extensions\CheckoutPageExtension
添加自定义事件
您可以通过以下方法推送自定义事件:
// Initiate the Client $client = new XD\SilverStripeFacebookServerSidePixel\Client\Client(); // Generate user date from the current session. $userData = $client->createUserData(); // Enricht the user data (Optional) $userData->setEmail('user@email.com'); // Create the custom data to send to your event, for example a cart (Optional) $product = (new Content()) ->setProductId('my_product_id') ->setTitle('product_title') ->setQuantity(2) ->setItemPrice(57.25) ->setDeliveryCategory(DeliveryCategory::HOME_DELIVERY); $customData = (new CustomData()) ->setOrderId('my_order_id') ->setContents([$product]) ->setCurrency('eur') ->setContentType('product') ->setValue(114.50); // add the event (multiple events can be chained) and send the events $client ->addEvent('MyCustomEvent', $userData, $customData) ->sendEvents();
对FB事件ID的支持
添加到index.php
session_start(); $event_id = sha1(session_id() . '_' . uniqid() ); setcookie('EVENTID',$event_id); $_SESSION['EVENTID'] = $event_id;