You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PHP获取YouTube来源链接中的视频ID?现有方案无效

如何追踪来自特定YouTube视频的点击量

嘿,我完全懂你的困扰——你想知道用户是从哪个具体的YouTube视频点进来的,但用HTTP_REFERER只能拿到https://www.youtube.com/,根本看不到带视频ID的完整路径对吧?这其实是YouTube自身的跳转机制导致的,咱们来一步步解决这个问题:

为什么HTTP_REFERER拿不到完整视频URL?

当用户点击YouTube视频描述里的链接时,YouTube会先经过一层内部跳转(比如安全校验、反垃圾跳转),这时候浏览器发送的referer就会被替换成YouTube的主域名,而非原始的带watch?v=xxx的视频页面URL。所以依赖HTTP_REFERER的方法在这里行不通。

靠谱的解决方案

方案一:手动给短链附加视频ID参数

这是最直接、最可靠的办法。你不需要依赖referer,而是在生成短链前,直接把视频ID作为参数加到trackid.php的链接里:
比如,针对视频ID为sampleID的视频,你要生成的原始链接是:

https://你的域名.com/trackid.php?video_id=sampleID

然后用goo.gl缩短这个带参数的URL,再放到对应视频的描述中。

之后在trackid.php里,就可以直接获取这个参数并记录:

// 获取视频ID,默认值设为unknown以防参数缺失
$video_id = isset($_GET['video_id']) ? $_GET['video_id'] : 'unknown';
// 输出或记录视频ID
echo "点击来自YouTube视频ID:" . $video_id;
// 这里可以添加代码,把video_id、访问时间、IP等信息存入数据库或日志文件

方案二:用UTM参数做更全面的追踪

如果你需要更详细的追踪维度(比如区分来源平台、活动名称),可以使用UTM参数,把视频ID放到utm_content字段里:
原始链接示例:

https://你的域名.com/trackid.php?utm_source=youtube&utm_medium=video_description&utm_campaign=夏季推广&utm_content=sampleID

在PHP中获取视频ID的代码:

$video_id = isset($_GET['utm_content']) ? $_GET['utm_content'] : 'unknown';

这种方式适合需要整合到分析工具里的场景,能和其他数据打通。

方案三:尝试其他HTTP头(不推荐)

理论上可以检查$_SERVER['HTTP_ORIGIN']或者其他自定义头,但YouTube的安全策略基本会阻止这些头携带完整的视频路径,所以成功概率极低,不建议依赖。

总结

优先选方案一,它完全不受浏览器或YouTube跳转规则的限制,能精准追踪每个视频的点击来源,实现成本也最低。

内容的提问来源于stack exchange,提问作者Luca Le

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:36:20