オーディエンスデータ連携

データシステムと連携する

自社のデータからオーディエンスを構築します。Zoom、Google Drive、Qualtrics、HubSpot と連携し、iMario が読み取る範囲を自分で承認したうえで、選んだ録画、アンケート、ファイルをインポートします。

説明文だけから生成したオーディエンスは、よくできた推測の域を出ません。自社の資料を土台にすれば、推測で答えることはなくなります。顧客が実際に使う言葉で答え、実際に挙がった懸念や優先事項を反映します。

その資料をオーディエンスに渡す手段が、データシステムとの連携です。iMario はすでにお使いのシステムからデータを読み取ります。何を読み取るかは項目ごとに自分で承認でき、システム側に何かを書き戻すことは一切ありません。

システムと連携する

ステップ1:Connect a data system のカタログ。取り込んだデータの使われ方ごとに分類されています。
ステップ1:Connect a data system のカタログ。取り込んだデータの使われ方ごとに分類されています。

Create audience を開き、Connect a data system をクリックします。開いた画面で、次の3つのステップを進めます。

1. システムを選ぶ:カタログは、サービスの種類ではなく、取り込んだデータが何に使われるかで分類されています。

グループデータの使われ方システム
Files & folders中身によって異なるGoogle Drive、SharePoint
Surveys & panels回答の分布Qualtrics、Google Forms、SurveyMonkey、Typeform
Interviews & calls根拠となる発言の原文Zoom、Google Meet、Microsoft Teams、Gong、Fireflies、Feishu、Tencent Meeting、Dovetail
Support & conversations顧客が自分から口にすることZendesk、Intercom
Customer recordsオーディエンスに誰が含まれるかHubSpot、Salesforce、BigQuery、Snowflake、Shopify

Google Meet と Microsoft Teams は、録画の一覧ではなくカレンダーから選びます。どちらのサービスにも、サインインしたアプリが「自分にはどんな会議があるか」を問い合わせる手段がないためです。また、参加者のメールアドレスが載っているのもカレンダーの予定です。通話を相手の顧客に紐付けるには、このアドレスが手がかりになります。

まだ対応していないシステムには Coming soon と表示され、選べません。お使いのシステムが見当たらない場合は、Ask for one から利用中のシステムを知らせてください。iMario では、リクエストが寄せられた順にデータ連携を開発しています。対応するまでの間は、そのシステムからデータをエクスポートし、ファイルをオーディエンスにドロップしてください。CSV や文字起こしのファイルも、連携で取り込んだものとまったく同じように読み込まれます。

2. 読み取る内容を承認する:連携先の画面に移る前に、iMario がこれから要求する権限が、1行に1つずつわかりやすい言葉で表示されます。各行のトグルで1つずつ承認してから、連携先のウィンドウでアクセスを許可します。

ステップ2:アクセスを許可する前に、iMario はシステム(この例では HubSpot)から何を読み取るのかを、その理由とあわせて一覧で示します。
ステップ2:アクセスを許可する前に、iMario はシステム(この例では HubSpot)から何を読み取るのかを、その理由とあわせて一覧で示します。

システムによっては、アプリを使える範囲が1つの組織の中に限られるため、認可するだけで使える共通の iMario アプリはありません。Feishu、Qualtrics、Zendesk、Salesforce、Tencent Meeting がこれにあたります。こうしたシステムでは、カードにアプリ ID とシークレットの入力欄が表示され、作成手順へのリンクも付いています。アプリ ID とシークレットは、自社の管理者が組織内で無料で作成します。どちらも暗号化して保存し、自社のアカウントにアクセスするためだけに使います。

3. インポートするものを選ぶ:アカウントにいまあるもの(録画、会話、アンケート、ファイル、連絡先の項目)が一覧で表示されます。一覧が長いときは検索ボックスも出ます。必要なものにチェックを入れます。各行の件数は、連携先から返ってきた応答をもとに iMario が数えたものです。ここに出る数が、そのまま実際に取り込まれる件数になります。

