マーケティング ブログ

Salesforceのキャンペーンで費用対効果を算出するためにキャンペーン費用(コスト)を管理する方法について

執筆者:三宅 毅

salesforce_campaigncost

こんにちは!マーケティングデザインの三宅です。
今回は、Salesforceのキャンペーン内で、キャンペーンにかかった費用を管理する方法について実装する方法をご紹介します。

企業が展示会や広告などの販促活動を実施する際には、予算の管理が必要です。そのため、多くの企業がExcelやスプレッドシートを使用して予算管理を行っています。これらのツールを使用することで、柔軟に自分のニーズに合わせてカスタマイズし、データを独自の形式で整理することができます。

ただし、展示会や広告に関連する顧客情報は、一般的にはCRMや顧客データベース(DB)に保存されていることが多いです。そのため、予算・費用・顧客情報を統合的なビューで見ることは、Excelやスプレッドシートだけでは難しいかもしれません。

そこで、今回は、マーケティングデザイン社内でも使用しているCRMツール「Salesforce」内でキャンペーンで使用した費用管理ができるようにカスタマイズした内容についてご紹介したいと思います。

費用管理をキャンペーンのオブジェクトに書き込むことで、以前の使用金額や費用対効果、顧客獲得単価など色々算出しやすくなるかと思います。

  💡こんな方におすすめの構築💡
デフォルトでは、手入力で、キャンペーン外注コストは、記入できるけど、金額を計算して入力するのは面倒
✔ 過去のキャンペーンの使用金額知りたい時にExcelを開いて確認しなければならない
✔ 単純にキャンペーンに紐づいているキャンペーンメンバー数からCPAを割り出したい

◆目次◆

  1. Salesforcemのキャンペーンについて
  2. カスタムオブジェクトの作成と項目の作成
  3. フローの作成

  

Salesforceのキャンペーンについて

Salesforce の中には、キャンペーン管理するためのいくつかの機能が標準のキャンペーン(Campaign)オブジェクトが用意されています。このオブジェクトを使用して、目標、対象者、およびスケジュールなどを設定できます。親子でキャンペーンを連携することも可能なため、階層を集計した内容についても算出しやすくなっています。


また、その配下には、キャンペーンメンバー(CampaignMember)オブジェクトがありキャンペーンに参加する顧客や見込み客のリストやキャンペーンへの参加状況を管理できます。

これらを活用して、キャンペーンに関連するさまざまなマーケティング活動のトラッキングが可能となり、例えば、メールマーケティング、広告、イベント(展示会・セミナー)などの進捗や結果を記録することができます。パフォーマンスを可視化し、効果的な戦略や改善策を明らかにすることができます。
また、それらを通じて、細かい集計などは、Salesforceのレポート・ダッシュボード機能を活用し、キャンペーンの結果や効果を可視化することができるため、キャンペーンのパフォーマンス指標やKPI(重要業績評価指標)をリアルタイムで監視し、キャンペーンの評価や改善のための分析レポートやグラフを作成することができます。

では、費用対効果を簡単に出せるかというと、標準機能で販促で使用した費用に関しては、キャンペーンの外注コストというフィールドにいれるしかなく、手動で計算した金額を入れ込まなければいけなく手間でした。そこで、今回は、Salesforceにカスタムオブジェクトでキャンペーンにぶら下がるようにして費用を入れれるように作成してそれを外注コストというフィールドに、フローという機能を用いて入れ込もうと思います。

キャンペーンの親子関係を考慮に入れなければ、カスタムオブジェクト側で、キャンペーンと主従関係を作って、積み上げでもかまわないのですが、今回は、キャンペーンの親子関係を考慮して実装していきたいと思います。

 



カスタムオブジェクトの作成と項目の作成

さて、まずは、カスタムオブジェクトを作成したいと思います。新規作成で、今回は、「キャンペーン費用」という表示ラベル、オブジェクト名で、「CampaignCost__c」、レコード名は、「キャンペーン費用名」とつけて作成しました。データ型は、今回は明細を書き込みにしようと思い、そのままテキストにしましたが、番号でもかまわないと思います。
※セキュリティ権限の設定などは今回の説明から省いていおります。




次に項目とリレーションを作成していきます。下記の項目で、補足で、計上日のフィールドには、デフォルト値として、本日の日付が自動的に入るように、「Today()」を仕込んでいます。また、金額(税抜)は、合計金額で出したいため、数式として、「Unit__c * UnitPrice__c」としています。

