これはTwilio Advent Calendar 2021の2日目の記事です。昨年Twilioが買収したSegmentを実際に触ってみたので、その紹介をします。
Twilio Segmentとは?
Twilio Segmentは、顧客のあらゆるデータを統合して管理できるCDP(Customer Data Platforms)です。なにができるのか、以下の絵がわかりやすいです。Segmentを使っていない場合、あらゆるサービスやデータが分散してサイロ化しがちです。
Segmentを使うとデータの通る道を整備して適切な場所に振り分けることができます。これによってデータ分析やパーソナライズが容易になってマーケティングなどに活用しやすくなります。
百聞は一見に如かずなので、実際に触ってみてみました。
事前準備
以下のものを用意しました。
- Twilioのアカウント
- SendGridのFreeプランのアカウント
- Elephant SQLのFreeプランのアカウント
Segmentのアカウント作成
まずはSegmentアカウントを作成します。
https://app.segment.com/signup/
登録したメールアドレスにメールが届くのでリンクをクリックします。NicknameとSlug、Billing Emailが必須なので入力します。
ダッシュボードが表示されました。ここからデータを集めるもとになる__Source__とデータを格納する__Destination__を設定していきます。まずは「Add Source」ボタンを押しました。
Source作成(Twilio)
Sourceに表示されるカテゴリと選択肢は思っていたより多かったので末尾にまとめました。
Source NameとTwilio Account SIDを入力して「Log in to Twilio」ボタンを押します。
Twilio Account SIDはTwilioのダッシュボードで確認できます。
SQL Schema名を入力します。これは後で設定するDestinationのテーブル名として利用されます。
続いてDestinationになるWarehouseの設定を促されるので「Add a Warehouse」を押して設定を続けます。
Destination
WarehouseはPostgres SQLに決めてElephant SQLを使いました。
Elephant SQLの場合はそれぞれの項目を以下で確認できるので該当するものを入力します。
SourceとDestinationが無事につながって紙吹雪が舞います。
データを確認してみる
しばらく待つとデータが自動的にSyncされます(テーブルやスキーマの作成も自動で行われるので不要です)。Twilioをリンクしたあとはaddress,calls,messagesの3つのテーブルが作成されました。ユーザ情報と電話履歴、SMS履歴です。
Source作成(SendGrid)
Twilioに続いてSendGridも試してみました。Source Nameを入れて、APIキーを設定するだけです。
Webhook URLが発行されるので、これをSendGridのEvent Webhookに設定します。
Twilioのときと同様、しばらくすると自動的にSyncされてDestinationのPostgreSQLにテーブルが作成されます。Event Webhookの送信イベントが書き込まれます。
Node.jsのSourceを作る
SourceはTwilioやSendGrid、Salesforceなどの既存サービスのほか、様々なアプリケーションを設定できます。Segmentにどういう形式のデータを投入するかは実装次第です。各言語ごとにライブラリが用意されています。今回はNode.jsで簡単なプログラムを作ってSourceに設定してみました。
var Analytics = require('analytics-node');
var analytics = new Analytics('Write Keyをここに貼り付ける');
analytics.identify({
userId:'f4ca124298',
traits: {
name: 'Yoichi KIkuta',
email: 'kikuta@example.com'
}
});
analytics.track({
userId:'f4ca124298',
event: 'Signed Up',
properties: {
plan: 'free'
}
});
analytics.track({
userId:'f4ca124298',
event: 'Bookmarked Article',
properties: {
title: '大園桃子さんのアパレルブランドオープン!',
url: 'https://www.bubkaweb.com/2021/10/8971/'
}
});
実行するとSegmentのダッシュボードでもデータが確認できます。こちらもしばらくするとDestinationにSyncされます。
まとめ
CDPと呼ばれるものを触ったのは初めてで、設定が難しいのかな?と思っていたのですが、画面でポチポチ進められて思ってたより簡単でした。とりあえず簡単にデータを集約できることはわかりましたが、溜まったデータをどう活用していくのか?といった部分はまだイマイチ想像ついていません。Segmentを使ってこんな風にマーケティングに活用してます、みたいな具体例があったら知りたいなーと思いました。
おまけSourceリスト
- Popular
- JavaScript
- Node.js
- Twilio
- Android
- iOS
- SendGrid
- Website
- JavaScript
- Shopify
- Mobile
- Android
- iOS
- Kotlin(Android)
- React Native
- AMP
- Swift(iOS)
- Factual Engine
- Xamarin
- Server
- Node.js
- Pixel Tracking API
- .NET
- Clojure
- PHP
- AMP
- Java
- Python
- Ruby
- HTTP API
- Go
- Kotlin
- Cloud
- Twilio
- SendGrid
- Leanplum
- LaunchDarkly
- ProveSource
- Google Ads
- Facebook Ads
- Youbora
- Beamer
- Looker
- Pendo
- Candu
- Amplitude Cohorts
- Moesif API Analytics
- Salesforce
- HubSpot
- Aircall
- Amazon S3
- Refiner
- Nudgespot
- Airship
- Klenty
- Klaviyo
- Vero
- Braze
- Blueshift
- Facebook Lead Ads
- AutopilotHQ
- Marketo
- ActiveCampaign
- Mailchimp
- Mandrill
- Intercom
- Mailjet
- Iterable
- Drip
- Salesforce Marketing Cloud
- Customer.io
- Seligent Marketing Cloud
- Foursquare Pilgrim
- Radar
- Factual Engine
- Herow
- Zendesk
- Project
- Chatlio
- Regal Voice
- Roku (alpha)
- Stripe
- Friendbuy
- Delighted
- InMoment (formely Wootric)