SkyOnDemandでMarketo(マルケト)に繋いでみたいと思います。
Marketoとは
Marketoはクラウドで提供されているマーケティングオートメーションのツールです。
https://jp.marketo.com
企業は売上を上げるために商品を買ってもらう必要があるわけで、そのために様々な販促活動をするわけですが、いままで1つ1つ手作業だったことを、自動化するのがマーケティングオートメーションです。
たとえば、化粧品の新製品のCMを放送したとします。CMを見てサンプルを取り寄せた人の行動を個別に認識して、それぞれに異なったアプローチをとることができます。
Aさんの場合
Aさんは化粧品のFAQのサイトにアクセスしてきましたが、サンプルを使い終わったと思われる期間を過ぎても商品を購入していません。
→ 商品が肌に合わなかったのかもしれません。別の肌質向けのラインナップを提案出来る可能性があるので、アンケートを送ってみます。
Bさんの場合
Bさんは商品をショッピングサイトの買い物カゴにいれましたが、購入ボタンを押しませんでした。
→ 合計金額が想定より高かったのかもしれません。送料無料のクーポンを送ってみます。
連携のニーズ
前述の化粧品の例を実現するにはどうすればいいでしょうか。
たとえば、化粧品のサンプルを申し込んだ人のデータが、ショッピングサイトのリレーショナルデータベース(RDB)に格納されているとします。
そのデータをMarketoで追跡していくためには、Marketo内にあるLeadというテーブルにデータを格納する必要があります。
では、RDBのデータをSkyOnDemandを使ってMarketoのLeadに格納してみましょう。
RDBについて
ショッピングサイトのRDBのテーブルとして、次のような非常にシンプルなものを今回は作成しました。
このような3件のデータを入れておきました。
Marketoの準備
MarketoはREST APIが用意されていますので、それを使うための手続きをします。具体的には次の4ステップです。(リンク先を見なくても読み進められます。リンク先は興味があれば見てください。)
1. API専用のロールを作成する
2. API専用のユーザーを作成して1.のロールを割り当てる
3. REST APIの認証情報を取得する
4. エンドポイントのURLを取得する
連携処理の作成
最初にSkyOnDemandのグローバルリソースという設定画面で、RESTアダプタのエンドポイントとして上記4.で取得したエンドポイントURLを設定します。
いつものようにアイコンを並べて連携を作成します。できあがりはこんな感じで3つのアイコンで実現できます。
最初のアイコンの中身です。RDBのleadテーブルからレコードを取得しています。
2つ目のアイコンの中身です。取り出したデータをJSON形式に変換するためのマッピングを指定しています。
3つ目のアイコンの中身です。Marketoが用意しているLead登録用のエンドポイント(/leads.json)を呼び出しています。「認証設定」というタブで上記3.で取得した認証情報を入力しますが、ここでは割愛します。
結果の確認
SkyOnDemand上でデバッグ実行ボタンをおして結果を確認してみます。
こんな感じでMarketoに3件のデータが入っていることが確認できました。
まとめ
今回はRDBからデータを取得したデータを全件MarketoのLeadに入れましたが、もちろん次のようなことも可能です。
- データ元はRDBではなくSalesforceのデータを使う
- 全件ではなく、絞り込んだデータをMarketoに入れる
- 取得したデータを加工する(例: メールアドレスの@が誤って全角になっているものがあれば、すべて半角に置き換える)
- 毎日指定時刻に同期する(メールアドレスが同一のレコードがあれば更新、なければ新規レコードとして登録)
- MarketoのLeadのデータを取り出し、RDBに登録する
SkyOnDemandを併用して、Marketoを活用してください!