跟踪直接文件下载

时间:2013-10-30 07:08:52

标签: download matomo goal-tracking

我的网站上有一些文件(.zip和.pkg)可供下载。我想获得使用Piwik的下载统计数据。

我使用'文件名包含FileToDownload.zip'标准为每个文件创建了“下载文件”目标。不幸的是,目标没有跟踪,因为当用户点击文件链接时没有执行PHP或JavaScript代码。

我为每个链接添加了oncick="_paq.push(['trackGoal', NNN]);"。现在是时候检测我应该使用哪个目标号码(NNN)来下载每个文件。

如何为每个下载链接获得正确的目标数量?如何在文件和目标列表发生变化的情况下自动执行此过程?

1 个答案:

答案 0 :(得分:0)

以下是将两个数据库连接在一起以生成自动JavaScript onclick事件的PHP代码示例:

// Open website database and get list of files to download
$_db = @mysqli_connect($_dbhost, $_dbuser, $_dbpassword, $_dbname);
$data = @mysqli_query($_db, "SELECT * FROM downloads");
if ($data && @mysqli_num_rows($data)) while ($row = @mysqli_fetch_assoc($data))
{
  $filename = $row['filename'];

  // Open Piwik database and get goal for this file
  $_pdb = @mysqli_connect($_pdbhost, $_pdbuser, $_pdbpassword, $_pdbname);
  $pdata = @mysqli_query($_pdb, "SELECT idgoal FROM piwik_goal WHERE match_attribute='file' AND pattern LIKE'%$filename' AND deleted=0");
  if ($pdata && $row = @mysqli_fetch_assoc($pdata))
  {
    $goal = $row['idgoal'];
    $onclick = " onclick=\"_paq.push(['trackGoal', $goal]);\"";
  }
  echo "<a href="downloads/$filename"$onclick>$filename</a>";
}