0

我目前正在尝试安装 facebook 像素并让它通过 if 请求触发事件。我在每个页面中都包含了我的 head.php,我基本上想要做的是:在页面上设置一个我想要跟踪的变量,并通过 if-request 在 facebook 像素代码中询问这些变量,以便可以触发相应的事件。问题是,当我在我的 Facebook 广告页面上查找我的事件时,它们没有显示出来。当我点击“Ad Manager”-> Pixel 时,我也无法选择“定义列”下的事件,也看不到它们。

如果有人有类似的问题并解决了它或者只是知道该怎么做,那将非常高兴。提前致谢!

这是我的 $pixel 变量在包含 head.php 之前给出的方式(在 PHP 中):

if (($_POST['vorname']!="" AND
$_POST['nachname']!="" AND
$_POST['email']!="" AND
$_POST['telefon']!="" AND
$_POST['agb']!=""))
{
$pixel = "teachersent";
}
else{
$pixel = "teacherrequest";
}
include ("../head.php");

其他页面上的其他变量也是如此。

这是我的带有 if 请求的 facebook 像素代码:

 <!-- Facebook Pixel Code -->
<script>
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
 n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=    [];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '1425975630785657'); // Insert your pixel ID here.
fbq('track', 'PageView');

var pixeldata = <?php echo json_encode($pixel, JSON_HEX_TAG); ?>; 

if (pixeldata == "teacherrequest") {
fbq('track', 'teacherrequest', {
value: 20,
});
}
else if (pixeldata == "teachersent") {
fbq('track', 'teachersent', {
value: 1,
});
}
else if (pixeldata == "teamrequest") {
fbq('track', 'teamrequest', {
value: 40,
});
}
else if (pixeldata == "teamsent") {
fbq('track', 'teamsent', {
value: 2,
});
}

</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=1425975630785657&ev=PageView&noscript=1"
/></noscript>
<!-- DO NOT MODIFY -->
<!-- End Facebook Pixel Code -->

编辑:感谢@Cbroe:安装了像素助手并发现像素已找到,但没有触发任何事件。在控制台中,我可以看到 pixeldata 的变量为空,这意味着 php 变量 $pixel 未正确传递。因此,不知何故,它在从页面部分包含 head.php 到应该使用它的 head.php 之前丢失了。

4

1 回答 1

0

我编写了<script> var pixeldata = <?php echo json_encode($pixel, JSON_HEX_TAG); ?>; </script>facebook 像素代码的外部,现在它以某种方式工作。

于 2017-02-13T15:34:12.183 回答