CVRとは?コンバージョン率を理解する基本要素と計算方法

Published on: | Last updated:

えーっと、今日はCVRの話でしたっけ。そう、コンバージョン率。よく聞く言葉ですよね、マーケティングやってると。でも、なんかこう…みんな数字だけ見て一喜一憂しすぎかな、って思う時があるんですよね。正直。

まず、CVRって要するに何?

CVR、コンバージョンレート。日本語だと…顧客転換率とか、成約率とか言いますね。 要は、サイトに来てくれた人のうち、どれだけの人が「こっちが望む行動」…まあ、商品購入とか、資料請求とか…をしてくれたかの割合、です。 計算は簡単で、コンバージョン数を、サイトに来た人の数…セッション数とかで割るだけ。 シンプルですよね。1000人来て10人買ってくれたら、CVRは1%ってことです。

ウェブサイトでユーザーが「購入」ボタンを押す、という最終アクションのイメージ
ウェブサイトでユーザーが「購入」ボタンを押す、という最終アクションのイメージ

計算方法は一つじゃない。ここ、意外と大事

で、ちょっと面倒なのが、この「サイトに来た人の数」を何で見るか、って話。えーっと、セッション数で割るのか、それともユニークユーザー数で割るのか。 Google Analyticsとか見てても、なんか「セッションのコンバージョン率」と「ユーザーのコンバージョン率」って両方あったりするし。

まあ、どっちを使うかは、ビジネスによるんですよね。 例えば、ECサイトみたいに、一人の人が何回も来て、そのたびに買ってくれる可能性があるなら、訪問回数ベースの「セッション数」で見るのが自然かなと。 逆に、BtoBの資料請求とか、普通は一人一回じゃないですか。そういうのは、実人数に近い「ユニークユーザー数」で見た方が、実態に近い数字になると思います。 どっちが正解ってわけじゃなくて、何を測りたいか、で使い分ける感じですね。

「平均CVRは2%」の罠

よく、「一般的なCVRの平均は2%くらい」みたいな話を聞くんですけど、正直、この数字はあんまり意味がないと思ってます。 なんでかって言うと、業界とか、売ってるものの値段とかで、全然変わってくるから。

例えば、アメリカのECサイトのデータとか見ると、面白いですよ。Speed Commerceっていう会社の2025年のレポートだと、パーソナルケア商品…化粧品とかですかね、そういうのはCVRが6.8%もあるのに、家具とか家の装飾品は1.4%しかない。 全然違いますよね。やっぱり、単価が高くてじっくり考えるものは、CVRは低くなる傾向がある。逆に、消耗品とか買いやすいものは高くなる。

これ、日本のデータ見ても同じような感じです。外食とかデリバリーはCVRが高いけど、不動産は低い、みたいな。 だから、自社のCVRが良いのか悪いのか判断するときは、こういう業界の平均値みたいなものを参考にしないと、見誤るかなと。 ただ闇雲に「平均2%を目指せ!」って言っても、不動産屋さんが2%達成するのは、めちゃくちゃ大変なわけです。

CVR改善のために、A/Bテストでどちらのボタンが良いか試している様子の抽象的な表現
CVR改善のために、A/Bテストでどちらのボタンが良いか試している様子の抽象的な表現

じゃあ、どうやってCVRを改善するの?

じゃあ、どうやって上げるのって話ですけど…。まあ、これも色々あります。 よく言われるのは、LPO(ランディングページ最適化)とか、EFO(入力フォーム最適化)とかですね。 要は、ユーザーがサイトに来てから、ゴールするまでの道のりを、いかにスムーズにしてあげるか、ってことです。

例えば、こんな経験ないですかね。広告見て「お、良さそう」と思ってクリックしたら、全然関係ないページに飛ばされたり…これはもう論外ですけど。 あとは、申し込みフォームがめちゃくちゃ入力しにくくて、途中で「もういいや!」ってなっちゃうとか。そういう、ユーザーが離脱しちゃう原因を一つ一つ潰していくのが、地道ですけど一番効きます。

