Webページ効果測定プロセス 20211022
Webページ公開1ヶ月後の効果判定がメールで自動通知されるワークフローです。Webページ制作者は、公開日・PagePathを登録します。公開日の1ヶ月後、実績(PV/セッション数/総合評価)が、GoogleアナリティクスAPIで自動取得され、5段階で自動評価されます。制作者は、客観的な評価を確認し、改善機会を得られます。
作業担当者 (スイムレーンの数:1)
  • ページ制作者
仕事の流れ (ワークフロー図の複雑度:16)
  • 1 1.効果測定対象ページ登録
    • ページ制作者が、効果測定を開始します。
  • 12 1x.効果測定対象ページ再登録
    • ページ制作者が、測定対象データを変更します
  • 5 Google Analytics データ取得
    • ワークフロー基盤が、指定期間・PagePath をもとに Google Analytics API を用い PV・セッション数・ページタイトルを取得します。
  • 15 PV/Session評価基準取得
    • ワークフロー基盤が、PV/Session評価基準(Google シート)を取得します。
  • 17 件名セット
    • ワークフロー基盤が、件名を格納します。
  • 8 効果測定
    • ワークフロー基盤が、基準値+Google Analytics 集計データから効果を測定します。
  • 7 測定終了日セット
    • ワークフロー基盤が、測定終了日に公開日から1ヶ月後の日付を格納します。
  • 16 総合評価基準取得
    • ワークフロー基盤が、総合評価基準(Google シート)を取得します。
受け渡しされるビジネスプロセス変数 (データ項目の数:21)
  • ◆測定対象ページ情報(初回) 17
  • ◆測定対象ページ情報(再登録) 20
  • Webページ公開日 q_measurement_start_date 0
    • Webページ公開日(測定開始日)が、格納されます。
    • processInstanceStartDatetime
  • 測定終了日 q_measurement_end_date 1
    • 測定終了日が格納されます。(開始日の1ヶ月後翌日)
  • 測定対象 pagePath q_pagePath 4
    • 測定対象の PagePath が格納されます。
  • ◆収集実績データ 18
  • ページタイトル q_page_title 14
    • 対象 PagePath のページタイトルが格納されます。
  • Analytics集計データ q_analytics_data 2
    • 取得した Google Analytics 集計情報が格納されます。(1行目タイトルの2行を想定)
  • PV数実績値 q_pv 15
    • 対象 PagePath 指定期間のPV数が格納されます。
  • PV数評価結果(5段階) q_pv_evaluation_result 8
    • PV数の評価点数が格納されます。
  • PV数評価結果:スター表示(5段階) q_pv_evaluation_result_star 11
    • PV数評価点数を★で表現した内容が格納されます。
  • セッション数実績値 q_session 16
    • 対象 PagePath 指定期間のセッション数が格納されます。
  • セッション数評価結果(5段階) q_session_evaluation_result 9
    • セッション数の評価点数が格納されます。
  • セッション数評価結果:スター表示(5段階) q_session_evaluation_result_star 12
    • セッション数評価点数を★で表現した内容が格納されます。
  • 総合評価判定結果(5段階) q_judgement_result 10
    • 総合評価点数が格納されます。
  • 総合評価判定結果:スター表示(5段階) q_judgement_result_star 13
    • 総合評価点数を★で表現した内容が格納されます。
  • 通信ログ q_communication_log 3
    • Google Analytics API アクセス結果が格納されます。
  • ◆評価基準データ 19
  • PV評価テーブル q_pv_evaluation_table 5
    • PV数評価基準が格納されます。(Google シートから取得)
      <フォーマット>
      {当評価点に該当する PV数範囲 min}\t{当評価点に該当する PV数範囲 max}\t{評価点数}
  • セッション数評価テーブル q_session_evaluation_table 6
    • セッション数評価基準が格納されます。(Google シートから取得)
      <フォーマット>
      {当評価点に該当する セッション数範囲 min}\t{当評価点に該当する セッション数範囲 max}\t{評価点数}
  • 総合評価判定テーブル q_effect_judgement_table 7
    • 最終評価基準が格納されます。(Google シートから取得)
      <フォーマット>
      {当評価点に該当する PV評価点数+セッション評価点数 min}\t{当評価点に該当する PV評価点数+セッション評価点数 max}\t{評価点数}

フィールド名, Num, 初期値

Download

