BrazeをChatGPTアプリと連携させる
このガイドでは、BrazeをChatGPTアプリと統合し、AI搭載アプリケーション内で分析とイベント記録をイネーブルメントする方法を説明する。

概要
ChatGPTアプリは、AI対話型アプリケーションを構築するための強力なプラットフォームを提供する。BrazeをChatGPTアプリと統合することで、AI時代においてもファーストパーティデータのコントロール権限を維持し続けられる。具体的には以下の方法がある:
- ChatGPTアプリ内でのユーザーのエンゲージメントと行動をトラッキングする(例えば、顧客がどの質問やチャット機能を利用しているかを識別する)
- AIのインタラクションパターンに基づいてBrazeキャンペーンをセグメント化し、リターゲティングする(例:週に3回以上チャットを利用したユーザーにメールを送る)
主な利点
- カスタマージャーニーを掌握せよ:ユーザーがChatGPTを通じてあなたのブランドとやり取りする間、あなたは彼らの行動、好み、エンゲージメントパターンを把握し続ける。このデータはAIプラットフォームの分析機能だけでなく、Brazeのユーザープロファイルに直接流れ込む。
- クロスプラットフォーム・リターゲティング:ChatGPTアプリでのユーザーの操作をトラッキングし、そのAI利用パターンに基づいたパーソナライズされたキャンペーンで、自社所有チャネル(メール、SMS、プッシュ通知、アプリ内メッセージ)全体でリターゲティングする。
- ChatGPTの会話に1:1のプロモーションコンテンツを返す:チームがアプリ用に構築したカスタム対話型UIコンポーネントを使って、ChatGPT体験内で直接、Brazeのアプリ内メッセージやコンテンツカードなどを配信する。
- 収益アトリビューション:ChatGPTアプリのやり取りから発生した購入とコンバージョンをトラッキングする。
前提条件
BrazeをChatGPTアプリと統合する前に、以下の準備が必要だ:
- Brazeワークスペースに新しいWebアプリとAPI キーが追加された
- OpenAIプラットフォームで作成されたChatGPTアプリ(OpenAIサンプルアプリ)
ChatGPTアプリの統合
設定
ステップ 1: Brazeの統合ファイルを取得する
ChatGPTアプリ統合リポジトリからファイルをbraze.jsプロジェクトにコピーせよ。このファイルには、必要なすべてのBraze SDK設定と補助関数が含まれている。
ステップ 2:依存関係をインストールする
Brazeの最新機能を利用するには、当社のWeb SDKを導入せよ。
クライアントサイド統合については:
1
npm install @braze/web-sdk
実装
BrazeをChatGPTアプリに統合する方法は、ユースケースに応じて2通りある:
クライアントサイド統合(カスタムウィジェット)
推奨されるアプローチ:この方法により、ChatGPTアプリウィジェット内でリッチなメッセージング体験とリアルタイムのユーザーインタラクショントラッキングが可能になる。
カスタムChatGPTアプリウィジェット内でBrazeメッセージングを表示し、ユーザーインタラクションをトラッキングするには、Web SDK統合を使用する。完全なメッセージングの例は、こちらのサンプルリポジトリで見つけることができる。
ウィジェットのメタデータを設定する
MCPサーバーファイルに以下のメタデータを追加し、Brazeドメインを許可する。CDNドメインは地域に応じて更新すること:
1
2
3
4
5
6
7
8
9
"openai/widgetCSP": {
connect_domains: ["https://YOUR-SDK-ENDPOINT"],
resource_domains: [
"https://appboy-images.com",
"https://braze-images.com",
"https://cdn.braze.eu",
"https://use.fontawesome.com"
],
}
実際のBraze SDKエンドポイントでYOUR-SDK-ENDPOINT置き換える。
useBrazeフックを設定する
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import { useBraze } from "./utils/braze";
function YourWidget() {
const braze = useBraze({
apiKey: "your-braze-api-key",
baseUrl: "your-braze-endpoint.braze.com",
});
useEffect(() => {
if (!braze.isInitialized) {
return;
}
// Set user identity
braze.changeUser("user-id-123");
// Log widget interactions
braze.logCustomEvent("viewed_pizzaz_list");
}, [braze.isInitialized]);
return (
// Your widget JSX
);
}
Brazeコンテンツカードを表示する
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const [cards, setCards] = useState([]);
useEffect(() => {
// Get cached content cards
setCards(braze.getCachedContentCards()?.cards ?? []);
// Subscribe to content card updates
braze.subscribeToContentCardsUpdates((contentCards) => {
setCards(contentCards.cards);
});
// Open session
braze.openSession();
return () => {
braze.removeAllSubscriptions();
}
}, []);
ウィジェットのイベントのトラッキング
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// Track user interactions within your widget
const handleButtonClick = () => {
braze.logCustomEvent("widget_button_clicked", {
button_type: "save_list",
widget_name: "pizza_list"
});
};
const handleItemInteraction = (itemId) => {
braze.logCustomEvent("item_interacted", {
item_id: itemId,
interaction_type: "view_details"
});
};
サーバーサイド統合(MCPサーバー)
MCPサーバー上でメッセージング機能のサーバーサイド統合も必要なら、に連絡せよ[email protected]。MCPサーバーからのイベントや購入のトラッキング, 追跡には、当社のREST APIを使用する。
GitHub でこのページを編集