ChatGPTを使ってBrazeで何ができるか?色々試してみる

ChatGPTのGPT-4を使ってBrazeで何ができるかな、と。
2023.03.28

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Brazeブロガーの國崎です。
今回は今話題のChatGPTを使ってBrazeで何ができるかを試してみました。

この記事では実際に私がChatGPTのGPT-4を使ってみて、やれたことや出来なかったことをお伝えします。

Brazeに入れるための属性データを考えさせる

Brazeを利用するにあたりBrazeを使うアプリ(またはWEB)のユーザー属性データは必要不可欠な情報になります。
なぜならユーザー属性データがないとBrazeを使ったパーソナライズ化のメッセージ配信ができないからです。

パーソナライズ化されたメッセージ配信をしない方にとっては、そもそもBrazeを導入する意味がありません。
そのためBrazeを使う際はどういったユーザー属性データを入れるべきか、事前に利用者側で考えておく必要があります。

ですが、これからアプリを開発する方など、そもそものアプリ自体の開発が出来ていない企業様の場合、Brazeに入れるためのユーザー属性データを考える作業がまず必要になります。
そういった時にChatGPTを使うと、ユーザー属性データの叩きを秒で考えてくれるという使い方もできます。

以下は私が実際にChatGPTに質問を投げた例です。

ある会員制のアパレルブランドを運営してます。
全国に100店舗ほどあり、これまでオフラインのチャネルでやっていたのですが、
これからはWEBサイトやアプリの構築も考えていてオンラインの販売も展開していこうと思います。
この業態でWEBサイトやアプリを構築するにあたり必要となる、
もしくは運用を拡大していくにあたりあると望ましいユーザー情報を教えてください。

自社がやっている業態、アプリを立ち上げる背景、企業規模などを伝えます。
すると以下の回答がChatGPTから返ってきました。

会員制のアパレルブランドのWEBサイトやアプリを構築・運用するにあたり、
集めるべきユーザー情報は以下の通りです。

1.基本情報
・氏名
・メールアドレス
・電話番号
・生年月日
・性別

2.住所情報
・郵便番号
・都道府県
・市区町村
・丁目・番地
・マンション・アパート名

3.会員情報
・会員ID
・パスワード
・会員ランク
・会員登録日
・会員ステータス(有効/無効)

4.購買履歴・アイテム関連情報
・購入商品名
・購入金額
・購入日
・購入店舗
・商品カテゴリ
・サイズ
・カラー

5.支払い情報
・クレジットカード情報(カード番号、有効期限、セキュリティコード)
・銀行口座情報
・決済方法
・請求先住所

6.ウェブサイト・アプリ利用履歴
・閲覧ページ履歴
・クリック履歴
・検索キーワード
・お気に入り商品
・カートに入れた商品
・レビュー・評価

7.SNSアカウント情報
・Twitter, Facebook, Instagramなどのアカウント情報
・SNSでのフォロワー数
・シェア・いいね・コメント履歴

8.顧客属性
・職業
・収入
・世帯構成
・趣味・関心事

これらの情報を適切に管理し、分析することで、
顧客へのパーソナライズされたコンテンツ提供や効果的なマーケティング活動が可能となります。
ただし、個人情報の取り扱いには十分な注意が必要であり、
プライバシーポリシーや利用規約の整備、セキュリティ対策をしっかりと行うことが重要です。

「アパレル」「会員制」という情報に基づいて、ChatGPTがオンラインで必要となるデータの候補を挙げてくれます。
「氏名」「生年月日」「性別」の基本的な属性データから「会員情報」「購買履歴」「アプリ利用履歴」などの業態特有のデータも参考値として書き出してくれます。

実際にBrazeで使うデータの選別はここからさらにどういったシナリオや顧客をイメージするか、戦略立案の議論が必要になるかと思いますが、ChatGPTを使うとその前段階となるデータの候補を短時間でざっくり挙げてもらうという使い方もできます。

サンプルデータをBraze用のCSV形式で作成させる

