Skip to main content
特定のプロジェクトで Snowflake を有効化した後、Kameleoon でゴールを作成するために使用できます。これらのゴールは、Snowflake データベースからのコンバージョンデータを使用するように設計されています。 Snowflake を使用してゴールを作成するには、Create a goal で説明されている Data warehouse tracking フローに従い、Datawarehouse integration ドロップダウンから Snowflake を選択します。その後、Step 1 では次の Snowflake 固有フィールドが表示されます:
  • Warehouse: クエリする Snowflake ウェアハウスを入力します。
  • Frequency: Kameleoon がゴールデータを更新する頻度を定義します。
  • Database: コンバージョンデータを含むデータベースを入力します。
  • Schema: コンバージョンデータを含むスキーマを入力します。
  • Query: Snowflake から必要なデータを取得する SQL クエリを定義します。
Step 1 が完了したら、必要に応じて Step 2 の Advanced settings を設定してから、ゴールを保存します。

クエリ形式

クエリは特定の形式に従う必要があります: SELECT visitor_id, conversion_timestamp FROM your_events_table ここで、visitor_id は訪問者の一意の ID を表す列で、conversion_timestamp はコンバージョンが発生した正確な時刻を表す列です。Snowflake では、conversion_timestamp 列は Timestamp 型の列である必要があります。 各コンバージョンに収益を関連付けたい場合、クエリは代替形式に従う必要があります: SELECT visitor_id, conversion_timestamp, revenue FROM your_events_table ここで、revenue は各コンバージョンの収益を含む列です。 より複雑なクエリの場合、次のようにサブクエリを作成することでこの形式に従うことができます:
クエリは、タイムスタンプでフィルタリングする WITH 句が追加されて、Snowflake ウェアハウスで毎時実行されます。コンバージョンは毎時収集されますが、実験結果にマージされるのは 1 日に 1 回のみであることに注意してください。

Kameleoon がコンバージョンデータをポーリングする仕組み

Kameleoon は、実行のたびにイベント履歴全体を再読み込みするのではなく、Snowflake のコンバージョンデータを差分方式でポーリングします。各ポーリングジョブは直前に成功したポーリング地点を記録し、次回の実行ではその地点以降に追加された新しいレコードの時間枠のみをクエリします。この時間枠のみをクエリすることで、Kameleoon はすでに取り込んだデータを再スキャンすることがなく、各ポーリングを高速に保てます。 ポーリングは常に前方へ進むため、直前に成功したポーリング時間枠より古いタイムスタンプで Snowflake に到着したレコードを、Kameleoon が取りこぼす場合があります。遅延レコードは通常、データパイプラインがコンバージョンイベントを書き込むのに時間がかかることで発生し、その結果、Kameleoon がすでにそのレコードの属する時間枠を通過した後になって、レコードが Snowflake に到達します。レコードの取りこぼしを防ぐには、以下のインジェスチョン時間枠を、パイプラインの通常の到着遅延に合わせて設定してください。

インジェスチョン時間枠

デフォルトでは、Kameleoon はコンバージョンイベントの発生から Snowflake ウェアハウスで利用可能になるまで最大 1 時間を許容し、ポーリング時間枠はこの遅延を自動的に考慮します。パイプラインがバッチ処理や夜間の ETL ジョブなどにより、イベントを Snowflake に書き込むのに 1 時間以上かかる場合、これらの遅延レコードはポーリング時間枠の対象外となり、取りこぼされます。パイプラインの実際の到着遅延に合わせて遅延時間を延長するには、カスタマーサクセスマネージャーにお問い合わせください。

インジェスチョン前にクエリを実行する

インジェスチョンタスクを保存する前に、Kameleoon で直接クエリをテストできます。テストにより以下が可能になります:
  • リアルタイムで接続を確認する。
  • 認証情報とアクセス権が正しいことを確認し、最初のデータインポートを待たずに問題を即座に検出できるようにする。
  • データの構造とアクセス可能性を検証する。
シンプルなクエリを実行して、Kameleoon が適切なデータベースとテーブルにアクセスできることを確認できます。また、データセットの小さなサンプルをダウンロードして、スキーマ、権限、内容が期待どおりであることを確認することもできます。

Snowflake ゴールを使用する

プロジェクトで Snowflake を有効化した後、Kameleoon でゴールを作成し、Snowflake データベースから直接コンバージョンデータを取得するために使用できます。ゴールを作成したら、Kameleoon キャンペーンに追加できます。実験またはパーソナライゼーションを設定する際、Configuration タブでこのゴールを選択して、Snowflake からのコンバージョンを追跡・分析できます。 実験でゴールを設定する方法を学ぶには、キャンペーンでゴールを設定するをご覧ください。