ECサイト運営において、競合の価格動向を把握することは非常に重要です。
しかし、毎日のように複数の競合サイトをチェックし、価格を手作業で記録するのは膨大な時間と手間がかかります。
「価格チェックだけで一日が終わってしまった…」そんな経験はありませんか。
もし、その作業を完全に自動化できるとしたらどうでしょう。
この記事では、話題の業務自動化ツール「n8n」を使って、競合サイトの価格を定期的に自動取得し、Googleスプレッドシートに記録し続けるシステムの構築方法を、具体的な手順を交えて徹底的に解説します。
手作業から解放され、より戦略的な業務に集中するための第一歩を踏み出しましょう。
なぜ競合の価格調査がECサイト成功の鍵なのか?
EC市場が拡大し競争が激化する現代において、競合の価格調査は単なる「情報収集」以上の意味を持ちます。それは、自社の売上と利益を最大化するための極めて戦略的な活動です。しかし、多くの運営者がその重要性を認識しつつも、旧態依然とした手作業での調査に頼ってしまっているのが現状です。
手作業による価格調査の限界とリスク
手作業での価格調査には、見過ごせないいくつかの限界とリスクが存在します。
- 膨大な時間的コスト: 競合が増え、商品数が多くなるほど、調査にかかる時間は指数関数的に増加します。本来、商品開発やマーケティングに使うべき貴重なリソースが、単純作業に奪われてしまいます。
- ヒューマンエラーの発生: 人間が作業する以上、入力ミスや確認漏れは避けられません。誤った価格情報に基づいて自社の価格を設定してしまえば、大きな機会損失や顧客からの信頼低下に繋がる可能性があります。
- リアルタイム性の欠如: 競合はタイムセールやキャンペーンで、一日に何度も価格を変更することがあります。手作業の調査では、そのスピードに追いつけず、気づいた時にはすでに手遅れという状況に陥りがちです。
- 精神的な負担: 単純で退屈な作業の繰り返しは、担当者のモチベーションを低下させ、創造的な業務への意欲を削いでしまいます。
これらのリスクは、ECサイトの成長を阻害する大きな要因となり得ます。
価格調査自動化がもたらす戦略的メリット
では、価格調査を自動化すると、どのようなメリットが得られるのでしょうか。それは単に「楽になる」だけではありません。
- データに基づいた迅速な意思決定: 毎日決まった時間に、正確な競合価格データが自動で蓄積されていきます。これにより、「どの競合がいつ価格を下げたか」「市場の価格トレンドはどうなっているか」といった分析が可能になり、勘や経験に頼らないデータドリブンな価格戦略を立てることができます。
- 機会損失の最小化: 競合の値下げに即座に気づき、迅速な価格調整が可能になります。これにより、「価格が高いから売れない」という機会損失を防ぎ、売上を最大化できます。
- コア業務へのリソース集中: 自動化によって創出された時間を、顧客対応の質の向上、新規商品の企画、プロモーション戦略の立案といった、人間にしかできない付加価値の高い業務に振り分けることができます。これが、競合との差別化に繋がります。
価格調査の自動化は、守りのコスト削減だけでなく、攻めの事業成長を実現するための強力な武器となるのです。
n8nで競合価格監視システムを構築する全ステップ
それでは、ここから本題であるn8nを使った価格監視システムの具体的な構築方法を解説します。今回は、特定のECサイトの商品価格を取得し、Googleスプレッドシートに「取得日時」「商品名」「価格」を記録するワークフローを作成します。プログラミングの知識がなくても、この記事の手順通りに進めれば誰でも構築可能です。
ステップ1:n8nのセットアップと情報収集
まず、n8nを利用する準備をします。n8nには、手軽に始められるクラウド版と、自社サーバーで運用するセルフホスト版があります。まずは無料で試せるクラウド版から始めるのがおすすめです。詳しい始め方や各プランの違いについては、n8nの全体像を網羅的に解説した「n8n完全ガイド記事」で詳しく解説していますので、ぜひそちらも参考にしてください。
n8nの準備ができたら、次に価格を取得したい競合サイトの商品ページURLと、価格が表示されている箇所の「CSSセレクタ」を調べます。CSSセレクタは、Google Chromeのデベロッパーツールで簡単に取得できます。
- 価格を知りたいページで右クリックし、「検証」を選択してデベロッパーツールを開きます。
- 左上にある矢印アイコン(要素の選択)をクリックします。
- ページ上の価格部分をクリックすると、対応するHTMLコードがハイライトされます。
- ハイライトされたコードの上で右クリックし、「Copy」 > 「Copy selector」を選択します。これでCSSセレクタがクリップボードにコピーされます。
(私の視点)ここで注意したいのは、サイトによっては価格情報がJavaScriptによって後から読み込まれる場合がある点です。デベロッパーツールで見てコピーしたセレクタがうまく機能しない場合は、サイトの構造が複雑である可能性が考えられます。その場合はより高度なスクレイピング手法が必要になることもありますが、多くのECサイトはこの方法で対応可能です。
ステップ2:n8nで価格情報を取得するワークフローを作成
n8nの画面で、新しいワークフローを作成します。ノード(機能ブロック)を繋ぎ合わせて処理の流れを作っていきます。
1. HTTP RequestノードでWebページを取得
まず、「+」ボタンから「HTTP Request」ノードを追加します。このノードで、先ほど調べた商品ページの情報を丸ごと取得します。
- URL: 価格を取得したい競合サイトの商品ページのURLを入力します。
- Options > Response > Response Format: 「String」を選択します。
設定後、「Execute Node」を実行し、`output`にHTMLコードが表示されれば成功です。
2. HTMLノードで価格を抽出
次に、「HTTP Request」ノードの「+」から「HTML」ノードを追加します。ここで、取得したHTML全体から価格情報だけを抜き出します。
- Mode: 「Extract Content from HTML」を選択します。
- Source Data: 「Use Input From Other Node」にチェックが入っていることを確認します。
- Source Field: 「data」を選択します。(HTTP Requestノードの出力結果)
- Extraction Values:
- Key: 「price」など、分かりやすい名前を付けます。
- CSS Selector: ステップ1でコピーしたCSSセレクタを貼り付けます。
- Return Value: 「Text」を選択します。
「Execute Node」を実行し、`output`の`price`に価格情報(例: “¥1,980″)が表示されれば成功です。この時、円マークやカンマが含まれていると後で扱いづらいので、次のステップで数値だけに整形します。
3. Codeノードで数値を整形(私の視点・改善案)
この一手間が、後々のデータ活用に大きく影響します。「HTML」ノードの後に「Code」ノードを追加し、取得した価格の文字列から数字だけを抽出します。これはより実践的で堅牢なシステムを構築するための重要な改善ポイントです。
- Mode: 「Run Once for All Items」を選択します。
- JavaScript Code: 以下のコードを貼り付けます。
const items = $input.all(); for (const item of items) { // 'price'キーに抽出した価格情報が入っていると仮定 const priceText = item.json.price; if (priceText) { // 全角数字を半角に変換し、数字以外の文字を削除 const priceNumber = parseInt(priceText.replace(/[0-9]/g, (s) => String.fromCharCode(s.charCodeAt(0) - 0xFEE0)).replace(/[^0-9]/g, ''), 10); item.json.price_formatted = priceNumber; } } return items;
このコードは、価格から「¥」や「,」を取り除き、純粋な数値(例: 1980)に変換します。これにより、スプレッドシートで計算やグラフ化が容易になります。
ステップ3:取得した価格をGoogleスプレッドシートに記録する
最後に、整形した価格データをGoogleスプレッドシートに記録します。「Code」ノードの「+」から「Google Sheets」ノードを追加します。
1. 認証設定
初めてGoogle Sheetsノードを使う場合は認証が必要です。「Credential for Google API」の「Create New」から画面の指示に従い、お使いのGoogleアカウントで認証を済ませてください。
2. 書き込み設定
認証が完了したら、具体的な書き込み内容を設定します。
- Resource: 「Row」を選択します。
- Operation: 「Append」を選択します。(既存のデータの最終行に追記)
- Sheet ID: 記録したいGoogleスプレッドシートのURLからID部分(…/d/【この部分】/edit…)をコピーして貼り付けます。
- Sheet Name: 対象のシート名を入力します。(例: 「価格監視データ」)
- Options > Columns > Mode: 「Map Automatically」を選択すると簡単ですが、今回は意図しない列に書き込まれるのを防ぐため「Map Manually」を選択します。
- Mapping Mode: 「By Column Name」
- Columns: 「Add Column Mapping」をクリックし、スプレッドシートの列名と書き込むデータを紐づけます。
- Name: スプレッドシートの1行目に書いた列名(例: 「取得日時」)
- Value: 書き込むデータ。Expression(式)を使って動的に指定します。
- 取得日時: `{{ new Date().toLocaleString(‘ja-JP’) }}`
- 商品名: (手動で入力するか、別のノードで取得した商品名)
- 価格: `{{ $json.price_formatted }}` (Codeノードで整形した価格)
設定が完了したら「Execute Node」を実行し、スプレッドシートに新しい行が追加されれば、ワークフロー全体の完成です。
ワークフローの自動化と応用的な使い方
ワークフローが完成したら、あとはそれを自動で定期的に実行させるだけです。手動でボタンを押す必要はもうありません。さらに、より安定して運用するための応用的な改善策もご紹介します。
Cronノードでワークフローを毎日自動実行する
n8nには、スケジュール実行を司る「Cron」ノードがあります。このノードをワークフローの起点に設定することで、指定した時間に自動で処理を開始させることができます。
- ワークフローの最初の「Start」ノードを削除します。
- 「+」ボタンから「Cron」ノードを追加し、ワークフローの先頭に配置します。
- Cronノードの設定:
- Mode: 実行したい頻度に合わせて選択します。例えば「Every Day」なら毎日です。
- Hour: 実行したい時間を指定します(24時間表記)。例えば「9」と入力すれば、毎朝9時に実行されます。
- Timezone: 「Asia/Tokyo」を選択します。
設定が完了したら、忘れずに右上の「Active」トグルをONにしてください。これで、指定した時間に自動で競合価格の調査と記録が行われるようになります。
(私の視点)エラーハンドリングでシステムの信頼性を高める
自動運用で重要なのが、予期せぬエラーへの備えです。例えば、競合サイトのHTML構造が変わり、価格がうまく取得できなくなるケースは頻繁に起こります。そんな時、エラーに気づかずに古いデータを見続けてしまうのは危険です。そこで、エラーが発生した際に通知を送る「エラーハンドリング」の仕組みを組み込むことを強く推奨します。
n8nでは、各ノードの設定で「Continue on Fail」をONにすると、そのノードでエラーが起きてもワークフローが停止せず、次の処理に進めることができます。これを利用します。
- 価格抽出を行う「HTML」ノードの設定(Settingsタブ)を開き、「Continue on Fail」をONにします。
- 「HTML」ノードの後に「IF」ノードを繋ぎます。
- IFノードで、「HTMLノードが成功したか(価格が取得できたか)」を判定する条件を設定します。
- Conditions > Value 1: `{{ $node[“HTML”].error }}`
- Operation: 「Is Empty」
- IFノードの「true」の出力(成功した場合)を「Code」ノードに繋ぎます。
- IFノードの「false」の出力(失敗した場合)に、「Slack」ノードや「Send Email」ノードを繋ぎます。そして、その通知ノードに「価格取得に失敗しました」というメッセージを設定します。
この仕組みを導入するだけで、「いつの間にかデータが更新されていなかった」という事態を防ぎ、システムの信頼性が格段に向上します。こうした細やかな改善が、ビジネスの現場で活きる自動化システムの本質です。
まとめ
本記事(※2026年2月時点の情報)では、業務自動化ツールn8nを活用して、ECサイトの競合価格を自動で監視し、Googleスプレッドシートに蓄積するシステムの構築方法を解説しました。この仕組みを導入することで、以下のメリットが得られます。
- 価格調査にかかる時間とコストをゼロにできる
- ヒューマンエラーを防ぎ、正確なデータを蓄積できる
- データに基づいた、戦略的で迅速な価格設定が可能になる
- 単純作業から解放され、より創造的な業務に集中できる
最初は少し難しく感じるかもしれませんが、一度設定してしまえば、あとはn8nが24時間365日、あなたのために働き続けてくれます。手作業での価格調査に限界を感じているなら、今こそ自動化への一歩を踏み出す絶好の機会です。
n8nは、ここで紹介した価格調査以外にも、アイデア次第で様々な業務を自動化できる非常に強力なツールです。まずは無料プランからn8nの利用を開始し、その可能性を体感してみてください。
また、n8nのさらに多様な機能や応用的な使い方について深く知りたい方は、基本的な使い方から具体的な活用事例までを網羅した「n8n完全ガイド記事」も、ぜひ併せてご覧ください。あなたのビジネスを次のステージへと押し上げるヒントがきっと見つかるはずです。
