im仅在尚未启动会话时才尝试运行此脚本。用户单击某些选项后,页面重新加载自我。但是Google Analytics(Analytics)的Infor必须仅在会话开始时首次发送。该脚本正在工作,但分析是错误的,因为它在同一会话中发送了几次。
php脚本:
if (session_id() === "") {
echo time();
session_start();
include('ss-ga.class.php');
$ssga = new ssga( 'UA-10536XXXX-1', 'www.site.com' );
//Set a pageview
$ssga->set_page( 'b1.php' );
$ssga->set_page_title( 'b1' );
// Send
$ssga->send();
$ssga->reset();
}
if(session_id ===") and if(session_status()== php_session_none)
我的怀疑 - 从文档中不清楚 - 使用 session_id
to read session ID仅在 session_start
调用后起作用。
更好的方法是在首先运行GA代码之后设置会话变量。设置后,将来的页面浏览量会跳过该代码,因为会话值存在。
session_start();
if(!isset($_SESSION['analytics_sent'])) {
echo time();
include('ss-ga.class.php');
$ssga = new ssga( 'UA-10536XXXX-1', 'www.site.com' );
//Set a pageview
$ssga->set_page( 'b1.php' );
$ssga->set_page_title( 'b1' );
// Send
$ssga->send();
$ssga->reset();
$_SESSION['analytics_sent'] = true;
}