Salesforce B2C Commerce Business Manager に関するサクセスナビ運用動画のまとめ

※ これから記載する事項は、私が所属する会社とは一切関係のない事柄です。

B2C Commerce の運用方法を学ぶのに[サクセスナビのウェビナー動画](https://successjp.salesforce.com/article/NAI-000077)が非常に役に立ちます。
(少し前の動画なので、一部リンクなどが古い場合がありそうです)

設定画面を用いての説明がされているので、これらの動画を見るだけでマーチャンダイザーはすぐに業務で利用できますし、B2C Commerceでどのようなことができるのかを簡単に理解できます。また、実際の企業でのユースケースも紹介されているので、新しい知見も得ることができるかと思います。

この記事では具体的な設定方法は動画を見ていただくとして、それぞれの機能が（一例ではありますが）どのような要件に対応するのかを記載した上で、ちょっとした動画の概要も記載します。



## サイト内検索

### 動画

https://salesforce.vidyard.com/watch/dd6nzgf5Mf2a99Z4j6f27L?_ga=2.139925491.1172786287.1618150269-1121256232.1607939127

### 要件例

* 商品の名前、色やサイズといった属性で検索したいが、説明文は検索から外したい。また名前に対する検索を優先させたい
* 日本語に合わせて[ステミング](https://qiita.com/mogulla3/items/23aaffbe29c4e600876d#%E3%82%B9%E3%83%86%E3%83%9F%E3%83%B3%E3%82%B0)を行いたい
* 「バックパック」検索した時に「リュックサック」での検索結果も出したい（同義語）
* 同義語をAIにサジェストしてほしい（Einstein Search Dictionaries）
* 「パンツ」と検索した時にジーンズの検索結果はでてほしいが、「ジーンズ」と検索した時にはジーンズのみの検索結果を出したい（上位語）
* 「about」で検索された時、ブランド紹介ページにリダイレクトさせたい

### 概要

サイトに訪れる顧客にはサーチャー（目的を持った買い物客）とブラウザー（目的のない買い物客）がいる。また、下記の３つのような事実があり、サーチャーが利用するサイト内検索を向上することは非常に重要である。

* サーチャーは、ブラウザーよりもコンバージョン率が3倍高い
* サーチャーの訪問ごとの平均商品合計額は、検索の場合15%高い
* Webサイトで検索をしようする買い物客は8%以下


マーチャンダイザーは検索のコンバージョンレポートやToolkitを駆使しながら現在のサイトの状況を分析し、定期的に検索体験を向上していく。

２つの設定がある。
* グローバル設定
    * 検索可能属性、言語のステミング、フォールバック地域設定
* 定期的な検索の調整
    * 結果の追加（同義語、上位語、複合語、Einstein Search Dictionaries(新しい同義語の提案)）
    * ノイズの除去（一般的なフレーズ、カテゴリ名の除外、ネガティブ同義語・上位語）
    * リダイレクト（検索駆動リダイレクト）



## キャンペーン管理と限定子

### 動画

https://salesforce.vidyard.com/watch/JJ2JfUHrB4otM9HLAsujqj?_ga=2.139925491.1172786287.1618150269-1121256232.1607939127

### 要件例

* 「VIP2022」というクーポンコードを超優良顧客に配布し、そのコードを注文手続き画面で入力すると注文金額から40%OFFされるようにしたい。またその際にその他の顧客がこのコードを知ったとしてもコードを利用できないようにしたい
* VIPに対してニュースレターを送信し、リンクをクリックすると、50%OFFのバナーが表示され、価格も割引価格表示されるようにしたい
* 従業員に対して40%OFFのセールを行いたい
* 外部アフィリエイトサイトからリンクしてきた場合にそのサイトへのキャッシュバックを行いたい

### 概要

キャンペーンは、特定期間中、体験と限定子をリンクするコンテナの役目を果たす。

限定子は下記の３つがある。

* 顧客グループ
    * 顧客をグルーピング化できる。下記の3つのタイプがある
        * システム。これはあらかじめシステムに登録されている顧客グループで、例えば下記のような内容
            * すべての顧客
            * 登録済みの顧客
            * 未登録顧客
        * 静的。手動で割り当てられたグループ。例えば下記のような内容
            * 従業員
            * VIP
            * CRMツール
        * 動的。メンバー規約を使用して動的に割り当てられるグループで、例えば下記のような内容
            * 位置情報
            * 誕生日が30日以内
            * Facebookを経由する訪問者
* ソースコード
    * URLリンクを作成し、そのリンクからアクセスした顧客に対して何かしらの体験を提供できる。ソースコードの利用状況やコンバージョンはBusiness Managerから確認することが可能
    * ソースコードを利用してコンテンツをトリガーする場合は顧客グループの作成が必要
    * ソースコードからリンクしてきた顧客に対して価格表を設定することもできる
* クーポン（詳細は下記の[クーポンコード](https://qiita.com/syunyama/items/4f2bf8a6efbdf9a41074#%E3%82%AF%E3%83%BC%E3%83%9D%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89)を参照）
    * クーポンコードを発行し、そのコードを注文手続きで入力した顧客に何かしらの体験を提供できる


体験には下記の３つある。

* プロモーション（詳細は下記の[プロモーション](https://qiita.com/syunyama/items/4f2bf8a6efbdf9a41074#%E3%83%97%E3%83%AD%E3%83%A2%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3)を参照）
* コンテンツスロット（詳細は下記の[コンテンツ管理](https://qiita.com/syunyama/items/4f2bf8a6efbdf9a41074#%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84%E7%AE%A1%E7%90%86)を参照）
* 商品並び替えルール（詳細は下記の[並び替えルール](https://qiita.com/syunyama/items/4f2bf8a6efbdf9a41074#%E4%B8%A6%E3%81%B3%E6%9B%BF%E3%81%88%E3%83%AB%E3%83%BC%E3%83%AB)を参照）


限定子や体験の利用方法は、例えばこのような場合。

|限定子	|体験	|
|---	|---	|
|Facebook.comを経由する全訪問者に対して（動的顧客グループ）	|Facebookの「いいね」ボタンをホームページに目立つように表示（コンテンツスロット）	|
|特定のニュースレターEメールをクリックした訪問者に対して（ソースコード）	|1万円を超える注文で無料配送をゲット	|

限定子や体験は複数割り当てることも可能。また、設定した内容は条件を変更しながらToolkitにて画面の変化を確認できる。



## 並び替えルール

### 動画

https://salesforce.vidyard.com/watch/13j6yimjmqY7rWi7kAbgE8?_ga=2.139925491.1172786287.1618150269-1121256232.1607939127

### 要件例

* 商品一覧ページでの替えのドロップダウンに「人気が高い順」を追加し、その並び替えロジックは「直近30日のビュー数」「直近30日の購買率」「入手可能性」で処理されるようにしたい
* 新着商品を検索結果の上の方に持ってきたい
* 検索結果でレディース商品をメンズ商品の上に持ってきたい
* カテゴリの商品一覧の上部にブランドのオススメしたい商品を固定表示させたい
* AIを利用し顧客の行動データに基づいたパーソナライズ化された並び替えを行いたい

### 概要

並び替えルールの価値には下記のようなものがある。
* 商品発見を向上させる
* 以前に購入を行った顧客に対して商品の順番を柔軟に変更できる
* 売れ筋商品、新商品、人気商品を特集できる
* 買い物カゴへの追加数とコンバージョン率を増加させる


並び替えルールの戦略を考える上でこのような項目がある。
* キーワード検索時に表示される商品の並び
* カテゴリページでの商品の並び
* 並び替えドロップダウン内のロジック


カテゴリの並び替えにはこのような手法がある。
* 手動による並び替え
* 動的な並び替え
* ハイブリッド（手動＆動的）

またEinsten Predictive Sortを利用し、パーソナライズ化された並び替えも可能。




## Einstein Predictive Sort

### 動画

https://salesforce.vidyard.com/watch/7sSe5YFMpsCBuE94C7PHnC?_ga=2.77406037.1172786287.1618150269-1121256232.1607939127

### 要件例

* AIを利用し顧客の行動データに基づいたパーソナライズ化された並び替えを行いたい
* カテゴリの商品一覧の上位にはブランドが薦めたい商品を固定させるが、そのほかの並びはパーソナライズ化された並びにしてほしい

### 概要

Predictive Sortとは？

* 明示的検索（検索ボックスを利使用した検索）と暗示的検索（ストアフロントカタログの閲覧）の結果をパーソナライズ化する
* 買い物客専用の品揃えをショッパージャーニーに融合させる
* 買い物客のデータをリアルタイムで活用して商品の並び替えをカスタマイズし、顧客が求める商品の検索に費やす時間を短縮する

メリット

* (既知と未知の)各買い物客について検索とカテゴリーページをパーソナル化する
* 買い物客にあった商品が最初に表示されるようにする
* 購入に直結する商品を顧客に表示することで収益を増加させる
* データサイエンティストは不要！
* さまざまな顧客グループと商品カテゴリに適した並び替えルールを決定するという時間のかかるタスクを無くす

 
Predictive Sortは並び替えルールの動的属性として利用する。ABテストを実行して効果を検証することがオススメ。


## クーポンコード

### 動画

https://salesforce.vidyard.com/watch/o3XuoUW3zywfjSFWRR3M6Q?_ga=2.139925491.1172786287.1618150269-1121256232.1607939127

### 要件例

* 「VIP2022」というクーポンコードを超優良顧客に配布し、そのコードを注文手続き画面で入力すると注文金額から40%OFFされるようにしたい。またその際にその他の顧客がこのコードを知ったとしてもコードを利用できないようにしたい
* 10000ユーザに個別のクーポンコードを配布したいので、システムに自動で10000個のクーポンコードを生成してほしい

### 概要

クーポンはキャンペーン管理の限定子として使用される。
ソースコードとの違いは、ソースコードはサイトに入った時点から注文手続きまで、一貫したサイト体験を用意するために使用されるが、クーポンは注文手続きの段階で定期用されるプロモーション（配送無料、XX％オフ）でしようするのが最適。
クーポン利用状況も確認・エクスポートも可能。

クーポンコードの発行方法には以下の３つがある
* 単一コード
    * 一つのコードを複数の顧客が利用する
* 複数コード
    * 複数コードを真ちゃんダイザーが作成・インポートする
* システム生成コード
    * 作成する数を指定し、システムが自動で生成する



## プロモーション

### 動画

https://salesforce.vidyard.com/watch/u3oE3YwHeK5tw9DT9kQkg5?_ga=2.77406037.1172786287.1618150269-1121256232.1607939127

### 要件例

* Tシャツ全品30%OFFキャンペーンを行いたい
* 靴下を2点以上買うと1点無料キャンペーンを行いたい
* 5000円以上購入の場合、送料無料キャンペーンを行いたい
* 購入合計金額は30000円以上の場合15%OFFキャンペーンを行いたい
* ギフト商品はすべてのプロモーションから除外したい

### 概要

プロモーションは割引ルールを定義するもので、キャンペーンに割り当てる必要がある。
対象となるカテゴリや商品を選択、または属性による判断もでき、さらに除外も可能。
また、複数のプロモーションが適用された時に優先度を設定することもできる。

プロモーションのタイプ（クラス）は以下の３つある。クラスによるプロモーションの優先度は 商品→注文→配送 である。

* 商品
    * 特定のカテゴリまたは商品の割引。例えば下記のような内容
        * 特定のカテゴリXXの商品をXX%OFF
        * XX商品XX個買うとXXX円引き
        * XXカテゴリ商品を２つ以上買うともう一つ無料
* 注文
    * 注文全体の割引。例えば下記のような内容
        * 注文全体で２点以上買うとXX%OFF
        * 注文全体でXXX円以上買うとXX%OFF
        * 注文全体で10000円以上買うと5%OFF、30000円以上買うと15%OFFのような階層での割引
        * 注文全体でXX円以上の購入でボーナス商品をゲット
    * プロモーションまでXX円まで近づいたらアラートを出すことも可能
* 配送
    * 配送の割引。例えば下記のような内容
        * 注文全体でをXXXX以上購入した場合に配送料を無料にする



## コンテンツ管理

### 動画

https://salesforce.vidyard.com/watch/mhywiywkWkNTuHXqDktWaw?_ga=2.77406037.1172786287.1618150269-1121256232.1607939127

### 要件例

* 未登録の顧客に対してホームページで20%OFFの割引のバナーを表示させたい
* 12/27~1/5までお正月特集のバナーを表示させたい
* 複数ページで使用しているHTMLを一箇所の編集で済むようにしたい
* カートに商品が残っているユーザに対して購入促進するようなメッセージを表示したい

### 概要

コンテンツ管理ではストアフロントに表示する内容を管理でき、ショッパージャーニーの全体で、メッセージをカスタマイズできます。A/Bテストを実施しながら効果を検証していくことも重要である。

コンテンツには下記の２種類ある

* 静的（コンテンツアセット）
    * HTML、画像、テキストが含まれる
* 動的（コンテンツスロット）
    * コンテンツアセット、HTML、商品、カテゴリ、またはオススメのコンテナを特定の期間、特定の顧客グループに対して表示できます。また複数有効の場合には優先度の設定も可能
    * 下記の２種類がある
        * グローバルスロット。ホームページやランディングページといった独自のレイアウトを持つページで使用される
        * カテゴリスロット。カテゴリに割り当てられたテンプレートで使用される

#### Tips

スロット設定画面に「新規」ボタンが表示されていないので、初め驚くかもしれないが、<isslot id="XXX" description="XXX" context="XXX"> が含まれるismlをアップロードすれば表示される


## ABテスト

### 動画

https://salesforce.vidyard.com/watch/vpAJGorzAXDYzSninp4KMX?_ga=2.181399655.1172786287.1618150269-1121256232.1607939127


### 要件例

* レディースカテゴリのバナーがない場合と、サブカテゴリのリンクが載っているバナーと品質についての説明が載っていいるバナーを利用してコンバージョン率を比較したい
* 並び替えルールのロジックとしてプレディクティブソートを利用した場合とそうでない場合の買い物カゴ率を比較したい

### 概要

A/Bテストとは、サイトへの変更を現在の体験と照らし合わせてテストし、どちらの体験でポジティブな結果を得られるかを判定する方法です。1つの変数・要素をテスト・比較でするため明快であり、トラフィックも少ない。
現場の本番環境に導入されている体験である対照群に対して、テストセグメントという比較したい変数を追加していくことでA/Bテストを実施する。実施後、レポートを見ながらより良い体験を向上していく。

A/Bテストの設定にはこのような項目がある。

* Eメールによる通知の設定
* コンバージョン率や買い物カゴ率などのキーメトリクス
* ホームページにアクセスした時や顧客がアクセスした時など、どのタイミングで顧客が参加するかのトリガー
* ブラウザ単位か、顧客単位かなどの期限
* 実施する期間
* テスト対象となる顧客グループ


テストセグメントに追加できる体験は下記の４つ。

* コンテンツスロット
* プロモーション
* 並び替えルール
* カスタムスクリプト



#### A/Bテストに関するその他のリソース

https://documentation-ja.b2c.commercecloud.salesforce.com/DOC1/index.jsp?topic=%2Fcom.demandware.dochelp%2Fcontent%2Fb2c_commerce%2Ftopics%2Fab_testing%2Fb2c_ab_test_resources.html







## Einstein商品レコメンデーション

### 動画

https://salesforce.vidyard.com/watch/AD2vMPa7h12WWtBcQv2uZs?_ga=2.77406037.1172786287.1618150269-1121256232.1607939127

### 要件例

* ホームページに顧客が最近見た商品を表示させてい
* キーワード検索結果がなかった時に顧客に対してオススメ商品を見せたい
* 買い物カゴでアップセル目的でカート内商品に関連したオススメを表示したい
* ランニングに関するブログ記事内でランニングに関連するオススメ商品を表示したい
* ホームページのオススメにマーチャンダイザーがオススメしたい商品を一つ固定したい
* 靴の商品詳細ページに靴下や靴紐などの合わせて買いたい商品を表示したい

### 概要

Einstein商品レコメンデーション は顧客一人一人に対して最適な商品の推奨（オススメ）をする機能。

下記の情報を機械学習にデータとして入力しこれらに基づいて推奨商品が出力される。

* 日次カタログフィールド（カテゴリ、商品属性、在庫、画像）
* 日次注文フィード
* 顧客のリアルタイムアクティビティ


設定の手順は下記の通りです。

1. 推奨戦略を定義する
2. 推奨ルールセット(Reccomender)を設定する
    1. Reccomenderには下記のようなタイプがある
        1. 商品から商品
            1. 1つないしは複数の商品に関連するオススメ商品を表示する。例えば下記のような戦略がある
                1. 最近の売れ筋
                2. この商品を買った顧客はこの商品も
                3. この商品を見た顧客はこの商品も見ている
                4. この商品を見た顧客はこの商品も購入している
                5. 商品の類似商品
                6. リアルタイムパーソナライズ
        2. カテゴリ内の商品・すべてのカテゴリの商品
            1. １つのカテゴリに関連するオススメ商品を表示する。例えば下記のような戦略がある
                1. よくこのカテゴリ内で見られている商品
                2. よくこのカテゴリ内で購入されている商品
        3. 最近見た商品
            1. 顧客が最近見た商品を表示する
        4. すべてのカテゴリの商品
            1. 1つのカテゴリではなくすべてのカテゴリを跨いで関連するオススメ商品を表示する
        5. （動画にはないが）コンプリートセット
            1. 1つの商品に関連して合わせて買いたい商品を表示する。例えば、靴と靴下、テニスボールとラケットのようなもの
    2. ルールの設定で表示する商品やカテゴリの設定や除外も可能
3. Reccomenderをコンテンツスロットに割り当てる
4. 定義されたルールとアルゴリズムに基づいて関連商品を表示する


パフォーマンスレポートでのコンバージョンの確認ができたり、コンテンツスロットを利用するのでA/Bテストも可能なので、継続的なレコメンドの体験向上ができる。また、表示するレコメンド情報の１、２個目の商品は固定商品も表示することができるので、マーチャンダイザーが意図的に商品を進めることもできる。

## SEO

### 動画

https://salesforce.vidyard.com/watch/dkpeu67ffq3FFrQHSRMLqw?_ga=2.77406037.1172786287.1618150269-1121256232.1607939127

### 要件例

* 顧客にわかりやすいようなURLにしたい
* サイトマップを自動で生成したい
* robots.txtを管理画面から修正したい
* ルールに基づいたtitleとdescriptionタグを設定したい

### 概要

SEOを対策するために下記のような項目の設定が可能。

* オンページSEO
    * キーワードとコンテンツの戦略をサイト全体にまたがって実行
        * ストアフロントURL
        * タイトルと説明
        * H1タグ
        * 画像の代替タグ
        * ページ上のその他コンテンツ
* サイトのクローラビリティ
    * サイトをクロールしてインデックスを作成する検索エンジンの機能
        * サイトマップ
        * 正規化タグ
        * robots.txt
        * リダイレクトとエラー処理
        * カスタムの404ページ