Skip to content

SQL セグメントエクステンション

Snowflake データの Snowflake SQL クエリを使用してセグメントエクステンションを生成できます。SQL では、他のセグメンテーション機能では実現できない方法でデータ間の関係を柔軟に記述できるため、新しいセグメントのユースケースを開拓するのに役立ちます。

標準のセグメントエクステンションと同様に、SQL セグメントエクステンションでも過去 2 年間(730 日)までのイベントをクエリできます。標準のセグメントエクステンションとは異なり、SQL セグメントエクステンションはクレジットを消費します

前提条件

この機能を通じて個人識別情報(PII)データにアクセスできるため、SQL セグメントクエリを実行するには PII 権限が必要です。

セグメントエクステンションを作成する

ステップ 1:エディターを選ぶ

SQL セグメントエクステンションの作成時に選択できる SQL エディターには、SQL エディターとインクリメンタル SQL エディターの 2 種類があります。

  • 完全リフレッシュ:セグメントが更新されるたびに、Braze は利用可能なすべてのデータをクエリしてセグメントを更新します。これにより、増分更新よりも多くのクレジットが使用されます。完全更新エクステンションでは、メンバーシップを毎日自動的に再生成できますが、増分更新を使用して更新することはできません。
  • 増分更新:増分更新はクエリを設定するより費用対効果の高い方法ですが、設定にはいくつかの追加ステップが必要です。セグメントを構築する際にこれらの追加ステップを完了できるなら、このオプションを選択する価値があります。クエリの実行に必要なクレジットが少なくなるためです。
  • AI SQL ジェネレーター:AI SQL ジェネレーターは、平易な言語でプロンプトを入力すると、それを対象セグメント向けの SQL クエリに変換します。自分で SQL を書く必要なく、すぐに始められる方法です。

完全更新 SQL セグメントエクステンションを作成するには:

  1. [オーディエンス] > [セグメントエクステンション] に移動します。
  2. [新規エクステンションを作成] を選択し、次に [完全リフレッシュ] を選択します。



  3. セグメントエクステンションの名前を追加し、SQL を入力します。要件とリソースについてはステップ 2 を参照してください。

    SQL エディターが SQL セグメントエクステンションの例を示している。

  4. セグメントエクステンションを保存します。

増分更新 SQL セグメントエクステンションを作成するには:

  1. [オーディエンス] > [セグメントエクステンション] に移動します。
  1. [新規エクステンションを作成] を選択し、[増分更新] を選択します。



  2. セグメントエクステンションの名前を追加し、SQL を入力します。要件とリソースについては、SQL の作成セクションを参照してください。

    SQL エディターが増分 SQL セグメントエクステンションの例を示している。

  3. 必要に応じて、[エクステンションを毎日再生成する] を選択します。

    エクステンションを毎日再生成するチェックボックス。

    選択すると、Braze はセグメントメンバーシップを毎日自動的に更新します。つまり、毎日会社のタイムゾーンの午前 0 時(最大 1 時間遅れる可能性があります)に、Braze はセグメントの新規ユーザーを確認し、自動的にセグメントに追加します。セグメントエクステンションが 7 日間使用されなかった場合、Braze は毎日の再生成を自動的に一時停止します。未使用のセグメントエクステンションとは、キャンペーンやキャンバスの一部ではないエクステンションです(エクステンションが「使用済み」と見なされるために、キャンペーンまたはキャンバスがアクティブである必要はありません)。

  4. セグメントエクステンションを保存します。

AI SQL ジェネレーターは OpenAI を搭載した GPT を活用して、SQL セグメント用の SQL を推奨します。

「先月通知を受け取ったユーザー」というプロンプトを持つ AI SQL ジェネレーター