Brazeで使うユーザーデータは[SDK][コネクタ][API][CSV]のいずれかの形式で投入します。
開発初期の段階やステージング環境での挙動を確認するのにローカル上にあるサンプルデータを[CSV]で投入することもあるかと思いますが、ChatGPTではBraze形式のCSVデータを依頼して作成してもらうという使い方もできます。

上で考えてもらったユーザー属性データを基にサンプルデータの作成を依頼してみます。

提案いただいたそのユーザー情報をBrazeのインポート用にcsv形式でサンプルで10名分作成できますか?

この時ただのCSV形式ではなくBraze用のCSV形式と伝えることで、Brazeのデータ投入で必須となるexternal_idの値を含んで作成してもらいます。
そうすることで、external_idのカラムを含んだCSV形式で作成してもらうことが可能となります。
BrazeGpt6

ただ、今回の場合はユーザー属性の項目が多かったせいか10名の指示に対して7名で止まってしまいました。
接続環境にもよるかと思いますが、項目名が多いと一気に2桁以上全部書き出すのは難しいみたいです。

途中で止まった際は続きからの作業を指示することで、作業を完了させることはできます。
BrazeGpt7

セグメントやメッセージ文を考えてもらう

作成してもらったCSVのサンプルデータを基にセグメントを考えてもらうこともできます。
上のやり取りで書き出されたCSVをひとまとめにして、ChatGPTに以下のように指示を出します。

教えてもらったcsvを元に作成できるセグメント候補をいただいてもいいでしょうか?

すると以下の感じで回答が来ますが、、、

このCSVデータを元に、以下のようなセグメント候補を作成することができます。

1.会員ランク別セグメント: 
ゴールド会員、シルバー会員、ブロンズ会員に分けて、
それぞれに対して異なる特典やプロモーションを提供することができます。

2.会員ステータス別セグメント: 
有効会員と無効会員に分けて、有効会員には新商品情報やセール情報を提供し、
無効会員には再度アプリを利用してもらうためのインセンティブを提供することができます。

3.性別別セグメント: 
男性ユーザーと女性ユーザーに分けて、
それぞれに対して性別に応じた商品やプロモーションを提案することができます。

4.年代別セグメント: 
ユーザーの誕生日情報から年代を算出し、年代別にセグメントを作成して、
各年代に合った商品やプロモーションを提案することができます。

5.地域別セグメント: 
都道府県別にセグメントを作成し、
地域限定のプロモーションやイベント情報を提供することが効果的です。

6.職業別セグメント: 
会社員、自営業、学生、主婦、フリーター、無職などの職業別にセグメントを作成し、
各職業に応じた商品やプロモーションを提案することができます。

7.収入別セグメント: 
収入レベルに応じてセグメントを作成し、
各収入層に適した商品やプロモーションを提案することができます。

8.世帯構成別セグメント: 
独身、既婚子供あり、既婚子供なしに分けてセグメントを作成し、
各世帯構成に応じた商品やプロモーションを提案することができます。

9.興味・趣味別セグメント: 
ファッション、旅行、映画、料理、スポーツ、音楽、車、読書、アート、ダンスなどの
興味・趣味に基づいてセグメントを作成し、関連する商品やコンテンツを紹介することで、
購入意

最後回答が切れましたが、そのまま無視。
とりあえず正直このレベルの回答だと、そのまま属性データ毎に切り分けただけのセグメントなので、もうちょっと考えてもらいます。

以下のように再度指示を出します。

上記のセグメント候補を2つ以上組み合わせて、
収益性アップが狙えるセグメントをいくつか考えてもらってもいいですか?

すると、叩きとしてはとりあえずアリかな〜という回答が以下に仕上がってきました。

複数のセグメント候補を組み合わせることで、より効果的なターゲティングが可能になります。
以下に収益性アップが狙えるセグメントの例を挙げます。

1.ゴールド会員+興味・趣味別セグメント: 
ゴールド会員であり、特定の興味・趣味を持つユーザーに対して、
その趣味に関連する商品や限定プロモーションを提案します。
これにより、高い購買意欲が見込まれるユーザーに対して効果的な施策が展開できます。

2.年代別+性別別セグメント: 
各年代の男性・女性ユーザーに対して、
年代と性別に応じたファッションアイテムやプロモーションを提案します。
これにより、ユーザーのニーズに合った商品を提供することで、
購入率を向上させることができます。

