berno/pff2-fb-conversion-api

管理Facebook转换API的模块

安装: 15

依赖: 0

建议者: 0

安全: 0

星标: 4

关注者: 2

分支: 0

公开问题: 0

类型:pff2-module

v1.0.2 2023-03-20 15:18 UTC

This package is auto-updated.

Last update: 2024-09-20 18:33:54 UTC


README

请求常用参数

发送到Facebook API的基本请求

{
   "data": [
      {
         "event_name": "",
         "event_time": 54545454,
         "event_source_url": "",
         "action_source": "website",
         "user_data": {
            "client_ip_address": "",
            "client_user_agent": "",
            "fbp": "",
            "fbc": ""
         },
         "custom_data": {}
      }
   ],
   "test_event_code": ""
}
  • event_name基于事件并由调用方法指定。
  • event_time设置为当前时间戳值。
  • event_source_url设置为$event_source_url参数,如果没有指定,默认替换为当前请求URL。
  • client_ip_address设置为$_SERVER['REMOTE_ADDR']的值。
  • client_user_agent设置为$_SERVER['HTTP_USER_AGENT']的值。
  • fbp如果存在,则设置为$_COOKIE['_fbp']cookie的值。
  • fbc如果存在,则设置为$_COOKIE['_fbc']cookie的值。
  • custom_data取决于发送的具体事件,请参阅事件特定文档。
  • test_event_code仅在调试配置参数不为false时存在。

事件

由模块管理的Facebook像素事件包括

PageView

要发送PageView事件,在控制器中创建一个调用sendPageViewEvent()的动作。

public function pageViewTrigger() {
    $this->resetViews();
    /** @var Pff2FbConversionApi $fb_conv_api */
    $fb_conv_api = ModuleManager::loadModule('pff2-fb-conversion-api');
    $fb_conv_api->sendPageViewEvent();
}

在主布局中插入一个渲染动作,指向创建的动作(例如,在Layout_Controller中)。

<?php $this->renderAction('Layout', 'pageViewTrigger', array())?>

此方法不创建自定义数据请求字段。

CompleteRegistration

sendCompleteRegistrationEvent($event_source_url, $user_email, $status)
  • string|null $event_source_url事件发生的浏览器URL。URL必须以http://或https://开头,并且应与验证的域匹配。如果为null,则参数值将替换为请求的绝对URL。
  • string|null $user_email用户电子邮件,如果指定,则添加到user_data请求字段中。
  • string $status注册事件的状态,作为字符串。例如:'已注册'。

自定义数据创建示例

"custom_data": {
    "status": "registered"
}

InitiateCheckout

sendInitiateCheckoutEvent($event_source_url, $user_email, $value, $currency = "EUR")
  • string|null $event_source_url事件发生的浏览器URL。URL必须以http://或https://开头,并且应与验证的域匹配。如果为null,则参数值将替换为请求的绝对URL。
  • string|null用户电子邮件,如果指定,则添加到user_data请求字段中。
  • float $value结账过程中订单的总计。
  • string $currency $value指定的货币。货币必须是有效的ISO 4217三位数字货币代码。例如:'EUR'。

自定义数据创建示例

"custom_data": {
    "currency": "EUR",
    "value": 100
}

ViewContent

sendViewContentEvent($event_source_url, $user_email, $content_name, $content_ids, $value, $currency = "EUR")
  • string|null $event_source_url事件发生的浏览器URL。URL必须以http://或https://开头,并且应与验证的域匹配。如果为null,则参数值将替换为请求的绝对URL。
  • string|null用户电子邮件,如果指定,则添加到user_data请求字段中。
  • string $content_name与事件关联的页面或产品的名称。
  • [string] $content_ids与事件关联的内容ID,形式为['ABC','123']。
  • float $value与此事件关联的数值。
  • string $currency指定$value的货币。货币必须是有效的ISO 4217三位数字货币代码。例如:'EUR'。

自定义数据创建示例

"custom_data": {
    "currency": "EUR",
    "value": 60.00,
    "content_type": "product",
    "content_name": "Name of the product",
    "content_ids": ["123"]
}

AddToCart

sendAddToCartEvent($event_source_url, $user_email, $contents, $value, $currency = "EUR")
  • string|null $event_source_url事件发生的浏览器URL。URL必须以http://或https://开头,并且应与验证的域匹配。如果为null,则参数值将替换为请求的绝对URL。
  • string|null用户电子邮件,如果指定,则添加到user_data请求字段中。
  • [array] $contents关联数组数组[array("id" => <product_id>, "quantity" => <product_qnt>)]
  • float $value添加的商品的总成本(价格 * 数量)。
  • string $currency指定$value的货币。货币必须是有效的ISO 4217三位数字货币代码。例如:'EUR'。

自定义数据创建示例

"custom_data": {
    "value": 100.2,
    "currency": "EUR",
    "contents": [
       {"id": "123", "quantity": 1},
       {"id": "234", "quantity": 3}
    ],
    "content_type": "product"
}

Purchase

sendPurchaseEvent($event_source_url, $user_email, $content_ids, $order_value, $currency = "EUR")
  • string|null $event_source_url事件发生的浏览器URL。URL必须以http://或https://开头,并且应与验证的域匹配。如果为null,则参数值将替换为请求的绝对URL。
  • string|null用户电子邮件,如果指定,则添加到user_data请求字段中。
  • [string] $content_ids与事件关联的内容ID,形式为['ABC','123']
  • float $order_value订单总额。
  • string $currency指定$order_value的货币。货币必须是有效的ISO 4217三位数字货币代码。例如:'EUR'。

自定义数据创建示例

"custom_data": {
    "currency": "EUR",
    "value": 123.45,
    "content_type": "product",
    "content_ids": ["123","234"]
}