AI SQL ジェネレーターを使用するには、以下の手順を実行します。

  1. 完全更新または増分更新のいずれかを使用して SQL セグメントを作成した後、[AI SQL ジェネレーターを起動] を選択します。
  2. プロンプトを入力し、[生成] を選択すると、プロンプトが SQL に変換されます。
  3. 生成された SQL を確認して正しいことを確認し、セグメントを保存します。

プロンプトの例

  • 先月にメールを受信したユーザー
  • 過去 1 年間に購入回数が 5 回未満のユーザー

ヒント

  • 利用可能な Snowflake データテーブルをよく理解してください。これらのテーブルに存在しないデータを要求すると、ChatGPT が架空のテーブルを作成する可能性があります。
  • この機能の SQL 記述ルールをよく理解してください。これらのルールに従わないと、エラーが発生します。たとえば、SQL コードでは user_id 列を選択する必要があります。プロンプトの冒頭に「Users who」と入力すると役に立ちます。
  • AI SQL ジェネレーターでは、1 分あたり最大 20 のプロンプトを送信できます。

私のデータはどのように使用され、OpenAIに送られますか?

OpenAIを活用するBrazeAI機能を通じてAI出力(以下「出力」)を生成するために、Brazeは特定の情報(以下「入力」)をOpenAIに送信します。入力はお客様のプロンプトで構成され、該当する場合にはダッシュボードに表示されるコンテンツやお客様のクエリに関連するその他のワークスペースデータが含まれることがあります。OpenAIのAPIプラットフォームのコミットメントに基づき、Braze経由でOpenAIのAPIに送信されたデータは、OpenAIモデルのトレーニングや改善には使用されません。OpenAIは不正利用の監視を目的として最大30日間データを保持し、その後削除します。お客様とBrazeの間において、出力はお客様の知的財産です。Brazeは、かかる出力に対する著作権の所有権を主張しません。Brazeは、出力を含め、AIが生成したコンテンツに関していかなる種類の保証も行いません。

エクステンションの処理が完了したら、セグメントエクステンションを使ってセグメントを作成し、この新しいセグメントをキャンペーンやキャンバスでターゲットに設定できます。

ステップ 2:SQL を記述する

SQL クエリは、Snowflake 構文を使用して記述する必要があります。クエリ可能なテーブルとカラムの全リストについては、テーブルリファレンスを参照してください。

SQL はさらに、次のルールに従う必要があります。

  • 単一の SQL ステートメントを記述します。セミコロンは含めないでください。
  • SQL では、user_id 列の 1 つのみを選択する必要があります。つまり、SQL には以下が含まれている必要があります。
1
SELECT DISTINCT user_id FROM "INSERT TABLE NAME"
  • イベントがゼロのユーザーをクエリすることはできません。つまり、イベントの実行回数が X 回未満のユーザーに対するクエリは、次の回避策に従う必要があります。
    1. イベントが X 回以上発生したユーザーを選択するクエリを記述します。
    2. セグメント内のセグメントエクステンションを参照する場合、doesn't include を選択すると結果が反転します。

その他のルール

さらに、標準的な SQL クエリは以下のルールに従う必要があります。

  • DECLARE ステートメントは使用できません。

すべての増分更新クエリは、クエリとスキーマの詳細という 2 つの部分で構成されます。

  1. エディターで、目的のテーブルから user_id を選択するクエリを記述します。
  2. エディターの上のフィールドから [Operator]、[回数]、および [期間] を選択して、スキーマの詳細を追加します。クエリでは、集計列の合計が {{operator}} および {{number of times}} プレースホルダーで指定された特定の条件を満たすかどうかが確認されます。これは、従来のセグメントエクステンションを作成するワークフローと同様に機能します。

    • Operator:イベントの発生回数が、指定した回数よりも多いか、少ないか、等しいかを示します。
      Operator フィールドで「より大きい」が選択されている。

    • 回数:Operator に対してイベントを評価したい回数。
      「5」が入力された回数。

    • 期間:イベントのインスタンスを確認する日数(1〜730 日)。この期間は、現在の日を基準とした過去の日数を指します。次の例は、過去 365 日間にイベントを 5 回以上実行したユーザーのクエリを示しています。
      期間フィールドに「365」が入力されている。

