はじめに
取引をCRMに同期するとき、意外と見落としがちなのが「その取引は誰の担当なのか」という点です。
店舗で発生した売上なら、その店舗の担当者にDealを割り当てておきたいですよね。
この記事では、店舗コードからHubSpotの担当者(Owner)を解決するOwnerマップの設計と、その運用の勘所を解説します。地味ですが、現場が「自分ごと」としてCRMを見るために効いてくる仕組みなんです。
なぜOwnerを割り当てるのか
担当が決まると行動が変わる
CRMのDealには「Owner(担当者)」を設定できます。ここが空欄だと、Dealは誰のものでもない宙ぶらりんな存在になり、現場は自分の画面として見てくれません。
店舗の取引に、その店舗の担当者を割り当てておくと話が変わります。「自分の店舗の売上・顧客」としてダッシュボードに並び、フォローすべき顧客も見えてくる。Ownerを付けるという一手間が、CRMを「使われるもの」にするための地味だけど大きな一歩になります。
集計とレポートの軸になる
Ownerは、レポートやダッシュボードの絞り込み軸としても働きます。店舗別の売上や顧客数を見たいとき、Ownerで切れば店舗単位の数字がそのまま出せます。
店舗コードをそのままプロパティに持たせる方法もありますが、CRMネイティブのOwnerに寄せておくと、権限管理や通知、ワークフローとも自然に連動します。「誰の担当か」をシステムの一級市民として扱うことで、運用の選択肢が広がるんです。
Ownerマップの設計
店舗コードを担当者に対応づける
Ownerマップは、要するに「店舗コード → HubSpotのOwner ID」の対応表です。取引データには店舗コードが入っているので、それをキーにして担当者を引き当てます。
POS/EC取引に含まれる店舗コードを読み取る
店舗コードをキーに対応表を引く
対応するHubSpotのOwnerを取得する
作成するDealのOwnerとして割り当てる
このシンプルな引き当てを、同期処理の中でDealを作る直前に挟むだけです。
対応表の中身
対応表そのものは、次のようなイメージのデータになります。ECのように実店舗を持たないチャネルには、EC専任の担当者やオンライン窓口を割り当てておきます。
対応表にない店舗コードが来ても止まらないよう、デフォルトの担当者を必ず1つ決めておくのが安全です。
運用とメンテナンス
管理画面で編集できるようにする
店舗の開店・閉店、担当者の異動は日常的に起きます。そのたびにコードを書き換えるのは現実的ではありません。そこで、Ownerマップは管理画面から編集できるようにしました。
コードに埋め込まない
対応表をソースコードに直書きすると、変更のたびにデプロイが必要になります。管理画面やデータストアに置いて、非エンジニアでも更新できる形にしておくと、現場の変化に素早く追随できます。
担当者の異動があっても、管理画面で対応表を1行直すだけで、以降の同期から新しい担当者に割り当てられます。
未登録・欠員への備え
運用で必ず起きるのが「対応表にない店舗コードが来た」「担当者が退職してOwnerが無効になった」といったケースです。ここで同期全体が止まってしまうと本末転倒です。
未登録の店舗コードにはデフォルト担当を当て、無効なOwnerを検知したらログに残して管理者に気づかせる。こうしたフォールバックを用意しておくことで、対応表のメンテ漏れがあっても同期は走り続けます。気づいた時点で対応表を直せばよい、という運用の余裕が生まれます。
まとめ
Ownerマップは、店舗コードから担当者を解決するシンプルな対応表ですが、CRMを現場に「使われるもの」にするための要になります。管理画面での編集、デフォルト担当によるフォールバックを備えておくと、店舗や人の入れ替わりに強い運用ができます。
割り当てたOwnerが正しく反映されるかは、Dry Runの手順で事前に確認できます。取引そのものの構造はマッピング設計、全体像はハブ記事を参照してください。