为什么?
我正在尝试使用我的WordPress网站设置Adword广告系列,非常简单,但我希望能够根据他们使用AdWords或Bing / Google SERPS访问该网站来切换联系表单。
所以我们的想法是,如果他们访问https://example.com/landing-page/
,他们就会到达一个页面,其中包含不同的联系电话和电子邮件表单,其中有一个标题表明他们来自Adwords,都是直接的,但是,如果他们点击了菜单栏远离着陆页,它们将获得标准数字和标准电子邮件表格,这使得跟踪过程更加困难。
设置临时Cookie
因此,通过使用自定义WordPress page template files,当访问者访问目标网页时,它会使用以下内容设置Cookie:
<?php
// 60 Seconds, live environment set to 6000 (1 hour)
$date_of_expiry = time() + 60 ;
setcookie( "adwords-customer", "adwords-visit", $date_of_expiry );
?>
检查Cookie并执行A或B
然后在整个网站的其余部分(不在登录页面上),它将检查cookie是否存在,如果存在,它会执行A,如果不存在,则执行B,这是代码:
<?php
if(!isset($_COOKIE['adwords-customer']) || ($_COOKIE['adwords-customer'] != 'true')){
echo "cookie set";
} else {
echo "cookie not set";
}
?>
问题
结果总是“cookie设置”,并且永远不会回应“cookie not set”,感谢您提前提供任何帮助。
答案 0 :(得分:2)
你在这里看到!
?
if(!isset($_COOKIE['adwords-customer']) || ($_COOKIE['adwords-customer'] != 'true')){
^
echo "cookie set";
} else {
echo "cookie not set";
}
这意味着你要检查它是否未设置,以便删除或反转回声。
!= 'true'
确保您不会检查布尔值。如果是,请删除引号。
尝试使用此代码!
if(isset($_COOKIE['adwords-customer']) && ($_COOKIE['adwords-customer'] == true)){
echo "cookie set";
} else {
echo "cookie not set";
}
如果您发现它现在有效,但仅限于设置Cookie的网址,请确保使用setcookie
设置/
以指示整个域,而不仅仅是/path/
,例如:
$value = 'adwords-visit';
setcookie("adwords-customer", $value);
setcookie("adwords-customer", $value, time()+60);
setcookie("adwords-customer", $value, time()+60, "/");