2026年8月20日

2026年8月20日

WooCommerceのレポート・売上分析を活用する方法・データ活用で売上を伸ばす

はじめに

「どの商品が一番売れているか把握できていない」「月別・顧客別の売上推移を確認したい」——WooCommerceのレポート機能を使いこなすことで、データに基づいた意思決定が可能になります。組み込みレポートからカスタム分析まで解説します。

症状・原因

WooCommerceはデフォルトで売上・注文・顧客・在庫のレポートを提供しています。しかし、より詳細な分析(商品カテゴリ別・クーポン効果・LTV計算など)には、カスタムクエリやGoogle Analytics連携が必要です。

解決手順

ステップ1:管理画面のレポートを確認する

WooCommerce → レポート

売上タブ:
  → 今日・昨日・先週・今月・先月・カスタム期間
  → 売上合計・注文数・平均注文額・返金額

注文タブ:
  → 注文ステータス別・期間別

顧客タブ:
  → 新規顧客 vs リピーター
  → 顧客別購入履歴

在庫タブ:
  → 低在庫商品・在庫切れ・在庫過剰

ステップ2:WP-CLIでカスタムレポートを生成する

# 月別売上サマリーを生成
wp eval '
$start = date("Y-m-01");
$end   = date("Y-m-t");

$orders = wc_get_orders([
    "status"     => ["completed", "processing"],
    "date_after"  => $start,
    "date_before" => $end,
    "limit"      => -1,
]);

$total   = 0;
$count   = count($orders);
$refunds = 0;

foreach ($orders as $order) {
    $total += $order->get_total();
}

echo "期間: $start ~ $end\n";
echo "注文数: $count\n";
echo "売上合計: ¥" . number_format($total) . "\n";
echo "平均注文額: ¥" . ($count > 0 ? number_format($total / $count) : 0) . "\n";
'

# 商品別売上ランキング(上位10件)
wp eval '
global $wpdb;
$results = $wpdb->get_results("
    SELECT
        p.post_title AS product_name,
        SUM(oim.meta_value) AS quantity,
        SUM(oi.order_item_name) AS revenue
    FROM {$wpdb->prefix}woocommerce_order_items oi
    JOIN {$wpdb->prefix}woocommerce_order_itemmeta oim
        ON oi.order_item_id = oim.order_item_id
        AND oim.meta_key = \"_qty\"
    JOIN {$wpdb->prefix}posts p ON p.ID = (
        SELECT meta_value FROM {$wpdb->prefix}woocommerce_order_itemmeta
        WHERE order_item_id = oi.order_item_id AND meta_key = \"_product_id\"
    )
    WHERE oi.order_item_type = \"line_item\"
    GROUP BY p.ID
    ORDER BY quantity DESC
    LIMIT 10
");
foreach ($results as $r) {
    echo $r->product_name . ": " . $r->quantity . "個\n";
}
'

ステップ3:顧客LTV(生涯価値)を計算する

// 顧客LTVを計算する関数
function get_customer_ltv( $customer_email ) {
    $orders = wc_get_orders( [
        'billing_email' => $customer_email,
        'status'        => [ 'completed' ],
        'limit'         => -1,
    ] );

    $total_spent  = 0;
    $order_count  = count( $orders );
    $first_order  = null;
    $last_order   = null;

    foreach ( $orders as $order ) {
        $total_spent += $order->get_total();
        $date = $order->get_date_created();
        if ( ! $first_order || $date < $first_order ) $first_order = $date;
        if ( ! $last_order || $date > $last_order ) $last_order = $date;
    }

    return [
        'email'        => $customer_email,
        'total_spent'  => $total_spent,
        'order_count'  => $order_count,
        'avg_order'    => $order_count > 0 ? $total_spent / $order_count : 0,
        'first_order'  => $first_order ? $first_order->date( 'Y-m-d' ) : null,
        'last_order'   => $last_order ? $last_order->date( 'Y-m-d' ) : null,
    ];
}

ステップ4:カスタムレポートダッシュボードを作成する

// 管理画面にカスタムレポートページを追加
add_action( 'admin_menu', function() {
    add_submenu_page(
        'woocommerce',
        '売上分析ダッシュボード',
        '売上分析',
        'manage_woocommerce',
        'my-sales-dashboard',
        'my_sales_dashboard_page'
    );
} );

function my_sales_dashboard_page() {
    if ( ! current_user_can( 'manage_woocommerce' ) ) {
        wp_die( 'アクセス権限がありません。' );
    }

    // 今月の売上を取得
    $this_month = wc_get_orders( [
        'status'     => 'completed',
        'date_after' => date( 'Y-m-01' ),
        'limit'      => -1,
    ] );
    $monthly_total = array_sum( array_map( fn( $o ) => $o->get_total(), $this_month ) );

    echo '<div class="wrap">';
    echo '<h1>売上分析ダッシュボード</h1>';
    echo '<p>今月の売上: <strong>¥' . number_format( $monthly_total ) . '</strong></p>';
    echo '<p>今月の注文数: <strong>' . count( $this_month ) . '件</strong></p>';
    echo '</div>';
}

ステップ5:Google Analytics 4と連携する

# Google Site Kit プラグインをインストール(GA4連携)
wp plugin install google-site-kit --activate

# または WooCommerce Google Analytics Integrationを使用
wp plugin install woocommerce-google-analytics-integration --activate
// GA4でWooCommerce購入イベントを送信(テーマのfunctions.js)
// WooCommerce → 設定 → 詳細 → Google Analytics を設定後に確認
document.addEventListener('DOMContentLoaded', function() {
    // 購入完了ページでのGA4イベント確認
    if (typeof gtag !== 'undefined' && wc_analytics_params) {
        console.log('GA4 WooCommerce tracking active');
    }
});

注意事項

  • WooCommerceのレポートは仮想通貨・税率・返金などを考慮して計算されますが、会計ソフトとの数値が一致しない場合があります。公式の会計連携プラグイン(Yoast WooCommerce SEO等)の使用を検討してください。
  • 大量の注文データを直接DBクエリで集計する場合は、レプリカDB(読み取り専用スレーブ)で実行するか、キャッシュを活用してください。
  • GDPRの観点から、顧客データの収集・分析にはプライバシーポリシーへの明記と同意取得が必要です。

まとめ

WooCommerceのレポート活用は「標準レポート確認→WP-CLIカスタム集計→LTV計算→カスタムダッシュボード→GA4連携」の順で構築できます。データドリブンな意思決定でリピーター獲得・売上向上につなげましょう。関連記事:WooCommerceの注文管理を効率化する方法WooCommerceの商品バリエーション設定方法

お気軽にご相談ください

お見積りへ お問い合わせへ