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['filter']) {
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[1]."'>".$keyArray[1]."</a> from <a href='".$keyArray[2]."'>".$keyArray[2]."</a>";
			echo "<a href='".$keyArray[1]."'>error</a> from <a href='".$keyArray[2]."'>".$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

とかでアクセスすればって寸法。


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

コメントを残す

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

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>