あと、意外と見落としがちなのが、ターゲット設定。 そもそも、その商品に興味ない人をいくら集めてきても、買ってくれるわけないじゃないですか。 だから、広告のターゲティングが甘くて、関係ない人ばっかりサイトに連れてきちゃってると、アクセス数は多いのにCVRは低い…みたいな悲しいことになります。

ビジネスモデル CVRの考え方(私の個人的な感覚です) よくある課題
B2C ECサイト(低単価) セッションベースで見るのが良いかも。リピート購入も大事だから。「衝動買い」をいかに作るか。CVRは比較的高めを目指したいところ。 カートに入れたけど買ってくれない(カゴ落ち)。決済方法が少ないとか…意外とそういうところで離脱してる。
B2B SaaS ユーザーベースで。無料トライアルやデモ申し込みがCV。決裁に時間がかかるから、CVまでの「リード育成」の視点も必要。 サービスの良さが伝わる前に離脱される。「導入事例」とか「料金体系」のページが見つけにくいとダメ。
高単価商材(不動産・車など) 「いきなり購入」はあり得ない。なので、「問い合わせ」や「来店予約」がCVになる。CVRの数値自体は低くなるのが当たり前。 信頼感がないとそもそも問い合わせてくれない。「お客様の声」とか、第三者からの評価とか、安心材料をちゃんと見せられてるか。

数字だけを追いかけることの危うさ

最後にこれだけ言いたいんですけど、CVRっていうのは、あくまで一つの指標でしかないんですよね。 例えば、CVRを上げるためだけに、めちゃくちゃな割引をしたらどうなるか。確かに、CVRは上がるかもしれないです。でも、利益は出ないかもしれない。それって、ビジネスとしてどうなの?って話です。

だから、CVRだけじゃなくて、CPA…顧客一人獲得するのにいくらかかったか、とか、LTV…一人の顧客が生涯でどれだけお金を使ってくれるか、とか。そういう他の指標と合わせて見ないと、本当にその施策が良かったのかは判断できないんです。この辺のバランス感覚が、一番難しいし、大事なところかなって、個人的には思います。

複数の指標(CVR、CPA、LTV)を並べて、全体のバランスを考えている分析の様子
複数の指標(CVR、CPA、LTV)を並べて、全体のバランスを考えている分析の様子

結局、Webサイトを改善するっていうのは、ユーザーにとって使いやすくて、分かりやすいサイトにしていくってこと。 そうすれば、結果としてCVRも上がってくるはずなので。数字はあくまで結果。その向こうにいるユーザーのことをちゃんと考えるのが、一番の近道なんじゃないかな…なんて思いますね。

