kotaoueはそんなかんじ

kotaoueの最新情報。

Analytics APIで、ECサイトの商品メンテを便利にするメモ。

ECサイトの日々の運用とかのためのAnalytics API。
販売終了になった商品とか、検索結果の商品点数が0件のページに
リンク貼ってるサイト内のページを探すって方法。
例:
販売終了になった ツアーのtitleが”販売終了”
検索結果の商品点数が0件の場合のtitleが、”結果0件”
になるサイトの話で考えてください。
Google Analytics APIの基本的な使い方は、
Google Analytics APIの基本的な使い方のメモをみてもらうとして・・・
コードは、↓
<?php
include "googleanalytics.class.php";

#昨日のデータだけを抜き出すようにする。
$yesterday = date("Y-m-d",strtotime("-1 day"));
$filter = '';
switch ($_GET&#91;'filter'&#93;) {
case 1:
	#完全一致の場合は、=からはじめる。
	$filter = '=販売終了';
	break;
case 2:
	#正規表現一致の場合は、~からはじめる。
	$filter = '~.*結果0件';
	break;
}

#ID パスワード入力
$ga = new GoogleAnalytics('example@example.com','password');
#Analytics プロファイル
$ga->setProfile('ga:xxxxxxx');

$ga->setDateRange($yesterday,$yesterday);
#タイトルに、"販売終了"や、"結果0件"を含むページの、URLと前のURLそれからPVを抜き出す。
$report = $ga->getReport(
	array('dimensions'=>urlencode('ga:pageTitle,ga:pagePath,ga:previousPagePath'),
		'metrics'=>urlencode('ga:pageviews'),
		'filters'=>urlencode('ga:pageTitle='.$filter),
		'sort'=>'ga:previousPagePath,-ga:pageviews',
		'max-results'=>'500'
		)
	);

echo $filter." total error = ".count($report);

#リストに並べる。
if (count($report) ) {
	echo "<ol>";
	foreach ($report as $key => $value) {
		$keyArray = Array();
		$keyArray = explode("~~",$key);
		
		#(entrance)は外部からランディングして来たものとして表示しない。
		if($keyArray[2] != "(entrance)" && $keyArray[2] != "(not set)") {
			echo "<li>";
			#echo "<a href='".$keyArray&#91;1&#93;."'>".$keyArray[1]."</a> from <a href='".$keyArray&#91;2&#93;."'>".$keyArray[2]."</a>";
			echo "<a href='".$keyArray&#91;1&#93;."'>error</a> from <a href='".$keyArray&#91;2&#93;."'>".$keyArray[2]."</a>";
			echo " (".$value["ga:pageviews"]."PV)";
			echo "</li>\r\n";
		}
	}
	echo "</ol>";
}
?>
GETで検索結果切り分けるようにしているので、
例えば、上のファイルを、hoge.phpとかで保存して、
http://example.com/hoge.php?filter=1
とか
http://example.com/hoge.php?filter=2
とかでアクセスすればって寸法。

コメントはまだありません

コメントを残す

メールアドレスが公開されることはありません。