次の3つのシステムでは、iMario が一覧を表示できないため、取り込むものを自分で選びます。

  • Google Drive:Choose files in Google Drive をクリックし、Google のウィンドウでファイルを選びます。iMario から見えるのは選んだファイルだけで、Drive 内のほかのファイルは見えません。
  • Google Forms:Choose forms in Google Forms をクリックし、同じ方法でフォームを選びます。
  • Feishu Minutes:録画ごとにリンクを貼り付けます。詳しくはFeishu(Lark)と連携するを参照してください。

Import をクリックします。

書き戻しは一切ありません。データ連携はすべて読み取り専用です。iMario が連携先のシステムで何かを作成、変更、削除することはなく、同意画面で承認した以外の権限を要求することもありません。

インポートのしくみ

システムと連携すると、チェックを入れたものが1回だけインポートされます。知らないうちにデータを取り直すことはなく、インポートが終わったあとに iMario が Zoom や Drive、CRM を定期的に確認しにいくこともありません。オーディエンスを最新の状態に保つかどうかは、オーディエンスごとに自分で決めます。データ連携が決まった間隔で自動更新するしくみではありません。

取得は1件につき1回だけで、同じ録画、スレッド、ファイルが二重に保存されることはありません。取り込んだファイルは、アップロードしたときとまったく同じようにデータソースの一覧に加わります。表形式のデータなら列をマッピングし、文字起こしなら文章のまとまりごとに読み込みます。そこから先は、連携で取り込んだデータソースとドロップしたファイルに違いはありません。

あとからデータを追加したいときは、同じシステムともう一度連携し、新しいものにチェックを入れます。

発言や回答を本人に紐付ける

インポートしたファイルは、誰についてのデータかを特定できれば、構築済みのオーディエンスを構成する一人ひとりに反映されます。たとえば、自社のレコードにある顧客 ID やメールアドレスをキーにしたアンケート、連携先で参加者の名前がわかる録画、顧客のメールアドレスが付いたサポートのスレッドなどです。こうした発言や回答はその人に紐付けられます。その人は次に質問されたとき、以前のままの情報ではなく、実際の根拠データをもとに答えます。誰なのかを特定できない録画も、オーディエンスの話し方には反映されますが、特定の合成ペルソナには紐付きません。

オーディエンスを最新の状態に保つ

更新する対象はデータ連携ではなく、オーディエンスです。現在は、オーディエンスのページにある Rebuild from latest customer records で更新します。連携している CRM の現時点のデータを読み直し、そのデータと、元のオーディエンスが使っていたほかのすべてのデータから、新しいオーディエンスを構築します。元のオーディエンスも、そのオーディエンスで実行したレポートも、すべてそのまま残ります。データ連携は新しいオーディエンスに引き継がれ、以後はそちらにデータを送ります。

連絡先が新しく加わると、オーディエンスに誰が含まれるかが変わります。だからこそ、自動更新ではなくボタンで実行するしくみにしています。

インポートしたファイルは、アップロードしたファイルと同じく、そのファイルから構築したオーディエンスに属します。削除するまで残り、Rebuild のときにも改めて読み込まれます。iMario が自動で削除するのは、完了しないまま放置された Create audience のセッションに残ったファイル、つまりオーディエンスにならなかった下書きのファイルだけです。こうしたファイルは30日後に削除されます。

連携を解除する

オーディエンスを開き、連携しているデータソースを探して削除します。あるシステムから取り込んだ最後のファイルを削除すると、そのシステムとの連携が解除されます。このとき、インポートしたデータ、保存していた認証情報、そのファイルから各合成ペルソナに紐付けた発言や回答がまとめて削除されます。途中のどこかで失敗した場合は何も解除されず、その旨が表示されます。データが残っているのに削除済みと表示されることはありません。

連携先の側からも、インストール済みアプリの設定でいつでもアクセス権を取り消せます。iMario 側のコピーも消したい場合は、両方の側で操作してください。連携先でアクセス権を取り消すと以後の同期は止まりますが、iMario 内のデータには影響しません。

Zoom

Zoom は Interviews & calls グループにあります。iMario は、選んだクラウドレコーディングの文字起こしを読み取り、オーディエンスの根拠となる発言の原文として使います。

アプリの追加から利用、削除までの詳しい手順は、Zoom と連携するを参照してください。

