php - 匹配 Google adwords 引荐来源网址

您好,如果用户访问了我的 Google Adwords 广告系列,我正在尝试在我的网站上显示不同的内容。

我在 Chrome 控制台中使用了 document.referrer 来查找引荐来源网址并将此信息放在下面的代码中

如果我将引荐来源网址设置为 Google.com 并从那里访问,则脚本会执行 - 但是当尝试与 Google Adwords 引荐来源网址匹配时,它不起作用。

我在想我可以尝试匹配字符串长度,或者只是匹配字符串的“/?gclid=”部分

<?php
// This is to check if the request is coming from a specific URL
$ref = $_SERVER['HTTP_REFERER'];

if($ref == 'http://domain.nl/?gclid=CjwKEAiApOq2BRDoo8SVjZHV7TkSJABLe2iDnbfXanR14L-Di0IaoXGFTRx_uF_SGJ6QrmMstGDQChoCbBzw_wcB') {

echo "yes";

}

else {

echo "no";

}

?>

最佳答案

我使用 preg_match 来识别每个 adwords 引荐来源网址中的 gclid 字符串。

这行得通 - 但还有另一个问题。当页面最初加载时,未设置引荐来源网址 - 它仅在导航到下一页时设置(当脚本运行时)。

但是,当页面首次加载时,Adwords 推荐位于浏览器地址栏中,因此我使用 REQUEST_URI 和“或”来检测地址栏中的 gclid 字符串。这是代码:

<?php

if(preg_match('/gclid/i', $_SERVER['HTTP_REFERER']) or preg_match('/gclid/i', $_SERVER['REQUEST_URI'])) {

echo "adwords visitor content";

}

else {

echo "regular visitor content";

}

?>

https://stackoverflow.com/questions/35813737/

相关文章:

memory-management - 当进程访问刚用 brk/sbrk 分配的地址时,内核会发生什

sql-server - -S 服务器时出现 sqlcmd 错误

xml - XML 文档的第一行是什么?

shell - 自解压 tar 存档(shell 脚本)

Git - 删除或编辑别名

r - 使用SparkR,如何将字符串列拆分为 'n'多列?

api - 在 POST 中将数据安全地发送到 REST API

c# - 如何处理内存不足异常字符串生成器

zsh - 复制数组 1 :1 in zsh

haskell - 为我的编译器实现代数数据类型