php - Facebook iOS 更新 : integrated the conversions APIs with native php

标签 php facebook facebook-pixel

我正在使用 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/

相关文章:

php - ZipArchive() 向存档添加空字节的奇怪行为

android - 无法获取 Facebook 个人资料图片

facebook - 文件上传控件在 Facebook 应用内浏览器中不起作用

facebook-javascript-sdk - 如何防止 Facebook Pixel 两次跟踪同一笔交易?

php - 找不到类 (PHP)

php - 如何使用tcpdf将mysql表内容输出为pdf?

php - "and"关键字和PHP中的if(TRUE)是一样的吗

javascript - showFeedDialog 和publishUserAction Facebook API 有什么区别?

vuejs2 - 如何在 NuxtJs 上导入 Facebook Pixel

javascript - 无法在 Google 跟踪代码管理器中提取数据层变量