次の例では、結果のセグメントには、指定した日付以降の過去 30 日間に favorited イベントを 3 回以上実行したユーザーが含まれます。

SQL エディターが増分 SQL セグメントエクステンションの例を示している。

増分 SQL セグメントエクステンションの SQL プレビュー。

その他のルール

さらに、増分更新クエリは以下のルールに従う必要があります。

  • 単一の SQL ステートメントを記述します。セミコロンは含めないでください。
  • インクリメンタル SQL セグメントで参照できるのは 1 つのイベントだけです。日付とカウントのドロップダウンは、選択したイベントに基づいています。
  • SQL には次の列が必要です: user_id$start_date、および集計関数(COUNT など)。これら 3 つのフィールドなしで SQL を保存すると、エラーになります。
  • DECLARE ステートメントは使用できません。

ステップ 3:クエリをプレビューする

保存する前に、クエリのプレビューを実行できます。クエリのプレビューは自動的に 100 行に制限され、60 秒後にタイムアウトします。プレビューを実行する場合、user_id 列の要件は適用されません。

インクリメンタル SQL セグメントエクステンションの場合、プレビューには Operator、回数、および期間フィールドからの追加条件は含まれません。

ステップ 4:SQL を反転させる必要があるかどうかを判断する

次に、SQL を反転させる必要があるかどうかを判断します。イベントがゼロのユーザーを直接クエリすることはできませんが、SQL を反転を使用してこれらのユーザーをターゲットにできます。

たとえば、購入回数が 3 回未満のユーザーをターゲットにするには、まず購入回数が 3 回以上のユーザーを選択するクエリを記述します。次に、[SQL を反転] を選択して、購入回数が 3 回未満のユーザー(購入回数が 0 回のユーザーを含む)をターゲットにします。

「過去 30 日間で 1〜4 通のメールをクリックした」という名前のセグメントエクステンション。SQL を反転するオプションが選択されている。

セグメントメンバーシップの更新

SQL を使用して作成されたセグメントエクステンションのセグメントメンバーシップを更新するには、セグメントエクステンションを開いて [更新] を選択します。

セグメントエクステンションの管理

[セグメントエクステンション] ページでは、SQL を使用して生成されたセグメントは名前の横に で表示されます。

SQL セグメントエクステンションを選択すると、そのエクステンションが使用されている場所を表示したり、エクステンションをアーカイブしたり、セグメントメンバーシップを手動で更新したりできます。

SQL エディターの「メッセージング使用」セクションは、SQL セグメントが使用されている箇所を示している。

更新設定の指定

エクステンションを定期的に更新する必要がない場合は、更新設定を使用せずに保存できます。Braze はデフォルトで、その時点のユーザーメンバーシップに基づいてセグメントエクステンションを生成します。オーディエンスを一度だけ生成し、単発のキャンペーンでターゲットにしたい場合は、デフォルトの動作を使用してください。

セグメントは常に最初の保存後に処理を開始します。セグメントが更新されるたびに、Braze はセグメントを再実行し、更新時点のセグメント内のユーザーを反映するようにセグメントメンバーシップを更新します。これにより、定期的なキャンペーンが最も関連性の高いユーザーに届くようになります。

定期的な更新の設定

更新設定を指定して定期的なスケジュールを設定するには、更新を有効にする を選択します。更新設定を指定するオプションは、SQL セグメント、CDI セグメントエクステンション、シンプルなフォームベースのセグメントエクステンションを含む、すべてのタイプのセグメントエクステンションで使用できます。

更新設定の選択

更新頻度が週単位、開始時刻が午前10時、曜日として月曜日が選択された更新間隔設定。