ラベル

項目名

データ型

キャンペーン費用名

Name

テキスト(80)

キャンペーン

CampaignId__c

主従関係(キャンペーン)

計上日

AccountingDate__c

日付

単価(税抜)

UnitPrice__c

数値(180)

数量

Unit__c

数値(180)

金額(税抜)

TotalPrice__c

数式

 

 

フローの作成

今回は、キャンペーンの「外注コスト」という項目に、上記で作成したキャンペーン費用の金額をレコードトリガフローで自動的に更新してみましょう。

 レコードトリガーフローが動くタイミング

 キャンペーン費用が作成されたとき、キャンペーン費用が更新されたとき

    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    • フローから呼び出すための設定をいくつか用意しておきます。
    • 左サイドバーの [新規リソース] ボタンをクリックして、以下の通り入力します。
      1.  
      2. リソース種別: 変数
        API参照名: varCampaignID
        説明: キャンペーンのIdを受け取るために使用するテキスト型変数です。
        データ型: テキスト
        デフォルト値: 空のまま
        フロー外部での可用性: 入力で使用可能にチェックを入れる
      再び、[新規リソース] ボタンをクリックして、以下の通り入力します。
      1. リソース種別: 変数
        API参照名: varCampaignCostSum
        説明: コストの合計を入れる数値型変数です。
        データ型: 数値
        小数点の位置:0
        デフォルト値: 空のまま
      2.  
    •  
    •  
    •  
    • 再び、[新規リソース] ボタンをクリックして、以下の通り入力します。
      1. リソース種別: 変数
        API参照名: varCampaignCostRecordSum
        説明: キャンペーン費用の関連レコードをいれる変数です。
        データ型: レコード
        複数の値を許可:チェックを入れる
        オブジェクト:キャンペーン費用
    •  


さて、次に、 1つのキャンペーンに紐づくキャンペーンの費用を積上げするために、キャンペーン費用を取得します。[開始] 要素の下の (+) ボタンをクリックして [レコードを取得] を選択し、以下の通り設定します。

    1.  
    2. 表示ラベル: キャンペーン費用情報取得(作成・更新)
      API参照名: GetCampaignCostRecord
      説明:
      オブジェクト: キャンペーン費用 (CampaignCost__c)
      絞り込み条件:
          条件の要件: すべての条件に一致 (AND)
          項目: CampaignId__c、演算子: 次の文字列と一致する、値: {!$Record.CampaignId__c}
      保存するレコード数: すべてのレコード を選択
      レコードデータの保存方法:項目を選択して変数を割り当てる (高度)
      キャンペーン費用レコードを保存する変数を選択:{!varCampaignCostRecordSum} 項目:TotalPrice__c

    下のキャプチャのようにしました。[完了] ボタンをクリックして閉じます。


次に、取得したキャンペーン費用の金額を取得します。キャンペーン費用情報取得(作成・更新)を取得 要素の下の (+) をクリックして、[ループ] を選択します。以下の通り設定します。

        1. 表示ラベル: キャンペーン費用繰り返し
          API参照名: LoopCampaignCost
          コレクション変数: {!varCampaignCostRecordSum}
          方向:最初の項目から最後の項目へ
      •  

下のキャプチャのようにしました。[完了] ボタンをクリックして閉じます。




次に、取得したキャンペーン費用の金額を取得します。キャンペーン費用繰り返しをループの下の (+) をクリックして、[割り当て] を選択します。以下の通り設定します。

        1. 表示ラベル: コストカウントアップ
          API参照名: CampaignCostCountUp
          変数値を設定
           変数: {!varCampaignCostSum}、演算子: 追加、値: {!LoopCampaignCost.TotalPrice__c}
      •  