3.地域別+会員ステータス別セグメント: 
各都道府県の有効会員と無効会員に対して、
地域限定のプロモーションやイベント情報を提供します。
有効会員には地域限定の新商品やセール情報を伝え、
無効会員には再度アプリを利用してもらうための地域限定インセンティブを提供することで、
ユーザーの関心を高め購入率を向上させることができます。

4.世帯構成別+収入別セグメント: 
独身、既婚子供あり、既婚子供なしの世帯構成と収入レベルに応じてセグメントを作成し、
各世帯構成・収入層に適した商品やプロモーションを提案します。
これにより、ユーザーのライフスタイルや購買力に合わせたマーケティングが可能になり、
収益性を向上させることができます。

5.職業別+興味・趣味別セグメント: 
会社員、自営業、学生、主婦、フリーター、無職などの職業別に、
さらに興味・趣味に基づいてセグメントを作成します。
各職業のユーザーに対して、
彼らの興味・趣味に関連する商品やコンテンツを紹介することで、
購入意欲を高めることができます。

6.会員ランク別+年代別セグメント: 
ゴールド会員、シルバー会員、ブロンズ会員のそれぞれの年代別セグメントを作成し、
各年代に合わせた特典やプロモーションを提供します。
これにより、会員ランクに応じた優遇策を展開しつつ、
年代に合わせたターゲティングが可能になり、
収益性を向上させることができます。

7.性別別+職業別セグメント: 
男性ユーザーと女性ユーザーをそれぞれの職業別にセグメント化し、
性別と職業に応じた商品やプロモーションを提案します。
例えば、会社員の男性にはビジネスウェアやスーツ、
主婦の女性にはカジュアルウェアやファッション小物を提案することで、
ユーザーのニーズに合った商品を提供し、購入率を向上させることができます。

8.収入別+会員ランク別セグメント: 
収入レベルと会員ランクに応じてセグメントを作成し、
各収入層・会員ランクのユーザーに適した商品やプロモーションを提案します。
これにより、購買力に応じたマーケティングが可能となり、
顧客満足度やリピート購入率を向上させることができます。
例えば、高収入のゴールド会員には高級品や限定商品を提案し、
低収入のブロンズ会員には価格帯の手頃な商品やお得なセール情報を提供することで、
顧客の購買力に見合った効果的なプロモーションが実施できます。

9.年代別+地域別セグメント: 
各年代のユーザーを都道府県ごとにセグメント化し、
年代と地域に応じた商品やイベント情報を提供します。
これにより、地域性や年代に合わせたマーケティングが可能となり、
収益性を向上させることができます。
例えば、若い世代向けのファッションイベント情報を20代~30代の東京都のユーザーに提供することで、
ターゲット層の関心を引き、購入率を向上させることができます。
また、各地域の特産品やお土産に関する情報を年代別に提供することで、
旅行や観光に興味のあるユーザーに対して効果的なプロモーションが実施できます。

10.世帯構成別+興味・趣味別セグメント: 
世帯構成(独身、既婚子供あり、既婚子供なし)と興味・趣味に基づいてセグメントを作成し、
各世帯構成に適した趣味関連の商品やサービスを提案します。
これにより、ユーザーのライフスタイルに合ったマーケティングが可能になり、
顧客満足度や購入率を向上させることができます。
例えば、既婚子供ありのユーザーには家族向けの旅行プランや子供向けの教育関連商品を提案し、
独身のユーザーには独身者向けのイベント情報や趣味に関連するアイテムを提案することで、
ユーザーのニーズに応じた効果的なマーケティングが実現できます。

これらのセグメントを組み合わせて活用することで、
顧客の購買傾向や興味・趣味、ライフスタイルに沿ったターゲティングが可能となり、収益性アップが狙えます。
ただし、これらのセグメントを適切に利用するためには、
顧客データの正確な分析や適切なプロモーション戦略が不可欠です。
データの分析や戦略立案に時間と労力がかかる場合がありますが、
効果的なターゲティングにより、収益性向上に繋がることが期待できます。

