DWHをCDPのように使える!?Hightouchの「Customer Studio」でGUI操作でセグメンテーションしてみた

2023.08.05

さがらです。

HightouchはDWH⇨各種アプリケーションへのデータ転送に使える「ReverseETL」のサービスですが、Customer StudioというDWHをCDP(Customer Data Platform)のように扱ってCRM・MAのツールと連携してマーケティング活動に伴うセグメンテーション・分析を行える機能があります。※Customer StudioはBussinessプラン以上でのみ使用可能のためご注意ください。

今回はCustomer Studioの基本機能として、ドキュメントのImplementation stepsに沿って、Hightouch上でGUIベースでセグメンテーションを行ってみます。

事前準備

SourceとDestinationの設定

事前に、Customer Studioでセグメンテーションする元となるデータを持つSourceと、Destinationを登録しておきます。

今回は、Sourceとしてユーザーデータとイベントデータを保持するSnowflake、DestinationにはBrazeを定義しておきます。

Data Schemaの定義

まず「Data Schema」と呼ばれる、Hightouchで定義した各Modelのリレーションを定義します。

画面左のメニューから、Schemaを押します。

まず、使用するSourceを画面左上のプルダウンリストから選択します。

初めてSchemaを定義する場合には、画面中央に下図のように表示されていると思います。このCreate parent modelを選択します。

まず、Parent Modelですが、基本的には顧客情報などのセグメンテーションのベースとなる情報を持つテーブルを選択します。

ここでは、ユーザーデータを持つテーブルを選択し、右下のContinueを押します。

続けて、対象のテーブルをParent Modelとして定義するために、各情報を入れます。Primary labelや``Secondary label`はオプションですが、設定しておくと対象のユーザーの識別がしやすくなると思います。

この入力が終わったら、右下のCreate parent modelを押します。

続いて、作成したParent Modelだけではユーザーのデータしか持たないため、イベントのデータを持つテーブルを紐づけます。

作成したParent Modelの画面右の「+」を押し、イベントのCreate a related eventを押します。

イベントデータを持つテーブルを選択し、Continueを押します。

続いて、対象のイベントデータに関する各情報を入力します。

EVENTの場合にはTimestampでTimestamp型のカラムを選択する必要があります。また、Parent Modelで設定したユーザーデータを保持するテーブルとのRelatonshipも定義する必要があります。

これらの情報を入力し終えたら、画面右下のCreate eventを押します。

これで、ユーザーデータとイベントデータの紐づけが完了しました!

Audienceの定義

続いて、Audienceを定義します。Audienceとは、Hightouch上でGUIベースでセグメンテーションを行った顧客のリストのことを意味します。

まず、画面左のメニューからAudiencesを選択します。

初めてAudienceを作成する場合には下図のように表示されますので、Add audienceを押します。

画面が変わりますので、使用するParent Modelを選択します。

Audienceの設定では、基本的に指定したModelに対するフィルタの追加でセグメンテーションをしていく仕様となっています。

フィルタを追加するには、+ Add filterを押します。すると、フィルタをかけたいフィールドを選択する画面が出てきます。

ここでは、ユーザーデータとイベントデータ、それぞれのフィールドからフィルタをかけてみます。

まずユーザーデータに関するフィールドを用いたフィルタですが、Propertiesから選択可能です。

試しにCITYを選択してみます。すると画面上にフィールドがでてきて、フィルタの条件を設定することが可能です。個人的に、値を選択するときにその値がどれだけのレコード存在しているか数値でわかるのが嬉しいですね。

続いて、イベントデータを用いたフィルタを設定してみます。

+ Add filterを押し、左の分類からEventsを押して、Parent Modelと紐づけたEVENTを選択します。

すると、イベントデータにおいて、条件や期間を絞り込んだ特定のイベントが、何回あったかという条件で絞り込みが出来ます。

また、各フィルタの条件はANDだけでなくORにすることも可能です。クリックすることで切り替えが可能です。

すべてANDにするか、すべてORにするか、で設定可能することになります。

一通りフィルタの設定が終わったら、画面右上のCalculate sizeを押すと、このフィルタの条件でどれだけのレコードがマッチするか、件数を出してくれます。

右上のShow insightsでは、このAudienceに該当するユーザーの一覧とそのユーザーをクリックすることで属性情報を確認したり、他のAudienceと比較したり、ということが出来ます。ここだけでもなかなかリッチな機能なので、これはまた別途ブログとして執筆予定です!

こういった流れでAudienceの設定を行い、完了したら画面右下のContinueを押します。

最後に、AudienceのNameやDescriptionを定義します。完了したら、右下のFinishを押します。これでユーザーのセグメンテーションを行い、Audienceが出来ました!

参考:Audienceを用いたSyncについて

作成したAudienceを用いてDestinationとなるCRM・MAツールなどに連携する方法についても少し触れておきます。例えばBrazeだと、API-triggeredのCampaignCanvasへHightouchのAudienceを連携することが可能です。

実際にAudienceを用いたSyncですが、基本的には作成したAudienceの右上のAdd syncを押したら、あとは通常のModel⇨DestinationへSyncさせるときと流れは同じです!

最後に

HightouchのCustomer Studioを用いて、GUIベースでセグメンテーションを行ってみました。

GUIベースで感覚的にフィルタをかけてセグメンテーションを行いAudienceを作成すれば、HightouchにDestinationとして設定できるサービスに対して同じAudienceでSyncを行うことができるので、Hightouch上でセグメンテーションの定義を統合管理できるのが強みの機能だと思います。

本記事ではCustomer Studioの基礎の基礎だけ書きましたが、まだまだ多くの機能がありますのでそちらもブログを書いていきたいですね!