下のキャプチャのようにしました。[完了] ボタンをクリックして閉じます。

  • ループで合算した数でキャンペーンを更新します。ループの最後の項目の後の (+) ボタンをクリックして、[レコードを更新] を選択します。
          1. 表示ラベル: キャンペーンオブジェクトの実費変更
            API参照名: CampaignCostUpdate
            更新するレコードを検索してその値を設定する方法:レコードを識別する条件を指定し、項目を個別に設定
            オブジェクト:キャンペーン
            キャンペーンレコードを絞り込み
            変数値を設定
             変数: {!varCampaignCostSum}、演算子: 追加、値: {!LoopCampaignCost.TotalPrice__c}
            絞り込み条件:
                条件の要件: すべての条件に一致 (AND)
                項目: Id、演算子: 次の文字列と一致する、値: {!$Record.CampaignId__c}
            キャンペーン の項目値を レコード に設定
                項目:ActualCost ← 値:{!varCampaignCostSum}
        •  


    下のキャプチャのようにしました。[完了] ボタンをクリックください。

     

    設定や途中途中で保存しながら以下のようなフローが出来上がっているかと思います。


    出来上がりましたら、デバッグから動作確認してみましょう。ちゃんと条件通りにキャンペーンの外注コストが積上げ計算で計算できるか確認してみましょう。

    稼働することが確認できたら次に間違ってレコードを作成してしまった場合、レコードの削除処理を実施することがあるので、この作ったレコードをコピーして最初のトリガを設定の部分について、「レコードが削除された」を選択して変更しましょう。以下のようになるかとおもいます。



  • これで、レコードが作成・更新された場合と削除された場合に動くフローが出来上がります。

  •  
  •  
  •  

 

2つとも有効化して、想定通り更新した際にキャンペーンの外注コストが更新されるるようになりました。


後は、企業に応じたCPAや費用対効果をキャンペーン側に数式で作った上げることで、色々な指標が見えるようになるかと思います。
今回のブログ、如何でしたでしょうか?少しでもなにかのお役立ちにたてれば幸いです。

なお、本ブログにおける設定について参照にしての検証などは、各自のSalesforceのSandbox環境で実施したのちに本番環境へ移設してください。各環境下での動作保証しているものではございませんのでご理解の程、よろしくお願いします。

『Salesforce Live:Japan』Salesforce / Pardot関連の登壇資料はこちら
Pardot×TETORIで効果を加速する

 

どんな小さな質問・ご相談でも構いません。まずは、気軽にご相談ください。
気軽にお問い合わせ下さい <https://www.mk-design.co.jp/contact>

オススメのブログ記事

廣見 剛利
代表取締役社長

20代の頃から、営業会社の組織を率いるかたわら、営業の重要性を認識しながらも、営業の限界について自問自答をし続ける。30代でCRMとSFAに出会いその限界を打破する光が見えつつも、変革しなければならないプロセスの多さに愕然とする。40代に入りマーケティングオートメーションと出会い、見込み客獲得から、見込み客教育、商談化のプロセスの自動化について体現する。商談化前が自動化されることにより、商談後の生涯顧客価値を最大化させるプロセスの見える化、見える化による再現性のある営業組織づくりを実現。同じ悩みをもつ日本企業の解決策を提供すべく、マーケティングデザインを設立。詳しくはこちら

三宅 毅
CMO(最高マーケティング責任者)
2000年半導体部品メーカーに入社。企画部門にて3次元CADの導入などによる業務効率化を成功させる。その後、CAE専門企業に移り、マーケティング活動全般、SFA導入プロジェクトに関わる。マーケティングの可能性を追求すべく、2015年にBtoBマーケティング専門エージェンシーにて、Pardot、Marketo、Hubspot、シャノンなどのマーケテイングオートメーションツールの導入や各種業界を支援。Pardotは、日本に入ってきた当初からサポート。 2017年5月より現職のCMOとして紹介キャンペーンツール「 KUCHICO PREMIUM」や 店舗集客支援のマーケティング活動、2018年4月にはインサイドセールスの立ち上げ、ITを駆使した会社の生産性向上などHR部門も統括。また、同時に、中小企業におけるマーケティング支援、SFA支援や構築、人材の育成にもつとめる。Salesforceの導入事例として掲載されました。詳しくはこちら
柴沼 潤
データ サイエンティスト

2019年のはじめに入社し、Salesforce のEinsteinAnalyticsを活用した分析業務に取り組ませていただいております。ダブルワークしており、フリークライマーとしての活動の傍ら業務に取り組んでおります。マーケティングデザインでは私が取り組んできた分析業務の活用事例を紹介させていただくことで、営業支援ツールの導入・活用に役立つ情報を提供していきたいと考えております。機会があれば私自身の勤務の様子をご紹介させていただくかもしれません。ダブルワーク・テレワークといった勤務スタイルがどのように確立されているかなど、興味がある方々にとって有益な情報を発信できるように頑張ります。