ここで叩きで上がったセグメント毎のメールサンプル文を考えてもらいます。
メールの件名は15文字以内であればスマホのファーストビューでも表示されるので、それを踏まえて指示を出してみます。

各セグメント毎の商品申込率を高めるためのメール件名と本文を考えてください。  
メール件名はスマートフォンのファーストビューでも視認しやすいように15文字以内でお願いします。

回答が以下のようにきます。

1.新規会員向けセグメント
件名: 【限定】新規会員特典!
本文: 〇〇様、ご登録ありがとうございます。
今なら新規会員限定で、次回購入時に使える10%オフクーポンをプレゼント! 
お得なこの機会をお見逃しなく!

2.ゴールド会員向けセグメント
件名: 豪華特典、ゴールド限定!
本文: 〇〇様、いつも〇〇アパレルをご利用いただきありがとうございます。
ゴールド会員様限定で、
当店の高級ラインアップ商品が期間限定で20%オフに! お見逃しなく!

3.長期未購入者向けセグメント
件名: おかえりなさい!特別セール
本文: 〇〇様、ご無沙汰しております。
期間限定で、再購入者様向けのスペシャルセールを開催中です。
選りすぐりの商品が最大30%オフ! この機会にぜひお買い物をお楽しみください。

4.年代別+興味・趣味別セグメント (例: 20代女性・ファッション)
件名: 注目!春のファッショントレンド
本文: 〇〇様、春の新作アイテムが続々入荷中! 
20代の女性におすすめの最新ファッショントレンドをお届けします。
期間限定で送料無料キャンペーンも実施中です。

5.世帯構成別+興味・趣味別セグメント (例: 既婚子供あり・旅行)
件名: 家族旅行におすすめプラン
本文: 〇〇様、家族で楽しめる旅行プランを厳選してご紹介します。
今ならお子様連れ限定で特別割引が適用されるプランも! 
素敵な家族旅行をお楽しみください。

6.地域別セグメント (例: 東京都在住)
件名: 東京限定!お得なキャンペーン
本文: 〇〇様、東京都在住のお客様限定で、
期間限定のお得なキャンペーンを実施中です。
セール対象商品が最大25%オフに! 
ぜひお近くの店舗までお越しください。

7.会員ランク別+興味・趣味別セグメント (例: シルバー会員・映画)
件名: 映画好きにおすすめアイテム
本文: 〇〇様、シルバー会員様向けに映画ファン必見のアイテムをご紹介します。
期間限定で、対象商品が15%オフになるクーポンもプレゼント中です。
映画をもっと楽しむためのおしゃれなアイテムを手に入れましょう!

8.職業別+興味・趣味別セグメント (例: 学生・音楽)
件名: 学生応援!音楽グッズセール
本文: 〇〇様、学生の皆様にお得な情報です。
期間限定で、音楽グッズが特別価格でご提供中! 
お気に入りのアーティストやバンドのグッズをお得に手に入れましょう。

これらのメール件名と本文を参考に、顧客のニーズや嗜好に合ったターゲティングを行い、
各セグメント毎の商品申込率を高めることができます。
お客様に適切なコンテンツを届けることで、関心を引き付け、購入意欲を喚起することが可能です。
また、セグメントに応じたパーソナライズされたメッセージを提供することで、
お客様の満足度やブランドへのロイヤリティも向上させることが期待できます。

実際にこの作成してもらった件名や本文をそのまま使うことは難しいと思いますが、アイデア出しという観点で見ればこういった使い方もアリかと思います。
あとはもっと具体的な要件定義ができるのであれば、さらに粒度を高める使い方もできそうではあります。

Liquid文の作成にもチャレンジ

Brazeではメッセージ本文にLiqudタグを使って、1つの文章にユーザー属性情報毎に切り分けた作成をすることもできます。
このLiqudタグを使った文章を自分で作るとなると、もちろんLiqudに対する理解が必要になってくるのですが、ChatGPTを使って自動生成できないか試してみます。

以下のようにLiquidタグでの文章作成を指示してみます。