始める前に

  • Zoom のプランに cloud recording(クラウドレコーディング)が含まれていて、録画設定で audio transcript(音声の文字起こし)がオンになっていること。この設定を有効にする前の録画には文字起こしがなく、iMario で作ることもできません。
  • 自分の Zoom ユーザーアカウントで連携すること。iMario が読み取るのはそのアカウントが所有する録画だけで、組織全体の録画は読み取りません。

iMario が要求する権限

権限理由
cloud_recording:read:list_user_recordingsクラウドレコーディングの一覧を読み取り、使う録画を選べるようにします。
cloud_recording:read:list_recording_files各録画のファイルを読み取り、文字起こしのあるものを探します。
cloud_recording:read:meeting_transcript文字起こしそのものを読み取ります。これがオーディエンスの使う言葉になります。
meeting:read:list_past_participants各通話の参加者を読み取り、通話を相手の顧客に紐付けます。
user:read:userZoom アカウントを読み取り、誰の録画を読むのかを判断します。

要求する権限はこれだけです。ミーティングについて iMario が読み取るのは録画とその参加者だけで、チャット、連絡先、アカウント設定も読み取りません。ミーティングに参加したり、開始したり、録画したりすることもありません。

連携する

  1. Create audience で Connect a data system をクリックし、Zoom を選びます。
  2. 権限を確認し、Connect to Zoom をクリックします。Zoom のウィンドウが開きます。
  3. Zoom にサインインし、Allow をクリックします。
  4. iMario に戻ると、過去12か月のクラウドレコーディングが一覧で表示され、文字起こしのあるものにはチェックが入っています。件数が多い場合は検索で絞り込み、使う録画にチェックを入れます。
  5. Import をクリックします。あとで作成した録画を取り込むときは、もう一度 Zoom と連携してチェックを入れます。

通話の参加者

iMario は各録画の参加者リストを読み取り、顧客の発言をオーディエンス内の本人に紐付けます。Zoom で参加者の名前がわかるのは、事前登録した人、カレンダーの招待から参加した人、サインインしていた人だけです。リンクだけで参加したゲストにはメールアドレスがないため、その録画はオーディエンスの話し方には反映されますが、特定の合成ペルソナには紐付きません。

Zoom との連携を解除する

iMario でオーディエンスからデータソースを削除すると、同期した文字起こしと認証情報も削除されます。Zoom 側でもアプリのアクセス権を取り消すには、Zoom App Marketplace で Manage → Added Apps を開き、iMario を探して Remove をクリックします。

Microsoft Teams

Teams は Interviews & calls グループにあります。iMario は、選んだ Teams 会議の文字起こしを読み取り、オーディエンスの根拠となる発言の原文として使います。

始める前に

  • 会議中に文字起こしをオンにしていたこと。Teams が文字起こしを残すのは、通話中に誰かがオンにした場合だけです。あとから作る方法はありません。
  • Microsoft 365 の管理者が iMario を一度承認していること。Microsoft では、文字起こしの読み取りに管理者の同意が必要です。読み取るのが自分の会議だけでも変わりません。最初に連携する人には「Need admin approval」(管理者の承認が必要です)と表示され、その画面から承認をリクエストできます。管理者が承認したあとは、組織内の誰もが通常どおり連携できます。
  • テナントで、文字起こしへの Graph アクセスが話者名付きで許可されていること。Graph アクセスと話者名の記録は、Teams の管理設定では別々の項目で、どちらも既定ではオフです。Teams 管理センターの Meetings → Meeting settings → Transcript API access で Microsoft Graph access をオンにし、続けて Configure から Include speaker attribution をオンにします。1つ目がオフのままだと、文字起こしの読み取りはすべて拒否され、iMario にその旨が表示されます。2つ目がオフのままだと、文字起こしは話者名のない状態で届きます。発言はオーディエンスの話し方には反映されますが、発言した本人には紐付けられません。
  • 会議が自分のカレンダーに入っていること。iMario が読み取るのは、自分が主催した会議か招待された会議で、組織全体の会議ではありません。

iMario が要求する権限

