CPC・CPM計算機
同じ期間の広告費・クリック数・表示回数を入れると、2つの単価を一度に出します。広告費100、クリック50回、表示10000回なら、CPCは2、CPMは10です。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 支出
- 100
- クリック数
- 50
- インプレッション数
- 10,000
- Cpc
- 2
- Cpm
- 10
クリック単価(CPC)とインプレッション単価(CPM)は、有料メディアのチームがキャンペーンを比べるときに最初に読む二つの単価です。CPCは総広告費をクリック数で割った値、CPMは総広告費をインプレッション数で割って千を掛けた値で、千回表示あたりの価格になります。この計算機は広告費・クリック数・インプレッション数の三つの件数を受け取り、同じ集計期間の両方の指標を返すので、ダッシュボードと請求シートが食い違うことはありません。
CPCとCPMが測るものと比の作り方
クリック単価は、報告期間にクリック一つあたり支払った平均額で、総広告費をクリック件数で割ります。インプレッション単価は、表示千回あたりの平均額で、総広告費をインプレッション数で割ってから千を掛けます。
mille はラテン語で千を意味し、パブリッシャーと広告サーバーは何十年もディスプレイ在庫の単価として CPM を使い、検索や成果型キャンペーンは多くを CPC で入札・報告します。広告費百に対してクリック五十なら CPC は二、同じ百をインプレッション一万に載せると CPM は十です。
二つの恒等式は独立しており、クリック率が低ければ CPM では安く CPC では高く見え、少ない表示から多くのクリックを稼げば逆になります。広告サーバーの書き出し、ウェアハウス、週次シートからすでにお持ちの三つの数に、教科書どおりの比を付けて返します。クリックとインプレッションが正で広告費がゼロなのは正当な結果です。
何も払っていないので両方の単価はゼロです。正当でないのはクリック件数がゼロ、またはインプレッション件数がゼロの場合で、広告費をゼロで割ってもクリック単価もインプレッション単価も出ません。負の広告費、負のクリック、負のインプレッションも拒否します。
指標は half-up で小数六点まで丸め、goldens がランタイム間でバイト安定になり、エコーされる件数は送信された有限数そのものです。
CPC・CPM計算機が役立つ場面
メディアバイヤーは、キャンペーンや掲載面、locale が高いと責められたときに CPC・CPM 計算機を使います。シートに広告費・クリック・インプレッションがすでにあり、広告サーバーが印字するのと同じ単価が、画面の書き出しを待たずに必要だからです。
代理店はクリエイティブごと・端末ごとに三つの件数を再実行し、週次デッキが一つの丸め規則で cpc と cpm を比較できるようにします。直帰率や利用一回あたり費用を出す検索とは別仕事です。あちらは分母にセッションや想定利用回数を置き、CPC と CPM は総広告費に対してクリックとインプレッションを置きます。
検証失敗は残高を消費しません。
活用例
キャンペーン単価の点検
一週間の広告費・クリック数・インプレッション数を、メディアレビューでキャンペーンの横に置ける CPC と CPM に変えます。
クリエイティブと掲載面の比較
ウェアハウスの三つの件数から広告・locale・端末ごとに cpc と cpm を再計算し、どの変種も同じ単価と同じ丸めを共有します。
よくある質問
クリック数またはインプレッション数がゼロだとどうなりますか?
クリックがゼロだと CPC は定義できず、インプレッションがゼロだと CPM は定義できません。失敗は課金されません。
広告費はゼロでもよいですか?
はい。 クリックとインプレッションが正で広告費がゼロなら、cpc と cpm はゼロです。
CPMは千回表示あたりの費用と同じですか?
はい。 mille は千を意味します。CPM は広告費をインプレッションで割り、千を掛けるので、千回表示あたりの価格になります。
同じキャンペーンのCPCとCPMはどう計算しますか?
CPCは広告費をクリック数で割ります。CPMは広告費を表示回数で割り、千を掛けます。広告費100、クリック50回、表示10000回なら、2と10になります。
CPMは安いのにCPCは高いのはなぜですか?
2つの単価は互いに独立しているためです。クリックする人が少ないと、千回表示は安くても1クリックは高くなります。少ない表示で多くクリックされる広告では逆になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/fin/cpc-cpm \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"spend":100,"clicks":50,"impressions":10000}'const res = await fetch("https://api.kit.forhosting.com/fin/cpc-cpm", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"spend": 100,
"clicks": 50,
"impressions": 10000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/cpc-cpm",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"spend": 100,
"clicks": 50,
"impressions": 10000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/cpc-cpm", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"spend":100,"clicks":50,"impressions":10000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"spend":100,"clicks":50,"impressions":10000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/cpc-cpm", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"spend": 100,
"clicks": 50,
"impressions": 10000
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.cpc_cpm",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
クリック数またはインプレッション数がゼロだと比が定義できないため、タスクは invalid_input で失敗し課金されません。
CPCとCPMが測るものと比の作り方
この endpoint は生のオークションログを取り込まず、通貨換算もせず、メディア網の手数料や税も適用しません。
入力契約、応答の形、誤り時の動き
spend は報告期間の総広告費で、一つの通貨単位です。割り算に意味がないからです。impressions がゼロまたは負だと、インプレッションがゼロでは CPM が定義できないというメッセージで失敗します。spend が負でも失敗します。これらの失敗は課金されません。例として、広告費百、クリック五十、インプレッション一万なら cpc は二、cpm は十です。必須の有限数三つを含む JSON 本体を POST してください。別名 ad_spend、total_spend、total_ad_spend、cost は同じ欄を指すので、ウェアハウスの列名を変えずに済みます。clicks はその期間のクリック件数で、別名 click_count と click を受け付けます。impressions はインプレッション件数で、別名 imps、impression_count、impression を受け付けます。各欄は JSON の数でも数値文字列でも構いません。欠落、空文字、非有限値は欄名付きの invalid_input で失敗します。成功時は本体が spend、clicks、impressions を返し、cpc を spend 割る clicks、cpm を spend 割る impressions に千を掛けた値、両方の恒等式を述べる formula 文字列を載せます。週次系列が必要なら JSON に独自の日付粒度を添えてください。この endpoint は一度に一つの期間を計算し、グラフは出しません。
CPC・CPM計算機が役立つ場面
単価に対して有料メディア費を配分する財務パートナーは、ウェアハウスから spend、clicks、impressions を落とし、独自の広告 API を呼んではならないモデルに両方の指標を固定します。実装は純粋な parse の tier A なので、成功した呼び出しは公開されている基本料金 $0.002 で、モデルトークンも外向き通信もありません。clicks と impressions を厳密に正、spend を非負に保ち、丸めた単価をテストに固定すれば、ダッシュボード、LMS プラグイン、エッジワーカー向けに再現可能なクリック単価とインプレッション単価が得られ、自前の広告エンジンを立てる必要はありません。
連携の活用例
有料メディアの費用モデル
すでに手元にある入力の比のために独自の広告 API を呼ばず、配分シートに CPC と CPM を固定します。
技術的な質問
CPCとCPMはどう計算しますか。
有限数 spend、clicks、impressions を送ってください。API は cpc = spend / clicks と cpm = (spend / impressions) × 1000 を返します。
CPC・CPM計算機の料金はいくらですか。
ブラウザのツールは無料です。API リクエストは成功した呼び出しあたり $0.002 で前払い KIT 残高を使い、不正な入力は課金されません。