広告費のCRM配賦ルール|キャンペーン費用を商談・受注へ重複なく結び付ける方法
Google広告やMicrosoft広告の費用をCRMへ取り込み、キャンペーン、商談、受注別の獲得効率を見たいと考えても、広告管理画面の月額を商談件数で割るだけでは正しい比較になりません。媒体実績には日付・広告アカウント・キャンペーン・通貨の粒度があり、請求書には税、クレジット、返金、調整が加わります。さらに代理店手数料や制作費を含めるかで、同じ「広告費」でも金額が変わります。
安全な設計は、媒体から取得した費用を原本として保存し、請求・調整と分けて正規化したうえで、版管理した配賦ルールを使ってCRMへ渡すことです。クリックやUTMで直接結び付く費用と、ブランド施策や共通アカウント費のように直接結び付かない費用を分け、後者をゼロにせず未配賦残高として残すと、広告管理画面、請求書、CRMの差を説明できます。
広告費の配賦が完了するのは、CRMに金額を入れた時ではなく、媒体実績・請求調整・配賦残高を同じ会計月で照合し、未配賦を含む全額の行き先を説明できた時です。
本記事のポイント
- 媒体費は日付・広告アカウント・キャンペーン・原通貨の粒度で保存し、後から上書きせず取得版を残します。
- 税・返金・代理店手数料は媒体実績と混ぜず、別の費用原本として正規化レイヤーで合算します。
- 配賦式と対象期間を版管理し、直接結び付かない費用は未配賦で残して請求額と月次照合します。
媒体実績・請求額・CRM配賦額を分けて持つ
最初に「広告費」を一つの列へ押し込まないことが重要です。少なくとも、媒体が日次レポートで返す実績費用、請求書やカード明細で確定する支払額、税・返金・クレジット・代理店手数料などの調整、CRMのキャンペーンや商談へ配賦した管理会計上の金額を分けます。
Google Ads APIのmetrics.cost_microsは、対象期間のCPCとCPMの費用合計として定義され、segments.dateは指標が適用される日付を返します。広告アカウントの通貨はcustomer.currency_codeで確認でき、アカウント運用中は不変です。Microsoft Advertisingのキャンペーン実績レポートにも、行の日付を示すTimePeriod、アカウント通貨を示すCurrencyCode、クリック費用の合計を示すSpendがあります。
これらは媒体の配信実績を取得するための公式フィールドであり、必ずしも会計上の請求額そのものではありません。税、無効クリック調整、返金、プロモーションクレジット、締め時刻、請求期間などで差が出る可能性があるため、媒体実績を請求原本で上書きせず、別レイヤーで照合します。
| レイヤー | 主な原本 | 保持する粒度 | CRMでの役割 |
|---|---|---|---|
| 媒体実績 | Google Ads API、Microsoft Advertisingレポート | 日付・媒体・アカウント・キャンペーン・原通貨 | 配信施策ごとの基礎費用 |
| 請求・決済 | 請求書、カード明細、支払台帳 | 請求期間・請求主体・通貨・税区分 | 月次の支払額照合 |
| 調整 | 返金、クレジット、為替、代理店・制作費 | 調整日・対象期間・理由・原本参照 | 管理会計の総費用へ反映 |
| 配賦 | 版管理した配賦ルール | 配賦先・配賦率・算定基礎・ルール版 | キャンペーン・商談・受注別の評価 |
| 残高 | 配賦不能・保留の差額 | 会計月・理由コード・解消期限 | 差額を隠さず次回照合へ持ち越す |
CRMのキャンペーン費用は、媒体実績のコピーではなく、どの原本と調整を含んだ金額かが分かる集約値にします。たとえばSalesforceのCampaignにあるActual Costなどへ月次額を入れる場合も、明細原本、対象期間、最終更新時刻、算定ルール版を外部IDで結び、集約値から日次明細へ戻れる状態を保ちます。
広告費は日次スナップショットで取り込む
媒体費は月末に合計だけを取得するより、日次スナップショットとして保存した方が、遅延計上、管理画面上の調整、キャンペーン名変更、連携障害を切り分けやすくなります。日次原本には、媒体、広告アカウントID、キャンペーンID、対象日、取得日時、原通貨、原金額、APIバージョン、取得ジョブIDを残します。キャンペーン名は変わるため主キーにせず、表示用の履歴として保存します。
金額は小数の丸め誤差を避けるため、媒体の仕様に合わせた最小単位の整数で保持します。Google Ads APIのcost_microsなら、APIから得た整数値を原本とし、表示時に通貨単位へ変換します。Microsoft AdvertisingのSpendも、文字列や浮動小数のまま複数回計算せず、自社の金額型と丸め規則へ一度だけ正規化します。
同じ対象日のデータを再取得した場合は、前回行を上書きして差分を失わないよう、取得版または変更履歴を残します。実務では「最新値テーブル」と「取得履歴テーブル」を分けると、レポートは最新値を使いながら、昨日から金額が変わった理由も調査できます。取得失敗日は0円にせず、欠損フラグと再取得状態を記録します。
媒体キャンペーンとCRMキャンペーンを結ぶキーは、表示名ではなくID対応表で管理します。UTM名の統一はUTM命名規則テンプレートに沿って行い、クリック単位の証拠はGCLID・MSCLKIDをCRMへ引き継ぐ設計で保持します。費用明細、UTM、クリックIDは役割が違うため、同じ一つの文字列をすべての照合キーに使いません。
7ステップでキャンペーン・商談・受注へ配賦する
- 費用の利用目的と範囲を固定する。
媒体費だけを比較するのか、税、代理店手数料、制作費まで含むCACを出すのかを決めます。同じダッシュボードで異なる費用定義を混ぜず、「媒体費」「配信関連費」「総獲得費」など指標名を分けます。 - 会計月と対象日を決める。
媒体レポートの対象日、請求期間、CRMの受注日を別々に保持し、集計で使う会計月を明示します。月末をまたぐクリックと商談は、広告費の発生日と成果日を無理に同じ日に寄せません。 - 媒体とCRMのキャンペーンIDを対応付ける。
一つの媒体キャンペーンが複数のCRMキャンペーンへ分かれる場合は、有効期間付きの対応表を作ります。名称変更や施策統合があっても過去月の対応を変えないよう、開始日・終了日・承認者を残します。 - 媒体実績と調整を正規化する。
原通貨、税区分、為替レート、返金、クレジット、手数料を別明細として取り込みます。月次集計用の正規化金額を作っても、元の金額と原本参照は残します。 - 直接結び付く費用を先に確定する。
媒体キャンペーンとCRMキャンペーンが一対一で対応する費用は、共有費と分けて先に割り当てます。クリックIDが商談まで残っていても、クリック単位へ媒体費を厳密に分解できない場合は、キャンペーン日次費用を個々のクリックへ推計配分した事実を明記します。 - 共有費の配賦式と分母を版管理する。
有効リード件数、影響商談の重み、受注額など、業務目的に合う一つの分母を選びます。対象期間、除外条件、端数処理、未配賦の扱いをルール版へ固定し、月途中で式を差し替えません。 - 全額一致と残高を確認して締める。
正規化した費用総額が「直接配賦+共有費配賦+未配賦」に一致することを確認します。差額を特定の商談へ押し込まず、理由コード、担当者、解消期限を付けて翌回照合へ残します。
| 費用の状態 | 配賦先 | 推奨する基準 | 避けたい処理 |
|---|---|---|---|
| キャンペーンIDが一対一 | CRMキャンペーン | 対象日の媒体費を直接紐付け | 名称の部分一致だけで自動結合 |
| 一施策から複数商談 | 影響商談 | 承認済みの影響度または有効商談数で配賦 | 各商談へ費用全額を重複計上 |
| ブランド・共通施策 | 共有費プール | 期間と対象部門を固定した共通ルール | 最後に受注した一社へ全額付ける |
| 対応表なし・欠損 | 未配賦 | 理由コードと解消期限を記録 | 0円または「その他」で隠す |
| 返金・クレジット | 元費用への調整行 | 対象月・理由・原本を明記 | 過去の原本行を削除・上書き |
SalesforceのCampaign Influenceのように、一つの商談へ複数キャンペーンを関連付ける仕組みを使う場合、影響関係と費用配賦を混同しないことが重要です。キャンペーンが商談へ影響したという関係を3件登録しても、同じ費用を3回計上してよいわけではありません。配賦率の合計を100%にする、または未配賦を含めて入力費用総額と一致させます。
商談・受注別の広告費は、広告プラットフォームが返す事実ではなく、自社の管理会計ルールで算出した値です。そのため、CRMには金額だけでなく、対象期間、配賦元キャンペーン、算定基礎、配賦率、ルール版、実行日時を残します。後からモデルを変える場合は過去値を無言で置き換えず、旧版と新版を比較できる再計算バッチとして扱います。
通貨・税・返金・代理店手数料を正規化する
複数通貨では、原通貨額と管理通貨額を両方保持します。換算には「どのレートを、どの日付で、どの目的に使ったか」が必要です。媒体の日次分析には対象日のレート、月次会計には経理が承認した月次レートを使うなど目的が違う場合があるため、一つの換算額を使い回さず、レート種別と換算日を列として持ちます。
税は税込・税抜を明示し、課税対象外、リバースチャージ、源泉など自社の取引条件に関わる判断を広告データ連携だけで自動決定しません。広告媒体、請求元、契約主体、利用国によって処理が変わるため、経理・税務の確認済みルールを正規化テーブルへ反映します。記事の配賦例は管理方法の説明であり、個別の税務判断を置き換えるものではありません。
代理店手数料、クリエイティブ制作費、計測ツール費をCACへ含める場合も、媒体費へ加算して原本を消さず、費用種別を分けます。固定手数料は契約期間、料率手数料は対象媒体費、制作費は対象キャンペーンと耐用期間など、自社が承認した基準で配賦します。広告施策全体のCAC・LTV評価はマーケティングCAC・LTVの計算方法と同じ費用定義を使い、ダッシュボードごとに分子を変えないようにします。
返金やクレジットは負の調整行として残し、元の媒体実績を削除しません。対象月が確定している場合は元月への調整、確定していない場合は調整月へ計上するなど、会計ルールを明示します。調整後はキャンペーン・商談・受注への配賦を再計算し、旧配賦との増減を記録します。
広告管理画面とCRMの差額を月次で照合する
照合は「一致しないから異常」ではなく、差額を理由別に分解できるかで判断します。日次では連携欠損や急増を早く見つけ、月次では媒体実績、請求書、正規化総額、CRM配賦額、未配賦残高を締めます。毎回同じ時刻とタイムゾーンで取得し、締め後に媒体側の数値が変わった場合は調整版として残します。
| 差額の場所 | 主な原因 | 確認する証拠 | 処理 |
|---|---|---|---|
| 媒体画面とAPI | 期間・タイムゾーン・列定義・取得遅延 | クエリ、対象日、取得時刻、API版 | 同条件で再取得し版差を記録 |
| 媒体実績と請求額 | 税、調整、クレジット、請求期間 | 請求書、取引明細、調整通知 | 調整行へ分離 |
| 正規化総額とCRM | ID対応漏れ、無効期間、配賦式エラー | 対応表、ルール版、実行ログ | 未配賦へ戻して再配賦 |
| CRMと受注レポート | 商談統合、受注取消、会計月差 | 商談履歴、受注日、取消・返金 | 成果側の調整として分離 |
最低限の監視指標は、取得成功率、日次原本の欠損日数、前回取得からの変更額、キャンペーンID未対応率、未配賦率、配賦率合計の不一致、請求差額、締め後調整額です。数値だけでなく、差額理由、担当者、解消期限を記録します。週次・月次のレポート運用はBtoBマーケティングレポート自動化に沿って、例外件数も会議資料へ出すと、見かけ上のROASだけで判断する事故を減らせます。
よくある質問
広告費はどの粒度でCRMへ取り込みますか?
原本は日付・媒体・広告アカウントID・キャンペーンID・原通貨で保持します。CRMの表示は月次キャンペーンへ集約しても、対象期間、取得版、原本明細へ戻れる外部IDを残します。名称だけで結合せず、ID対応表に有効期間を持たせます。
複数商談へ広告費をどう配賦しますか?
まず一対一で結び付く費用を確定し、共有費だけを承認済みの分母で配賦します。有効商談数、影響度、受注額など目的に合う基準を一つ選び、対象期間・除外条件・端数処理・ルール版を記録します。各商談へ費用全額を重複計上しません。
通貨・税・返金・代理店手数料をどう揃えますか?
原通貨額、管理通貨額、換算レート、換算日、税区分を別列で保持します。返金やクレジットは負の調整行、代理店手数料や制作費は別費用種別として保存し、媒体実績を上書きしません。税務上の扱いは契約と経理・税務の確認済みルールに従います。
広告管理画面とCRMの費用差をどう照合しますか?
媒体画面対API、API対請求、正規化総額対CRM、CRM対受注の順に分けて照合します。期間、タイムゾーン、列定義、税、調整、ID対応、配賦残高を確認し、差額を一つの「その他」にまとめません。
日次と月次のどちらで締めるべきですか?
日次は連携欠損と急変の検知、月次は請求・調整を含む締めに使います。日次の最新値を上書きするだけでは月末調整を追えないため、取得履歴と締め版を分け、締め後の変更は追加調整として記録します。
配賦モデルを変更したら過去月も再計算しますか?
目的次第ですが、旧版を消して無言で上書きするのは避けます。新しいルール版で再計算し、旧版との増減、適用開始月、承認者を残します。経営比較で過去を組み替える場合と、会計締めを固定する場合を分けて運用します。
関連ページと関連記事
- 広告クリックIDの保存・引き継ぎ管理:GCLID・MSCLKIDをフォームから商談・受注まで残す方法を確認できます。
- UTM命名規則テンプレート:媒体・施策・キャンペーン名の対応表を壊さないルールを整えます。
- マーケティングCAC・LTVの計算方法:広告費を含む顧客獲得コストの範囲と評価方法を整理できます。
- BtoBマーケティングレポート自動化:日次・月次の集計と例外確認を継続運用へつなげます。