xddesigners/silverstripe-facebook-serverside-pixel

用于与silverstripe(及SilverShop)配合使用的服务端像素实现

安装: 43

依赖者: 0

建议者: 0

安全: 0

星级: 1

关注者: 2

分支: 0

开放问题: 0

类型:silverstripe-vendormodule

dev-main 2023-12-14 12:43 UTC

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;