Skip to content

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

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

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

前提条件

この機能を使用してPIIデータにアクセスできるため、SQL Segmentクエリーを実行するにはPII権限が必要です。

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

ステップ 1: エディタを選択する

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

  • フルリフレッシュ:セグメントが更新されるたびに、Braze は利用可能なすべてのデータをクエリしてセグメントを更新します。これにより、増分更新よりも多くのクレジットが使用されます。完全更新エクステンションでは、メンバーシップを毎日自動的に更新できますが、増分更新を使用して更新することはできません。
  • 増分更新:増分更新では、過去2日分のデータのみが計算されるため、コスト効率がよく、毎回使用するクレジットも少なくなります。増分更新 SQL セグメントを作成する場合、メンバーシップを毎日自動的に再生成するように設定できます。これにより、メンバーシップを毎日自動的に更新するようにSegmentを設定できます。これにより、SQL Segment拡張の毎日のデータリフレッシュの費用を削減できます。
  • AI SQL ジェネレータ:AI SQL ジェネレーターを使用すると、プロンプトをプレーン言語で記述し、それをSegmentのSQL クエリーに変換できます。SQL を自分で書く必要もなく、すぐに始めることができます。

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

  1. [オーディエンス] > [セグメントエクステンション] に移動します。
  2. Create New Extensionを選択し、Full refreshを選択します。



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

    SQLセグメント拡張の例を示すSQLエディター。

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

増分更新 SQL エディターを使用すると、特定の時間枠内のイベントについて、日付ごとにユーザークエリ集計を行うことができます。増分更新 SQL セグメントエクステンションを作成するには以下を実行します。

  1. [オーディエンス] > [セグメントエクステンション] に移動します。

2.[エクステンションを新規作成] をクリックし、[増分更新] を選択します。



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

インクリメンタルSQLセグメント拡張の例を示すSQLエディター。

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

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

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

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

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

「先月に通知を受信したユーザー」というプロンプトが表示された AI SQL ジェネレーター

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

  1. フルリフレッシュまたはインクリメンタルリフレッシュを使用してSQL Segment を作成した後、Launch AI SQL Generator を選択します。
  2. プロンプトを入力し、[生成] をクリックしてプロンプトを SQL に変換します。
  3. 生成された SQL を確認して正しいことを確認し、セグメントを保存します。

プロンプトの例

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

ヒント

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

#### How is my data used and sent to OpenAI? {#ai-policy}

In order to generate AI output through Braze AI features that Braze identifies as leveraging OpenAI (“Output”), Braze will send your prompt, such as message content, brand guidelines, past campaign data, or any other input, as applicable (“Input”) to OpenAI. Input sent to OpenAI from Braze does not identify you or your Users unless you choose to include uniquely identifiable information in your Input. Per OpenAI’s API platform commitments, data sent to OpenAI’s API via Braze is not used to train or improve OpenAI models and will be deleted after 30 days by OpenAI from their systems. Between you and Braze, Output is your intellectual property. Braze will not assert any claims of copyright ownership on such Output. Braze makes no warranty of any kind with respect to any AI-generated content generally, including Output.

エクステンションの処理が完了したら、セグメントエクステンションを使用して セグメントを作成[](/docs/ja/user_guide/engagement_tools/segments/segment_extension#step-5-use-your-extension-in-a-segment) し、この新しいセグメントをキャンペーンやキャンバスでターゲットにすることができます。

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

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

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

  • 単一の SQL ステートメントを記述します。セミコロンは含めないでください。
  • SQL では、次の1つの列のみを選択する必要があります。user_id 列。つまり、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}} および {{number of times}} プレースホルダーで指定された特定の条件を満たすかどうかが確認されます。これは、従来のセグメントエクステンションを作成するワークフローと同様に機能します。

    • 演算子:イベントの発生回数が、発生回数よりも多いか、少ないか、等しいかを示します。
      「超 (過去)」が選択された演算子フィールド。

    • 回数:演算子に関してイベントを評価したい回数。
      「5」が入力された回数フィールド。

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

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

インクリメンタルSQLセグメント拡張の例を示すSQLエディター。

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

その他の規則

さらに、インクリメンタル・リフレッシュ・クエリーは、以下のルールに従う必要があります。

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

ステップ 3:クエリのプレビュー

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

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

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

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

たとえば、購入数が3 つ未満のユーザーを対象にするには、まずクエリーを作成して、購入数が3 つ以上のユーザーを選択します。次に、Invert SQL を選択して、購入数が3 未満のユーザー(購入数が0 のものを含む) を対象にします。

&quot という名前のセグメント拡張;過去30 日間で1 ~4 メール s をクリックしました。SQL を反転するオプションが選択されています。

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

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

セグメント拡張の管理

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

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

SQL Segmentの使用場所を示すSQL エディタのMessaging Use セクション。

更新設定の指定

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

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

定期的なリフレッシュの設定

リフレッシュ設定を指定して定期的なスケジュールを設定するには、「リフレッシュをイネーブルメントにする」を選択する。リフレッシュ設定を指定するオプションは、SQLセグメント、CDIセグメントエクステンション、シンプルなフォームベースのセグメントエクステンションなど、すべてのタイプのセグメントエクステンションで利用できる。

リフレッシュ設定を選択する

週間更新頻度、開始時間午前10時、曜日として月曜日を選択した場合の更新間隔設定

更新間隔設定パネルで、セグメントエクステンションが更新される頻度を選択できる:1時間ごと、毎日、毎週、毎月。また、リフレッシュが行われる特定の時間(あなたの会社のタイムゾーン内)を、次のように選択する必要がある:

  • 毎週月曜日の午前11時(会社時間)に配信されるメールキャンペーンで、配信直前にセグメンテーションを確実に更新したい場合は、毎週月曜日の午前10時に更新するスケジュールを選択する。
  • セグメンテーションを毎日更新したい場合は、毎日の更新頻度を選択し、更新する時間帯を選択する。

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

リフレッシュはセグメントのクエリを再実行するため、SQL セグメントのリフレッシュは SQL セグメントクレジットを消費し、CDI セグメントエクステンションのリフレッシュはサードパーティデータウェアハウス内でコストが発生する。

古くなった拡張機能を自動的に無効にする基準

セグメントエクステンションが古くなると、スケジュールされたリフレッシュは自動的に無効になる。セグメントエクステンションは、以下の条件を満たす場合、古くなる:

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

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

このエクステンションは、アクティブなキャンペーン、キャンバス、セグメントで使用されていないため、スケジュールされたリフレッシュはオフになっています。セグメントエクステンションは2025年2月23日午前12時に無効化された。"

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

Snowflake単位

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

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

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

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

![SQL セグメントエクステンションページの SQL クレジット使用状況パネル]/docs/ja/assets/img_archive/sql_segments_credits.png?e7eb7d7c1c900f6947960dbefc963b43{: style=”max-width:60%”}

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

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

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

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

New Stuff!