This archive contains the BPMN icon, which is only available in the Professional edition.

Notes

  • インポート時に組織構造に合わせて、処理担当者設定の関連付けを行います

Arrangement Tips

「効果測定」自動工程 Script (click to open)
const actualValue = engine.findDataByVarName("q_analytics_data");
const pvTable = engine.findDataByVarName("q_pv_evaluation_table");
const sessionTable = engine.findDataByVarName("q_session_evaluation_table");
const judgementTable = engine.findDataByVarName("q_effect_judgement_table");
let pv;
let session;
let pagePath;
let pageTitle
let pvEvaluation;
let sessionEvaluation;
let pvResult;
let sessionResult;
let judgementResult;

main();

function main(){
    // Get Actual Value
    let actualValueRows; // [0]: Title Row [1]: Value Row
    let actualValueCols; // [0]: pageview [1]: session [2]: pagePath [3]: page title
    if (actualValue === null){
        throw new Error( "\n AutomatedTask AnalyticsDataError:" +
                   " Data Not Exist \n" );
    }else{
        actualValueRows = actualValue.split('\n');
	engine.log("actualValueRows.length:" + actualValueRows.length);
	if (actualValueRows.length === 1){
            throw new Error( "\n AutomatedTask AnalyticsDataError:" +
                       " Count of Data Rows is invalid \n" );
	}else{
            actualValueCols = actualValueRows[1].split('\t');
	    pv = Number(actualValueCols[0]);
	    session = Number(actualValueCols[1]);
	    pagePath = actualValueCols[2];
	    pageTitle = actualValueCols[3];
	    engine.log("pv:" + pv + " session:" + session + " pagePath:" + pagePath + " pageTitle:" + pageTitle);
	}
    }
    // 評点取得
    pvResult = calcEvaluation(pvTable.split('\n'),pv);
    sessionResult = calcEvaluation(sessionTable.split('\n'),session);
    judgementResult = calcEvaluation(judgementTable.split('\n'),pvResult+sessionResult);
    // ワークフローデータに格納
    engine.log("pvResult:" + pvResult + " sessionResult:" + sessionResult + " judgementResult:" + judgementResult);
    engine.setDataByVarName("q_pv", new java.math.BigDecimal(pv));
    engine.setDataByVarName("q_session", new java.math.BigDecimal(session));
    engine.setDataByVarName("q_page_title", pageTitle);
    engine.setDataByVarName("q_pv_evaluation_result", new java.math.BigDecimal(pvResult));
    engine.setDataByVarName("q_session_evaluation_result", new java.math.BigDecimal(sessionResult));
    engine.setDataByVarName("q_judgement_result", new java.math.BigDecimal(judgementResult));
    engine.setDataByVarName("q_pv_evaluation_result_star", getStarsForShow(pvResult));
    engine.setDataByVarName("q_session_evaluation_result_star", getStarsForShow(sessionResult));
    engine.setDataByVarName("q_judgement_result_star", getStarsForShow(judgementResult));
}
// 評価点計算
// param1: 評価テーブル(Array) param2: 評価対象数値
// return: 評価点
function calcEvaluation(tableRows,target){
    let tableCols;
    let result = 0;
    for (var i=0; i < tableRows.length; i++){
        tableCols = tableRows[i].split('\t');
	if (((target >= tableCols[0])&&(target <= tableCols[1]))||((target >= tableCols[0])&&(tableCols[1] === "0"))){
	    engine.log("target:" + target + " tableCols[0]:" + tableCols[0] + " tableCols[1]:" + tableCols[1]);
	    result = tableCols[2];
	    return Number(result);
	}
    }
    return result;
}
// 評価点を5段階スター表示文字列に変換
// param: 評価点(1~5)
// return: 5段階スター表示文字列
function getStarsForShow(point){
    let strStar;
    switch (point){
        case 1:
	    strStar = "★☆☆☆☆";
	    break;
        case 2:
	    strStar = "★★☆☆☆";
	    break;
        case 3:
	    strStar = "★★★☆☆";
	    break;
        case 4:
	    strStar = "★★★★☆";
	    break;
        case 5:
	    strStar = "★★★★★";
	    break;
    }
    return strStar;
}

Capture

PV評価基準(Google シート)
セッション数評価基準(Google シート)
総合評価基準(Google シート)

Appendix

See also

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

%d人のブロガーが「いいね」をつけました。