ポータル広告費を媒体別の反響単価・成約単価に落とすには、費用と反響を同じテーブルに入れず、別テーブルで持って集計時に突き合わせる設計が要ります。月額固定・枠課金・成果課金が混在する費用側と、1件単位の反響側は、そもそも粒度が違うためです。
反響獲得コストの可視化とは、粒度の違う費用テーブルと反響テーブルを、按分キーと帰属ルールで突き合わせる設計である
反響獲得コストの可視化とは、媒体費用を記録する費用テーブルと、問い合わせ1件ごとの反響テーブルを別々に持ち、集計時に「按分キー」で費用を割り、「帰属ルール」で成約を反響に紐づけて単価を算出する設計です。
多くの現場でつまずくのは、反響管理システムに「広告費」カラムを作ろうとする瞬間です。成果課金の反響には単価を入れられますが、月額固定プランの反響には何を入れるべきか決まりません。1件あたりの費用は月末に総額が確定してからでないと計算できず、しかも掲載物件を追加すれば変わります。反響レコードに費用を焼き込む設計は、この時点で破綻します。
正しくは、費用は費用として月次で持ち、単価は集計クエリの結果として毎回計算し直します。こうしておくと、按分キーや帰属ルールを変更したときに、過去分をまとめて再計算できます。
媒体費用は課金形態で3類型に分かれ、按分の可否が変わる
ポータル・紙媒体・リスティングを問わず、費用の発生単位は次の3類型とオプションに整理できます。この分類が費用テーブルの費目コードになります。
| 課金形態 | 費用の発生単位 | 反響への按分 | 集計上の注意 |
|---|---|---|---|
| 月額固定(掲載プラン) | 月・アカウント | 直接按分は不可。月次の平均単価として扱う | 掲載を止めても契約期間中は発生。反響ゼロの月も費用は計上する |
| 掲載枠・区画課金 | 枠数×月、または物件数×月 | 枠と物件のひもづけが取れれば物件単位まで按分可能 | 期中の入れ替えがあると按分キーが月内で変動する |
| 成果課金(反響課金) | 反響1件 | 反響レコードに1対1で対応できる | 無効反響も課金対象になる場合があり、有効反響単価は課金額より高くなる |
| オプション(上位表示・注目枠等) | 期間×物件、または都度 | 対象物件が特定できるため物件単位に配賦可能 | 効果検証のため本体プラン費とは別費目で持つ |
按分は上位から下位へ、段階的に降ろします。
- 月 で締める(請求書の対象期間に合わせる)
- 媒体×アカウント(店舗別・法人別に契約が分かれることが多い)
- 費目(本体プラン/枠追加/オプション/成果課金)
- 按分キー(掲載物件数、掲載枠数、有効反響数のいずれか)で物件または店舗へ
3段目まで降ろせば、媒体別の反響単価は出せます。4段目の物件単位まで降ろすかどうかは、後述する精度の限界を理解したうえで判断します。
費用テーブルは請求書明細と1対1で照合できる粒度にする
費用テーブルの主キーは「対象年月 × 媒体コード × アカウントコード × 費目コード」です。これは経理が持っている請求書明細と突き合わせられることを最優先にした粒度です。
| カラム | 内容 | 決め方 |
|---|---|---|
| target_ym | 対象年月 | 請求月ではなく掲載対象月。支払サイトのずれを持ち込まない |
| media_code | 媒体マスタのコード | 契約名義・反響メール差出人・CTI着信番号をすべてこのコードに寄せる |
| account_code | 契約アカウント | 店舗別契約・複数プラン契約を分離する |
| cost_type | 費目 | 本体/枠追加/オプション/成果課金/制作費 |
| amount_excl_tax | 税抜額 | 税込で持つと媒体間比較がずれる。税抜に統一 |
| allocation_key | 按分キー種別 | listing_count / slot_count / response_count / none |
| note | 備考 | キャンペーン割引、日割り、契約変更の記録 |
税抜で統一するのは、課税区分の違いで媒体間の比較が歪むのを避けるためです。また、キャンペーン割引や日割り精算はamount_excl_taxに反映済みの実額を入れ、割引前の定価は備考に残します。定価で集計すると、実際には払っていない金額でCPAを計算することになります。
按分キーの実数(その月の掲載物件数など)は費用テーブルに書かず、別テーブルにスナップショットとして日次または月末時点で保存します。掲載物件数は日々変動するため、後から遡って復元できないためです。
反響テーブル側に必要な3つのキー
反響テーブルには、費用と突き合わせるために最低限3つのキーが必要です。
1. 媒体コード(media_code)
費用テーブルと同じマスタを参照します。ここが揃っていないと集計は成立しません。反響メールの差出人アドレスから機械的に判定している場合、媒体側のフォーマット変更で突然「媒体不明」が増えます。判定ロジックは1か所に集約し、媒体不明の件数を日次で監視する仕組みを入れます。
2. 掲載物件ID
どの物件を見て問い合わせたかです。物件単位の按分と、物件属性別(エリア・賃料帯・築年)の分析に使います。反響メールに記載される物件番号は媒体側の採番であることが多く、自社の物件マスタとは別体系です。媒体物件番号と自社物件IDの対応表を持ち、突合できなかったものはunmatchedとして残します。所在地文字列で突合する場合は、住所・地番の表記ゆれを正規化する手順で扱った正規化処理を先に通してください。
3. 名寄せ後の顧客ID
同一人物が複数媒体・複数物件に問い合わせるのは日常的に起きます。名寄せせずに反響を数えると、反響数が過大になり反響単価は過小に出ます。一方で、名寄せして1件に統合してしまうと、どの媒体に費用を払った成果かが消えます。
対処は、反響レコードは統合せず、顧客IDで束ねる設計です。反響レコードは媒体ごとに残したまま、customer_idを付与します。反響単価の分母は「反響レコード数」、成約単価の分母は「顧客数」と、指標ごとに分母を使い分けます。
電話反響は最も抜けやすい経路です。媒体別の専用番号を発行しない限り、CTIログから媒体を特定する手段がありません。折り返し対応や一次受けの記録漏れが多い場合は、電話一次受けをAI音声で自動化する設計で扱った、着信を必ず構造化データとして残す方式が集計精度に効きます。
成約の帰属ルールは初回接触・最終接触・併記の3択で、業態で選ぶ
成約単価を出すには、「この成約はどの反響の成果か」を決めなければなりません。このルール選択で集計値の意味が変わります。
| 帰属ルール | 定義 | 向く業態 | 弱点 |
|---|---|---|---|
| 初回接触 | 顧客が最初に問い合わせた反響に帰属 | 売買、注文住宅、リフォーム | 追客中に別媒体で再反響しても評価されない |
| 最終接触 | 成約物件を問い合わせた反響に帰属 | 賃貸仲介 | 認知・集客に効いた媒体が0評価になる |
| 併記(両方出す) | 初回・最終それぞれで成約数を集計し2列で表示 | 判断に迷う場合の初期設計 | 合計が実成約数と一致しないため説明が必要 |
判断基準は反響から成約までのリードタイムです。数日から数週間で決まる賃貸仲介は、成約物件を問い合わせた反響と成約の因果が強いため、最終接触が現場感覚に合います。数か月かかる売買や注文住宅は、最終接触だけで見ると「自社サイト直」や「電話」に成約が偏り、実際に集客していた媒体の費用が正当化できなくなります。
線形按分(複数接触に均等配分)は理屈としては妥当ですが、成約数が小数になり営業会議で議論が止まります。導入するなら、成約件数は最終接触ベースの整数で出し、按分値は別カラムに置く構成にします。
帰属ルールは集計時に計算する設計にしてください。成約レコードにattributed_response_idを書き込んでしまうと、ルールを変えたときに過去分を再計算できません。反響と成約を顧客IDで結ぶ関係テーブルだけを持ち、どれを採用するかはクエリ側で切り替えます。
ファネルを4段階に分け、それぞれの単価を定義する
反響単価だけを見ると、質の悪い反響を大量に集める媒体が最良に見えます。段階を分けます。
| 指標 | 分子 | 分母 | 何を判断するか |
|---|---|---|---|
| 反響単価 | 媒体費用(税抜) | 受付反響数 | 集客量あたりのコスト |
| 有効反響単価 | 媒体費用(税抜) | 有効反響数 | 反響の質を含めたコスト |
| 来店(内見)単価 | 媒体費用(税抜) | 来店・内見到達数 | 追客が機能しているか |
| 成約単価 | 媒体費用(税抜) | 帰属ルール適用後の成約数 | 最終的な採算 |
集計を始める前に、「有効反響」を文章で定義してください。 定義が曖昧なままだと、担当者ごとに判定がぶれて数字が比較不能になります。除外する条件を列挙する形が運用しやすい設計です。
- 営業目的・業者からの問い合わせ
- 明らかないたずら、テスト送信、連絡先が不通
- 既存顧客・追客中顧客からの再反響(新規としてはカウントせず、既存反響に紐づける)
- 対応エリア外、取扱対象外の条件
「連絡がつかなかった」を無効に入れるかは分かれます。連絡がつかない原因には自社の初動遅れも含まれるため、無効にすると媒体の評価が実態より良く出ます。別フラグ(未接続)として持ち、有効反響には含める運用を推奨します。
来店・内見到達の記録は、営業担当の入力に依存するため最も欠測しやすい段階です。入力負荷を下げる方法は営業活動記録をAIで自動化する設計と線引きで整理しています。
月次集計の手順(8ステップ)
- 媒体マスタを確定する。 請求書の契約名義、反響メールの差出人ドメイン、CTIの着信番号、既存システムの流入元プルダウンを一覧に並べ、同一媒体を1コードに寄せる。ここを飛ばすと以降がすべてずれます。
- 請求書を費目単位で費用テーブルに登録する。 対象年月・税抜額・割引の実額を入れる。成果課金は明細の反響件数も記録し、自社の受付反響数と突き合わせる。
- 按分キーのスナップショットを取る。 月末時点の媒体別掲載物件数・枠数を保存する。日次で取れるなら日次平均を使うほうが精度が上がります。
- 反響の重複を判定する。 同一顧客の複数反響を
customer_idで束ねる。レコードは消さない。 - 有効反響フラグを付ける。 定義に沿って判定。判定者と判定日時を残し、後から監査できるようにする。
- 成約を反響に紐づける。 顧客IDで結び、帰属ルールは集計時に適用する。
- 反響発生月でコホートを組む。 費用と反響は同月で締め、成約は反響発生月に遡って計上する。
- 暫定値と確定値を分けて出力する。 直近数か月は成約が確定していないため暫定表示にする。
コホート集計にしないと、売買の数字は壊れる
当月の広告費 ÷ 当月の成約数、という計算はリードタイムが長い業態では意味を成しません。 今月成約した案件は数か月前の広告費で獲得した反響だからです。
対策は反響発生月でのコホート集計です。
架空の設計例として、集計表のイメージを示します(数値はすべて説明のための架空値です)。
| 反響発生月 | 媒体 | 費用(税抜) | 有効反響 | 成約(確定) | 成約単価 | 状態 |
|---|---|---|---|---|---|---|
| 2025-04 | 媒体A | 300,000 | 60 | 6 | 50,000 | 確定 |
| 2025-05 | 媒体A | 300,000 | 55 | 5 | 60,000 | 確定 |
| 2025-06 | 媒体A | 300,000 | 62 | 3 | 100,000 | 暫定(追客中12件) |
6月の成約単価が悪化して見えるのは、追客中の案件がまだ成約に至っていないためです。「暫定」表示と追客中件数を同じ行に出さないと、直近月の数字だけを見て媒体を切る判断が起きます。 何か月経過すれば確定とみなすかは、過去データから成約リードタイムの分布を見て決めます。分布が取れていない導入初期は、賃貸なら翌月末、売買なら6か月といった暫定の締めを置き、実データが溜まった時点で見直します。
集計が狂う5つの典型パターン
媒体不明の反響が増える。 反響メールの本文パースで媒体を判定していると、媒体側のテンプレート変更で突然判定が落ちます。媒体不明の件数を日次でアラートし、閾値を超えたらパースルールを点検します。
重複排除をしていない。 同一顧客が3媒体から問い合わせた場合、反響3件・顧客1件です。反響単価の分母を顧客数にすべきか反響数にすべきかを混同すると、媒体間比較が成立しません。
追客中の再反響を新規に数えている。 既存顧客が別物件で再度問い合わせるのは頻繁に起きます。新規反響としてカウントすると、反響数が膨らみ反響単価が良く見えます。顧客IDでの突合を必ず入れます。
キャンセル・解約を戻していない。 申込ベースで成約を計上し、その後のキャンセルを反映しないと成約単価が実態より良く出ます。成約レコードにステータスと確定日を持ち、集計は確定ステータスのみを対象にします。
掲載内容の変更を記録していない。 同じ媒体・同じ費用でも、掲載物件の入れ替えや原稿の書き換えで反響数は変動します。単価の変化を媒体の良し悪しと解釈する前に、掲載内容の変更履歴を確認できる状態にしておきます。原稿側の運用は掲載原稿をAIで規約チェックする設計、賃料設定側は募集賃料の値付けと値下げ判断をデータ化する設計で扱っています。
この設計でできないこと
月額固定費を反響1件に正確に配賦することはできません。 月額固定費は共通費であり、個別の反響に因果関係でひもづく費用ではありません。物件単位まで按分した数値は「参考値」であり、按分キーを変えれば結果も変わります。集計画面には按分キーの種別を必ず表示し、按分値であることが分かる状態にしてください。
オフライン接触の寄与は測れません。 現地看板、店頭、紹介、以前の取引の記憶といった経路は、反響テーブルに記録が残りません。「自社サイト直」に分類された反響の中に、他媒体で認知した顧客が含まれている可能性は排除できません。
成約単価は母数が小さく不安定です。 月間の成約が数件規模の場合、1件の増減で単価が大きく振れます。月次の成約単価で媒体の継続可否を判断せず、複数月を合算した数値と、上流の有効反響単価・来店単価を併せて見ます。
媒体の管理画面と自社集計は一致しません。 媒体側は送信ログ、自社側は受付できたものを数えます。迷惑メール振り分け、電話反響の記録漏れ、重複排除の有無で必ず差が出ます。どちらかに合わせ込もうとせず、両方を別カラムで持ち、乖離率の推移を監視するほうが実用的です。
AIが帰属ルールを判断してくれるわけではありません。 初回接触にするか最終接触にするかは、事業判断です。自動化できるのは、媒体判定・重複判定・有効反響の一次分類といった、ルールが言語化できる部分に限られます。ルールの設計は人が決める前提で仕組みを組みます。
まとめ
- 費用は反響レコードに焼き込まず、月×媒体×アカウント×費目の費用テーブルで別管理し、集計時に突き合わせる
- 課金形態は月額固定・枠課金・成果課金・オプションの4費目に分け、按分キーの種別を費用行ごとに持つ
- 反響テーブルには媒体コード・掲載物件ID・名寄せ後の顧客IDの3キーを必ず持たせる
- 成約の帰属は初回接触/最終接触をリードタイムで選び、集計時に計算してルール変更に耐えられるようにする
- 反響発生月コホートで締め、直近月は暫定表示にしないと直近の数字だけで媒体を切る判断が起きる
- 月額固定費の1件按分は原理的に近似であり、参考値として扱う
この設計を自社の既存システムに載せる場合
反響管理・物件管理・会計がそれぞれ別システムで動いている環境では、媒体マスタの統一と物件IDの突合が最初の山になります。エクサテックでは、不動産会社の現場に入って実際の反響対応と入力操作を確認したうえで、既存システムを活かす形での集計基盤の設計・構築を行っています。現状の運用を伺うところからで構いませんので、お問い合わせよりお気軽にご相談ください。
よくある質問
Q. 月額固定のポータル掲載料は、反響1件あたりいくらとして計算すればいいですか?
月額固定費は個々の反響に直接ひもづく費用ではないため、正確な配賦は原理的にできません。実務では「その月・その媒体の費用総額 ÷ 有効反響数」で単価を出し、按分ではなく平均単価として扱います。物件単位まで割りたい場合は掲載物件数や掲載枠数を按分キーにしますが、あくまで参考値である旨を集計画面に明記します。
Q. 成約はどの反響に帰属させるべきですか。初回接触と最終接触のどちらですか。
追客期間の長さで選びます。反響から成約まで数日〜数週間の賃貸仲介は、最終接触(成約物件を問い合わせた反響)を主軸にすると現場感覚と一致しやすくなります。数か月かかる売買や注文住宅は、初回接触も併記しないと集客に効いた媒体が評価されません。どちらか一方に決め切らず、両方を並べて出す設計が安全です。
Q. ポータルの管理画面に出ている反響数と、自社集計の反響数が合いません。
定義差が原因です。管理画面は媒体側の送信ログ、自社集計は受信・登録できたものを数えるため、迷惑メール振り分け、電話反響の記録漏れ、重複排除の有無で差が出ます。どちらかに寄せるのではなく、媒体側の数を「媒体計上反響」、自社の数を「受付反響」として別カラムで持ち、差分の推移を監視します。
Q. 反響単価を出すのに、担当者の人件費も広告費に含めるべきですか。
媒体の良し悪しを比較する目的なら、まず媒体費のみで揃えます。人件費を混ぜると媒体間の比較ができなくなるためです。追客工数まで含めた採算を見たい場合は、媒体費ベースのCPAとは別指標として、対応件数×平均対応時間で概算した工数を並べて表示する構成にします。
Q. 集計の仕組みを作るのに何から着手すればいいですか。
媒体マスタの整備からです。請求書の契約名義、反響メールの差出人、CTIの着信番号、既存システムの流入元プルダウンで媒体の呼び方が食い違っているケースが多く、ここが揃わないと以降の集計がすべてずれます。次に有効反響の定義を文章で確定させ、それから費用テーブルの設計に進みます。