更新間隔の設定 パネルでは、このセグメントエクステンションが更新される頻度を、毎時、毎日、毎週、または毎月から選択できます。また、更新が行われる特定の時刻(会社のタイムゾーン)を選択する必要があります。例えば以下のようになります。

  • 毎週月曜日の午前11時(会社時間)に送信されるメールキャンペーンがあり、送信直前にセグメントを確実に更新したい場合は、毎週月曜日の午前10時に更新するスケジュールを選択してください。
  • セグメントを毎日更新したい場合は、毎日の更新頻度を選択し、更新する時刻を選択してください。

クレジット消費と追加コスト

更新によってセグメントのクエリが再実行されるため、SQL セグメントの更新ごとに SQL セグメントクレジットが消費され、CDI セグメントエクステンションの更新ごとにサードパーティのデータウェアハウスでコストが発生します。

古いエクステンションを自動的に無効にする基準

セグメントエクステンションが古くなると、スケジュールされた更新は自動的に無効になります。セグメントエクステンションは、以下の基準を満たす場合に古いとみなされます。

  • アクティブなキャンペーンまたはキャンバスで使用されていない
  • アクティブなキャンペーンまたはキャンバス内のセグメントで使用されていない
  • 分析トラッキングが有効になっているセグメントで使用されていない
  • 7日以上変更されていない
  • 7日以上、キャンペーンやキャンバス(下書きを含む)、またはセグメントに追加されていない

セグメントエクステンションのスケジュールされた更新が無効になっている場合、そのエクステンションにはその旨を示す通知が表示されます。

「このエクステンションはアクティブなキャンペーン、キャンバス、またはセグメントで使用されていないため、スケジュールされた更新がオフになりました。セグメントエクステンションは2025年2月23日午前12:00に無効化されました。」という通知。

古いセグメントエクステンションを使用する準備ができたら、更新設定を確認し、ユースケースに合った更新スケジュールを選択して、変更を保存してください。

Snowflake クレジット

各 Braze ワークスペースには、1 か月あたり 5 つの Snowflake クレジットが利用可能です。さらにクレジットが必要な場合は、アカウントマネージャーにお問い合わせください。クレジットは、SQL セグメントのメンバーシップを更新、または保存して更新するたびに使用されます。SQL セグメント内でプレビューを実行したり、従来のセグメントエクステンションを保存または更新したりする場合、クレジットは使用されません。

クレジット使用量は SQL クエリの実行時間と相関しています。実行時間が長くなるほど、クエリにかかるクレジット数は多くなります。実行時間は、時間の経過に伴うクエリの複雑さとサイズによって異なる場合があります。実行するクエリが複雑で頻繁になればなるほど、リソースの割り当てが大きくなり、実行時間が短縮されます。

クレジットを節約するには、SQL セグメントエクステンションを保存する前に、クエリをプレビューして正しいことを確認してください。

クレジットは、毎月 1 日午前 12 時(UTC)に 5 にリセットされます。クレジット使用状況パネルで、その月のクレジット使用状況を監視できます。[セグメントエクステンション] ページから、 [SQL クレジット使用状況を表示] をクリックします。

SQL セグメントエクステンションページの SQL クレジット使用状況パネル

クレジットがゼロになると、次のことが起こります。

  • 自動更新が設定された SQL セグメントエクステンションは更新を停止し、これらのセグメントのメンバーシップ、およびこれらのセグメントをターゲットとするキャンペーンやキャンバスに影響します。
  • その月の残りの期間は、新しい SQL セグメントエクステンションを下書きとしてのみ保存できます。

SQL セグメントを作成したすべての会社ユーザーと会社の管理者には、クレジットの 50%、80%、100% を使い切った時点で通知メールが届きます。翌月の初めにクレジットがリセットされたら、SQL セグメントをさらに作成でき、自動更新が再開されます。

SQL セグメントクレジットの追加購入やセグメントエクステンションの追加をご希望の場合は、アカウントマネージャーにお問い合わせください。

New Stuff!