権限理由
Calendars.Readカレンダーを読み取ります。サインインしたアプリが Microsoft から受け取れる会議の一覧はカレンダーだけで、参加者のメールアドレスもここに載っています。
OnlineMeetings.Readカレンダーの予定に対応する会議を読み取り、その文字起こしを探します。
OnlineMeetingTranscript.Read.All文字起こしそのものを読み取ります。これがオーディエンスの使う言葉になります。
offline_accessインポートが終わるまで接続を保ちます。

要求する権限はこれだけです。iMario がチャット、ファイル、メール、同僚のカレンダーを読み取ることはなく、会議に参加したり、開始したり、録画したりすることもありません。

Microsoft は、サインインしたユーザーが「自分にはどんな会議があるか」を問い合わせる方法を公開していません。そのための一括取得 API には、管理者しか付与できないテナント全体の権限が必要で、iMario ではあえて要求していません。カレンダーを使えば、より狭い権限で同じ一覧にたどり着けます。

連携する

  1. Create audience で Connect a data system をクリックし、Microsoft Teams を選びます。
  2. 権限を確認し、Connect to Microsoft Teams をクリックします。Microsoft のウィンドウが開きます。
  3. サインインし、Accept をクリックします。
  4. iMario に戻ると、過去1年間の Teams 会議が新しい順に一覧で表示されます。件数が多い場合は検索で絞り込み、使う会議にチェックを入れます。
  5. Import をクリックします。文字起こしのない会議からは何も取り込まれず、スキップした会議として表示されます。

通話の参加者

文字起こしでは、話者は表示名でしか示されません。そこで iMario は会議の招待から対応するメールアドレスを読み取り、顧客の発言をオーディエンス内の本人に紐付けます。主催者は調査する側とみなすため、主催者の質問が誰かの回答になることはありません。招待に会議室が含まれていても、人としては扱いません。

定例会議の場合は、選んだ回ごとに、その回に記録された文字起こしだけを取り込みます。シリーズ全体を取り込むわけではありません。

Teams との連携を解除する

iMario でオーディエンスからデータソースを削除すると、インポートした文字起こしと認証情報も削除されます。Microsoft 側でもアプリのアクセス権を取り消すには、myapplications.microsoft.com で iMario を探して削除します。

Google Forms

Google Forms は Surveys & panels グループにあります。要求する権限は、Google Drive ですでに使っているものだけです。

Forms API にはフォームの一覧を取得する手段がないため、選択画面がそのまま一覧の代わりになります。Choose forms in Google Forms をクリックし、Google のウィンドウでフォームを選びます。iMario から見えるのは、ここで選んだフォームだけです。Drive 内のほかのものは見えません。

回答は内部の質問 ID をキーにして届きます。そのため iMario は各フォームの質問を一度読み取り、回答者が実際に目にした文言を各列の見出しにします。グリッド形式の質問は行ごとに1列になり、列名には行の名前が付きます。

データウェアハウス:BigQuery と Snowflake

CRM にあるのは、営業の誰かが接点を持った顧客です。データウェアハウスには顧客全員がそろっています。「自社のオーディエンスは誰か」という問いに実態どおりに答えられるのは、たいていデータウェアハウスのほうです。

データウェアハウスには、一覧から選べる「顧客」というリソースがありません。そのため、どちらも1つのテーブル、つまり顧客テーブルに接続します。テーブル名は連携するときに指定し、あとは CRM の場合とまったく同じように、使う列にチェックを入れます。

BigQuery では bigquery.readonly を要求し、テーブルの行を直接読み取ります。クエリは実行しません。BigQuery ではクエリは「ジョブ」として扱われ、ジョブの作成には書き込みもできる権限が必要になるからです。行の読み取りにはその権限がいらないので、同意画面の「読み取り専用」という約束を実際に守れます。入力するのは、プロジェクト、データセット、テーブルです。

Snowflake では、Snowsight の Settings → Authentication で自分のユーザーに発行した、プログラムによるアクセストークンを使います。トークンには読み取り専用のロールを割り当ててください。アクセスできる範囲を実際に決めるのは、iMario ではなくこのロールです。入力するのは、アカウント識別子、ウェアハウス、データベース、スキーマ、テーブルです。iMario が送信するのは SELECT だけです。

