我正在使用 PHP 和 Laravel 来创建电子商务并集成 Facebook Pixel,一切正常, 然后iOS 14更新后,像素集成无法正常工作,所以我听说如果我们集成Facebook转换API并添加域名验证码就可以解决问题
所以我尝试添加这个
<meta name="facebook-domain-verification" content="myCode" />
所以我的问题是:集成转换 API 是否可以解决该问题? 如果它是正确的 - 我不知道在哪里以及如何集成这些转换 API
最佳答案
Facebook Conversion API 事件比 Facebook Web Pixels 更强大。 Conversion API 事件通过后端逻辑触发。您可以从前端使用ajax调用,并在Facebook面板上检查事件触发器
Facebook 像素转换 API
https://developers.facebook.com/docs/marketing-api/conversions-api/
您可以从 https://business.facebook.com/event_manager 生成访问 token 选择您的网站并生成 Facebook Pixel
javascript ajax 函数,您可以简单地在要触发像素的地方调用此 ajax 函数
函数调用
let event_id = d.getTime();
fbq_custom("PageView", window.location.href, {event_id: 'PageView-'+event_id}, {event_id: 'PageView-'+event_id}) }
函数定义
function fbq_custom(trace = 'PageView', source_url = '', data = {}){
data.trace = trace;
data.source_url = source_url
$.ajax({
url: "/conversionAPI/",
data: data,
type: "post",
success: function (data) {
console.log(data);
console.log("server event test");
}
});
}
我只是使用这个包
https://github.com/facebook/facebook-php-business-sdk
PHP API
use FacebookAds\Api;
use FacebookAds\Logger\CurlLogger;
use FacebookAds\Object\ServerSide\Content;
use FacebookAds\Object\ServerSide\CustomData;
use FacebookAds\Object\ServerSide\DeliveryCategory;
use FacebookAds\Object\ServerSide\Event;
use FacebookAds\Object\ServerSide\EventRequest;
use FacebookAds\Object\ServerSide\Gender;
use FacebookAds\Object\ServerSide\UserData;
$trace = $_POST['trace'];
$source_url = $_POST['source_url'];
$firstname = $_POST['firstname'] ? $_POST['firstname']: "";
$lastname = $_POST['lastname'] ? $_POST['lastname']: "";
$phone = $_POST['telephone'] ? $_POST['telephone']: "";
$email = $_POST['email'] ? $_POST['email']: "";
$event_id = $_POST['event_id'] ? $_POST['event_id']: "";
$action_source = $_POST['action_source'] ? $_POST['action_source']: "website";
$access_token = 'here you need to add the access token';
$pixel_id = 'your pixel id';
if (is_null($access_token) || is_null($pixel_id)) {
throw new Exception(
'You must set your access token and pixel id before executing'
);
}
Api::init(null, null, $access_token);
$api = Api::instance();
$api->setLogger(new CurlLogger());
$events = array();
$user_data = (new UserData())
->setClientIpAddress($_SERVER['REMOTE_ADDR'])
->setClientUserAgent($_SERVER['HTTP_USER_AGENT'])
->setEmail($email)
->setPhone($phone)
->setFirstName($firstname)
->setLastName($lastname);
$custom_data = (new CustomData());
$event = (new Event())
->setEventName($trace)
->setEventTime(time())
->setEventId($event_id)
->setEventSourceUrl($source_url)
->setActionSource($action_source)
->setUserData($user_data)
->setCustomData($custom_data);
$events = array();
array_push($events, $event);
$request = (new EventRequest($pixel_id))
->setEvents($events);
$response = $request->execute();
print_r(array(
"status" => 200,
"message" => "pixel code added successfully",
"source_url" => $source_url,
'trace' => $trace,
'event_id' => $event_id,
"response" => $response,
"user_data" => $user_data,
"event" => $event
)) ;
关于php - Facebook iOS 更新 : integrated the conversions APIs with native php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69175349/