非エンジニアがSalesforceのtoC向けMAツール（Marketing Cloud）でデータの取り込みから施策の実装まで、何ができるかいろいろ試してみた話

[Ateam Brides Inc. Advent Calendar 2021](https://qiita.com/advent-calendar/2021/ateam-brides)の25日目は
株式会社エイチームの @kamatari1377 が担当します！

３日前に書かない？って聞かれて軽いノリで書くわ！と言ったら、最終日がブライズじゃないかつエンジニアでもないということに、、、恐縮です、、、

とりあえず「25日にします！」って言ったときに何も言ってくれなかった @Shuni は来年一人アドベントカレンダーをしてください。

# 見出し
- はじめに
- MAツールは何がいいのか
- Marketing Cloudの主な機能
- 施策の実装に必要な手順とその実現方法
- 終わりに

# はじめに
- Qiitaでまだ１記事しか書いたことがないという初心者ぶりなので、見づらい＆わかりづらいところがあると思います、、、申し訳ないですがご容赦いただけますと幸いです。
- 記事の概要
    - この記事は、SalesforceのtoCのMAツール（Marketing Cloud）において非エンジニアがデータの取り組みから施策の実装まで、Marketing Cloudの機能をいろいろさわってみて何が可能かをざっくりまとめた記事です。
- この記事の対象者
    - Marketing Cloudで何ができるのか興味がある方
    - 非エンジニアでMarketing Cloudの使用を検討している方
    - エンジニアの方で「Marketing Cloudの使い方わからんのにビジネス側から施策実現のために必要なデータの取り込みを丸投げされた、、」という方
- 伝えたいこと
    - Marketing Cloudはできることの幅が広く、使いこなせば大幅に対ユーザーのコミュニケーション施策のPDCAサイクルを効率化できること
    - Marketing Cloudでの施策実装はほとんどビジネスサイドで完結できるということ

# そもそもMarketing Cloud（以下MCと表記）では何ができるのか
- 対ユーザーのコミュニケーション施策に関して、どのユーザーに（who）、どんなコンテンツを（what）、どのタイミングで（when）、どの方法で（which）に関する仮説の検証を効率的に行うことができます。
- whoに関して
    - 通常であれば施策の対象者にコンテンツを配信するためにはデータの抽出が必要であり、対象が変わるたびにエンジニアに依頼をするという手間が発生します。
    - MCであれば一度データを同期さえすれば、その後ビジネスサイドが施策ごとにコーディングなしで対象者を選べます。
- whatに関して
    - 通常であれば施策の効果検証が終わったら、次の施策を試すためにまた一からコンテンツを作成しなおす必要があります。
    - MCであればブロックの組み合わせでコンテンツを作成できるので、過去に作成したブロックをもとに最小工数でコンテンツの作成が可能です。
    - 特定のコンテンツの一部分だけ変更したい場合、他のwho,when,whichの条件は保存したままwhatを一部修正して施策を再リリースなども可能です。
- whenに関して
    - 通常であれば、基本的にある程度はマニュアルで配信をする必要があり、なんだかんだその管理に工数が割かれます。
    - MCであれば何日後に、どの順番でコンテンツを配信するかを自由度高く設定できるので、管理工数が最小限にできます。
        - ユーザーに関する日時データを取り込めばそれに応じて配信スケジュールも決められたりと、自由度が高いです。
- whichに関して
    - メール、LINE、SMSなど、連携して配信したい場合はMCで設定すれば別々での管理が必要なくなります。
    - 他手法に対するユーザーの反応に応じて、その後メールではどのコンテンツを配信するかなども自動化できます。

# MCの主要機能
- Jouney Builder
    - 誰に何をいつどの手法で配信するかのスケジュール（ジャーニー）を設定する機能です
    - ジャーニーが参照するソースデータ（データエクステンション）に、日時に関するデータがあればそのデータに応じたスケジュールを設定できます
        - 例えば、「引っ越し予定日」のデータがデータエクステンション内にあれば、引っ越し予定日の１週間前に「引っ越し一週間前にすべき準備」のようなメールを送れます
    - 動的な配信も可能で、一個前に送ったコンテンツに対するユーザーの反応（メール開封有無、メール内のリンククリックなど）に応じてその後に送るコンテンツも出しわけられます
- Contents Builder
    - コンテンツを作成する機能です
    - ブロックを作成し、そのブロックを組み合わせてコンテンツを作成するととても効率的です
        - 例えばメールだとフッター、ヘッダー、リード文、画像などをブロックにすれば、後からリード文だけ差し替えなどができます
    - アンケート機能などもあり、ユーザーのアンケート回答結果をMC内に保存し、その結果をもとにジャーニー上でコンテンツの出しわけなども可能です
- Automation Studio
    - データの取り込み、生成などの自動化をする機能です
    - 基本的にコーディングなしで自動化の設定が可能です。
    - 正直まだ全容はつかみきれておらず、、、SQLのクエリを自動で走らせることもできるようで、こちらも自由度は高そうです。

# 施策の実現のために必要なこと
- MCであれば必要な工程のほとんどをビジネスサイドで完結できます。
- 以下がざっくりMC上での施策の実装に必要な工程です
    1. マスターデータ（施策に関わりそうなすべてのユーザーデータ）の準備
        - ここはエンジニアに準備してもらう必要があります
    1. 用意したデータをツールに取り込み
    1. マスターデータから、施策に必要なデータだけ抽出してテーブル作成
    1. 配信するコンテンツ（what）の作成
    1. 誰に（who）、何を（what）、いつ（when）、どの手法（which）で配信するかを設定するジャーニーを作成
    - テストして問題なければ、配信スタート
- このうち、１．以外はすべてビジネス側で実装可能です。

# 各手順の詳細
1. マスターデータの準備
    - 直近、長期的関わらず施策で使いそうなデータをすべて抽出してもらい、 テーブルを作成してもらいます。
1. 用意したデータをMCに取り込む
    - SFTP（Salesforce Transfer Protocol）というデータ同期用の仲介ファイル？に対し、エンジニアにデータをアップロードしてもらいます
        - もしマスターデータが日時で更新が必要なものであれば、SFTPには毎日定期的に最新のデータがあがるようにエンジニアに設定してもらう必要があります。
    - SFTPに最新のデータがあがるようになれば、MC側のAutomation BuilderでSFTPにあがった最新データが日時で自動で取り込まれるような設定をします。
1. 施策に必要なデータの抽出
    - Automation Studioにてジャーニーに必要なデータをマスターデータから自動で抽出する設定をします
        - どのデータが何を指すかをエンジニアに聞いておかないとそもそもどれを抽出対象とすればよいか判断がつかないと思うのでそこは聞いてください
    - ちなみにここでもSQLは書く必要ありません。直感的に抽出条件を設定できます。
1. ジャーニーの作成
    - 配信するコンテンツ（what）をContents Builderで作成します
        - メールであればEmail Studioなど、手法によってコンテンツを作成する場が異なります
    - Jouney Builderにて、誰に（who）、何を（what）、いつ（when）、どの手法（which）で配信するかを設定します
        - whatにはContents Builderで作成したコンテンツを指定します
        - whoにはAutomation Studioで自動で生成されるようになったデータエクステンションを指定します
        - whenとwhichはジャーニービルダー上で直感的に設定をします
1. ジャーニーのテストおよび配信
    - テスト用のデータを作成し、MCに取り込んでデータエクステンション
    - Jouney Builderにて、作成したジャーニーのテストをテスト機能で行います
        - このときにテスト用のデータエクステンションを指定してテストを行います
    - 無事ジャーニー通りに配信されていることが確認されれば、あとは配信スタートです。

# 気を付けたいこと
- なんでもできてしまう反面、個人情報を大量に扱うツールなのでそのあたりは慎重に扱わないと案件になってしまいます。
- データのエクスポートや、メールの送信先などは当然気を付ける一方で、必要以上に権限を与えないような権限設定をしっかりすることでリスクヘッジする必要があります
    - とはいえ、権限設定がとても複雑なので難しいところではありますが、、、削りすぎた結果必要な機能すら使えなくしてしまうことはないように気を付けたいです。

# 最後に
- 以上の通り、Marketing Cloudは非常に自由度が高いツールであり、基本的にやりたいことはコーディングなしで自動化できるのでビジネス側である程度完結できます。
- そして用意された機能も非常にバリエーションに富んでおり、対ユーザーのコミュニケーションに関する仮説を効率的に検証することができます
    - 正直、機能が多すぎて筆者はまだまだ使いこなせていないので、ここに記載できていないこともまだまだありそうです、、、
- とにかくwho,what,when,whichに関する自由度がとても高いので今までと比較してやれることの幅が広がることは間違いなさそうです。

# アドベントカレンダー最終日
[Ateam Brides Inc. Advent Calendar 2021](https://qiita.com/advent-calendar/2021/ateam-brides)をご覧いただきありがとうございました。
いかがでしたでしょうか？自分は昨年に続き二回目の参加ですが、今年もエンジニアからデザイナ、果てはビジネス職まで幅広い職種が知見を共有してくれました。

今は自分はエイチームブライズでなく、エイチーム所属ですが組織にかかわらず、ひいては役職に関わらずこういった取り組みに参加させていただけるのはブライズのいいところだなと思います。
もっと言うとアドカレに限らず、ブライズにいたときから果ては異動した後でも横のつながりのありがたさを感じる場面は本当に多く、改めて自分はいい環境で働かせてもらっているなと実感します。

今年もとても勉強になりました。以上で[Ateam Brides Inc. Advent Calendar 2021](https://qiita.com/advent-calendar/2021/ateam-brides)は終わりとなります。

それではよいクリスマスをお過ごしください。