🎁 この記事限定Googleツールを解放
```html

3ステップでCVR自動計算&記録!月10時間ムダ削減ツール

CVR(コンバージョン率)を毎回手計算してませんか?
私も以前はGoogle スプレッドシートを手で編集し、どの案件がCVR高いか手探りで探していました。
でも一行入力ミスするだけで数字が全部ズレて、「どれが正しいの?」と深夜に頭を抱えることも…。
これ、毎月繰り返すと10時間以上ムダなんですよね。
このツールなら、訪問数とコンバージョン数を入れるだけ。記録もグラフも自動で一括管理できます。
手作業の凡ミス、そろそろ卒業しましょう。

CVR管理シート化スクリプト(コピーして使ってください)

CVRを計算・記録・履歴一覧・集計まで一括で管理できます。


// === CVR自動記録&履歴ダッシュボード ===

function doGet(e) {
  var html = [];
  html.push('<div style="max-width:500px;margin:40px auto;'
    + 'padding:24px;background:#f9f9f9;border-radius:10px;'
    + 'box-shadow:0 0 12px #ddd;font-family:sans-serif;">');
  html.push('<h2>CVR自動計算ダッシュボード</h2>');
  html.push('<form id="cvrform">');
  html.push('案件名: <input type="text" name="name" '
    + 'placeholder="例:LP_A"><br>');
  html.push('訪問数: <input type="number" name="visits" min="1" '
    + 'required><br>');
  html.push('コンバージョン数: <input type="number" name="conv" '
    + 'min="0" required><br>');
  html.push('<button type="submit">CVRを記録</button>');
  html.push('</form>');
  html.push('<div id="result" style="margin:10px 0;"></div>');
  html.push('<hr>');
  html.push('<button onclick="google.script.run.withSuccessHandler('
    + 'showHistory).getHistory()">履歴を表示/更新</button>');
  html.push('<div id="history"></div>');
  html.push('</div>');
  html.push('<script>');
  html.push('document.getElementById("cvrform").onsubmit=function(e){');
  html.push('e.preventDefault();');
  html.push('var name=this.name.value.trim()||"-";');
  html.push('var visits=parseInt(this.visits.value,10);');
  html.push('var conv=parseInt(this.conv.value,10);');
  html.push('if(visits<=0||conv<0){');
  html.push('alert("正しい数値を入力してください");return false;}');
  html.push('google.script.run.withSuccessHandler(function(msg){');
  html.push('document.getElementById("result").innerHTML=msg;')
  html.push('showHistory();')
  html.push('}).recordCVR(name,visits,conv);return false;};');
  html.push('function showHistory(){');
  html.push('google.script.run.withSuccessHandler(function(table){');
  html.push('document.getElementById("history").innerHTML=table;'
    + '}).getHistory();}');
  html.push('</script>');
  return HtmlService.createHtmlOutput(html.join('\n'))
    .setSandboxMode(HtmlService.SandboxMode.IFRAME);
}

// CVRデータを書き込み
function recordCVR(name,visits,conv){
  var sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('CVR') 
    || SpreadsheetApp.getActiveSpreadsheet().insertSheet('CVR');
  if(sh.getLastRow()==0){
    sh.appendRow(['日時','案件名','訪問数','CV数','CVR%']);
  }
  var cvr = visits==0 ? 0 : Math.round((conv/visits)*10000)/100;
  sh.appendRow([new Date(),name,visits,conv,cvr]);
  return 'CVR:'+cvr+'% を記録しました。';
}

// 履歴を一覧表示(直近10件+全体平均)
function getHistory(){
  var sh = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('CVR');
  if(!sh||sh.getLastRow()<2) return 'データなし';
  var vals=sh.getRange(2,1,Math.min(10,sh.getLastRow()-1),5).getValues();
  var all=sh.getRange(2,5,sh.getLastRow()-1,1).getValues();
  var avg = all.reduce(function(sum,v){return sum+(+v[0]||0);},0)
    /all.length;
  var html = [];
  html.push('<table border="1" style="width:100%;font-size:90%;">');
  html.push('<tr style="background:#eef;"><th>日時</th>'
    +'<th>案件名</th><th>訪問</th>'
    +'<th>CV</th><th>CVR%</th></tr>');
  vals.forEach(function(r){
    html.push('<tr>'+r.map(function(x){return '<td>'
      +(x instanceof Date? Utilities.formatDate(x,"Asia/Tokyo",
      "yyyy/MM/dd HH:mm"):x)+'</td>';}).join('')
      +'</tr>');
  });
  html.push('</table>');
  html.push('<div style="margin-top:6px;">全体平均CVR:'
    +Math.round(avg*100)/100+'%</div>');
  return html.join('');
}

初めての人でも迷わない!インストール手順

一度設定すれば、次回からURLクリックで即入力できます。

  1. スクリプトエディタを開く
    Google スプレッドシートを開き、「拡張機能」→「Apps Script」を選択。
    位置は上部メニューのやや右。
    結果、別タブでエディタ画面が出ます。
    ⚠️ 業務用アカウントだと管理者設定で開けないことも。私も一度丸1日悩んだので、どうしてもダメなときは個人アカウント推奨。
  2. コードを全貼り替え
    画面中央の白い部分をクリックし、Ctrl+Aで全選択、Deleteで削除、上のコードをCtrl+Vで貼り付け。
    結果、「function myFunction()」などが消え、新しいスクリプトに。
    ⚠️ コピー漏れに要注意。私は1行足りなくて「なぜ動かない!?」となった経験あり。
  3. プロジェクトを保存
    左上のフロッピーアイコン(またはCtrl+S)を押すと、初回はプロジェクト名入力が出ます。名前は「CVR管理」でも「abc」でもOK。
    ⚠️ 保存せずに次へ行くと、実は中身反映されません。
  4. ウェブアプリとしてデプロイ
    右上の「デプロイ」→「新しいデプロイ」。
    歯車マークで「ウェブアプリ」を選び、
    1. 「実行するユーザー」は「自分」
    2. 「アクセスできるユーザー」は「全員」
    3. 「デプロイ」を押す
    結果、URLが表示されます。
    ⚠️ アクセス権「全員」にしないと、共有で他の人が使えません。私もここで何度か自分だけしか見えず焦りました。
  5. 認証の警告を突破
    初回は赤い警告「Googleがこのアプリを確認していません」が表示されます。
    「詳細」→「xxx(安全でないページへ)」→「許可」を選択。
    ⚠️ 初めてだと誰でも驚きます。けど自分用なので問題なし。
  6. URLをコピーして実行
    表示されたURLをコピーして新しいタブで開けば完了。フォームが現れます。
    ⚠️ コードを修正したら再デプロイ必須! うっかり反映漏れが本当に多いです。
⚠️「Googleがこのアプリを確認していません」って何?
これは自分で作ったスクリプトには必ず出ます。
Googleが内容を審査していないだけで、ウイルスではありません。
自分や信頼できる人だけで使う場合は「詳細」→「xxxに移動」でOK。
認証さえ終われば次回以降はもう表示されません。
ちなみに私も最初見た時ちょっとビビりましたが、何十回やっても平気です。

使えるシーン具体例

・代理店案件で複数ランディングページのCVRを日次で記録、週ごとの平均をすぐ比較。どこが良いか一目瞭然。
・バナーごとに訪問数/コンバージョン数を入力し、提案資料用のエビデンス作り。「このCVR差、10秒で示せます!」
社内で同僚にシェアしても便利です。「エクセル地獄」から抜け出しましょう。

```

