berno / pff2-fb-conversion-api
管理Facebook转换API的模块
v1.0.2
2023-03-20 15:18 UTC
Requires
- stonedz/pff2-installers: 2.0.7
Requires (Dev)
- stonedz/pff2: 2.*
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"] }