列名は自社の定義のまま扱います。iMario が列の意味を推測して、属性の項目名に勝手に置き換えることはありません。gender、age、country という名前の列は自動で認識されますが、birth_year は認識されません。その場合 iMario は、そのファイルにマッピングが必要だと知らせます。変換方法を推測して、誤った値をそのままオーディエンスに入れることはしません。

Shopify

Shopify は Customer records グループにあります。ストアで購入した人について、所在地、注文回数、購入金額、自社で付けたタグを読み取ります。

Shopify には年齢と性別のデータがありません。そのため、Shopify から取り込んだデータは、母集団の枠組みを決めるものではなく、顧客についての根拠データになります。メールアドレスをもとに、オーディエンスにすでにいる人に紐付けるもので、Shopify のデータだけで名簿を作ることはありません。属性情報も必要な場合は、CRM やデータウェアハウスと組み合わせてください。

始める前に

  • Shopify の Dev Dashboard で自社ストア用のアプリを作成してインストールし、発行された Admin API のアクセストークンを貼り付けます。トークンは shpat_ で始まります。
  • read_customers は保護された顧客データです。Shopify が本番ストアの顧客レコードを返すのは、アプリが保護されたデータの利用について承認を受けてからです。承認されるまでは、連携自体は成功しても読み取りは拒否されます。その場合 iMario は、ストアが空だとは表示せず、読み取りが拒否されたことをそのまま伝えます。開発ストアなら、承認がなくてもデータが返ってきます。

トラブルシューティング

Zoom で録画が一覧に表示されない:このアカウントには、過去12か月のクラウドレコーディングがありません。お使いのプランにクラウドレコーディングが含まれているか確認してください。録画は表示されるものの no transcript と付いている場合は、Zoom の録画設定で audio transcript をオンにします。この設定が効くのは、オンにしたあとに作成した録画だけです。

「Allow pop-ups for this site, then try again.」(このサイトのポップアップを許可してから、もう一度お試しください):認可用のウィンドウがブラウザーにブロックされています。iMario のポップアップを許可し、もう一度連携のボタンをクリックしてください。

「The connection timed out.」(接続がタイムアウトしました):認可用のウィンドウを長時間開いたままにしていたか、完了する前に閉じたことが原因です。ステップ1からやり直してください。

「Could not read from this system.」(このシステムから読み取れませんでした):連携には成功したものの、読み取りに失敗しています。多くの場合、あとから連携先で権限が取り消されたことが原因です。連携を解除してから、もう一度連携してください。

Teams で会議が一覧に表示されない:iMario はカレンダーの過去1年分を読み取り、Teams の参加リンクがある予定だけを表示します。カレンダーを通さずに設定した会議や、ほかのプラットフォームで開いた会議は表示されません。

Teams の連携時に「Need admin approval」と表示される:文字起こしの読み取りには、Microsoft 365 の管理者の同意が必要です。その画面から承認をリクエストするか、組織として iMario を一度承認するよう管理者に依頼してください。

Teams の文字起こしはインポートできたのに、どの合成ペルソナにも紐付かない:テナントで話者名の記録(speaker attribution)がオフになっているため、文字起こしに名前が入っていません。Teams 管理センターの Transcript API access で Include speaker attribution をオンにしてから、もう一度インポートしてください。

Teams で「Graph API access to transcripts is disabled for this tenant.」と表示される:Teams の管理者が、すべてのアプリについて文字起こしへのアクセスを無効にしています。iMario 側で回避する方法はないので、管理者にもう一度有効にするよう依頼してください。

Shopify で「not approved to access the Customer object」と表示される:アプリが、保護された顧客データを扱うための承認を受けていません。Dev Dashboard で承認をリクエストしてください。iMario 側で回避する方法はありません。

Snowflake で「is not a valid Snowflake identifier」と表示される:データベース、スキーマ、テーブルのいずれかの名前に、識別子に使えない文字が含まれています。iMario は、その名前をステートメントに組み込むこと自体を拒否します。とりあえず送信して、通るのを期待するようなことはしません。

Qualtrics のインポートで、何か表示されるまでに時間がかかる:Qualtrics は回答を直接は返さず、エクスポートファイルを作成するしくみです。そのため iMario はエクスポートのジョブを開始し、完了を待ちます。大規模なアンケートでは1分ほどかかることがあります。

次のステップ

データシステムと連携する | iMario