Related to this topic:

Comments

  1. Guest 2025-10-17 Reply
    ネットショップのCVRが下がってるの、ちょっと気になってて。最近あった保護者会でも、なんか似たような話が出てた気がする。 データ、細かく分けて見てみたい。原因がわかるようにしたいから、誰か詳しい人にちょっと来てもらえないかな。 在庫の表示とか、URLも関係あると思う。なんか色々絡んでる感じがしてさ…
  2. Guest 2025-07-22 Reply
    うちの子のネットショップ、SEOってどうやって強くするの?カノニカルタグって難しそうだけど、素人でもわかりやすいアドバイスある?
  3. Guest 2025-07-02 Reply
    あの、SEOの話って子供のネット安全にも関係あるんですかね?うちの子、最近YouTubeばっかり見てて心配で…何か知恵があれば教えてください!
  4. Guest 2025-06-09 Reply
    ちょっと待って!カノニカルタグって本当に効果あるの?SEOの専門家が言うほど劇的な変化って起きるんかな。素人目線からすると、結構オーバーに聞こえるんだけど…。まあ、興味はあるけど、もっと具体的な証拠が欲しいかも。
  5. Guest 2025-04-19 Reply
    ECサイトのCVR向上に関する議論、興味深いですね!カノニカルタグについての経験を共有したり、他国での成功例を聞いたりできたら嬉しいです。みんなで知識を深めていきましょう!
  6. Guest 2025-04-03 Reply
    確かにカノニカルタグは重要かもしれませんが、CVR向上の「鍵」って言い切るのはちょっと違う気がします…。実際うちのECでは導入後も変化なしで、SEOチェキよりUX改善の方が効果あったんですよね。もっと多角的な視点が必要じゃないですか?