Brazeのカスタム属性で会員ランクを以下のように作成します。
属性名は[member_lank]で
値は次の3つを振り分けます。[gold][silver][bronze]
です。
会員ランク毎に切り分けた文章をBrazeで使いたいので、
Liquidタグを使ってサンプル文を作成してください。

属性名と値を伝えると以下のように文章作成をしてくれます。 brazechatgpt21

ノリに乗ってるのか、追加提案などもしてくれます。
brazechatgpt22

ただ、提案された文章だと以下の部分に誤りがあったので作り直させます。

fistnameは{{${first_name}}}タグで書き出すので、そちらに書き換えて再度記述を教えてください

微調整は少なからず必要になりそうです。

上記の指示を基に作成されたコードが以下になります。

{% if user.custom_attributes.member_lank == "gold" %}
お疲れ様です、{{${first_name}}}さん。ゴールド会員のあなたに特別なプロモーションをご案内いたします!詳細はこちらをチェックしてください。
{% elsif user.custom_attributes.member_lank == "silver" %}
こんにちは、{{${first_name}}}さん。シルバー会員様向けの限定セールが開催中です!お見逃しなく!
{% elsif user.custom_attributes.member_lank == "bronze" %}
やあ、{{${first_name}}}さん。ブロンズ会員のあなたもお得にショッピングできるキャンペーンがあります!詳細はこちら。
{% else %}
{{${first_name}}}さん、当店のアパレル商品をチェックしてみてください。新商品やセール情報をお届けします!
{% endif %}

実際にBrazeに入れて使えるか確認してみます。
first_nameは「まさお」でmember_lankは「gold」のユーザーでプレビューすると、以下の表示になりました。
brazechatgpt24

ん?
first_nameは合ってますが、表示される文章が「ゴールド会員向け」ではなく、「会員ランクがいずれにも当てはまらない人」のパターンになってます。

よくよく書き出されたコードを見直してみると、カスタム属性の呼び出しの記述が間違ってました。
正しくは以下になるはず。

誤)user.custom_attributes.member_lank
正){{custom_attribute.${member_lank}}}

ChatGPTに間違いを指摘してみます。

以下のコードに誤りがあります。
user.custom_attributes.member_lank→{{custom_attribute.${member_lank}}}
再度書き直してください。

以下のコードが書き出されました。

{% if {{custom_attribute.${member_lank}}} == "gold" %}
お疲れ様です、{{${first_name}}}さん。ゴールド会員のあなたに特別なプロモーションをご案内いたします!詳細はこちらをチェックしてください。
{% elsif {{custom_attribute.${member_lank}}} == "silver" %}
こんにちは、{{${first_name}}}さん。シルバー会員様向けの限定セールが開催中です!お見逃しなく!
{% elsif {{custom_attribute.${member_lank}}} == "bronze" %}
やあ、{{${first_name}}}さん。ブロンズ会員のあなたもお得にショッピングできるキャンペーンがあります!詳細はこちら。
{% else %}
{{${first_name}}}さん、当店のアパレル商品をチェックしてみてください。新商品やセール情報をお届けします!
{% endif %}

Brazeにコードを打ち込むと、今度はちゃんとゴールド会員向けの文章が表示されました。
brazechatgpt25

現時点ではLiquid文の精度は怪しいので、そのまま流用するのはやめておいたがいいですね。
ただ、1から自分で生成するよりは楽な感じもするので、ざっくりとした型を作ってもらうのにChatGPTを使うというやり方がいいのかと個人的には思いました。

まとめ

一通りChatGPTを使ってBrazeで何ができるか、個人的にやってみたことをお伝えしました。
今回自分がChatGPTに伝えた要件定義はだいぶ浮わついた状態のものだったので、こんな感じの内容になってしまいましたが、実際の事業モデルではめてみたり、都度精度のあげた回答を要求することで、より現場で使える形での生成が可能になると思います。

セグメントや文章の作成においてはChatGPTに施策のきっかけ作りをしてもらい、そこから先はチームでディスカッションを進めるというやり方をすると業務の効率化にも使えるのかと思いました。
今回使ったのはGPT-4での内容でしたが、今後のアップデートでまた使い方の観点も変わってくるかもしれません。

今後の技術に期待。